Sharing user configurable graphics constructs
By using discrete sets of graphics resources in electronic devices, quickly generating and sharing user-configurable graphics structures, cumbersome, inefficient and data-intensive problems in the prior art are solved, and a more efficient human-machine interface and longer battery life is achieved.
Patent Information
- Application Number
- CN202411936570.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2015-09-30
- Filing Date
- 2016-03-08
- Publication Date
- 2025-04-25
AI Technical Summary
The prior art is often cumbersome, inefficient and data-intensive when used to share user-configurable graphics constructions, resulting in a waste of user time, bandwidth and device energy.
Fast and efficient graphics construction sharing is achieved by using discrete sets of graphics resources in electronic devices, receiving and generating user-configurable graphics construction data. The method includes receiving data representing a user-configurable configuration, generating a user-configurable configuration representation, and receiving and responding to user input through a user interface.
It reduces the cognitive burden on users, provides a more effective human-machine interface, saves power of battery-driven devices, and extends battery charging intervals.
Smart Images

Figure CN119883468A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a divisional application of the invention patent application with application date of March 8, 2016, application number 202110831819.2, and invention name “Shared user-configurable graphic structure”.
[0003] This patent application claims priority to U.S. Provisional Patent Application Serial No. 62 / 129,919, filed on March 8, 2015, and is a continuation-in-part of PCT / US2015 / 053353, filed on September 30, 2015, both of which are hereby incorporated by reference in their entirety.
[0004] This application is related to the following applications: U.S. Provisional Application Serial No. 62 / 032,562, filed August 2, 2014; U.S. Provisional Application Serial No. 62 / 044,994, filed September 2, 2014; and U.S. Provisional Application Serial No. 62 / 044,923, filed September 2, 2014. The contents of these patent applications are hereby incorporated by reference herein in their entirety. Technical Field
[0005] The present disclosure relates generally to computer user interfaces and, more particularly, to techniques for sharing user-configurable graphical constructs. Background Art
[0006] Users rely on portable multifunction devices to perform a variety of operations, such as running software applications, keeping track of time, communicating with other users (e.g., via voice, text, and visual information such as emoticons), and viewing information. It is therefore desirable to allow users to customize their user interfaces using the devices, thereby allowing users to access information more quickly and efficiently. Users may also wish to share configurable user interfaces, e.g., to send / receive user-configurable interfaces or emoticons to / from friends, or to obtain customized user interfaces from magazine ads or sports organizations. It is therefore desirable to provide various ways to quickly and efficiently send and / or receive user-configurable graphical constructs (e.g., user interfaces and / or other user-customized content, such as emoticons). Summary of the Invention
[0007] The present invention recognizes that among the possible techniques for sharing user-configurable graphical configurations using electronic devices, many are often cumbersome, inefficient, and data-intensive. For example, some techniques use complex and time-consuming user interfaces (which may include multiple keystrokes or keystrokes) or require the transmission of large amounts of data. These techniques require more time and more data transmission than necessary, which wastes the user's time, bandwidth, and device energy. This latter consideration is particularly important in battery-powered devices.
[0008] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for sharing user-configurable graphical configurations. Such methods and interfaces optionally supplement or replace other methods for sharing user-configurable graphical configurations. Such methods and interfaces reduce the cognitive burden on users and produce more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time between battery charges.
[0009] The device, method and computer-readable medium disclosed in the present invention reduce or eliminate the above-mentioned defects and other problems. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (for example, a laptop, tablet computer or handheld device). In some embodiments, the device has a touch pad. In some embodiments, the device has a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the device has a hardware input mechanism, such as a push-button and / or a rotatable input mechanism. In some embodiments, the device has a graphical user interface (GUI), one or more processors, a memory and one or more modules, a program or instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI through finger contacts and gestures on the touch-sensitive surface and / or by rotating the rotatable input mechanism and / or by pressing a hardware button. In some embodiments, these functions optionally include image editing, drawing, displaying, word processing, web page creation, disk editing, spreadsheet creation, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, fitness support, digital photography, digital video recording, web browsing, digital music playback and / or digital video playback. Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0010] In some embodiments, a method for sharing a user-configurable graphical construction includes: at an electronic device having a display, one or more processors and a memory, the memory storing a discrete set of graphical resources: receiving data representing the user-configurable graphical construction, wherein the received data includes: first information representing a first graphical element of the user-configurable construction, the first information representing the first graphical element including i) data identifying a first graphical resource of the discrete set of graphical resources, and ii) data indicating how the first graphical resource is arranged in the user-configurable graphical construction, and wherein the received data also includes: second information representing a second graphical element of the user-configurable construction, the second information representing the second graphical element including i) data identifying a first graphical resource of the discrete set of graphical resources, and ii) data indicating how the first graphical resource is arranged in the user-configurable graphical construction. the electronic device according to the present invention; wherein the electronic device comprises: a first graphics resource comprising a first graphic resource and a second graphic resource of the first graphic resource; ...
[0011] In some embodiments, a method for sharing a user-configurable graphical construction includes: at an electronic device having a display, one or more processors, and a memory, the memory storing a discrete set of graphical resources: displaying a user-configurable graphical construction or a representation of a user-configurable graphical construction; receiving a first user input corresponding to a request to share data representing the user-configurable graphical construction; and in response to receiving the first user input, transmitting data representing the user-configurable graphical construction, wherein the transmitted data includes: first information representing a first graphical element of the user-configurable construction, the first information representing the first graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the first graphical resource in the user-configurable construction, and wherein the transmitted data also includes: second information representing a second graphical element of the user-configurable construction, the second information representing the second graphical element including i) data identifying the second graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the second graphical resource in the user-configurable graphical construction.
[0012] In some embodiments, a non-transitory computer-readable storage medium includes one or more programs for execution by one or more processors of a first device having a display and a memory, the memory storing a discrete set of graphical resources, and the one or more programs including instructions that, when executed by the one or more processors, cause the first device to: receive data representing a user-configurable graphical construction, wherein the received data includes: first information representing a first graphical element of the user-configurable construction, the first information representing the first graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating an arrangement of the first graphical resource in the user-configurable graphical construction, and wherein the received data also includes: second information representing a second graphical element of the user-configurable construction, the second information representing the second graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating an arrangement of the first graphical resource in the user-configurable graphical construction. The second information of the element includes i) data identifying a second graphic resource of a discrete set of graphic resources, and ii) data indicating the arrangement of the second graphic resource in a user-configurable graphic construction; after receiving the data, generating a user-configurable graphic construction or a representation of the user-configurable graphic construction based on the received data and at least a subset of the discrete set of graphic resources stored in the memory; after generating the user-configurable graphic construction or the representation of the user-configurable graphic construction, displaying: the generated user-configurable graphic construction or the representation of the generated user-configurable graphic construction, and a user interface for accepting the user-configurable graphic construction; receiving user input indicating that the user-configurable graphic construction is accepted via the user interface; and in response to receiving the user input: storing the received data in the memory of the electronic device.
[0013] In some embodiments, a non-transitory computer-readable storage medium includes one or more programs for execution by one or more processors of a first device having a display and a memory, the memory storing a discrete set of graphical resources, and the one or more programs including instructions that, when executed by the one or more processors, cause the first device to: display a user-configurable graphical construct or a representation of a user-configurable graphical construct; receive a first user input corresponding to a request to share data representing the user-configurable graphical construct; and in response to receiving the first user input, transmit data representing the user-configurable graphical construct, wherein the transmitted data includes: first information representing a first graphical element of the user-configurable construct, the first information representing the first graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the first graphical resource in the user-configurable graphical construct, and wherein the transmitted data also includes: second information representing a second graphical element of the user-configurable construct, the second information representing the second graphical element including i) data identifying the second graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the second graphical resource in the user-configurable graphical construct.
[0014] In some embodiments, a device includes: a display; one or more processors; a memory storing a discrete set of graphical resources; and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, the one or more programs including instructions for: receiving data representing a user-configurable graphical construction, wherein the received data includes: first information representing a first graphical element of the user-configurable construction, the first information representing the first graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the first graphical resource in the user-configurable graphical construction, and wherein the received data also includes: second information representing a second graphical element of the user-configurable construction, the second information representing the second graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the first graphical resource in the user-configurable graphical construction. The second information of the element includes i) data identifying a second graphic resource of a discrete set of graphic resources, and ii) data indicating the arrangement of the second graphic resource in a user-configurable graphic construction; after receiving the data, generating a user-configurable graphic construction or a representation of a user-configurable graphic construction based on the received data and at least a subset of the discrete set of graphic resources stored in the memory; after generating the user-configurable graphic construction or the representation of the user-configurable graphic construction, displaying: the generated user-configurable graphic construction or the representation of the generated user-configurable graphic construction, and a user interface for accepting the user-configurable graphic construction; receiving user input via the user interface indicating that the user-configurable graphic construction is accepted; and in response to receiving the user input: storing the received data in the memory of the electronic device.
[0015] In some embodiments, a device includes: a display; one or more processors; a memory storing a discrete set of graphical resources; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a user-configurable graphical construct or a representation of the user-configurable graphical construct; receiving a first user input corresponding to a request to share data representing the user-configurable graphical construct; and in response to receiving the first user input, transmitting data representing the user-configurable graphical construct, wherein the transmitted data includes: first information representing a first graphical element of the user-configurable construct, the first information representing the first graphical element including i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the first graphical resource in the user-configurable graphical construct, and wherein the transmitted data also includes: second information representing a second graphical element of the user-configurable construct, the second information representing the second graphical element including i) data identifying the second graphical resource of the discrete set of graphical resources, and ii) data indicating the arrangement of the second graphical resource in the user-configurable graphical construct.
[0016] In some embodiments, a device includes: a device for receiving data representing a user-configurable graphical construction, wherein the received data includes: first information representing a first graphical element of the user-configurable construction, the first information representing the first graphical element includes i) data identifying a first graphical resource of a discrete set of graphical resources, the first graphical resource being part of a discrete set of graphical resources stored in a memory of the device, and ii) data indicating an arrangement of the first graphical resource in the user-configurable graphical construction, and wherein the received data also includes: first information representing the first graphical element of the user-configurable construction, the first information representing the first graphical element includes i) data identifying the first graphical resource of the discrete set of graphical resources, and ii) data indicating an arrangement of a second graphical resource in the user-configurable graphical construction, and wherein the received data also includes: Second information, the second information representing the second graphic element includes i) data identifying a second graphic resource of a discrete set of graphic resources, and ii) data indicating the arrangement of the second graphic resource in a user-configurable graphic construction; a device for generating a user-configurable graphic construction or a representation of a user-configurable graphic construction based on the received data and at least a subset of the discrete set of graphic resources stored in a memory after receiving the data; a device for displaying the following items after generating the user-configurable graphic construction or the representation of the user-configurable graphic construction: the generated user-configurable graphic construction or the representation of the generated user-configurable graphic construction, and a user interface for accepting the user-configurable graphic construction; a device for receiving user input indicating that the user-configurable graphic construction is accepted via the user interface; and a device for storing the received data in a memory of an electronic device in response to receiving the user input.
[0017] In some embodiments, a device includes: a device for displaying a user-configurable graphical construct or a representation of a user-configurable graphical construct; a device for receiving a first user input, the first user input corresponding to a request to share data representing the user-configurable graphical construct; and a device for transmitting data representing the user-configurable graphical construct in response to receiving the first user input, wherein the transmitted data includes: first information representing a first graphical element of the user-configurable construct, the first information representing the first graphical element including i) data identifying a first graphical resource of a discrete set of graphical resources, the first graphical resource being part of a discrete set of graphical resources stored in a memory of the device, and ii) data indicating an arrangement of the first graphical resource in the user-configurable graphical construct, and wherein the transmitted data also includes: second information representing a second graphical element of the user-configurable construct, the second information representing the second graphical element including i) data identifying a second graphical resource of a discrete set of graphical resources, and ii) data indicating an arrangement of the second graphical resource in the user-configurable graphical construct.
[0018] Thus, a faster, more efficient method and interface is provided for devices to share user-configurable graphical constructs, thereby improving the effectiveness, efficiency, and user satisfaction of such devices.Such methods and interfaces may supplement or replace other methods for sharing user-configurable graphical constructs. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals refer to corresponding parts throughout.
[0020] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.
[0021] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.
[0022] Figure 2 A portable multifunction device with a touch screen according to some embodiments is shown.
[0023] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0024] Figure 4A An exemplary user interface for an application menu on a portable multifunction device according to some embodiments is shown.
[0025] Figure 4BAn exemplary user interface is shown for a multifunction device having a touch-sensitive surface separate from the display according to some embodiments.
[0026] Figure 5A A personal electronic device according to some embodiments is shown.
[0027] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.
[0028] Figures 5C to 5D Example components of a personal electronic device with a touch-sensitive display and an intensity sensor are shown according to some embodiments.
[0029] Figures 5E to 5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.
[0030] Figure 6 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0031] Figure 7 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0032] Figure 8A and Figure 8B An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0033] Figure 9 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0034] Figure 10 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0035] Figure 11 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0036] Figure 12 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0037] Figure 13A and Figure 13B An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0038] Figure 13C An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0039] Figure 14 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0040] Figure 15 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0041] Figure 16A is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0042] Figure 16B An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0043] Figure 17 An exemplary user interface for sharing a user-configurable graphical construct is shown.
[0044] Figure 18 is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0045] Figure 19 is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0046] Figure 20A is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0047] Figure 20B is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0048] Figure 21 is a flow diagram illustrating a process for sharing user-configurable graphical constructs.
[0049] Figure 22 is a functional block diagram of an electronic device according to some embodiments.
[0050] Figure 23 is a functional block diagram of an electronic device according to some embodiments.
[0051] Figure 24 is a functional block diagram of an electronic device according to some embodiments.
[0052] Figure 25 is a functional block diagram of an electronic device according to some embodiments.
[0053] Figure 26 An exemplary context-specific user interface for customizing a user-configurable graphical construct is shown.
[0054] Figures 27A to 27E An exemplary context-specific user interface for customizing and / or selecting a user-configurable graphical construct is shown.
[0055] Figures 28A to 28CExemplary context-specific user interfaces and techniques for customizing user-configurable graphical constructs are shown.
[0056] Figure 29 is a flow chart illustrating a process for customizing a user-configurable graphical construct.
[0057] Figure 30 is a flow chart illustrating a process for selecting a user-configurable graphical construct.
[0058] Figure 31 is a flow chart illustrating a process for customizing and / or selecting a user-configurable graphical construct.
[0059] Figure 32A and Figure 32B Exemplary user-configurable graphical constructs are shown according to some embodiments.
[0060] Figure 33A and Figure 33B An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0061] Figure 34A and Figure 34B An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0062] Figure 35 An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0063] Figure 36 An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0064] Figure 37 An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0065] Figure 38 An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0066] Figure 39 An exemplary user interface for receiving data representing a user-configurable graphical construct is shown according to some embodiments.
[0067] Figure 40A and Figure 40B An exemplary user interface for transmitting data representing a user-configurable graphical construct is shown according to some embodiments.
[0068] Figure 41 An exemplary user interface for transmitting data representing a user-configurable graphical construct is shown according to some embodiments.
[0069] Figure 42 is a flowchart illustrating a process for receiving data representing a user-configurable graphical construct according to some embodiments.
[0070] Figure 43 is a flowchart illustrating a process for transmitting data representing a user-configurable graphical construct according to some embodiments.
[0071] Figure 44 is a functional block diagram of an electronic device according to some embodiments.
[0072] Figure 45 is a functional block diagram of an electronic device according to some embodiments. DETAILED DESCRIPTION
[0073] The following description sets forth exemplary methods, parameters, etc. However, it should be recognized that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.
[0074] As described above, there is a need for electronic devices that provide efficient methods and interfaces for sharing user-configurable graphical constructs. Users may wish to send and receive customized user-configurable graphical constructs from different sources. It is desirable that these send and receive operations be completed quickly and efficiently, using minimal bandwidth. Such techniques can reduce the cognitive burden on users who wish to send or receive customized content, thereby increasing productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0075] under, Figure 1A to Figure 1B 、 Figure 2 、 Figure 3 、 Figures 4A to 4B and Figures 5A to 5B A description of an exemplary device for performing techniques for sharing user-configurable graphical constructs is provided. Figures 6 to 15 、 Figure 16B 、 Figure 17 and Figures 32A to 41 An exemplary user interface for sharing a user-configurable graphical construct is shown. Figure 16A 、 Figures 18 to 21 、 Figure 42 and Figure 43 is a flow diagram illustrating a method of sharing user-configurable graphical constructs according to some embodiments. Figures 6 to 15 、 Figure 16B 、 Figure 17 and Figures 32A to 41The user interface is used to illustrate the following process, including Figure 16A 、 Figures 18 to 21 、 Figure 42 and Figure 43 in the process. Figures 26 to 28C An exemplary user interface for customizing and / or selecting a user-configurable graphical construct is shown. Figures 29 to 31 is a flowchart illustrating a method for customizing and / or selecting a user-configurable graphical construct according to some embodiments. Figures 6 to 15 、 Figure 16B 、 Figure 17 、 Figures 26 to 28C and Figures 32A to 41 The user interface is used to illustrate the following process, including Figure 16A 、 Figures 18 to 21 ,and Figures 29 to 31 、 Figure 42 and Figure 43 in the process.
[0076] Although the following description uses the terms "first," "second," etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch can be named a second touch and similarly, a second touch can be named a first touch without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.
[0077] The terms used in the description of the various described embodiments herein are only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms "a", "an" and "the" are intended to also include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "and / or" used herein refer to and encompass any and all possible combinations of one or more items in the items listed in association. It will also be understood that the terms "includes", "including", "comprises" and / or "comprising" when used in this specification specify the presence of stated features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their groupings.
[0078] The term "if" is optionally interpreted to mean "when" or "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that..." or "if [stated condition or event] is detected" are optionally interpreted to mean "upon determining that..." or "in response to determining that..." or "upon detecting [stated condition or event]," or "in response to detecting [stated condition or event]," depending on the context.
[0079] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). iPod and Device. Other portable electronic devices, such as laptops or tablets with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads), are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads).
[0080] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.
[0081] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0082] Various applications executing on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed from one application to the next and / or within a respective application. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports the various applications with a user interface that is intuitive and clear to the user.
[0083] Attention is now directed to embodiments of portable devices having touch-sensitive displays. Figure 1A is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and may sometimes be referred to as or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and external ports 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contacts on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0084] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, the force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the surrogate measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurement). In some embodiments, the surrogate measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functionality that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).
[0085] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device that will be detected by a user using the user's sense of touch. For example, when a device or a component of the device is in contact with a surface that is touch-sensitive to a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" on a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click," even when the physical actuation button associated with the touch-sensitive surface that was physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when the smoothness of the touch-sensitive surface does not change, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. While such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.
[0086] It should be understood that device 100 is only one example of a portable multifunction device and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in FIG. 5 are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.
[0087] Memory 102 optionally includes one or more computer-readable storage media. These computer-readable storage media are optionally tangible and non-transitory. These computer-readable storage media are optionally transient. Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0088] Peripherals interface 118 may be used to couple the device's input and output peripherals to CPU 120 and memory 102. One or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripherals interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0089] RF (radio frequency) circuitry 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuitry 108 converts electrical signals into / from electromagnetic signals and communicates with a communication network and other communication devices via the electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a subscriber identity module (SIM) card, memory, and the like. RF circuitry 108 optionally communicates with a network and other devices via wireless communications, such as the Internet (also known as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). RF circuitry 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via a short-range communication radio. Wireless communication optionally uses any of a variety of communication standards, protocols and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence using Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.
[0090] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).
[0091] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripherals interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, and the like. In some alternative embodiments, the one or more input controllers 160 are optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., Figure 2 208) optionally includes an up / down button for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2 206 in ).
[0092] A quick press of the push button optionally unlocks the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," or U.S. Patent 7,657,849, which is incorporated herein by reference in its entirety. A longer press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more of the buttons can optionally be customized by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0093] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives and / or sends electrical signals to the touch screen 112. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0094] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from the user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of that contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to a finger of the user.
[0095] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In one exemplary embodiment, projected mutual capacitance sensing technology is used, such as that used in the Apple Inc. (Cupertino, California) and iPod Technology found in.
[0096] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman); and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive trackpad does not provide visual output.
[0097] The touch-sensitive display in some embodiments of the touch screen 112 is optionally described as in the following patent applications: (1) U.S. patent application 11 / 381,313, filed May 2, 2006, entitled “Multipoint Touch Surface Controller”; (2) U.S. patent application 10 / 840,862, filed May 6, 2004, entitled “Multipoint Touchscreen”; (3) U.S. patent application 10 / 903,964, filed July 30, 2004, entitled “Gestures For Touch Sensitive Input Devices”; (4) U.S. patent application 11 / 048,264, filed January 31, 2005, entitled “Gestures For Touch Sensitive Input Devices”; (5) U.S. patent application 11 / 038,590, filed January 18, 2005, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”; (6) U.S. patent application Ser. No. 11 / 228,758, filed on September 16, 2005, entitled “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. patent application Ser. No. 11 / 228,700, filed on September 16, 2005, entitled “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. patent application Ser. No. 11 / 228,737, filed on September 16, 2005, entitled “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. patent application Ser. No. 11 / 367,749, filed on March 3, 2006, entitled “Multi-Functional Hand-Held Device”. All of these patent applications are incorporated herein by reference in their entirety.
[0098] The touch screen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or appendage, such as a stylus, finger, etc., to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands for performing the user's desired action.
[0099] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0100] Device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuitry, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.
[0101] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor is shown coupled to the optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, facing away from the touch screen display 112 on the front of the device, enabling the touch screen display to be used as a viewfinder for still and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing the user to optionally capture an image of the user while viewing other video conference participants on the touch screen display for video conferencing. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), allowing a single optical sensor 164 to be used with the touch screen display for both video conferencing and still and / or video image acquisition.
[0102] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to force sensor controller 159 in I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite touch screen display 112 located on the front of device 100.
[0103] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 optionally implements as described in the following U.S. patent applications: U.S. patent application Ser. No. 11 / 241,839, entitled “Proximity Detector In Handheld Device”; U.S. patent application Ser. No. 11 / 240,788, entitled “Proximity Detector In Handheld Device”; U.S. patent application Ser. No. 11 / 620,702, entitled “Using Ambient Light Sensor To Augment Proximity Sensor Output”; U.S. patent application Ser. No. 11 / 586,862, entitled “Automated Response To And Sensing Of User Activity In Portable Devices”; and U.S. patent application Ser. No. 11 / 638,251, entitled “Methods And Systems For Automatic Configuration Of Peripherals,” which are incorporated herein by reference in their entireties. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.
[0104] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1AA tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices, such as a speaker or other audio component; and / or an electromechanical device that converts energy into linear motion, such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component that converts an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates tactile output on the device 100 that can be felt by the user of the device 100. In some embodiments, at least one tactile output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward toward the surface of the device 100) or laterally (e.g., back and forth in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100 opposite the touch screen display 112 located on the front of the device 100.
[0105] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication: U.S. Patent Publication 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.
[0106] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state indicating which application, if any, is currently active; a display state indicating what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state including information obtained from the device's various sensors and input control devices 116; and position information regarding the device's position and / or posture.
[0107] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware components and software components.
[0108] The communication module 128 facilitates communication with other devices through one or more external ports 124 and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to (trademark of Apple Inc.) devices.
[0109] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a trackpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there has been movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger up event or contact break). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single-finger contact) or multiple points of contact simultaneously (e.g., "multi-touch" / multiple-finger contact). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touchpad.
[0110] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether a user has performed an action (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, a mouse "click" threshold for a touchpad or touchscreen can be set to any one of a large range of predefined thresholds without changing the touchpad or touchscreen display hardware. In addition, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0111] The contact / motion module 130 optionally detects gesture input from the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Thus, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.
[0112] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0113] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes specifying the graphics to be displayed from an application program or the like, and, if necessary, coordinate data and other graphic attribute data, and then generates screen image data for output to the display controller 156.
[0114] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0115] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (eg, contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0116] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based dialing, to the camera 143 as picture / video metadata, and to applications that provide location-based services such as the weather widget, local pages widget, and map / navigation widget).
[0117] Application 136 optionally includes the following modules (or instruction sets), or a subset or superset thereof:
[0118] Contacts module 137 (sometimes called address book or contact list);
[0119] Telephone module 138;
[0120] Video conferencing module 139;
[0121] Email client module 140;
[0122] Instant messaging (IM) module 141;
[0123] Fitness support module 142;
[0124] A camera module 143 for still and / or video images;
[0125] Image management module 144;
[0126] Video player module;
[0127] Music player module;
[0128] Browser module 147;
[0129] Calendar module 148;
[0130] Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6;
[0131] A widget creator module 150 for forming user-created widgets 149-6;
[0132] Search module 151;
[0133] Video and music player module 152, which combines the video player module and the music player module;
[0134] Notepad module 153;
[0135] Map module 154; and / or
[0136] Online video module 155.
[0137] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0138] In combination with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132 and text input module 134, the contacts module 137 is optionally used to manage an address book or contact list (for example, stored in the application internal state 192 of the contacts module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting one or more names from the address book; associating one or more phone numbers, one or more email addresses, one or more physical addresses or other information with a name; associating images with names; categorizing and sorting names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140 or IM 141, and so on.
[0139] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in contacts module 137, modify an entered phone number, dial the corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0140] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the touch / motion module 130, the graphics module 132, the text input module 134, the contacts module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0141] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0142] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, modifying previously entered characters, transmitting the corresponding instant message (e.g., using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0143] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module, the fitness support module 142 includes executable instructions for: creating a workout (e.g., with time, distance, and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting fitness music and playing it; and displaying, storing, and transmitting fitness data.
[0144] In combination with the touch screen 112, the display controller 156, one or more optical sensors 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, and the image management module 144, the camera module 143 includes executable instructions for capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.
[0145] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0146] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet (including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages) in accordance with user instructions.
[0147] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing a calendar and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0148] In conjunction with the RF circuit 108, the touch screen 112, the display system controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget).
[0149] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., to transfer a user-specified portion of a web page into a desktop widget).
[0150] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0151] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (trademark of Apple Inc.).
[0152] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.
[0153] In combination with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, the map module 154 is optionally used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data relating to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0154] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for allowing a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on the touch screen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141, rather than email client module 140, is used to send links to specific online videos. Additional description of the online video application can be found in U.S. provisional patent application 60 / 936,562, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed on June 20, 2007, and U.S. patent application 11 / 968,067, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed on December 31, 2007, the contents of both of which are incorporated herein by reference in their entirety.
[0155] Each of the above modules and applications corresponds to an executable instruction set for performing one or more of the above functions and methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as separate software programs, processes, or modules, and thus various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.
[0156] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a trackpad. By using a touch screen and / or a trackpad as the primary input control device for operation of device 100, the number of physical input control devices (such as push buttons, dials, etc.) on device 100 is optionally reduced.
[0157] The predefined set of functions performed exclusively through the touch screen and / or trackpad optionally includes navigating between user interfaces. In some embodiments, the trackpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, home menu, or root menu. In such embodiments, the trackpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a trackpad.
[0158] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137-151, 155, 380-390).
[0159] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.
[0160] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when the application 136-1 resumes execution, user interface state information indicating information being displayed by the application 136-1 or information ready for display by the application 136-1, a state queue for enabling the user to return to a previous state or view of the application 236-1, and a repeat / undo queue of previous actions taken by the user.
[0161] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0162] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0163] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0164] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.
[0165] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are considered to be correct input is optionally determined based at least in part on the hit view of the initial touch that started the touch-based gesture.
[0166] Hit view determination module 172 receives information related to sub-events of a contact-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies a hit view as the lowest view in the hierarchy where sub-events should be processed. In most cases, the hit view is the lowest-level view in which an initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0167] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, views higher in the hierarchy will still remain actively participating views.
[0168] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information in an event queue, which is retrieved by corresponding event receiver 182.
[0169] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In another embodiment, event classifier 170 is a standalone module or part of another module stored in memory 102, such as contact / motion module 130.
[0170] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 are part of a separate module, such as a user interface toolkit (not shown) or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, the corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of the application views in the application view 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in the corresponding application view 191.
[0171] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0172] The event receiver 182 receives event information from the event classifier 170. The event information includes information about sub-events such as touches or touch movements. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of a touch, the event information optionally also includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).
[0173] The event comparator 184 compares the event information with predefined event or sub-event definitions and, based on the comparison result, determines the event or sub-event, or determines or updates the state of the event or sub-event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes the definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, the sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition for event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition for event 2 (187-2) is a drag on the displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0174] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view (in which three user interface objects are displayed on touch display 112), when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler that is associated with the sub-event and the object that triggered the hit test.
[0175] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined whether the sub-event sequence does or does not correspond to the event type of the event identifier.
[0176] When a corresponding event recognizer 180 determines that a series of sub-events does not match any event in event definition 186, the corresponding event recognizer 180 enters the event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0177] In some embodiments, corresponding event recognizers 180 include metadata 183 having configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery for actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0178] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating an event handler 190 is different from sending (and deferred sending) sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag obtains the flag and performs a predefined process.
[0179] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with the sub-event series or to an actively participating view. The event handler associated with the sub-event series or with the actively participating view receives the event information and performs a predetermined process.
[0180] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the location of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends it to graphics module 132 for display on a touch-sensitive display.
[0181] In some embodiments, one or more event handlers 190 include or have access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0182] It should be understood that the above discussion of event handling for user touches on a touch-sensitive display also applies to other forms of user input utilizing input devices to operate the multifunction device 100, and not all user input is initiated on a touch screen. For example, mouse movement and mouse button presses, optionally in combination with single or multiple keyboard presses or holds; contact movement on a touchpad, such as taps, drags, scrolls, etc.; stylus input; movement of the device; spoken commands; detected eye movement; biometric input; and / or any combination thereof, are optionally used as input corresponding to a sub-event defining an event to be recognized.
[0183] Figure 2A portable multifunction device 100 with a touch screen 112 is shown according to some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and in other embodiments described below, a user can select one or more of the graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the drawings) or using one or more styluses 203 (not drawn to scale in the drawings). In some embodiments, selection of the one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or rolling of a finger that has made contact with the device 100 (from right to left, from left to right, up and / or down). In some implementations or in some cases, inadvertent contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0184] The device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.
[0185] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to: power the device on / off by pressing the button and holding it in a depressed state for a predetermined time interval; lock the device by pressing the button and releasing it before a predetermined time interval has passed; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions via the microphone 113. The device 100 also optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for the user of the device 100.
[0186] Figure 3is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not have to be portable. In some embodiments, the device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a gaming system, or a control device (e.g., a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes a circuit system (sometimes referred to as a chipset) that interconnects the system components and controls communication between the system components. The device 300 includes an input / output (I / O) interface 330 having a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above referenced devices). Figure 1A The one or more tactile output generators 167 described above), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch sensors, and / or sensors similar to those described above) Figure 1A Memory 370 includes high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310. In some embodiments, memory 370 stores data related to portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100( Figure 1A )'s memory 102 optionally does not store these modules.
[0187] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the memory device mentioned previously.Each module in the above-mentioned modules corresponds to the instruction set for performing the functions described above.Above-mentioned modules or programs (for example, instruction set) need not be implemented as independent software programs, processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of above-mentioned modules and data structure.In addition, memory 370 optionally stores additional modules and data structure not described above.
[0188] Attention is now turned to an embodiment of a user interface, optionally implemented on, for example, portable multifunction device 100 .
[0189] Figure 4A An exemplary user interface for an applications menu on portable multifunction device 100 is shown according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
[0190] One or more signal strength indicators 402 of one or more wireless communications, such as cellular signals and Wi-Fi signals;
[0191] Time 404;
[0192] Bluetooth indicator 405;
[0193] Battery status indicator 406;
[0194] A tray 408 with icons for commonly used applications such as:
[0195] o an icon 416 of the phone module 138 labeled “Phone,” which optionally includes an indicator 414 of the number of missed calls or voice messages;
[0196] o an icon 418 of the email client module 140 labeled “Mail,” which optionally includes an indicator 410 of the number of unread emails;
[0197] o An icon 420 labeled "Browser" of the browser module 147; and
[0198] o an icon 422 labeled “iPod” for the video and music player module 152 (also referred to as the iPod (trademark of Apple Inc.) module 152); and
[0199] Icons for other applications, such as:
[0200] o Icon 424 of the IM module 141 labeled “Messages”;
[0201] o Icon 426 labeled “Calendar” of calendar module 148;
[0202] o Icon 428 labeled “Photos” of the image management module 144;
[0203] o an icon 430 labeled “Camera” of the camera module 143;
[0204] o Icon 432 labeled “Online Video” of the online video module 155;
[0205] o Icon 434 labeled “Stocks” of the Stocks widget 149-2;
[0206] o an icon 436 labeled “Map” of the map module 154;
[0207] o Icon 438 labeled “Weather” of the Weather widget 149-1;
[0208] o Icon 440 labeled “Clock” of the Alarm Clock widget 149-4;
[0209] o an icon 442 labeled “Fitness Support” of the fitness support module 142;
[0210] o An icon 444 of the notepad module 153 labeled "Notepad"; and
[0211] o An icon 446 labeled “Settings” for a settings application or module that provides access to settings for the device 100 and its various applications 136.
[0212] It should be indicated that Figure 4A The icon labels shown in FIG are exemplary only. For example, icon 422 for video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for various application icons. In some embodiments, the label of a respective application icon includes the name of the application corresponding to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.
[0213] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, touch screen display 112) that is separate from a display 450 (eg, touch screen display 112). Figure 3 tablet or touchpad 355) of the device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451, and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.
[0214] Although some of the examples below will be given with reference to input on a touch screen display 112 (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the main axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B , 460 corresponds to 468 and 462 corresponds to 470 ) at contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4 ). Thus, on a touch-sensitive surface (e.g., Figure 4B 451) and the display of the multi-function device ( Figure 4B When the user interface 450 in FIG. 1 is separated, the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0215] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). For another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting the contact, followed by ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0216] Figure 5AAn exemplary personal electronic device 500 is shown. The device 500 includes a body 502. In some embodiments, the device 500 may include a device 502 for devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in . In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. As an alternative to or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of applied contact (e.g., touch). The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touch based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.
[0217] For example, exemplary techniques for detecting and processing touch intensity are found in the following related patent applications: International Patent Application No. PCT / US2013 / 040061, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed on May 8, 2013, published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application No. PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed on November 11, 2013, published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.
[0218] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0219] Figure 5B An exemplary personal electronic device 500 is shown. In some embodiments, the device 500 may include a reference Figure 1A 、 Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. The I / O portion 514 can be connected to a display 504, which can have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, the I / O portion 514 can be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, the input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, the input mechanism 508 is optionally a button.
[0220] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to I / O portion 514.
[0221] The memory 518 of the personal electronic device 500 may be a non-transitory computer-readable storage medium for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the above-described techniques, including processes 1600, 1800-2100, 2900-3100, 4000, and 4100 ( Figure 16A 、 Figures 18 to 21 、 Figures 29 to 31 , Figure 40 and Figure 41). The computer-executable instructions may also be stored and / or transmitted in any non-transitory computer-readable storage medium for use with or in conjunction with an instruction execution system, apparatus, or device, such as a computer-based system, a system containing a processor, or other system that can fetch instructions from and execute instructions on an instruction execution system, apparatus, or device. The personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.
[0222] As used herein, the term "indicator" refers to an indicator that is optionally provided on apparatus 100, 300, and / or 500 (FIG. 1, Figure 3 5 ). For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.
[0223] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in FIG, the particular user interface element is adjusted according to the detected input. In the case of a touch screen display (e.g., a touch screen display) that enables direct interaction with user interface elements on the touch screen display Figure 1A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG. 1 , a detected contact on the touch screen acts as a “focus selector” such that when input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move focus from one button to another); in these implementations, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).
[0224] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after the contact is detected, before the contact is detected to be lifted, before or after the contact begins to move, before the contact ends, before or after the intensity of the contact is detected to increase, and / or before or after the intensity of the contact is detected to decrease). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half-maximum value of the contact intensity, the 90% maximum value of the contact intensity, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation), rather than to determine whether to perform the first operation or the second operation.
[0225] Figure 5C Detection of multiple contacts 552A through 552E on touch-sensitive display 504 using multiple intensity sensors 524A through 524D is shown. Figure 5C Also included is an intensity graph that shows the current intensity measurements of intensity sensors 524A through 524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are both 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are both 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A through 524D, which in this example is 32 intensity units. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5D554. The cumulative strengths assigned to contacts 552A through 552E are shown based on their distances from the center of force 554. In this example, each of contacts 552A, 552B, and 552E is assigned a contact strength of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a contact strength of 4 strength units of the cumulative strength. More generally, in some implementations, each contact j is assigned a corresponding strength Ij that is a fraction of the cumulative strength A according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i=1 to the last) from the center of force. The reference may be performed using an electronic device similar to or identical to device 100, 300, or 500. Figures 5C to 5D In some embodiments, the characteristic intensity of a contact is based on one or more contact intensities. In some embodiments, the intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in the Figures 5C to 5D To help readers.
[0226] In some embodiments, a portion of a gesture is identified for the purpose of determining a characteristic intensity. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting position and reaches an end position where the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position is optionally based only on a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end position). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or depressions in the intensity of the swipe contact for the purpose of determining the characteristic intensity.
[0227] The intensity of a contact on the touch-sensitive surface is optionally characterized relative to one or more intensity thresholds, such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or a trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or a trackpad. In some embodiments, when a contact is detected with a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, contacts below the nominal contact detection intensity threshold are no longer detected), the device will move the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different groups of user interface illustrations.
[0228] An increase in the characteristic intensity of a contact from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in the characteristic intensity of a contact from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in the characteristic intensity of a contact from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting a contact on the touch surface. A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting a contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.
[0229] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting an increase in the intensity of the contact (or multiple contacts) to above a press input intensity threshold. In some embodiments, the corresponding operation is performed in response to detecting an increase in the intensity of the corresponding contact to above the press input intensity threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below the press input intensity threshold, and the corresponding operation is performed in response to detecting a subsequent decrease in the intensity of the corresponding contact to below the press input threshold (e.g., an "up stroke" of the corresponding press input).
[0230] Figures 5E to 5H Detection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E Light press intensity threshold in L ”) increases to a value higher than Figure 5H The deep press intensity threshold in D ”). On the displayed user interface 570 including application icons 572A to 572D displayed in the predefined area 574, a cursor 576 is displayed over the application icon 572B corresponding to application 2, and a gesture performed using contact 562 is detected on the touch-sensitive surface 560. In some embodiments, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines that the intensity of the contact 562 is above the deep press intensity threshold (for example, “IT D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the intensity rising to the deep press intensity threshold (e.g., “IT D ”) above contact 562, displays reduced-scale representations 578A to 578C (e.g., thumbnails) of the documents most recently opened for Application 2, as shown in FIG. Figures 5F to 5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the Figures 5E to 5H To help readers.
[0231] In some embodiments, the display of representations 578A to 578C includes animation. For example, representation 578A is initially displayed near application icon 572B, as shown in FIG. Figure 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H In some embodiments, the animation progresses according to the intensity of contact 562, as shown in FIG. Figures 5F to 5G , where representations 578A through 578C appear and decrease as the intensity of contact 562 approaches a deep press intensity threshold (e.g., “IT D In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or identical to device 100, 300, or 500. Figures 5E to 5H The operation described.
[0232] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs, sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below a hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the hysteresis intensity threshold (e.g., an "upstroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and, optionally, that the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the circumstances).
[0233] For ease of explanation, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is optionally triggered in response to detecting any of the following: contact intensity increasing above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing below the press input intensity threshold, and / or contact intensity decreasing below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting a decrease in contact intensity below the press input intensity threshold, the operation is optionally performed in response to detecting a decrease in contact intensity below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
[0234] Attention now turns to embodiments of a user interface ("UI") and associated processes that are optionally implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0235] As described above, it is desirable to provide a user with the ability to customize various features of a user interface or other graphical constructs on an electronic device, such as portable multifunction device 100, device 300, or device 500. Exemplary types of graphical constructs that may be desirable to customize include, but are not limited to, context-specific user interfaces (e.g., watch faces, timekeeping interfaces, etc.) and emoticon graphical objects.
[0236] Starting with a specific example of a watch face, a user may wish to customize the watch face with specific watch face characteristics. Example watch faces and interfaces for selecting, editing, and otherwise configuring watch faces and / or watch face features or elements are described in the following documents: International patent application serial number PCT / US2015 / 034604, entitled “Context-Specific User Interfaces,” filed on June 7, 2015, and published as WIPO patent publication number WO / 2016 / 022203; International patent application serial number PCT / US2015 / 034606, entitled “Context-Specific User Interfaces,” filed on June 7, 2015, and published as WIPO patent publication number WO / 2016 / 022204; and International patent application serial number PCT / US2015 / 034607, entitled “Context-Specific User Interfaces,” filed on June 7, 2015, and published as WIPO patent publication number WO / 2016 / 022205; the entire text of each of these patent applications is incorporated herein by reference. Each "base" watch face (e.g., a watch face that has not been customized by a user, such as a watch face loaded into the memory of the portable multifunction device prior to user customization) optionally has its own specific customizable watch face features. For example, a stopwatch watch face (see, e.g., WO / 2016 / 022203, WO / 2016 / 022204, and WO / 2016 / 022205) Figure 7 A and Figure 7 B) optionally includes watch face features such as a stopwatch hand, a stopwatch time scale indicator, and a start / stop indicator, while a watch face with multiple watch complications (see e.g. Figures 28A to 28C ) optionally includes watch face features such as an analog time indicator (e.g., a representation of an analog clock with an hour hand, a minute hand, and one or more hour indications), a digital time indicator (e.g., a representation of a digital clock with an hour indication and a minute indication), and / or one or more complications (e.g., a complication that displays information from an application, a custom monogram, or other watch complication). Those skilled in the art will readily appreciate that many other types of watch faces may be used.
[0237] Starting with a base watch face with specific watch face characteristics, a user may wish to customize the watch face by configuring various aspects of the watch face. For example, a user may wish to configure colors (e.g., background color, second hand color, hour indicator or minute indicator color, digital clock presentation color, etc.), display density (e.g., the number of visible time divisions or hour / minute indicators, which may be numerical and / or symbolic; the number of watch hands; etc.), and / or complications (e.g., the type or amount of information pulled from an application and displayed as a complication; the application from which complication information is obtained; etc.). It will be readily apparent to those skilled in the art that many other customizable aspects of a watch face are available. Exemplary techniques for customizing and selecting a watch face are provided below (e.g., as referenced in the accompanying drawings). Figures 26 to 28C described above).
[0238] Figure 6 An exemplary user interface for sharing a user-configurable graphical construct optionally operating on device 600 according to some embodiments is shown. Optionally, in some embodiments, device 600 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 in the process.
[0239] like Figure 6 As shown, device 600 is displaying screen 602, which includes a graphical representation 604 corresponding to a user-configurable graphical configuration. In some embodiments, the user-configurable graphical configuration optionally includes a watch face. Figure 6In FIG. 6 , a user-configurable graphical structure is shown on screen 602 as a watch face that includes independently configurable graphical elements (e.g., aspects of the watch face, such as the clock face, display density, color, and / or one or more complications). Graphical representation 604 shows independently configurable graphical elements of the watch face, such as an analog clock 606, and representations of complications 608 and 610. Complication 608 is a weather complication that displays information from a weather application. For example, complication 608 may optionally display current weather conditions (e.g., weather conditions for the current location of device 600, as available via GPS module 135): in this case, sunny weather. Complication 610 is a calendar complication that displays the current date (e.g., information from a calendar application). Clock 606 has a relatively low display density, showing only hour and minute hands, without an hour or minute indication (numerical or symbolic). Clock 606 optionally includes one or more user-configurable colors, such as the color of the clock face background or the color of the hour or minute hands. In some embodiments, a watch face may include configurable aspects of the watch face that can be independently selected from other aspects including, for example, watch complications, color, display density, and watch face features.
[0240] The specific graphical elements of the graphical construct represented by graphical representation 604 are optionally independently configured by the user to generate this specific customization. Although graphical representation 604 optionally includes many graphical elements, each individual graphical element is a specific configuration of one or more variables, wherein each variable corresponds to a specific graphical resource stored in the memory (e.g., memory 518) of device 600. Each configuration of graphical elements can optionally be selected from a discrete set of graphical resources stored in the memory of device 600. For example, a user can select a red hour hand as a graphical element on their watch face, which corresponds to a graphical resource representing a red hour hand, selected from a discrete set of hour hand options and other graphical resources. The user can select a low display density, which results in the hour indication and / or minute indication being omitted, or the user can select a higher display density, which results in the display of multiple hour indications and / or minute indications corresponding to individual graphical resources.
[0241] Device 600 optionally has several user-configurable graphic constructs stored in memory (e.g., a library of stored user-configurable graphic constructs), such as Figure 6As shown. Screen 602 shows a partial view of a second user-configurable graphical configuration 614, indicating to the user that other graphical configurations are available. Also shown on screen 602 is a paging indicator 612. The paging indicator optionally indicates where the user is within the sequence of options and how many options are available in the sequence. The paging indicator 612 on screen 602 indicates that the user is viewing the first of three selectable graphical configurations. In some embodiments, two or more of the multiple graphical representations may be displayed. In other embodiments, a single graphical representation of the multiple graphical representations is displayed. In some embodiments, a name associated with the graphical representation is displayed.
[0242] In some embodiments, the user swipes the display (e.g., swipe 616), and in response to detecting the swipe, the device 600 displays screen 620. Screen 620 shows a second graphical representation 614 corresponding to a second user-configurable graphical configuration. The graphical configuration represented by 614 includes a clock face 622. Compared to clock face 606, clock face 622 includes different graphical elements, such as different hour and minute hands, and four numerical hour indications (e.g., a higher display density). Unlike clock face 606, clock face 622 does not include a complex function. The paging indicator 612 has been updated on screen 620 to indicate that the user is viewing the second of the three graphical configurations. Screen 620 also shows a partial view of a third graphical representation 624.
[0243] In some embodiments, the user swipes the display (e.g., swipe 628), and in response to detecting the swipe, device 600 displays screen 630. Screen 630 shows a third graphical representation 624 corresponding to a third user-configurable graphical construct. The graphical construct represented by 624 includes a clock face 632. Compared to clock face 622, clock face 632 includes different graphical elements, such as a second hand 634, a weather complication 636, and a calendar complication 638. Like clock face 608, complication 636 displays information obtained from a weather application; however, the information displayed is different. 636 displays the temperature (e.g., the current temperature), while 608 displays weather conditions. Like 610, complication 626 displays information from a calendar application, but unlike 610, 626 displays different information (month and day) and has a different size and shape. Paging indicator 612 has been updated on screen 630 to indicate that the user is viewing the third of three graphical constructs.
[0244] In some embodiments, a device (e.g., device 600) displays one of a plurality of graphical representations (e.g., 604, 614, or 624, as shown in FIG. Figure 6), wherein the graphical representation of the plurality of graphical representations independently corresponds to a user-configurable graphical construct (e.g., a context-specific user interface, such as a watch face or emoji graphical object) comprising a plurality of independently configurable graphical elements (e.g., watch face or emoji features), wherein each of the plurality of graphical elements is selected from a discrete set of graphical resources stored in a memory of the electronic device. Figure 6 Several representations of exemplary graphic configurations are shown. It will be appreciated that many other possible configurations of watch faces and watch face graphic elements are also contemplated.
[0245] Figure 7 An exemplary user interface for sharing a user-configurable graphical construct optionally operating on device 700 according to some embodiments is shown. In some embodiments, device 700 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 in the process.
[0246] Figure 7 Another exemplary embodiment of a user-configurable graphic construct is shown, an emoticon graphic object. In some embodiments, the user-configurable graphic construct optionally includes an emoticon graphic object, an emoticon graphic object (e.g., Figure 7 The emoji graphical object (shown in FIG. 5 ) may optionally be a user-configurable graphical construct comprising a plurality of independently configurable graphical elements selected from a discrete set of graphical resources stored in a memory (e.g., memory 518) of the device 700. In some embodiments, the independently configurable graphical elements of the emoji graphical object optionally include configurable facial features, such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc. In some embodiments, the emoji graphical object displays a representation of a head or face. In some embodiments, the emoji graphical object displays a representation of part or all of a body (e.g., a hand, a head such as a full-body head, etc.). In some embodiments, the emoji graphical object optionally includes animation. In some embodiments, the emoji graphical object may optionally be configured to represent a two-dimensional object. In other embodiments, the emoji graphical object may optionally be configured to represent a three-dimensional object.
[0247] For example, device 700 is displaying screen 702, which contains an emoticon graphic object 704. The emoticon graphic construct 704 has been customized by configuring specific graphical elements, such as two eyes, two eyebrows, and a mouth, each of which is selected from a discrete set of available options (each of which corresponds to a stored graphical resource). Screen 702 also displays a paging affordance 706 to indicate the position of the displayed emoticon graphic object within the sequence of stored emoticon graphic objects, as well as the number of stored emoticon graphic objects. Figure 7 As shown, the user can view different emoji graphical objects 712 and 722 (e.g., from a library of stored user-configurable graphical constructs). In some embodiments, 712 and 722 can optionally be viewed by swiping the display (e.g., swiping 708 and 714). In response to detecting the swipe, device 700 displays screen 710 or 720. 712 and 722 show different possible user-configurable emoji graphical objects, each with its own set of graphical elements: for example, specific eyes, eyebrows, nose, mouth (optionally including teeth and / or tongue), skin color, face shape, hair, etc., each selected from a discrete set of graphical resources.
[0248] Once a user has customized a particular graphical construct (e.g., a watch face configuration or an emoji graphical object), they may wish to share that customization. For example, once a user has customized aspects of a watch face (or otherwise obtained a customized watch face), they may wish to share their customized watch face with a friend, or they may wish to send a customized watch face that they received from another device. A company or celebrity may wish to release a customized watch face and / or emoji for promotion through magazines, movies, the Internet, and other media. Due to the large number of possible combinations available, it may be laborious for a user to recreate a particular configuration, as this may require cycling through a large number of configurable aspects and potential options. Therefore, it is desirable to provide methods and interfaces for sharing (e.g., sending and / or receiving) user-configurable graphical constructs such as the watch faces and emojis shown above.
[0249] Figure 8A and Figure 8B An exemplary user interface for sharing a user-configurable graphical construct optionally operating on devices 800, 820, 830, and / or 850 is shown according to some embodiments. In some embodiments, devices 800, 820, 830, and / or 850 are devices 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 in the process.
[0250] Figure 8A and Figure 8BAn exemplary method for sharing user-configurable graphical constructs, including context-specific user interfaces (e.g., watch faces) and emoticon graphic objects, according to some embodiments is shown. As described above, each user-configurable graphical construct comprises independently configurable graphical elements selected from a discrete set of stored graphical resources. For example, device 800 is displaying screen 802, which includes a clock face 804 and complex functions 806 (showing weather conditions) and 808 (showing the date). The graphical elements that make up 804, 806, and 808 constitute a user-configurable graphical construct (e.g., a watch face). The graphical elements that make up 804, 806, and 808 can each optionally be independently configurable and can optionally be selected from a discrete set of graphical resources stored in a memory (e.g., memory 518) of device 800.
[0251] exist Figure 8A In the exemplary embodiment of the present invention, in order to communicate with another device (e.g., a device configured like device 800, such as Figure 8A In some embodiments, the device 800 may optionally transmit data 810 identifying specific graphical elements that constitute the graphical construct, these specific graphical elements being selected from a discrete set of graphical resources stored in memory. In some embodiments, the device does not transmit data encoding these resources themselves because the device 820 already has these resources stored in its memory. For example, exemplary data 810 identifies multiple independently configurable graphical elements that constitute the user configurable graphical construct shown on screen 802. Data 810 represents each of the independently configurable graphical elements as data (e.g., face 2, color 4, display density 1, and complications 5 and 6). In some embodiments, data representing a name associated with the user configurable graphical construct is optionally transmitted.
[0252] Once device 820 receives data identifying a configuration (e.g., data 810 identifying independently configurable graphical elements that comprise a graphical construct), device 820 may recreate the graphical construct using graphical resources stored in its own memory (as opposed to using resources transmitted by device 800). Figure 8A As shown, upon receiving data 810, device 820 recreates the graphical configuration of screen 802 and optionally displays the graphical configuration on screen 822 and / or stores the graphical configuration in its memory. Figure 8A As shown, screen 822 includes a clock face 824 and complications 826 and 828 , which have configurations similar to 804 , 806 , and 808 , respectively.
[0253] Similarly, Figure 8BAn exemplary method for sharing an emoji graphical object is shown. Device 830 displays screen 832, which contains an emoji graphical object 834. To share 834 with device 850, device 830 transmits data identifying specific graphical elements (selected from a discrete set of graphical resources stored in memory) that constitute 834. For example, data 840 includes data identifying the graphical elements of 834 (e.g., left eye 3, left eyebrow 1, right eye 5, right eyebrow 1, mouth 9, nose 0, skin 8, and face shape 4). Upon receiving data 840, device 850 (configured like device 830, with the discrete set of graphical resources stored in memory) recreates 834 and optionally displays emoji graphical object 854 (configured like 834) on screen 852 and / or stores the graphical construct in its memory.
[0254] Now turn Figure 9 , Figure 9 An exemplary user interface for sharing a user-configurable graphical construct, optionally operating on a device 900, is shown according to some embodiments. In some embodiments, the device 900 is the device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 in the process.
[0255] like Figure 9 As shown, device 900 can optionally display screen 902, which includes a graphical representation 904 of a plurality of graphical representations, each graphical representation (e.g., 904) independently corresponding to a user-configurable graphical construct composed of a plurality of independently configurable graphical elements. For example, graphical representation 904 represents a user-configurable graphical construct that includes independently configurable graphical elements such as a clock face, a weather complication, and a calendar complication, represented by 906, 908, and 910, respectively. Screen 902 also includes a paging indicator representation 912 and a partial view of representation 914, indicating to the user (e.g., in response to a swipe on the display) that additional graphical representations of the plurality of graphical representations can be optionally viewed.
[0256] While displaying a graphical representation in the plurality of graphical representations, the device 900 receives user input corresponding to a selection of the graphical representation in the plurality of graphical representations. In some embodiments, the display of the device 900 is optionally a touch-sensitive display (e.g., 112 or 504), and the user input includes a touch gesture on the display. For example, Figure 9An upward flick 916 on the display is shown. In some embodiments, the touch-sensitive surface of the device 900 can optionally be used to receive touch gestures. In some embodiments, the device 900 detects contact (e.g., a touch gesture) on the displayed graphical representation 904 and, while continuing to receive user contact, detects movement of the user contact (e.g., using the contact / motion module 130) without interrupting the user contact (e.g., flick 916) on the touch-sensitive display. Optionally, other user inputs can also be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input.
[0257] Device 900 may optionally display a user interface for selecting a recipient device. In some embodiments, the user interface for selecting a recipient device includes an affordance for sharing the selected graphical representation. For example, Figure 9 As shown, device 900 optionally displays screen 920, which includes an affordance 922 for sharing the selected graphical representation (e.g., 904). In some embodiments, screen 920 optionally includes affordances indicating other options for 904 (including options for operations such as deletion). In some embodiments, the user interface for selecting a recipient device may optionally include one or more user contacts from a plurality of user contacts (e.g., a stored friend list). Figure 9 As shown, the user optionally touches (e.g., touches 924) enable representation 922 to share the graphical representation, and in response to detecting touch 924 on the displayed enable representation 922, device 900 displays multiple user contacts, as shown on screen 930.
[0258] Screen 930 includes several contacts in the user's contact list (e.g., as shown in header 934, "My Contacts" and an optional display of the time of day). Each contact can optionally be associated with a recipient device for receiving the shared graphical construct. Device 900 optionally displays a list of user contacts stored in device 900 or stored on an external device coupled to device 900 via wireless communication, or optionally, device 900 displays a list of nearby electronic devices configured to receive the shared graphical construct. When displaying a user interface for selecting a recipient device, device 900 optionally receives user input corresponding to the selection of the recipient device. In some embodiments, the user input corresponding to the selection of the recipient device can optionally be a touch (e.g., touch 936) on the displayed user contact (e.g., affordance 932, corresponding to "Katie"). Optionally, other user inputs can also be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input.
[0259] Upon receiving user input corresponding to selection of a graphical representation and user input corresponding to selection of a recipient device, device 900 may optionally transmit to the recipient device data identifying a plurality of independently configurable graphical elements comprising a user-configurable graphical construct corresponding to the selected graphical representation (e.g., as described above with reference to FIG. Figure 8A As described). Figure 9 As shown, device 900 optionally shares a graphical construct represented by 904 with a recipient device 940 .
[0260] In some embodiments, before transmitting data identifying a plurality of independently configurable graphical elements to a recipient device, device 900 may optionally identify the recipient device (e.g., device 940) as a device that includes a memory that includes a discrete set of graphical resources associated with a plurality of independently configurable graphical elements that constitute a user-configurable graphical construct corresponding to the selected graphical representation. In some embodiments, as described above with reference to Figure 8A As described above, transmitting data identifying the plurality of independently configurable graphical elements does not include transmitting resources encoding the graphical elements of the plurality of independently configurable graphical elements.
[0261] In some embodiments, before transmitting data identifying multiple independently configurable graphical elements to a recipient device, device 900 may optionally determine whether the recipient device (e.g., device 940) includes memory that includes a discrete set of graphical resources associated with multiple independently configurable graphical elements that constitute a user-configurable graphical construction corresponding to the selected graphical representation.
[0262] Based on determining that the recipient device (e.g., device 940) includes a memory that includes a discrete set of graphics resources associated with a plurality of independently configurable graphical elements, device 900 may optionally transmit to the recipient device data identifying the plurality of independently configurable graphical elements that constitute a user-configurable graphical construct corresponding to the selected graphical representation (e.g., as Figure 8A In some embodiments, transmitting data identifying a plurality of independently configurable graphical elements that constitute a user-configurable graphical construct corresponding to the selected graphical representation does not include transmitting a resource (e.g., a graphical resource) that encodes a graphical element from the plurality of independently configurable graphical elements.
[0263] Based on determining that the receiving device (e.g., device 940) does not include a memory that includes a discrete set of graphical resources associated with a plurality of independently configurable graphical elements, device 900 may optionally transmit to the receiving device data identifying the user-configurable graphical construct that corresponds to the selected graphical representation. For example, device 900 may optionally transmit resources (e.g., graphical resources) that encode the graphical elements of the graphical construct, rather than the configuration of the graphical elements. Thus, device 900 may share the user-configurable graphical construct with devices that do not have stored graphical resources that include the graphical elements that constitute the graphical construct. As described below and in Figure 18 An exemplary process 1800 including the steps described above is further described in FIG.
[0264] like Figure 9 As shown, device 940 optionally receives data from device 900. The data may optionally identify a plurality of independently configurable graphical elements that constitute a user-configurable graphical construct corresponding to graphical representation 904, or the data may optionally represent a user-configurable graphical construct corresponding to graphical representation 904, as described above. Figure 9 and Figure 10 An exemplary embodiment for receiving a user-configurable graphical construct is provided in FIG, which is briefly introduced for the purpose of illustrating how the transmitted data can be used. Additional descriptions and exemplary embodiments for receiving a user-configurable graphical construct are subsequently provided in greater detail.
[0265] Device 940 displays screen 942, which includes a first user-configurable graphical structure (in this example, a watch face) having a clock face 944 and a date complication 946. Optionally, the graphical structure has been configured or received by the user of device 940. In response to receiving data transmitted by device 900, device 940 can optionally display screen 950, which includes a message 952 indicating to the user that the friend has shared the user-configurable graphical structure, and enable representations 954 and 956 for accepting or rejecting the graphical structure, respectively. In some embodiments, the user provides user input for accepting the graphical structure, for example, by touching the "Accept" enable representation 954 using touch 958 to accept the graphical structure. Optionally, other user inputs can also be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input. In response to detecting touch 958, device 940 can optionally display screen 960. Screen 960 includes the user-configurable graphical structure represented by graphical representation 904. Screen 960 includes clock face 962 and complications 964 and 966, like clock face 906 and complications 908 and 910. Thus, the graphical construct represented by 904 has been shared by device 900.
[0266] In some embodiments, display of the plurality of graphical representations occurs before displaying the user interface for selecting a recipient device. Figure 9 For example, the user may first optionally select a user-configurable graphical construct (a watch face in this example) and then select a recipient device (e.g., associated with a user contact).
[0267] exist Figure 10 Another exemplary embodiment for sharing a user-configurable graphical construct is shown in . Figure 10 An exemplary user interface for sharing a user-configurable graphical construct optionally operating on device 1000 according to some embodiments is shown. Optionally, in some embodiments, device 1000 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 in the process.
[0268] In some embodiments, display of the plurality of graphical representations occurs after displaying a user interface for selecting a recipient device. For example, a user may first optionally select a recipient device (e.g., associated with a user contact) and then select a user-configurable graphical construct (a watch face in this example).
[0269] like Figure 10 As shown, device 1000 may optionally display screen 1002, which may be Figure 9 , similar to screen 930 in , shows a user interface for selecting a recipient device and includes a user contact list (e.g., as indicated by header 1006) that includes user contact 1004. Device 1000 may optionally display a list of user contacts stored in device 1000 or on an external device coupled to device 1000 via wireless communication, or device 1000 may optionally display a list of nearby electronic devices configured to receive shared graphical constructs. The user may optionally provide user input (e.g., touch 1008) corresponding to the selection of the recipient device. For example, the user may select user contact 1004 by touching 1008 on the displayed user contacts.
[0270] Device 1000 may optionally display screen 1020. In some embodiments, screen 1020 includes information associated with the selected user contact, such as a name 1022, and an affordance 1024 for sharing a user-configurable graphical construct. The user may optionally touch (e.g., touch 1026) affordance 1024 to share the graphical construct with the user contact. In some embodiments, a touch-sensitive surface of device 1000 may optionally be used to receive touch gestures.
[0271] Device 1000 may optionally display screen 1030, which may be similar to Figure 9 1030 . The screen 1030 displays a graphical representation 1032 of a user-configurable graphical construct, similar to screen 902 in FIG. 1030 . The screen 1030 displays the graphical representation 1032 from a plurality of graphical representations, each of which independently corresponds to the user-configurable graphical construct. In this case, the graphical construct is a watch face that includes independently configurable graphical elements such as a clock face 1034, a weather complication 1036, and a date complication 1038. Each of the plurality of graphical elements can optionally be selected from a discrete set of graphical resources stored in the memory of the device 1000. The screen 1030 also includes a paging indicator 1040 that indicates that the representation 1032 is a third of three available graphical representations, and a partial display of the second graphical representation 1042.
[0272] Optionally, while screen 1030 is displayed, the user provides user input corresponding to a selection of graphical representation 1032 from the plurality of graphical representations (e.g., an upward flick 1044). After receiving the user input corresponding to the selection of the recipient device and the user input corresponding to the user-configurable graphical construct, device 1000 may optionally transmit data to the recipient device (e.g., device 1050), the data identifying the plurality of independently configurable graphical elements that constitute the user-configurable graphical construct corresponding to the selected graphical representation. As described above, in some embodiments, the data identifying the plurality of independently configurable graphical elements does not include transmitting resources that encode the graphical elements from the plurality of independently configurable graphical elements, or at least in part in response to determining whether device 1050 includes a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements, the data may optionally represent the user-configurable graphical construct corresponding to the selected graphical representation (see Figure 18 1800 in the exemplary process).
[0273] In some embodiments, device 1050 may optionally display screen 1052, which includes a clock face 1054 and a date complication 1056. Optionally, the graphical configuration has been configured or received by the user of device 1050. In response to receiving data transmitted by device 1000, device 1050 may optionally display screen 1060, which includes a message 1062 indicating to the user that the friend has shared a user-configurable graphical configuration, and affordances 1064 and 1066 for accepting or rejecting the graphical configuration, respectively. In some embodiments, the user provides user input for accepting the graphical configuration, for example, by touching "Accept" affordance 1064 using touch 1068 to accept the graphical configuration. Optionally, other user inputs may also be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input. In response to detecting touch 1068, device 1050 may optionally display screen 1070. Screen 1070 includes the user-configurable graphical construct represented by graphical representation 1032. Screen 1070 includes clock face 1072 and complications 1074 and 1076, like clock face 1034 and complications 1036 and 1038. Thus, the graphical construct represented by 1032 has been shared by device 1000.
[0274] Various mechanisms for transmitting the above data are contemplated.In some embodiments, an electronic device (eg, device 600, 700, 800, 900, or 1000) can optionally include a radio frequency transmitter or transceiver (eg, RF circuitry 108 or communication unit 530).
[0275] In some embodiments, data identifying multiple independently configurable graphic elements is transmitted or received by an electronic device. In other embodiments, data identifying multiple independently configurable graphic elements is transmitted or received by an external device coupled to the electronic device (e.g., paired with it) via wireless communication. For example, an electronic device (e.g., device 600, 700, 800, 900, or 1000) can optionally be paired with an external device or a matching device. As used herein, coupling or pairing two electronic devices includes establishing a communication method between the two devices. Once the two devices are connected, data can be wirelessly transmitted between the two devices via a communication link. The communication method can optionally include those described in U.S. patent application serial number 62 / 005,751 "Predefined Wireless Pairing" filed on May 30, 2014, which is incorporated herein by reference. Once the devices are paired, they can optionally exchange data containing data for sharing user-configurable graphic structures, as described above. In some embodiments, for the purpose of pairing, wireless communication occurs over a peer-to-peer wireless communication protocol such as Bluetooth and / or Bluetooth Low Energy (BTLE). In some embodiments, wireless communication for pairing functionality utilizes more than one wireless communication protocol. For example, WiFi may be used in addition to BTLE. In these embodiments, initial communication between two devices can occur over a lower-power protocol such as BTLE, even when that protocol produces lower data transfer speeds. Subsequent communication can occur over a faster secondary network such as WiFi.
[0276] so, Figures 8A to 10 Any or all of the exemplary data transmissions shown in or described herein may optionally include the following data transmissions: from an electronic device to another electronic device; from an electronic device to an external device or an accessory device coupled to another electronic device; from an external device or an accessory device coupled to another electronic device to another electronic device; from an external device or an accessory device coupled to another electronic device to another external device or an accessory device coupled to another electronic device.
[0277] For example, Figure 11 1 shows sharing of user-configurable graphical constructs between devices 1100 and 1120 according to some embodiments. Optionally, in some embodiments, devices 1100 and 1120 are devices 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 18 and Figure 19 The procedures in for sending and receiving user-configurable graphics constructs.
[0278] like Figure 11 As shown, a user of device 1100 is sharing a user-configurable graphical construct with a user of device 1120. Device 1100 displays screen 1102, which includes clock face 1104 and complications 1106 and 1108. Figure 11 In the exemplary embodiment shown, devices 1100 and 1120 have attachment mechanisms (e.g., straps 1110 and 1130, respectively) to allow users to wear them. After device 1100 transmits data as described above to enable users to share user-configurable graphical configurations, device 1120 displays screen 1122, which includes a clock face 1124 configured like 1104, 1106, and 1108, and complications 1126 and 1128, respectively.
[0279] As described above, device 1100 may optionally include a radio frequency transmitter or transceiver (e.g., RF circuit 108 or communication unit 530) and may optionally transmit data to device 1120. Alternatively, device 1100 is coupled to an external device (e.g., paired with an external device) via wireless communication, and data is transmitted by the external device. Similarly, device 1120 may optionally include a radio frequency receiver or transceiver (e.g., RF circuit 108 or communication unit 530) and may optionally receive data, or device 1120 may optionally be coupled to an external device (e.g., paired with an external device) via wireless communication (or alternatively, receive second data from the external device based on data received from device 1100).
[0280] One or more protocols may optionally be used to transmit data identifying a plurality of independently configurable graphical elements of a user-configurable graphical construct (or data representing a user-configurable graphical construct), as described above. For example, one or more protocols such as a near field communication (NFC) protocol, a Wi-Fi protocol, a Bluetooth protocol, a Bluetooth Low Energy (BTLE) protocol, a cellular protocol, and / or other wireless communication technologies described herein may optionally be used. In some embodiments, an ad hoc network such as (Apple Inc.). In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use a combination of multiple protocols or as a single alternative protocol. In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use different protocols depending on the context. For example, NFC and / or WiFi can optionally be used to transmit data when the receiving device is sufficiently close to the sending device (e.g., 10 cm or less) or shares a WLAN with the sending device, and a cellular protocol can optionally be used when the sending device and the receiving device are far apart or do not share a WLAN. In some embodiments, data can optionally be transmitted via email (e.g., as an attachment, or as an embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text messaging (e.g., or separate graphic construct message channel) or uploaded to a website or cloud-based server for transmission.
[0281] Now turn Figure 12 , the user may wish to receive a user-configurable graph construction. Figure 12 An exemplary user interface for sharing a user-configurable graphical construct that can optionally be operated on device 1200 according to some embodiments is shown. Optionally, in some embodiments, device 1200 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 19 in the process.
[0282] In some embodiments, device 1200 may optionally receive data identifying a plurality of independently configurable graphical elements, wherein each of the plurality of independently configurable graphical elements is selected from a discrete set of graphical resources stored in a memory of device 1200, and wherein the plurality of independently configurable graphical elements constitute a user-configurable graphical construct. Figure 12 As shown, device 1200 is displaying screen 1202, which includes graphical construct 1204. Device 1200 receives data 1206 (eg, from another electronic device such as device 600, 700, 800, 900, 1000, or 1100).
[0283] In response to receiving data (e.g., data 1206), device 1200 may optionally display a user interface for accepting a user-configurable graphical construct. Figure 12, device 1200 displays screen 1210 including a message 1212 indicating to the user that the user wishes to share a graphical construct, and affordances 1214 and 1216 for accepting or rejecting the graphical construct, respectively. For example, providing the user with the ability to accept or reject a user-configurable graphical construct through a user interface for accepting a graphical construct can be advantageous in preventing spam or spoofing. In some embodiments, the user interface for accepting a user-configurable graphical construct can optionally include a displayed graphical representation of the user-configurable graphical construct, thereby allowing the user to preview the graphical construct before accepting or rejecting it.
[0284] While displaying the user interface for accepting a user-configurable graphical construct, device 1200 may optionally receive user input indicating that the user-configurable graphical construct is accepted. Figure 12 , the user touches acceptance affordance 1214 to indicate acceptance by touching 1218. Optionally, other user inputs may also be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input.
[0285] In response to receiving user input (e.g., touch 1218), and as Figure 12 As shown, device 1200 can optionally store the user-configurable graphic construct in a memory of the electronic device (e.g., memory 518) for later display. The stored user-configurable graphic construct includes a plurality of independently configurable graphic elements selected from a discrete set of graphic resources stored in the memory based on the received data.
[0286] In some embodiments, in response to receiving user input (e.g., touch 1218), device 1200 can optionally display a user-configurable graphical construct on the display. Figure 12 , device 1200 displays the received user-configurable graphical construct on screen 1240. In some embodiments, the device displays the shared graphical construct on the display in response to receiving user input.
[0287] In other embodiments, after storing the user-configurable graphical construct in memory, device 1200 displays a graphical representation corresponding to the user-configurable graphical construct, receives a second user input indicating a selection of the user-configurable graphical construct, and after receiving the user input indicating a selection of the user-configurable graphical construct, displays the user-configurable graphical construct on the display. Figure 12, device 1200 displays screen 1250, which includes a representation of a shared graphical construct (e.g., representation 1252) as part of a stored graphical construct library. Screen 1250 includes a partial view of a stored second graphical construct 1256, which has optionally been configured by a user on device 1200 or received by device 1200. Screen 1250 also includes a paging indicator 1254 to indicate that representation 1252 is the third representation of the stored graphical constructs among three available representations. Device 1200 may optionally receive user input indicating selection of a user-configurable graphical construct (e.g., a touch 1258 on displayed representation 1252), and upon receiving touch 1258, display screen 1260, which includes the shared graphical construct represented by 1252. In some embodiments, after storing the received data in memory, device 1200 displays the shared graphical construct (e.g., on screen 1240). In other embodiments, after storing the received data in memory, the device 1200 displays a representation of the shared graphical construct (e.g., displaying representation 1252 on screen 1250). The user can then optionally select the representation (e.g., using touch 1258) to cause the device to display the shared graphical construct. In other words, the shared graphical construct can now be selected as one of the stored graphical constructs of the device 1200 (e.g., as part of a library of available graphical constructs).
[0288] In some embodiments, the received data identifying the plurality of independently configurable graphical elements does not include resources encoding graphical elements from the plurality of independently configurable graphical elements. In other embodiments, the received data represents a user-configurable graphical construct corresponding to the selected graphical representation (e.g., the received data includes resources encoding graphical elements comprising the graphical construct). In some embodiments, data representing a name associated with the user-configurable graphical construct may optionally be received.
[0289] As described above with reference to transmitting data, in some embodiments, the shared graphical construct can optionally be a context-specific user interface (e.g., a watch face). In some embodiments, the watch face can optionally include configurable aspects of the watch face independently selected from the following aspects, including, for example, watch complications, colors, display density, and watch face features. In some embodiments, the shared graphical construct can optionally be an emoji graphical object containing multiple independently configurable graphical elements, wherein the multiple independently configurable graphical elements are selected from a discrete set of graphical resources stored in the memory of device 1200. In some embodiments, the independently configurable graphical elements of the emoji graphical object can optionally include configurable facial features, such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc.
[0290] 13A to 13C A method for sharing a user-configurable graphical construct, optionally operating on devices 1300, 1320, 1340, and / or 1350, according to some embodiments is shown. Optionally, in some embodiments, device 1300, 1320, 1340, or 1350 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 19 in the process. 13A to 13C Some potential methods by which an electronic device may optionally receive a shared user-configurable graphical construct are shown. These methods are provided merely to illustrate some aspects of sharing and are by no means limiting.
[0291] As described above, the electronic device may optionally include a radio frequency receiver or transceiver (e.g., RF circuit 108 or communication unit 530) and may optionally receive data, or the electronic device may optionally be coupled to an external device via wireless communication (e.g., paired with an external device) and may optionally receive data via the external device (or alternatively, receive second data from the external device based on data received from device 1100).
[0292] Compared to the above description with reference to data transmission, the electronic device can optionally receive data for sharing the user-configurable graphical configuration in various ways. Optionally, the data can be received in the following ways: received from the electronic device by another electronic device; received from the electronic device by an external device or a companion device coupled to the other electronic device; received from the electronic device by another electronic device from an external device or a companion device coupled to the electronic device; received from the external device or a companion device coupled to the electronic device by another external device or a companion device coupled to the other electronic device.
[0293] A user may wish to receive a user-configurable graphic construct from a QR (Quick Response) code. For example, a magazine or other source may print or otherwise provide a QR code representing the configuration of a custom graphic construct, which a reader may use to scan and receive data identifying a plurality of independently configurable graphic elements that comprise the graphic construct. Figure 13A As shown, device 1300 is displaying screen 1302, which includes a user-configurable graphical construct. Using data 1304 obtained from a QR code 1306, device 1300 receives a configuration of independently configurable graphical elements that comprise the graphical construct and displays the graphical construct on screen 1302. In some embodiments, device 1300 may optionally include a QR code scanner. In some embodiments, device 1300 may optionally be coupled to an external device via wireless communication via the QR code scanner and may optionally receive data identifying a plurality of independently configurable graphical elements that comprise the graphical construct from the external device based on the QR code.
[0294] A user may wish to receive a shared user-configurable graphic structure via near field communication (NFC). In some embodiments, data identifying a plurality of independently configurable graphic elements constituting the graphic structure are received via near field communication from a second electronic device having a display, one or more processors, and a memory. In some embodiments, data identifying a plurality of independently configurable graphic elements constituting the graphic structure are received via near field communication from an external device coupled to a second electronic device having a display, one or more processors, and a memory. In some embodiments, data identifying a plurality of independently configurable graphic elements constituting the graphic structure are received from an NFC sticker or NFC tag. For example, users attending a concert can place their devices near an NFC sticker posted at the entrance of the concert and receive data identifying a graphic structure customized by information or design related to the concert, such as musician information, concert program or repertoire, schedule of the next concert, venue information, merchandise information, etc.
[0295] As another example, users attending a sporting event can enter the stadium, place their electronic device near an NFC tag posted at the stadium entrance, and receive data identifying a custom graphic structure associated with the sporting event. Figure 13B As shown, device 1320 can optionally receive data (e.g., data 1330) from an NFC transmitter (e.g., an NFC sticker or tag) 1332. In this example, NFC transmitter 1332 can be located in a soccer field. Based on data 1330, device 1320 can optionally display screen 1322 including a clock face 1324, a soccer ball icon 1326, and affordance 1328 including information related to the soccer team.
[0296] One or more protocols may optionally be used to transmit data identifying a plurality of independently configurable graphical elements of a user-configurable graphical construct (or data representing a user-configurable graphical construct), as described above. For example, one or more protocols such as a near field communication (NFC) protocol, a Wi-Fi protocol, a Bluetooth protocol, a Bluetooth Low Energy (BTLE) protocol, a cellular protocol, and / or other wireless communication technologies described herein may optionally be used. In some embodiments, an ad hoc network such as (Apple Inc.). In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use a combination of multiple protocols or as a single alternative protocol. In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use different protocols depending on the context. For example, NFC and / or WiFi can optionally be used to receive data when the receiving device is sufficiently close to the sending device (e.g., 10 cm or less) or shares a WLAN with the sending device, and a cellular protocol can optionally be used when the sending device and the receiving device are farther apart or do not share a WLAN. In some embodiments, data can optionally be sent via email (e.g., as an attachment, or as an embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text messaging (e.g., or separate graphic construct message channel) or uploaded to a website or cloud-based server for reception.
[0297] Figure 13C Shown is an example of receiving a shared user-configurable graphic construction by a messaging protocol (e.g., text message). Device 1340 displays screen 1342, which includes the name of a sender 1344 and an affordance 1346 indicating that the sender wants to share the user-configurable graphic construction. The user can optionally touch (e.g., touch 1348) the displayed affordance 1346, and in response to detecting the touch, device 1340 can optionally display screen 1352, which includes the shared user-configurable graphic construction. In some embodiments, the text message looks like a traditional text message with a link or an affordance for accepting a graphic construction. In other embodiments, the text message is formatted in a manner specific to the shared user-configurable graphic construction. In some embodiments, the text message can optionally be received by device 1340. In some embodiments, the text message can optionally be received by an external device coupled to device 1340 via wireless communication.
[0298] Figure 14An exemplary user interface for sharing a user-configurable graphical construct that can optionally be operated on device 1400 according to some embodiments is shown. Optionally, in some embodiments, device 1400 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 19 in the process.
[0299] With respect to sending and / or receiving user-configurable graphical constructs, a user may wish to send or receive independently configurable graphical elements of a certain type or kind. For example, a user may wish to send or receive a user-configurable graphical construct with a Stocks complication displaying stock information. In some cases, a user may wish to send or receive a Stocks complication, but have that complication populated with information provided by a Stocks application on their device (e.g., a list of stocks stored in their Stocks application). In this case, the shared graphical elements of the sender and receiver correspond to each other (e.g., both represent the Stocks complication), but need not be identical, as each device populates its Stocks complication with a list from its own Stocks complication (e.g., stored in its own memory or in the memory of an external device coupled to the device via wireless communication). Another possible example of this concept is illustrated by a World Clock complication. In some embodiments, a user-configurable graphical construct with a World Clock complication can optionally be sent and / or received, but the cities displayed in the World Clock complication are populated using the sender / receiver world clock list.
[0300] like Figure 14 As shown, device 1400 displays screen 1402, which includes a clock face 1404 and a stock complication 1406. Stock complication 1406 shows information for stocks AABC, DDEF, and NYSE, represented by user interface objects 1408, 1410, and 1412, respectively. As shown by stock list 1414, device 1400 (the "sender" device) includes a stock list (e.g., as stored in a stock application) that includes AABC, DDEF, and NYSE.
[0301] Device 1400 can optionally share the user-configurable graphical configuration of screen 1402 with device 1420. Upon receiving data from device 1400, device 1420 displays screen 1422. Screen 1422 includes a clock face 1424, which is identical to clock face 1404 on screen 1402 of device 1400. Like screen 1402 with complication 1406, screen 1422 also displays a stock complication 1426. However, stock complication 1426 displays information for the stocks JJKL, DDEF, and NYSE, represented by user interface objects 1428, 1430, and 1432, respectively. As shown by stock list 1434, device 1420 (the "receiving" device) includes a stock list (e.g., as stored in a stock application) that includes JJKL, DDEF, and NYSE. Thus, the shared user-configurable graphical construct shown by device 1420 corresponds to device 1400 , but contains displayed graphical elements populated with recipient values that correspond to, but are not identical to, the sender values.
[0302] like Figure 14 As shown, in some embodiments, an electronic device (e.g., device 1420) can optionally receive second data representing an independently configurable sender graphical element (e.g., representing user interface object 1408) simultaneously with data identifying a plurality of independently configurable graphical elements. Optionally, the independently configurable sender graphical element corresponds to, but is not identical to, a recipient graphical element (e.g., 1428) of a discrete set of graphical resources stored in the memory of the electronic device. For example, in some embodiments, the recipient device does not contain the same stored resources as the independently configurable sender graphical element. Device 1420 can optionally select a recipient graphical element (e.g., 1428) corresponding to the sender graphical element (e.g., 1408) from the discrete set of graphical resources stored in the memory, and can optionally store the selected recipient graphical element (e.g., 1428) as part of a user-configurable graphical construct (e.g., as shown on screen 1422).
[0303] Now turn Figure 15 The example shown, Figure 15 An exemplary user interface for sharing user-configurable graphical constructs that may optionally be operated on device 1500 according to some embodiments is shown. Optionally, in some embodiments, device 1500 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 19 in the process.
[0304] With respect to sending and / or receiving user-configurable graphical constructs, a user may wish to send or receive a certain kind or type of independently configurable graphical element and share the same independently configurable graphical element between the sender and the recipient. For example, a user may wish to send or receive a user-configurable graphical construct with a stock complication that displays stock information. In some cases, a user may wish to send or receive a stock complication and have the complication populated with information provided by a stock application on the sender's device (e.g., a list of stocks stored in the stock application on the sender's device). In this case, the shared graphical elements of the sender and the recipient are the same, and the recipient's device can optionally store resources corresponding to the sender's independently configurable graphical elements in its memory. Using the example of a world clock complication, if the sender's complication contains an entry for Tokyo, and the recipient's world clock application does not include Tokyo, the recipient's device can optionally add Tokyo to its stored list of world clocks.
[0305] like Figure 15 As shown, device 1500 displays screen 1502, which includes a clock face 1504 and a stock complication 1506. Stock complication 1506 shows information for stocks AABC, DDEF, and NYSE, represented by user interface objects 1508, 1510, and 1512, respectively. As shown by stock list 1514, device 1500 (the "sender" device) includes a stock list (e.g., as stored in a stock application) that includes AABC, DDEF, and NYSE.
[0306] Device 1500 can optionally share the user-configurable graphical configuration of screen 1502 with device 1520. Upon receiving data from device 1500, device 1520 displays screen 1522. Screen 1522 includes a clock face 1524, which is identical to clock face 1504 on screen 1502 of device 1500. Like screen 1502 with complication 1500, screen 1522 also displays a stock complication 1526. Similar to stock complication 1506 on screen 1502 of device 1500, stock complication 1526 displays information for stocks AABC, DDEF, and NYSE, represented by user interface objects 1528, 1530, and 1532, respectively. Prior to receiving data from device 1500, the stock list of device 1520 (the "receiving" device) included JJKL, DDEF, and NYSE, but not AABC (e.g., as stored in a stock application). Upon receiving the data from device 1500 , device 1520 may optionally add stock AABC (shown by 1536 ) to the recipient stock list and / or display 1536 on screen 1522 .
[0307] like Figure 15 As shown, in some embodiments, an electronic device (e.g., device 1520) may optionally receive data representing resources corresponding to the independently configurable graphical elements (e.g., represented by 1508) simultaneously with data identifying a plurality of independently configurable graphical elements. The device (e.g., device 1520) may optionally store the resources (e.g., 1536) corresponding to the independently configurable graphical elements in the electronic device's memory (e.g., in a recipient's stock list 1534 of a stock application), wherein the resources (e.g., 1528) corresponding to the independently configurable graphical elements are stored for later display as part of a user-configurable graphical construct (e.g., as shown on screen 1522). In some embodiments, the resources (e.g., 1536) are stored until the next time device 1520 is restarted. In some embodiments, the resources (e.g., 1536) are stored until a user deletes the resources from the memory of device 1520. In some embodiments, the resources (e.g., 1536) are stored in the memory of an external device coupled to device 1520 via wireless communication.
[0308] Figure 16A 16 is a flowchart illustrating a method for sharing a user-configurable graphic structure using an electronic device according to some embodiments. Method 1600 is performed at a device with a display (e.g., 100, 300, 500, or 1610). Some operations in method 1600 can be combined, the order of some operations can be changed, and some operations can be omitted. As described below, Figure 16 shows an exemplary embodiment for sharing a user-configurable graphic structure (e.g., including third-party graphic elements), but other operation sequences are also possible. Method 1600 is used to share a user-configurable graphic structure with third-party content in a comprehensive and easy-to-use manner, thereby saving power and increasing battery life.
[0309] A user may wish to send and / or receive user-configurable graphical constructs having third-party graphical elements. For example, in some embodiments, an electronic device is loaded with a discrete set of graphical resources corresponding to independently configurable graphical elements stored in the memory of the electronic device. A third party may generate a third-party graphical element using a third-party graphical resource that is not part of the discrete set of graphical resources stored in the memory of the electronic device. Therefore, in order to display a user-configurable graphical construct, a user may wish to download the third-party graphical resource. For example, a sports organization may create a user-configurable graphical construct using independently configurable graphical elements that have third-party graphical resources, such as sports logos, information, etc., and these third-party graphical resources are not part of the set of graphical resources stored by the device.
[0310] like Figure 16A As shown, in method 1600, an exemplary process for sharing a user-configurable graphical construct with a third-party graphical resource is provided. At block 1602, a device receives data identifying a resource corresponding to a third-party graphical element simultaneously with data identifying a plurality of independently configurable graphical elements (as described above). At block 1604, at least in part in response to receiving the data identifying the resource corresponding to the third-party graphical element, the device determines whether the resource corresponding to the third-party graphical element is stored in memory of an electronic device. At block 1606, at least in part in response to determining that the resource corresponding to the third-party graphical element is stored in memory of the electronic device, the device identifies the resource corresponding to the third-party graphical element for later display as part of the user-configurable graphical construct. For example, a user may have downloaded the third-party graphical resource (e.g., as part of a third-party application) to the device's memory, and the device may optionally identify the resource for display as part of the user-configurable graphical construct. At block 1608, at least in part in response to determining that the resource corresponding to the third-party graphical element is not stored in memory of the electronic device, the device displays a user interface providing an option to retrieve the resource corresponding to the third-party graphical element.
[0311] Note that the details of the process described above with reference to method 1600 also apply in a similar manner to the methods described below (e.g., Figures 18 to 21 Methods 1800, 1900, 2000 and / or 2100 and / or Figures 29 to 31 2900, 3000, and / or 3100 in
[0065] ). For example, method 1900 may include one or more features of the various methods described above with reference to method 1600. For example, a device receiving data identifying a plurality of independently configurable graphical elements (as shown at block 1902 in method 1900) may optionally also receive data identifying a resource corresponding to a third-party graphical element (as shown at block 1602 in method 1600). For the sake of brevity, these details are not repeated below.
[0312] Figure 16B An exemplary user interface for sharing user-configurable graphical constructs (e.g., including third-party graphical resources) that can optionally be operated on device 1610 or device 1620 according to some embodiments is shown. Optionally, in some embodiments, devices 1610 and 1620 are devices 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 16A and Figure 19 in the process.
[0313] like Figure 16B As shown, device 1610 displays screen 1612. Screen 1612 shows a user-configurable graphical configuration with a clock face 1614. Screen 1612 also displays third-party graphical elements: in this case, a football icon 1616 and a football complication 1618 (e.g., updated with football scores obtained from a third-party football application). The user of device 1610 wishes to send the user-configurable graphical configuration of screen 1612 to the user of device 1620. However, the graphical resources corresponding to the third-party graphical elements shown on screen 1612 are not stored in the memory of device 1620.
[0314] In response to receiving data from device 1410, and based on determining that the resource corresponding to the third-party graphical element is not already stored in the memory of device 1620, device 1620 displays screen 1622. Screen 1622 illustrates an exemplary user interface providing an option to obtain the resource corresponding to the third-party graphical element. Screen 1622 includes a message 1624 inquiring the user whether to download the third-party graphical resource, and affordances 1626 and 1628, respectively, for selecting whether to download the third-party graphical resource. In this example, the user touches displayed "Yes" affordance 1626 via touch 1630. In response to detecting touch 1630, device 1620 downloads the third-party graphical resource or provides an interface for downloading the third-party graphical resource. Optionally, as shown on screen 1640, device 1620 displays user-configurable graphical configurations, including a clock face 1642, a football icon 1644, and a football complication 1646 corresponding to 1614, 1616, and 1618, respectively. In some embodiments, third-party graphical resources can be obtained from a third-party website (e.g., accessed by device 1620 or an external device coupled to device 1620 via wireless communication), an online store, or any other source for downloading and / or purchasing applications.
[0315] Now turn Figure 17 , the user may wish to send an emoticon graphic object. Figure 17 An exemplary user interface for sharing user-configurable graphical constructs that may optionally be operated on device 1700 according to some embodiments is shown. Optionally, in some embodiments, device 1700 is device 100, 300, or 500. The electronic device has a display (e.g., 504). The user interface in this figure is used to illustrate the processes described below, including Figure 20A and Figure 20B in the process.
[0316] As mentioned above, one possible type of emoticon graphical object is one that includes a plurality of independently configurable graphical elements selected from a discrete set of graphical resources stored in the memory of the device 1700. These independently configurable graphical elements of the emoticon graphical object may include configurable facial features such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc. Figure 8B shown.
[0317] Another possible type of emoticon graphic object includes a user-customized emoticon graphic object generated by user manipulation of a customizable "base" emoticon graphic object. A user may wish to express an emotion or provide a simple message to a recipient (e.g., I am happy or unhappy, yes or no). It may be difficult for a user to quickly and efficiently provide text information to express an emotion or provide a message. Therefore, it may be useful to display an interactive emoticon (e.g., a customizable "base" emoticon graphic object) that the user can manipulate to generate a user-customized emoticon graphic object to express an emotion or provide a message. The manipulated emoticon can then be sent to the recipient. U.S. Provisional Application Serial No. 62 / 044,923, the entirety of which is incorporated herein by reference, describes an exemplary method for manipulating emoticons based on user input, aspects of which may be used in the methods described herein. These methods reduce the cognitive burden on a user when preparing emoticon graphic objects using a device, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to prepare messages faster and more efficiently saves power and increases the time interval between battery charges.
[0318] like Figure 17 As shown, in some embodiments, device 1700 can optionally display screen 1702, which includes an emoji graphical object 1706. Device 1700 can optionally receive user input corresponding to manipulation of emoji graphical object 1706. In this example, the user provides a downward swipe 1712 on displayed right eye 1710. Before receiving swipe 1712, displayed right eye 1710 appears identical to displayed left eye 1708. Screen 1702 also includes an affordance 1714 for sharing the emoji graphical object.
[0319] In response to receiving user input (e.g., swipe 1712), device 1700 may optionally change a visual aspect of the emoji graphical object based at least in part on the manipulation to generate a user customized emoji graphical object. Figure 17As shown, in response to receiving swipe 1712, device 1700 updates emoji graphical object 1706 to display right eye 1716. Visual aspects of displayed right eye 1716 have changed compared to right eye 1710 based on the manipulation. For example, the manipulation of swipe 1712 includes a downward movement, and right eye 1716 has changed to show a closed eye or a wink (e.g., to show closure of an eyelid).
[0320] In some embodiments, as Figure 17 As shown, device 1700 includes a touch-sensitive surface, and touch gestures on the display can optionally be used to change specific visual aspects of the emoji graphical object. For example, when the device receives a smile touch gesture (e.g., a touch gesture in the shape of a "U"), device 1700 can optionally change the mouth of the emoji graphical object to indicate a smile. For example, when the device receives a frown touch gesture (e.g., a touch gesture in the shape of an inverted "U"), device 1700 can optionally change the mouth of the emoji graphical object to indicate a frown. In some examples, different degrees of swiping up or down cause the emoji graphical object to have a mouth corresponding to different degrees of happiness or sadness. As Figure 17 As shown, when device 1700 receives a closed-eye touch gesture (e.g., a touch gesture of swiping down on the eyes), device 1700 can optionally change the eyes of the emoji graphic object to represent closed eyes or blinking. The smile touch gesture and the frown touch gesture do not need to appear at the mouth position of the emoji graphic object (similarly, the closed-eye touch gesture does not need to appear at the eye position of the emoji graphic object). This allows the user to quickly modify the visual aspects of the emoji graphic object without requiring high precision in the location of the touch gesture. It will be appreciated that other gestures such as tapping can optionally be used to change emoji elements. For example, repeatedly tapping the same element can change the element through various states. Thus, the user can manipulate different visual aspects of the emoji image by providing user input before sending the emoji graphic object to the recipient.
[0321] In some embodiments, device 1700 includes a touch-sensitive surface, and the user input associated with the emoji graphical object includes a touch gesture at a location on the touch-sensitive surface that is associated with a first visual aspect of the emoji graphical object (e.g., a user dragging, swiping, or tapping over the emoji's eyes).
[0322] According to some embodiments, device 1700 includes a touch-sensitive surface configured to detect touch intensity. Optionally, the user input associated with the emoji graphical object includes a touch gesture having a characteristic intensity (e.g., a user taps with intensity; a deep press or a light press). In response to receiving the user input and based on determining that the characteristic intensity exceeds an intensity threshold (e.g., the touch gesture is a deep press), device 1700 changes a visual aspect of the emoji graphical object by changing a first feature of the emoji graphical object (e.g., changing the size or color of the emoji).
[0323] According to some embodiments, in response to receiving user input and based on determining that the feature intensity does not exceed the intensity threshold (e.g., the touch gesture is not a deep press), changing the visual aspect of the emoji graphical object includes changing a second feature of the emoji graphical object that is different from the first feature (e.g., changing the expression or orientation of the emoji). Thus, the touch gesture can change different features of the emoji graphical object based on the feature intensity of the touch.
[0324] In some embodiments, the user-customized emoji graphical object is an animated emoji graphical object (e.g., an emoji winking and / or an emoji sticking out its tongue). In some embodiments, changing the visual aspect of the emoji graphical object includes animating the change in the visual aspect of the emoji graphical object (e.g., an upward swipe on the corners of a smiley face's mouth causes the mouth to become larger / more cheerful). For example, in some embodiments, the transmitted data can include additional information, such as the order in which the elements change, so that the emoji is animated in the same manner on the recipient device.
[0325] Device 1700 may optionally receive user input corresponding to a selection of a user-customized emoticon graphical object for sharing. Figure 17 As shown, the user can optionally touch "Share" affordance 1714 (e.g., touch 1718). Optionally, other user inputs can be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input.
[0326] Device 1700 may optionally display a user interface for selecting a recipient device. Figure 17 As shown, device 1700 displays screen 1720, which displays several contacts in the user's contact list (e.g., as shown by header 1722, "My Contacts" and an optional display of the time of day). In some embodiments, device 1700 may optionally receive user input corresponding to selection of a user-customized emoticon graphical object for sharing (e.g., as shown by header 1722) before displaying a user interface for selecting a recipient device. Figure 17 shown and with Figure 9 In other embodiments, device 1700 may optionally display a user interface for selecting a recipient device before receiving user input corresponding to a selection of a user-customized emoticon graphical object for sharing. Figure 10 Similarly, a recipient device is received by a user, then displays an emoji graphic object, receives user input corresponding to the manipulation, generates a user-customized emoji graphic object based on the manipulation, and receives user input corresponding to selection of the user-customized emoji graphic object for sharing.
[0327] In some embodiments, while displaying a user interface for selecting a recipient device, device 1700 may optionally receive user input corresponding to a selection of a recipient device. Figure 17 In the example shown, the user can optionally touch (e.g., touch 1726) a displayed contact (e.g., contact 1724) to select a recipient device associated with the displayed contact. Device 1700 can optionally display a list of user contacts stored in device 1700 or stored on an external device coupled to device 1700 via wireless communication, or device 900 can optionally display a list of nearby electronic devices configured to receive a shared graphical construct. Optionally, other user inputs can be used, such as other touch gestures, input on input mechanisms such as 506 or 508, and / or audio (e.g., voice) input.
[0328] After receiving user input corresponding to selection of the user-customized emoji graphical object for sharing (e.g., touch 1718) and user input corresponding to selection of the recipient device (e.g., touch 1726), device 1700 may optionally determine whether the recipient device (e.g., device 1740) is capable of regenerating the user-customized emoji graphical object based on data identifying the manipulation (e.g., as shown at 1730). For example, device 1700 determines whether the recipient device is configured to receive data representing a manipulation of an emoji graphical object and use the data to re-render the user-customized emoji graphical object based on the manipulation. Device 1700 may optionally determine whether the recipient device has stored in memory a graphical resource representing a "base" emoji graphical object that serves as a starting point for re-rendering the user-customized emoji graphical object based on the manipulation.
[0329] At 1732, based on determining that the recipient device is capable of regenerating the user-customized emoji graphical object based on the data identifying the manipulation, device 1700 may optionally transmit data identifying the manipulation used to generate the user-customized emoji graphical object to the recipient device (e.g., device 1740). Optionally, the customization data of 1732 includes instructions for re-rendering the user-customized emoji graphical object, or includes data indicating the manipulation used to re-render the user-customized emoji graphical object. As described above, in some embodiments, the transmitted data may include additional information, such as the order in which elements are changed, so that the user-customized emoji graphical object is animated in the same manner on the recipient device. Advantageously, sending the data identifying the manipulation used to generate the customized emoji graphical object (rather than a large animated image file) saves bandwidth and facilitates more efficient data transmission, thereby saving power and increasing battery life.
[0330] At 1734, based on determining that the recipient device is unable to regenerate the user-customized emoticon graphical object based on the data for recognizing the manipulation, device 1700 may optionally transmit data (e.g., an image file, such as an animated GIF file) including an image representing the user-customized emoticon graphical object to the recipient device (e.g., device 1740). This allows the user to send the user-customized emoticon graphical object to the device regardless of whether the device is able to regenerate the user-customized emoticon graphical object based on the data for recognizing the manipulation.
[0331] One or more protocols may optionally be used to transmit data identifying manipulations used to generate the user-customized emoticon graphical object or data including an image representing the user-customized emoticon graphical object. For example, one or more protocols such as a near field communication (NFC) protocol, a Wi-Fi protocol, a Bluetooth protocol, a Bluetooth Low Energy (BTLE) protocol, a cellular protocol, and / or other wireless communication technologies described herein may optionally be used. In some embodiments, an ad hoc network such as (Apple Inc.). In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use a combination of multiple protocols or as a single alternative protocol. In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use different protocols depending on the context. For example, NFC and / or WiFi can optionally be used to transmit data when the receiving device is sufficiently close to the sending device (e.g., 10 cm or less) or shares a WLAN with the sending device, and a cellular protocol can optionally be used when the sending device and the receiving device are far apart or do not share a WLAN. In some embodiments, data can optionally be transmitted via email (e.g., as an attachment, or as an embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text messaging (e.g., or separate graphic construct message channel) or uploaded to a website or cloud-based server for transmission.
[0332] like Figure 17 As shown, device 1740 receives data from device 1700. In some embodiments, device 1740 may be device 100, 300, or 500. The electronic device has a display (e.g., 504). As described above, regardless of whether device 1740 is capable of regenerating the user-customized emoticon graphic object based on the data for identifying the manipulation, device 1740 may optionally display the user-customized emoticon graphic object. In other words, device 1740 is capable of regenerating the user-customized emoticon graphic object based on the received data for identifying the manipulation, or device 1740 is capable of displaying the user-customized emoticon graphic object based on the received data including an image representing the user-customized emoticon graphic object.
[0333] Device 1740 may optionally receive data identifying a manipulation for generating a user-customized emoji graphical object from an emoji graphical object stored in a memory of device 1740 (e.g., memory 518), and change a visual aspect of the emoji graphical object based on the manipulation to generate the user-customized emoji graphical object (as described above). In some embodiments, device 1740 may optionally display the user-customized emoji graphical object, as shown on screen 1742. Device 1740 displays user-customized emoji graphical object 1744, which corresponds to the user-customized emoji graphical object displayed on screen 1702 of device 1700. In some embodiments, device 1740 may optionally store the user-customized emoji graphical object in memory.
[0334] A variety of user inputs can optionally be used as user input corresponding to manipulation of the emoji graphical object. As described above, various touch gestures are contemplated. In some embodiments, the display is a touch-sensitive display, and the first user input includes a touch gesture at a location on the touch-sensitive display associated with a visual aspect of the emoji graphical object. In other embodiments, as described above, the touch gesture does not occur at a location on the touch-sensitive display associated with a visual aspect of the emoji graphical object. In some embodiments, device 1700 includes a rotatable input mechanism (e.g., input mechanism 506), and the user input corresponding to manipulation of the emoji graphical object includes rotation of the rotatable input mechanism. For example, a user can optionally rotate the rotatable input mechanism to change the shape of the eyes. In some embodiments, device 1700 can include a touch-sensitive display and a rotatable input mechanism, and the user input corresponding to manipulation of the emoji graphical object can include rotation of the rotatable input mechanism and a touch on the display. For example, a user can tap and hold on a displayed emoji eye to identify a feature for change and rotate the rotatable input mechanism to cause the identified feature to change.
[0335] One or more protocols may optionally be used to receive data identifying manipulations for generating a user-customized emoticon graphical object from emoticon graphical objects stored in memory. For example, one or more protocols such as a near field communication (NFC) protocol, a Wi-Fi protocol, a Bluetooth protocol, a Bluetooth Low Energy (BTLE) protocol, a cellular protocol, and / or other wireless communication technologies described herein may optionally be used. In some embodiments, an ad hoc network such as (Apple Inc.). In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use a combination of multiple protocols or as a single alternative protocol. In some embodiments, a device or an external device coupled to an electronic device via wireless communication can optionally be configured to use different protocols depending on the context. For example, NFC and / or WiFi can optionally be used to receive data when the receiving device is sufficiently close to the sending device (e.g., 10 cm or less) or shares a WLAN with the sending device, and a cellular protocol can optionally be used when the sending device and the receiving device are farther apart or do not share a WLAN. In some embodiments, data can optionally be sent via email (e.g., as an attachment, or as an embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text messaging (e.g., or separate graphic construct message channel) or uploaded to a website or cloud-based server for reception.
[0336] In some embodiments, data identifying manipulations for generating a user-customized emoji graphical object from emoji graphical objects stored in memory may optionally be received from a QR code read by a QR code scanner (in conjunction with Figure 13A ). In some embodiments, the recipient device, such as device 1740, may optionally include a QR code scanner. In some embodiments, the recipient device, such as device 1740, may optionally be coupled to an external device via wireless communication via the QR code scanner, and may optionally receive data from the external device based on the QR code identifying a manipulation for generating a user-customized emoji graphical object from an emoji graphical object stored in memory.
[0337] In some embodiments, data identifying manipulations for generating a user-customized emoji graphical object from emoji graphical objects stored in memory may optionally be received from a second electronic device (e.g., device 1700) via near field communication (NFC). In some embodiments, data identifying manipulations for generating a user-customized emoji graphical object from emoji graphical objects stored in memory may optionally be received from an NFC sticker or tag via near field communication (NFC). Figure 13B In some embodiments, data identifying manipulations for generating a user-customized emoticon graphical object from emoticon graphical objects stored in memory may optionally be received via a messaging protocol (e.g., a text message) and Figure 13C The concepts shown are similar.
[0338] Figure 18 1800 is a flow chart illustrating a method for sharing a user-configurable graphical construct according to some embodiments. Method 1800 is performed at a device having a display (e.g., 100, 300, or 500). Some operations in method 1800 may be combined, the order of some operations may be changed, and some operations may be omitted.
[0339] As described below, method 1800 provides an intuitive way to share user-configurable graphical constructs. The method reduces the cognitive burden on users of sharing user-configurable graphical constructs, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to share user-configurable graphical constructs faster and more efficiently saves power and increases the time between battery charges.
[0340] At block 1802, the device displays a graphical representation (e.g., from a plurality of graphical representations) that independently corresponds to a user-configurable graphical construct comprising a plurality of independently configurable graphical elements, wherein each of the plurality of independently configurable graphical elements is selected from a discrete set of graphical resources stored in a memory of the electronic device. At block 1804, while displaying the graphical representation, the device receives a first user input corresponding to a selection of the graphical representation (e.g., from the plurality of graphical representations). At block 1806, the device displays a user interface for selecting a recipient device. At block 1808, while displaying the user interface for selecting a recipient device, the device receives a second user input corresponding to a selection of the recipient device. Optionally, at block 1810, the device determines whether the recipient device includes a memory containing a discrete set of graphical resources corresponding to the plurality of independently configurable graphical elements associated with the user-configurable graphical construct of the selected graphical representation. At block 1812, optionally based on determining that the recipient device includes a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements, upon receiving the first user input and the second user input, the device transmits to the recipient device data identifying the plurality of independently configurable graphical elements that comprise a user-configurable graphical construct corresponding to the selected graphical representation. Optionally, at block 1812, transmitting the data identifying the plurality of independently configurable graphical elements that comprise the user-configurable graphical construct corresponding to the selected graphical representation does not include transmitting resources encoding graphical elements of the plurality of independently configurable graphical elements. Optionally, at block 1814, based on determining that the recipient device does not include a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements, the device transmits to the recipient device data identifying the plurality of independently configurable graphical elements that comprise the user-configurable graphical construct corresponding to the selected graphical representation.
[0341] Note that the above reference to method 1800 (e.g., Figure 18 ) also applies in a similar manner to the method 1600 ( Figure 16A ) and 1900-2100( Figures 19 to 21 ). For example, method 2000 may include one or more features of the various methods described above with reference to method 1800. For example, certain aspects of sharing the emoji graphical object shown in method 2000, such as a user interface for selecting a recipient device, may (e.g., at block 1806) include one or more features of method 1800. For the sake of brevity, these details are not repeated below.
[0342] Figure 191900 is a flow chart illustrating a method for sharing a user-configurable graphical configuration using an electronic device according to some embodiments. Method 1900 is performed at a device having a display (e.g., 100, 300, or 500). Some operations in method 1900 may be combined, the order of some operations may be changed, and some operations may be omitted.
[0343] As described below, method 1900 provides an intuitive way to share user-configurable graphical constructs. The method reduces the cognitive burden on users of sharing user-configurable graphical constructs, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to share user-configurable graphical constructs faster and more efficiently saves power and increases the time between battery charges.
[0344] At block 1902, a device receives data identifying a plurality of independently configurable graphical elements. Each of the plurality of independently configurable graphical elements is selected from a discrete set of graphical resources stored in a memory of the electronic device, and the plurality of independently configurable graphical elements constitute a user-configurable graphical construct. At block 1904, responsive at least in part to receiving the data, the device displays a user interface for accepting the user-configurable graphical construct. At block 1906, while displaying the user interface for accepting the user-configurable graphical construct, the device receives user input indicating that the user-configurable graphical construct has been accepted. At block 1908, responsive at least in part to receiving the user input, the device stores the user-configurable graphical construct in a memory for later display. The user-configurable graphical construct includes a plurality of independently configurable graphical elements selected from a discrete set of graphical resources stored in the memory. Optionally, at block 1910, the device displays the user-configurable graphical construct.
[0345] Note that the above reference to method 1900 (e.g., Figure 19 ) also applies in a similar manner to the method 1600 ( Figure 16A )、1800( Figure 18 ) and 2000 to 2100( FIG. 20A to FIG. 21 ). For example, method 2100 may include one or more features of the various methods described above with reference to method 1900. For example, certain aspects of receiving the data shown in method 2100 (e.g., from another electronic device) may include one or more features of method 1900. For the sake of brevity, these details are not repeated below.
[0346] Figure 20A2000 is a flowchart illustrating a method for sharing a user-configurable graphical configuration using an electronic device according to some embodiments. Method 2000 is performed at a device having a display (e.g., 100, 300, or 500). Some operations in method 2000 may be combined, the order of some operations may be changed, and some operations may be omitted.
[0347] As described below, method 2000 provides an intuitive way to share user-configurable graphical constructs. The method reduces the cognitive burden on users of sharing user-configurable graphical constructs, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to share user-configurable graphical constructs faster and more efficiently saves power and increases the time between battery charges.
[0348] At block 2002, the device displays an emoticon graphical object. At block 2004, the device receives first user input corresponding to a manipulation of the emoticon graphical object. At block 2006, responsive at least in part to receiving the first user input, the device changes a visual aspect of the emoticon graphical object to generate a user-customized emoticon graphical object. The change in visual aspect is based on the manipulation. At block 2008, the device receives second user input corresponding to a selection of the user-customized emoticon graphical object. At block 2010, the device displays a user interface for selecting a recipient device.
[0349] Figure 20B is a flow chart illustrating steps that may optionally be included in a method 2000 of sharing a user-configurable graphical construct using an electronic device according to some embodiments. Beginning at block 2010, as Figure 20A As shown and described above, the device displays a user interface for selecting a recipient device. Optionally, at block 2012, while displaying the user interface for selecting a recipient device, the device receives a third user input corresponding to the selection of the recipient device. Optionally, at block 2014, the device determines whether the recipient device is capable of regenerating the user-customized emoticon graphical object based on the data identifying the manipulation. Optionally, at block 2016, based on determining that the recipient device is capable of regenerating the user-customized emoticon graphical object based on the data identifying the manipulation, the device transmits data identifying the manipulation for generating the user-customized emoticon graphical object to the recipient device. Optionally, at block 2018, based on determining that the recipient device is unable to regenerate the user-customized emoticon graphical object based on the data identifying the manipulation, the device transmits data including an image representing the user-customized emoticon graphical object to the recipient device.
[0350] Note that the above reference to method 2000 (e.g., Figure 20A and Figure 20B) also applies in a similar manner to the method 1600 ( Figure 16A )、1800( Figure 18 )、1900( Figure 19 )、2100( Figure 21 ). For example, method 2100 may include one or more features of the various methods described above with reference to method 2000. For example, identifying certain aspects of manipulated data used to generate a user-customized emoticon graphical object based on the emoticon graphical object shown in method 2100 (e.g., at block 2102) may include one or more features of method 2000 (e.g., at block 2016). For the sake of brevity, these details are not repeated below.
[0351] Figure 21 21 is a flow chart illustrating a method for sharing a user-configurable graphical configuration using an electronic device according to some embodiments. Method 2100 is performed at a device having a display (e.g., 100, 300, or 500). Some operations in method 2100 may be combined, the order of some operations may be changed, and some operations may be omitted.
[0352] As described below, method 2100 provides an intuitive way to share user-configurable graphical constructs. The method reduces the cognitive burden on users of sharing user-configurable graphical constructs, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to share user-configurable graphical constructs faster and more efficiently saves power and increases the time between battery charges.
[0353] At block 2102, the device receives data identifying a manipulation for generating a user-customized emoticon graphical object from emoticon graphical objects stored in a memory of the device. At block 2104, the device changes a visual aspect of the emoticon graphical object based on the manipulation to generate the user-customized emoticon graphical object. At block 2106, the device displays the user-customized emoticon graphical object.
[0354] Note that the above reference method 2100 (e.g., Figure 21 ) also applies in a similar manner to the method 1600 ( Figure 16A ) and 1800 to 2000( Figures 18 to 20B ). For example, method 2100 may include one or more features of the various methods described above with reference to method 2000. For example, certain aspects related to changing the visual aspect of the emoji graphical object based on the manipulation, as shown in method 2100 (e.g., at block 2104), may include one or more features of method 2000 (e.g., at block 2006). For the sake of brevity, these details are not repeated above.
[0355] According to some embodiments, Figure 22 An exemplary functional block diagram of an electronic device 2200 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2200 are configured to perform the techniques described above. The functional blocks of the device 2200 are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of various described examples. It should be understood by those skilled in the art that Figure 22 The functional blocks described herein are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0356] like Figure 22 As shown, electronic device 2200 includes: a display unit 2202 configured to display a graphical user interface (optionally configured to receive contacts as a touch-sensitive display); a touch-sensitive surface unit 2204 configured to receive contacts; a storage unit 2220 configured to store data; a transmission unit 2222 configured to transmit data and optionally receive data; and a processing unit 2206 coupled to display unit 2202, touch-sensitive surface unit 2204, storage unit 2220, and transmission unit 2222. In some embodiments, display unit 2202 is a touch-sensitive display unit configured to receive contacts, display unit 2202 and touch-sensitive surface unit 2204 can be the same unit. In some embodiments, processing unit 2206 includes a receiving unit 2208, a display enabling unit 2210, a transmission enabling unit 2212, an identifying unit 2214, a determining unit 2216, and a detecting unit 2218.
[0357] The processing unit 2206 is configured to enable displaying one of a plurality of graphical representations on a display unit (e.g., display unit 2202) (e.g., using the display enabling unit 2210), wherein the graphical representation of the plurality of graphical representations independently corresponds to a user-configurable graphical construct comprising a plurality of independently configurable graphical elements, wherein each of the plurality of graphical elements is selected from a discrete set of graphical resources stored in a storage unit (e.g., storage unit 2220) of the electronic device; and when the graphical representation is enabled to be displayed on the display unit (e.g., display unit 2202) (e.g., using the display enabling unit 2210), receive (e.g., using the receiving unit 2208) a first user input corresponding to a selection of the graphical representation of the plurality of graphical representations. user input; capable of displaying a user interface for selecting a recipient device on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210); receiving a second user input corresponding to a selection of a recipient device (e.g., using receiving unit 2208) when the user interface for selecting a recipient device is capable of being displayed on the display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210); and after receiving the first user input and the second user input: capable of transmitting, by a transmitting unit (e.g., transmitting unit 2222), to the recipient device (e.g., using transmitting enabling unit 2212) data identifying a plurality of independently configurable graphical elements constituting a user-configurable graphical construction corresponding to the selected graphical representation.
[0358] In some embodiments, the processing unit 2206 is further configured to: before data identifying the plurality of independently configurable graphical elements is enabled to be transmitted by the transmission unit (e.g., transmission unit 2222) to the receiving device (e.g., using the transmission enabling unit 2212): identify by the transmission unit (e.g., transmission unit 2222) the receiving device (e.g., using the identification unit 2214) as a device that includes a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements that constitute a user-configurable graphical construction corresponding to the selected graphical representation.
[0359] In some embodiments, the transmission of data identifying the plurality of independently configurable graphical elements does not include the transmission of resources encoding the graphical elements in the plurality of independently configurable graphical elements.
[0360] In some embodiments, the processing unit 2206 is further configured to: prior to transmitting the data identifying the plurality of independently configurable graphical elements by the transmission unit (e.g., the transmission unit 2222) to the recipient device (e.g., using the transmission enabling unit 2212): determine (e.g., using the determining unit 2216, optionally in conjunction with the transmission unit 2222) whether the recipient device includes a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements constituting the user-configurable graphical construction corresponding to the selected graphical representation; and upon determining that the recipient device includes a memory containing a discrete set of graphical resources associated with the plurality of independently configurable graphical elements A memory of a discrete set of resources: capable of being transmitted by a transmission unit (e.g., transmission unit 2222) to a recipient device (e.g., using transmission enabling unit 2212) data identifying a plurality of independently configurable graphical elements constituting a user-configurable graphical construction corresponding to a selected graphical representation; and a memory of a discrete set of graphical resources: capable of being transmitted by a transmission unit (e.g., transmission unit 2222) to a recipient device (e.g., using transmission enabling unit 2212) data representing a user-configurable graphical construction corresponding to a selected graphical representation based on a determination that the recipient device does not include the plurality of independently configurable graphical elements.
[0361] In some embodiments, the transmission of data identifying a plurality of independently configurable graphical elements that constitute a user-configurable graphical construct corresponding to the selected graphical representation does not include the transmission of resources that encode the graphical elements of the plurality of independently configurable graphical elements.
[0362] In some embodiments, two or more graphical representations of a plurality of graphical representations are displayed.
[0363] In some embodiments, enabling display of a graphical representation on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210) occurs before enabling display of a user interface for selecting a recipient device on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210).
[0364] In some embodiments, enabling display of the graphical representation on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210) occurs after enabling display of a user interface for selecting a recipient device on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210).
[0365] In some embodiments, display unit 2202 is a touch-sensitive display unit, and the first user input corresponding to selection of a graphical representation includes: detecting user contact on the displayed graphical representation on the touch-sensitive display unit (e.g., display unit 2202) (e.g., using detection unit 2218); and while continuing to receive user contact on the touch-sensitive display unit (e.g., display unit 2202), detecting movement of the user contact on the touch-sensitive display unit (e.g., display unit 2202) (e.g., using detection unit 2218) without interrupting contact of the user contact on the touch-sensitive display unit (e.g., display unit 2202).
[0366] In some embodiments, the user interface for selecting a recipient device includes an enabling representation for sharing the selected graphical representation, and the processing unit 2206 is further configured to: detect a touch on the displayed enabling representation on a touch-sensitive surface unit (e.g., touch-sensitive surface unit 2204) (e.g., using detection unit 2218); and in response to detecting the touch: enable displaying multiple user contacts on a display unit (e.g., display unit 2202) (e.g., using display enabling unit 2210).
[0367] In some embodiments, receiving a second user input corresponding to a selection of the recipient device includes detecting (e.g., using detection unit 2218) a touch on a displayed user contact among multiple user contacts on a touch-sensitive surface unit (e.g., touch-sensitive surface unit 2204).
[0368] In some embodiments, the user-configurable graphical configuration includes a watch face.
[0369] In some embodiments, the independently configurable graphical elements include configurable aspects of the watch face independently selected from the group consisting of watch complications, colors, display density, and watch face features.
[0370] In some embodiments, the user-configurable graphical construct comprises an emoticon graphical object.In some embodiments, the independently configurable graphical elements comprise configurable facial features of an emoticon graphical object.
[0371] In some embodiments, data identifying multiple independently configurable graphical elements is transmitted by a transmission unit of the electronic device (e.g., transmission unit 2222).
[0372] In some embodiments, data identifying multiple independently configurable graphical elements is transmitted by an external device coupled to the electronic device via wireless communication using a transmission unit of the electronic device (e.g., transmission unit 2222).
[0373] In some embodiments, data identifying a plurality of independently configurable graphical elements is transmitted via one or more protocols selected from the group consisting of a near field communication protocol, a Wi-Fi protocol, a Bluetooth protocol, a Bluetooth low energy protocol, and a cellular protocol.
[0374] The above reference Figure 22 The described operations are optionally performed by Figures 1A to 1B or Figure 18 1804 and display operation 1806. For example, display operation 1802, receiving operation 1804, and display operation 1806 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event distributor module 174 delivers the event information to application 136-1. A corresponding event identifier 180 of application 136-1 compares the event information with a corresponding event definition 186 and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as activation of an affordance on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly know how to update the content based on the GUI updater 178. Figure 1A to Figure 1B The components depicted in the figure implement other processes.
[0375] According to some embodiments, Figure 23 An exemplary functional block diagram of an electronic device 2300 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2300 are configured to perform the techniques described above. The functional blocks of the device 2300 are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of various described examples. It should be understood by those skilled in the art that Figure 23 The functional blocks described herein are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0376] like Figure 23As shown, the electronic device 2300 includes: a display unit 2302 configured to display a graphical user interface (optionally configured to receive contacts as a touch-sensitive display); a touch-sensitive surface unit 2304 configured to receive contacts; a storage unit 2322 configured to store data; a data receiving unit 2324 optionally configured to receive data and optionally transmit data (in some embodiments, the data receiving unit 2324 is configured to scan QR codes as a QR code scanning unit); and a processing unit 2306 coupled to the display unit 2302, the touch-sensitive surface unit 2304, the storage unit 2320, and optionally, the data receiving unit 2324. In some embodiments where the display unit 2302 is a touch-sensitive display unit configured to receive contacts, the display unit 2302 and the touch-sensitive surface unit 2304 can be the same unit. In some embodiments, the processing unit 2306 includes a receiving unit 2308, a display enabling unit 2310, a storage unit 2312, a detection unit 2314, a selection unit 2316, a determination unit 2318 and an identification unit 2320.
[0377] The processing unit 2306 is configured to receive (e.g., using the receiving unit 2308) data identifying a plurality of independently configurable graphical elements, wherein each of the plurality of independently configurable graphical elements is selected from a discrete set of graphical resources stored in a storage unit (e.g., the storage unit 2322) of the electronic device 2300, and wherein the plurality of independently configurable graphical elements constitute a user-configurable graphical construct; enable display of a user interface for accepting the user-configurable graphical construct on a display unit (e.g., the display unit 2302) (e.g., using the display enabling unit 2310); and enable display of the user interface for accepting the user-configurable graphical construct on the display unit (e.g., the display unit 2302) (e.g., using the display enabling unit 2310). When the display enabling unit 2310) enables display of a user interface for accepting a user-configurable graphical construct, user input indicating that the user-configurable graphical construct is accepted is received (e.g., using the receiving unit 2308); and in response to receiving the user input: storing (e.g., using the storage unit 2312) in a storage unit (e.g., storage unit 2322) of the electronic device 2300 a user-configurable graphical construct for later display on a display unit (e.g., display unit 2302), the user-configurable graphical construct comprising a plurality of independently configurable graphical elements selected from a discrete set of graphical resources stored in the storage unit (e.g., storage unit 2322).
[0378] In some embodiments, the processing unit 2306 is further configured to: in response to receiving user input: enable display of a user-configurable graphical construct on a display unit (e.g., display unit 2302) (e.g., using display enabling unit 2310).
[0379] In some embodiments, the received data identifying the plurality of independently configurable graphical elements does not include resources encoding the graphical elements of the plurality of independently configurable graphical elements.
[0380] In some embodiments, the processing unit 2306 is further configured to: enable display of a graphical representation corresponding to the user-configurable graphical construction on a display unit (e.g., display unit 2302) (e.g., using the display enabling unit 2310) after storing the user-configurable graphical construction (e.g., using the storage unit 2312) in a storage unit (e.g., storage unit 2322) of the electronic device 2300; and receive (e.g., using the receiving unit 2308) a second user input indicating a selection of the user-configurable graphical construction, wherein enabling display of the user-configurable graphical construction on the display on the display unit (e.g., display unit 2302) (e.g., using the display enabling unit 2310) occurs after receiving (e.g., using the receiving unit 2308) the user input indicating a selection of the user-configurable graphical construction.
[0381] In some embodiments, the display unit (e.g., display unit 2302) is a touch-sensitive display unit, wherein the user interface for accepting the user-configurable graphical construction includes accepting the enable indication, and wherein the processing unit 2306 is further configured to: (e.g., using detection unit 2314) detect a third user input comprising contact on the display unit (e.g., display unit 2302) indicating selection of the approval enable indication, wherein the user input indicating that the user-configurable graphical construction is accepted includes contact on the display unit (e.g., display unit 2302).
[0382] In some embodiments, the user-configurable graphical configuration includes a watch face.
[0383] In some embodiments, the independently configurable graphical elements include configurable aspects of the watch face selected from the group consisting of watch complications, colors, display density, and watch face features.
[0384] In some embodiments, the user-configurable graphical construct includes an emoticon graphic object.
[0385] In some embodiments, the independently configurable graphical elements include configurable facial features of an emoticon graphical object.
[0386] In some embodiments, the processing unit 2306 is further configured to: simultaneously with the data identifying the plurality of independently configurable graphical elements, receive (e.g., using the receiving unit 2308) second data representing an independently configurable sender graphic element, the sender graphic element corresponding to but not identical to a recipient graphic element obtained from a discrete set of graphic resources stored in a storage unit (e.g., storage unit 2322) of the electronic device 2300; and select (e.g., using the selecting unit 2316) a recipient graphic element corresponding to the sender graphic element from the discrete set of graphic resources stored in the storage unit (e.g., storage unit 2322), wherein storing the user-configurable graphical construction in the storage unit (e.g., storage unit 2322) of the electronic device 2300 also includes storing the selected recipient graphic element in the storage unit (e.g., storage unit 2322) of the electronic device 2300 as part of the user-configurable graphical construction.
[0387] In some embodiments, the processing unit 2306 is further configured to: simultaneously with the first data identifying the plurality of independently configurable graphical elements, receive (e.g., using the receiving unit 2308) third data representing resources corresponding to the independently configurable graphical elements; and store the resources corresponding to the independently configurable graphical elements (e.g., using the storage unit 2312) in a storage unit (e.g., storage unit 2322) of the electronic device 2300, wherein the resources corresponding to the independently configurable graphical elements are stored for later display on a display unit (e.g., display unit 2302) as part of a user-configurable graphical construction.
[0388] In some embodiments, the processing unit 2306 is further configured to: simultaneously with the first data identifying multiple independently configurable graphical elements, receive (for example, using the receiving unit 2308) fourth data identifying resources corresponding to third-party graphical elements; determine (for example, using the determining unit 2318) whether the resources corresponding to the third-party graphical elements are stored in the storage unit (for example, the storage unit 2322) of the electronic device 2300; based on determining that the resources corresponding to the third-party graphical elements are stored in the storage unit (for example, the storage unit 2322) of the electronic device 2300: identify (for example, using the identifying unit 2320) the resources corresponding to the third-party graphical elements for later display as part of a user-configurable graphical structure on the display unit (for example, the display unit 2302); and based on determining that the resources corresponding to the third-party graphical elements are not stored in the storage unit (for example, the storage unit 2322) of the electronic device 2300: enable display of a user interface on the display unit (for example, the display unit 2302) that provides options for obtaining resources corresponding to the third-party graphical elements.
[0389] In some embodiments, enabling display of a user interface for accepting a user-configurable graphical construct on a display unit (e.g., display unit 2302) (e.g., using display enabling unit 2310) includes displaying a graphical representation of the user-configurable graphical construct.
[0390] In some embodiments, the electronic device 2300 further includes a data receiving unit (e.g., data receiving unit 2324), the processing unit 2306 is coupled to the data receiving unit (e.g., data receiving unit 2324), and the processing unit 2306 is further configured to: receive (e.g., using the receiving unit 2308) the first data, the second data, the third data, and / or the fourth data via one or more protocols selected from the group consisting of a near field communication protocol, a Wi-Fi protocol, a Bluetooth protocol, a low power Bluetooth protocol, and a cellular protocol by the data receiving unit (e.g., data receiving unit 2324). In some embodiments, the data is received by the electronic device 2300. In some embodiments, the data is received by an external device coupled to the electronic device 2300 via wireless communication (e.g., using the data receiving unit 2324).
[0391] In some embodiments, data identifying multiple independently configurable graphical elements is received by a data receiving unit (e.g., data receiving unit 2324) via near-field communication of data receiving unit 2324 from a second electronic device (e.g., using receiving unit 2308) having a display unit, one or more processing units, and a storage unit.
[0392] In some embodiments, data identifying multiple independently configurable graphical elements is received by a data receiving unit (e.g., data receiving unit 2324) from a near field communication tag (e.g., using receiving unit 2308) via near field communication of data receiving unit 2324.
[0393] In some embodiments, the electronic device 2300 also includes a data receiving unit (e.g., data receiving unit 2324), the processing unit 2306 is coupled to the data receiving unit (e.g., data receiving unit 2324), and the processing unit 2306 is further configured to: receive data identifying multiple independently configurable graphic elements from a QR code (e.g., using the receiving unit 2308) (e.g., where the data receiving unit 2324 is configured to scan the QR code).
[0394] The above reference Figure 23 The described operations are optionally performed by Figures 1A to 1B or Figure 191906. For example, receive operation 1902, display operation 1904, and receive operation 1906 may be implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event distributor module 174 delivers the event information to application 136-1. A corresponding event identifier 180 of application 136-1 compares the event information with a corresponding event definition 186 and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as activation of an affordance on a user interface. When a corresponding predefined event or sub-event is detected, event identifier 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 may utilize or call data updater 176 or object updater 177 to update application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly know how to update the content based on the GUI updater 178. Figure 1A to Figure 1B The components depicted in the figure implement other processes.
[0395] According to some embodiments, Figure 24 An exemplary functional block diagram of an electronic device 2400 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2400 are configured to perform the techniques described above. The functional blocks of the device 2400 are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of various described examples. It should be understood by those skilled in the art that Figure 24 The functional blocks described herein are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0396] like Figure 24As shown, electronic device 2400 includes: a display unit 2402 configured to display a graphical user interface (optionally configured to receive contacts as a touch-sensitive display); a touch-sensitive surface unit 2404 configured to receive contacts; optionally, a transmission unit 2422 configured to transmit and optionally receive data; optionally, a rotatable input unit 2424 configured to detect or receive rotatable input; and a processing unit 2406 coupled to display unit 2402, touch-sensitive surface unit 2404, optionally, transmission unit 2422, and optionally, rotatable input unit 2424. In some embodiments, display unit 2402 is a touch-sensitive display unit configured to receive contacts, and display unit 2402 and touch-sensitive surface unit 2404 can be the same unit. In some embodiments, processing unit 2406 includes a receiving unit 2408, a display enabling unit 2410, a modification enabling unit 2412, a determining unit 2414, a transmission enabling unit 2416, a detecting unit 2418, and an animation enabling unit 2420.
[0397] Processing unit 2406 is configured to enable display of an emoji graphic object on a display unit (e.g., display unit 2402) (e.g., using display enabling unit 2410); receive a first user input corresponding to manipulation of the emoji graphic object (e.g., using receiving unit 2408); in response to receiving the first user input, enable a change in a visual aspect of the emoji graphic object on the display unit (e.g., display unit 2402) (e.g., using change enabling unit 2412) to generate a user-customized emoji graphic object, wherein the change in visual aspect is based on the manipulation; receive a second user input corresponding to selection of the user-customized emoji graphic object for sharing (e.g., using receiving unit 2408); and enable display of a user interface for selecting a recipient device on the display unit (e.g., display unit 2402) (e.g., using display enabling unit 2410).
[0398] In some embodiments, the electronic device 2400 further includes a transmission unit (e.g., transmission unit 2422), wherein the transmission unit (e.g., transmission unit 2422) is coupled to the processing unit 2406, and wherein the processing unit 2406 is further configured to: while enabling display of a user interface for selecting a recipient device on the display unit (e.g., display unit 2402) (e.g., using the display enabling unit 2410), receive (e.g., using the receiving unit 2408) a third user input corresponding to the selection of the recipient device; after receiving the second user input and the third user input, determine (e.g., using the determining unit 2414) whether the recipient device is capable of identifying the manipulated data based on the manipulation. Regenerate a user-customized emoticon graphic object; based on determining that the receiving device is capable of regenerating the user-customized emoticon graphic object based on the data for identifying the manipulation: enable (for example, using the transmission enabling unit 2416) the transmission of the data for identifying the manipulation used to generate the user-customized emoticon graphic object by the transmission unit (for example, the transmission unit 2422) to the receiving device; and based on determining that the receiving device cannot regenerate the user-customized emoticon graphic object based on the data for identifying the manipulation: enable (for example, using the transmission enabling unit 2416) the transmission of data including an image representing the user-customized emoticon graphic object by the transmission unit (for example, the transmission unit 2422) to the receiving device.
[0399] In some embodiments, the display unit (e.g., display unit 2402) is a touch-sensitive display unit, and the processing unit 2406 is further configured to: detect (e.g., using detection unit 2418) a touch gesture on the touch-sensitive display unit (e.g., display unit 2402), wherein the first user input includes a touch gesture associated with a visual aspect of the emoticon graphic object at a location on the touch-sensitive display unit (e.g., display unit 2402).
[0400] In some embodiments, the electronic device 2400 also includes a rotatable input unit (e.g., rotatable input unit 2424), which is coupled to the processing unit 2406, and the processing unit 2406 is further configured to: detect (e.g., using the detection unit 2418) the rotatable input of the rotatable input unit (e.g., rotatable input unit 2424), wherein the first user input includes a rotation of the rotatable input unit.
[0401] In some embodiments, the emoji graphic is constructed as an animated emoji graphic object.
[0402] In some embodiments, enabling a change in a visual aspect of an emoji graphic object on a display unit (e.g., display unit 2402) (e.g., using change enabling unit 2412) includes enabling an animation of a change in a visual aspect of the emoji graphic object on the display unit (e.g., display unit 2402) (e.g., using animation enabling unit 2420).
[0403] In some embodiments, data identifying manipulations used to generate a user-customized emoji graphic object and / or data including an image representing the user-customized emoji graphic object is transmitted by a transmission unit (e.g., transmission unit 2422) via one or more protocols selected from the group consisting of a near-field communication protocol, a Wi-Fi protocol, a Bluetooth protocol, a low-power Bluetooth protocol, and a cellular protocol.
[0404] References Figure 24 The described operations are optionally performed by Figures 1A to 1B or Figure 20A and Figure 20B 1. For example, the display operation 2002, the receive operation 2004, and the change operation 2006 can be implemented by the event classifier 170, the event identifier 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the touch-sensitive display 112, and the event distributor module 174 delivers the event information to the application 136-1. The corresponding event identifier 180 of the application 136-1 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event, such as the activation of an enable representation on the user interface. When the corresponding predefined event or sub-event is detected, the event identifier 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 can utilize or call the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly know how to update the content based on the GUI updater 178. Figure 1A to Figure 1B The components depicted in the figure implement other processes.
[0405] According to some embodiments, Figure 25 An exemplary functional block diagram of an electronic device 2500 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2500 are configured to perform the techniques described above. The functional blocks of the device 2500 are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of various described examples. It should be understood by those skilled in the art that Figure 25The functional blocks described herein are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0406] like Figure 25 As shown, electronic device 2500 includes: a display unit 2502 configured to display a graphical user interface; a touch-sensitive surface unit 2504 configured to receive contacts; a storage unit 2514 configured to store data; optionally, a data receiving unit 2516 configured to receive data and optionally transmit data (in some embodiments, data receiving unit 2516 is configured to scan QR codes as a QR code scanning unit); and a processing unit 2506 coupled to display unit 2502, touch-sensitive surface unit 2504, storage unit 2514, and optionally data receiving unit 2516. In some embodiments, display unit 2502 is a touch-sensitive display unit configured to receive contacts, display unit 2502 and touch-sensitive surface unit 2504 can be the same unit. In some embodiments, processing unit 2506 includes receiving unit 2508, display enabling unit 2510, and change enabling unit 2512.
[0407] The processing unit 2506 is configured to receive (e.g., using the receiving unit 2508) data identifying a manipulation for generating a user-customized emoji graphic object based on an emoji graphic object stored in a storage unit of the device (e.g., the storage unit 2514); enable a change in a visual aspect of the emoji graphic object based on the manipulation (e.g., using the change enabling unit 2512) on a display unit (e.g., the display unit 2502) to generate a user-customized emoji graphic object; and enable display of the user-customized emoji graphic object on the display unit (e.g., the display unit 2502) (e.g., using the display enabling unit 2510).
[0408] In some embodiments, the electronic device 2500 further includes a data receiving unit (e.g., data receiving unit 2516), wherein the data receiving unit (e.g., data receiving unit 2516) is coupled to the processing unit 2506, and wherein the processing unit 2506 is further configured to: receive (e.g., using the receiving unit 2508) the identified manipulated data via one or more protocols selected from the group consisting of a near field communication protocol, a Wi-Fi protocol, a Bluetooth protocol, a low power Bluetooth protocol, and a cellular protocol by the data receiving unit (e.g., the data receiving unit 2516). In some embodiments, the data is received by the electronic device 2500. In some embodiments, the data is received by an external device coupled to the electronic device 2500 via wireless communication (e.g., using the data receiving unit 2516).
[0409] In some embodiments, data identifying multiple independently configurable graphical elements is received by a data receiving unit (e.g., data receiving unit 2516) via near field communication from a second electronic device having a display, one or more processors, and a memory.
[0410] In some embodiments, data identifying a plurality of independently configurable graphical elements is received by a data receiving unit (e.g., data receiving unit 2516) from a near field communication sticker via near field communication.
[0411] In some embodiments, the electronic device 2500 also includes a data receiving unit (e.g., data receiving unit 2516), wherein the data receiving unit (e.g., data receiving unit 2516) is coupled to the processing unit 2506, and wherein the processing unit 2506 is further configured to: receive data identifying multiple independently configurable graphic elements from a QR code (e.g., using receiving unit 2508) by the data receiving unit (e.g., data receiving unit 2516) (e.g., wherein the data receiving unit 2324 is configured to scan the QR code).
[0412] The above reference Figure 25 The described operations are optionally performed by Figures 1A to 1B or Figure 21 , which may be implemented by the components depicted in . For example, the receiving operation 2102, the changing operation 2104, and the displaying operation 2106 may be implemented by the event classifier 170, the event identifier 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the touch-sensitive display 112, and the event distributor module 174 delivers the event information to the application 136-1. The corresponding event identifier 180 of the application 136-1 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event, such as the activation of an enable representation on the user interface. When the corresponding predefined event or sub-event is detected, the event identifier 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 may utilize or call the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly know how to update the content based on the GUI updater 178. Figure 1A to Figure 1B The components depicted in the figure implement other processes.
[0413] The context-specific user interface described and illustrated herein provides numerous elements and features that a user can optionally customize according to a specific context. As described, these customizable elements enhance the user interface, making these user interfaces more personalized and more interactive with the user.
[0414] At the same time, users also need devices that are simple and intuitive to use. Providing multiple features will only frustrate users if the user interface doesn't provide an understandable way to edit those features. The following describes a user interface for editing a context-specific user interface that provides a simple and intuitive way to facilitate user customization. Any of the techniques described below for editing and / or selecting a context-specific user interface can be applied to any of the techniques described above for sharing user-configurable graphical constructs.
[0415] It is important to understand that although particular embodiments such as clock faces may be described with respect to particular editing features, these editing features may also be applicable to one or more other user interfaces described herein. For example, a method for customizing the color of a clock face may optionally be used to change the color of the second hand, change an animated object (e.g., a butterfly), or change the background of a clock face (e.g., a photograph or image of a scene). Similarly, methods for customizing complications may optionally be used to add and / or edit various complications on any clock face, regardless of whether an embodiment with a particular complication for that clock face is described herein. Those skilled in the art will recognize that the methods described below provide user interface functionality that can be applied to elements and aspects of various context-specific user interfaces in numerous combinations, making it impossible to describe each possible combination in detail individually.
[0416] It should also be understood that reference to a "clock face" with respect to editing and / or selecting a clock face as described herein is not in any way limited to the traditional concept of a "clock face," e.g., a circular display with an hour indicator and one or more hands to indicate the time, or a representation of a digital clock. Any context-specific user interface with a time indication as described herein may be appropriately referred to as a clock face.
[0417] Now pay attention Figure 26 . Figure 26 An exemplary context-specific user interface that can optionally operate on device 2600 is shown. Optionally, in some embodiments, device 2600 is device 100, 300, or 500. The electronic device has a touch-sensitive display (e.g., touch screen 504) configured to detect contact intensity. Exemplary components for detecting contact intensity and techniques for detecting contact intensity have been referenced and described in more detail above.
[0418] Device 2600 displays user interface screen 2602, which includes a clock face 2604. Clock face 2604 also includes a complication 2606 that displays a set of information obtained from a weather application (e.g., current weather conditions). In this example, the user wishes to change various aspects of clock face 2604. Specifically, the user decides to change the hour indication on clock face 2604 and complication 2606.
[0419] The user contacts the touch-sensitive display of device 2600 via touch 2608. Touch 2608 has a characteristic intensity that is above an intensity threshold, which prompts device 2600 to enter clock face editing mode, as shown on screen 2610. Clock face editing mode allows the user to edit one or more aspects of a clock face. Device 2600 indicates that the user has entered clock face editing mode by visually distinguishing the clock faces. In this example, screen 2610 shows a smaller displayed version of screen 2602 (e.g., 2612), which includes a clock face 2614 that is reduced in size based on clock face 2604. Complication 2616 that is reduced in size based on complication 2606 is also displayed. This shows the user that the user is in clock face editing mode while providing the user with an indication of how the edited clock face will look on the display. In some embodiments, the user may be able to select another clock face by swiping the displayed screen 2610, as described below with reference to Figures 27A to 27C Describe in more detail.
[0420] Screen 2610 also displays paging enable indication 2618. The paging enable indication can indicate where the user is within the sequence of options, and how many options are available in the sequence. In clock face editing mode, the paging enable indication can indicate which editable aspect of the clock face the user is editing, where the aspect falls within the sequence of editable aspects, and the total number of editable aspects in the sequence (if clock face selection is available on this screen, then paging enable indication 2618 can optionally display the currently selected clock face within the sequence of selectable clock faces and / or clock face options, as described below). Paging enable indications may be advantageous in clock face editing mode to help the user navigate the interface and browse through all the editable options available within each type of clock face.
[0421] The user selects the displayed clock face for editing by contacting 2612 via touch 2620. In response to detecting touch 2620, device 2600 visually indicates the elements of the clock face for editing. As shown on screen 2630, the hour indicator has been selected for editing, as indicated by an outline 2634 around the hour indicator's location. Other elements of the clock face remain, as shown by hour and minute hands 2632 and complication 2636.
[0422] In this example, three aspects of the clock face are available for editing by the user. This is indicated by paging affordance 2638. The first editable aspect is the hour indication (e.g., its number and / or appearance). This is communicated to the user by paging affordance 2638. By viewing outline 2634 in conjunction with paging affordance 2638, the user recognizes that the hour indication is the first of the three editable aspects of this clock face.
[0423] Device 2600 also has a rotatable input mechanism 2640. The user can optionally move the rotatable input mechanism 2640 to cycle through different options for editing different aspects of the clock face. On screen 2630, the user can optionally select different options for the hour indication (which is currently editable, as shown by outline 2634) by moving 2642. Advantageously, using the rotatable input mechanism to cycle through editing options (rather than using, for example, touch interaction) frees up touch interaction with the screen, thereby providing other functionality instead, thereby expanding the interactive capabilities of the device. Using a rotatable input mechanism is also useful in situations where smaller elements of the display are being edited, as it may be difficult for a user to perform smaller-scale touch gestures with a large finger on a display of reduced size.
[0424] Also displayed on screen 2630 is a position indicator 2644, shown as a column of nine lines. Position indicator 2644 is an indicator of the current position along the series of positions. This can be used, for example, in conjunction with rotatable input mechanism 2640. On screen 2630, position indicator 2644 indicates to the user the position of the currently selected option within the series of all selectable options (e.g., shown by line 2646).
[0425] Upon detecting movement 2642, device 2600 displays screen 2650. In response to detecting movement 2642, device 2600 edits the hour indication by increasing the number of indications and adding digits. This is indicated by indicator 2652, which is still highlighted by outline 2634. The other elements of the clock face—hour and minute hands 2632 and complication 2636—remain the same. Position indicator 2644 has been updated to indicate the position of this hour indication option within the series of hour indication option positions, highlighted by line 2654.
[0426] As indicated by paging enable representation 2638, the hour indication is the first editable aspect in the sequence of editable aspects for this clock face. The user can optionally select a second editable aspect by swiping the touch-sensitive display (e.g., swipe 2656). In response to detecting the swipe, device 2600 displays screen 2660. Screen 2660 includes clock face 2662, which now has 12 hour indications, including four numeral indications, as shown by hour indication 2652. Note that these hour indications are the hour indications selected by the user on the previous screen (see indication 2652). Paging enable representation 2638 has now been updated to indicate that editing the complication is the second editable aspect in the sequence of editable aspects in this clock face.
[0427] On screen 2660, complication 2636 is currently editable, as indicated to the user by outline 2664. Currently, complication 2636 is displaying current weather conditions using information obtained from a weather application. This option is option 3 in the series of options, as indicated by updated position indicator 2644 and line 2666. Position indicator 2644 lets the user know that the currently selected feature (i.e., complication 2636) is editable by the rotatable input mechanism.
[0428] While screen 2660 displays a single complication, it should be understood that multiple complications may be displayed. When multiple complications are displayed, the user may optionally select a particular complication for editing by touching the corresponding location of the complication. Outline 2664 then transitions from the previously selected complication or element to the currently selected complication or element, and the rotatable input mechanism may optionally be used to edit the complication or element at the selected location. Figure 28C Describe this concept in more detail.
[0429] It should be noted that the position indicator 2644 is displayed on screens 2630, 2650 and 2660, but the available options shown by these indicators are different. The position indicator can be a general indicator of the options that can be used by a specific type of user input, such as the movement of a rotatable input mechanism. Instead of showing the location within a specific context, such as editing a certain feature or displaying data obtained from a specific application, the position indicator shows the user location that can be used by a certain type of user input, regardless of whether the user input is being used in a specific context. This better indicates to the user which user input should be used for the function. In some embodiments, the position indicator is displayed on the display at a position adjacent to the user input used by it (for example, near the rotatable input mechanism to indicate the position that can be accessed by moving the rotatable input mechanism).
[0430] A position indicator (e.g., position indicator 2644) may optionally be responsive to one or more inputs. For example, Figure 26 As shown, position indicator 2644 can optionally indicate options available through movement of the rotatable input mechanism. As described above, the user can optionally use movement of the rotatable input mechanism to scroll through the available options. However, the user may wish to scroll through the available options using a second type of input such as contact on the touch-sensitive display (e.g., a swipe). In some embodiments, a user viewing screen 2630 swipes the touch-sensitive display in a direction that is different from the swipe that visually indicates the first element of the clock face for editing and the swipe that visually indicates the second element of the clock face for editing (e.g., a downward swipe on the display). For example, to Figure 26 2656) to scroll through the available options shown, the user can optionally swipe in a generally horizontal direction (e.g., swipe 2656) to scroll through the editable aspects (e.g., a swipe moving from left to right causes scrolling through the sequence of editable aspects in one direction, and a swipe moving from right to left causes scrolling through the sequence of editable aspects in the other direction, as indicated by updated paging affordance 2638). In this example, the user can optionally swipe in a generally vertical direction (e.g., perpendicular to swipe 2656) to scroll through the available options (e.g., a swipe moving downward causes scrolling through the sequence of available options in one direction, and a swipe moving upward causes scrolling through the sequence of available options in the other direction, as indicated by updated position indicator 2644). In some embodiments, the user can optionally swipe the display at or near the location of the displayed position indicator to scroll through the sequence of available options.
[0431] In some embodiments, upon detecting a swipe, the device updates the position indicator (e.g., a position indicator along a series of positions indicating the position of the currently selected option for the editable aspect along the series of selectable options for the editable aspect of the visual indication element of the clock face) to indicate a second position along the series. In some embodiments, upon detecting a swipe, the device may optionally edit the aspect of the visual indication element of the clock face. In some embodiments, the device visually distinguishes the position indicator (e.g., by changing color, size, shape, animation, or other visual aspect) based on the type of input used to scroll the indicator. For example, in some embodiments, in response to detecting movement of a rotatable input mechanism, the device may optionally display the position indicator in a first color (e.g., green), and in some embodiments, in response to detecting a swipe, the device may optionally display the position indicator in a second color (e.g., white) that is different from the first color.
[0432] Optionally, in the clock face editing mode shown on screen 2660, the user can cycle through different types of information obtained from the weather application, or can change the application from which the information is extracted. In this case, the user moves the rotatable input mechanism using movement 2668, which causes device 2600 to display screen 2670. This updates complication 2636 to display the current date obtained from the calendar application. This option is indicated by line 2672 within position indicator 2644. Note that paging indicator 2638 still indicates the second position because the user is still busy editing the complication of the second editable aspect of the clock face. The determination that the contact has a value above a predetermined threshold can optionally be used to distinguish between contact and other gestures such as taps or swipes.
[0433] Upon completion of editing the clock face, the user optionally leaves the clock face selection mode, and the edited clock face is displayed on the display. In some embodiments, this can optionally be performed by detecting a user contact having a feature intensity that is above an intensity threshold. Based on determining that the feature intensity is above the intensity threshold, the device can optionally leave the clock face editing mode and stop visually distinguishing the clock face displayed for editing (e.g., by increasing the size of the displayed clock face). In some embodiments, based on determining that the feature intensity is above the intensity threshold, the device can optionally save this edited clock face as a new clock face accessible through the clock face selection mode (as described below). Based on determining that the feature intensity is not above the intensity threshold (wherein the clock face includes an enable representation representing an application, and where the contact does not appear on the enable representation representing the application), the device can optionally launch the application represented by the enable representation.
[0434] In some embodiments, the device has a rotatable and pressable input mechanism (e.g., 506), and in response to detecting a press of the rotatable and pressable input mechanism, the device can optionally leave the clock face editing mode, display the currently edited clock face, and / or save the currently edited clock face for later user selection, as described above.
[0435] Figure 26 An exemplary embodiment of a clock face editing mode is shown, but many other possible embodiments are possible within the scope of the technology described herein. For example, in Figure 26, an element is indicated for editing by visually distinguishing an outline around the element (e.g., by displaying a visible outline, or by distinguishing a pre-existing outline that is already visible around the element), as shown by outlines 2634 and 2664. In some embodiments, the outline can optionally be animated to show rhythmic expansion and contraction (e.g., an animation similar to pulsation or breathing). In some embodiments, the element indicated as being for editing itself can optionally be animated to show rhythmic expansion and contraction. In some embodiments, the element can optionally be animated to show flashing. In some embodiments, the color of the element can optionally be changed (e.g., a change in color and / or intensity). Any or all of these indications can be used to display the currently editable element.
[0436] like Figure 26 As shown, movement of the rotatable input mechanism can optionally be used as user input for editing the aspect of the element indicated for editing. In some embodiments, if an outline is used to indicate the current editable element, the outline disappears when the rotatable input mechanism is moving and reappears when the movement stops. In this way, the user can see what the edited element will look like overall on the clock face without the outline causing any possible obstruction or interference.
[0437] In some embodiments, in response to detecting movement, the device can optionally change the color of an element. This can optionally include, for example, changing the color of the clock face background (e.g., if the clock face background is a specific color, then replacing the color, or if the clock face background includes an image, then selecting another image), changing the color of part or all of the second hand (if included on the clock face), changing the color of the hour indicator and / or minute indicator, and / or changing the color of the numbers or colon in the display represented by the digital clock. Since the second hand is a smaller element than the background (and therefore may be more difficult for the user to perceive), changing the color of the second hand can optionally include an animated color change. For example, the second hand can optionally first change the color of a specific point (e.g., along the point shown by the second hand), and then extend this color change along the second hand in either direction. Alternatively, the color change can optionally start at the starting point of the clock face and extend outward. Animating the color change, especially the change of the smaller elements of the clock face, can help to draw the user's attention to the color change.
[0438] In other embodiments, in response to detecting movement of the rotatable input mechanism, the device changes an aspect of the complication. For example, this can optionally be used to change the application data displayed by the application complication. In some embodiments, the complication can optionally indicate a first set of information obtained by the application (e.g., application data). For example, if the application is a weather application, a set of information can optionally include predicted weather conditions, current temperature, etc., and once edited, the complication can optionally be updated to indicate a second set of information obtained from the same application (e.g., if the application is a weather application, the display can optionally be edited to change from showing the current temperature to showing the current precipitation). In other embodiments, once edited, the complication can optionally be updated to indicate a set of information obtained from another application (e.g., if the application is a weather application, the display can optionally be edited from showing the weather to showing data obtained from the calendar application, as shown in complication 2636).
[0439] In other embodiments, in response to detecting movement of the rotatable input mechanism, the device changes some aspect of the display density. Figure 26 As shown on screens 2630, 2650, and 2660, this can optionally be used to edit the number of visible time divisions (e.g., the number of displayed hour and / or minute indications, such as the numbers 1 to 12 or other markings / symbols positioned at the hour positions along the clock face). In response to detecting movement of the rotatable input mechanism, the device can optionally increase or decrease the number of visible time divisions. As shown on screens 2630, 2650, and 2660, this can optionally involve changing the number of time divisions (e.g., from 4 to 12) and / or changing the number of numerical / symbolic hour indications (e.g., from 0 to 4).
[0440] In some embodiments, as Figure 26As shown, an indicator of a position along a series of positions (e.g., position indicator 2644) can be optionally displayed. In response to detecting movement of the rotatable input mechanism, the device can optionally update the indicator from indicating a first position along the series of positions to indicating a second position. In some embodiments, the indicated position reflects the currently selected option of the current editable aspect of the series of selectable options along the current editable aspect. As described above, in some embodiments, the indicator is displayed on the display at a position adjacent to the rotatable input mechanism, thereby strengthening the user association between the indicator and the input. In some embodiments, if the current editable aspect is a color, the device can optionally display a position indicator including a series of colors so that the currently selected color option matches the color of the position currently indicated by the position indicator (e.g., the color can be a similar or identical color). In some embodiments, the number of positions displayed in the position indicator increases or decreases according to the number of options for the currently selected editable aspect.
[0441] In some embodiments, once the last position indicated by the position indicator is reached, the device can optionally provide the user with an indication that the last option has been displayed. For example, the device can optionally illustrate the dimming of one or more of the selected element, the outline around the selected element, and the position indicator. In some embodiments, the device can optionally animate the selected element, the outline around the selected element, and the position indicator to expand and contract (e.g., like a rubber band). In some embodiments, the device can optionally animate the selected element, the outline around the selected element, and the position indicator to move on the display (e.g., by jumping). These features can be advantageous to provide the user with an indication that the last option in the option series has been reached.
[0442] In some embodiments, the user selects an element for editing on the clock face by contacting the touch-sensitive display at the location of the displayed element. In other embodiments, the element is selected by swiping the touch-sensitive display or by rotating the rotatable input mechanism. Regardless of the input, selecting a second element for editing may optionally involve removing the visual indication from the previous element and visually indicating that the second element is for editing (the visual indication may optionally include any or all of the above-described techniques).
[0443] In some embodiments, if the element selected for editing is indicated by an outline surrounding the element, changing the element for editing can optionally involve translating the outline on the screen away from the first element and / or moving the visible element on the screen toward the second element in a continuous on-screen movement until the outline is displayed around the second element.
[0444] like Figure 26 As shown, the clock face editing mode allows a user to change multiple editable aspects of the clock face described herein. In some embodiments, in response to detecting a swipe on the touch-sensitive display (e.g., swipe 2656), the device can optionally select a second element of the clock face for editing, which can optionally be edited in response to detecting another user input (e.g., movement of a rotatable input mechanism). This allows the user to cycle through different editable aspects of the displayed clock face, such as color, number, and / or complication type and display density.
[0445] A user may wish to match the color of the displayed clock face to an image. In some embodiments, the device receives user input, and in response to receiving the user input, the device enters a color selection mode. While in color selection mode, the device may optionally receive data representing an image, and in response to receiving the data, the device ma...
Claims
1. A method comprising: At an electronic device having a display, one or more processors, and a memory: detecting an input corresponding to a request to obtain a user-configurable graphical construct from a corresponding source, wherein the input corresponding to the request to obtain the user-configurable graphical construct from the corresponding source includes reference information retrieved by the electronic device from a physical object proximate to the electronic device; In response to detecting the input, acquiring data representing the user-configurable graphical construct based on the reference information; and Display of the user-configurable graphical construct is caused based on the data representing the user-configurable graphical construct.
2. A method according to claim 1, wherein the input corresponding to the request to obtain the user-configurable graphical structure from the corresponding source, including the reference information retrieved by the electronic device from the physical object close to the electronic device, includes at least one of the following: i) input for optically scanning a visual code, and ii) input connected to a near field communication (NFC) transmitter.
3. The method of any one of claims 1-2, wherein the reference information is retrieved from a QR code scanned using a QR code scanner in communication with the electronic device.
4. The method of any one of claims 1-2, wherein the test information is retrieved from an NFC transmitter.
5. The method of claim 4, wherein the input corresponding to the request to obtain the user-configurable graphical construct from the corresponding source, including the reference information retrieved by the electronic device from the physical object proximate to the electronic device, comprises: The electronic device is placed in proximity to the NFC transmitter.
6. The method of any of claims 1-2, wherein the data representing the user-configurable graphical structure comprises data customized for the corresponding source.
7. The method according to claim 6, wherein: a first plurality of graphical resources being stored on said electronic device prior to detecting said input corresponding to a request to obtain said user-configurable graphical construct from said corresponding source; as well as Customizing the data for the corresponding source includes at least one graphical resource not included in the first plurality of graphical resources.
8. The method of claim 6, wherein the data customized for the corresponding source comprises: Data associated with the respective positions of the physical objects.
9. The method of claim 6, wherein the data customized for the corresponding source comprises: Data associated with a corresponding event that occurs when the input is detected.
10. The method of any one of claims 1-2, wherein the user-configurable graphical structure comprises a watch face.
11. The method according to any one of claims 1-2, wherein obtaining the data representing the user-configurable graphical construct based on the reference information comprises: causing display of a user interface for accepting said data representing said user-configurable graphical construct; as well as In response to detecting user input indicative of acceptance via the user interface, the data representing the user-configurable graphical construct is stored.
12. The method according to any one of claims 1-2, wherein: The data representing the user-configurable graphical construct includes a first graphical asset associated with the respective source; and Displaying the user-configurable graphical construct includes displaying the first graphical resource.
13. The method according to any one of claims 1 to 2, wherein: said data representing said user-configurable graphical construct comprises data representing an arrangement of a second graphical resource within said user-configurable graphical construct; as well as Displaying the user-configurable graphical construct includes arranging the second graphical resource within the user-configurable graphical construct based on the data representing the arrangement of the second graphical resource within the user-configurable graphical construct.
14. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display and a memory, the one or more programs comprising instructions for a method according to any one of claims 1-13.
15. An electronic device, comprising: monitor; one or more processors; as well as A memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method according to any one of claims 1-13.
16. An electronic device, comprising: Apparatus for performing the method according to any one of claims 1-13.
17. A computer program product comprising computer instructions which, when executed by a processor, implement the steps of the method according to any one of claims 1 to 13.
18. A method comprising: At an electronic device having a display, one or more processors, and a memory: Display emoji graphic object; receiving a first user input corresponding to a manipulation of the emoji graphical object; in response to receiving the first user input, changing a visual aspect of the emoji graphical object to generate a user customized emoji graphical object, wherein the change in the visual aspect is based on the manipulation; as well as receiving a second user input corresponding to selecting the user customized emoticon graphical object for sharing; as well as A user interface for selecting a recipient device is displayed.
19. The method according to claim 18, further comprising: receiving a third user input corresponding to selection of a recipient device while displaying the user interface for selecting a recipient device; after receiving the second user input and the third user input, determining whether the recipient device is capable of regenerating the user customized emoticon graphical object based on data identifying the manipulation; According to determining that the recipient device is capable of regenerating the user customized emoticon graphic object based on the data identifying the manipulation: transmitting to the recipient device data identifying the manipulation used to generate the user customized emoticon graphical object; as well as Based on determining that the recipient device cannot regenerate the user-customized emoticon graphical object based on the data identifying the manipulation: Data including an image representing the user customized emoticon graphical object is transmitted to the recipient device.
20. The method of any one of claims 18-19, wherein the display is a touch-sensitive display, and wherein the first user input comprises a touch gesture at a location on the touch-sensitive display associated with the visual aspect of the emoji graphical object.
21. The method of any one of claims 18-19, wherein the electronic device further comprises a rotatable input mechanism, and wherein the first user input comprises a rotation of the rotatable input mechanism.
22. The method of any one of claims 18-19, wherein the emoticon graphic object is an animated emoticon graphic object.
23. The method of any of claims 18-19, wherein changing the visual aspect of the emoticon graphical object comprises animating the change in the visual aspect of the emoticon graphical object.
24. A method according to claim 19, wherein the data identifying the manipulation used to generate the user-customized emoji graphic object and / or the data including the image representing the user-customized emoji graphic object are transmitted via one or more protocols selected from the group consisting of near field communication, Wi-Fi, Bluetooth, Bluetooth Low Energy, and cellular protocols.
25. The method of any one of claims 18-19, wherein the emoticon graphical object comprises a plurality of independently configurable graphical elements, wherein the plurality of independently configurable graphical elements include configurable facial features.
26. The method of claim 25, wherein changing the visual aspect of the emoticon graphical object comprises changing a visual aspect of the configurable facial feature.
27. The method according to any one of claims 18-19, further comprising: The emoticon graphic object and an affordance for displaying a user interface for selecting a recipient are simultaneously displayed.
28. A method according to claim 27, wherein receiving the first user input, changing the visual aspect of the emoji graphic object, and receiving the second user input occur while simultaneously displaying the emoji graphic object and the enabling representation for displaying a user interface for selecting a recipient.
29. The method of claim 27, wherein the second user input corresponds to selecting the affordance for displaying a user interface for selecting a recipient.
30. The method of any of claims 18-19, wherein in response to receiving the second user input, the user interface for selecting a recipient is displayed.
31. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display and a memory, the one or more programs comprising instructions for a method according to any one of claims 18-30.
32. An electronic device comprising: monitor; one or more processors; as well as A memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method according to any one of claims 18-30.
33. An electronic device comprising: Apparatus for performing the method according to any one of claims 18-30.
34. A computer program product comprising computer instructions which, when executed by a processor, implement the steps of the method according to any one of claims 18 to 30.
35. A method comprising: At an electronic device having a display, one or more processors, and a memory, the memory storing a discrete set of graphics resources: displaying a clock face or a representation of said clock face, wherein said clock face comprises an indication of the time and one or more complications, said one or more complications comprising graphical features of said clock face, said graphical features of said clock face indicating information other than the hours and minutes of the time; receiving a first user input corresponding to a request to share data representing the clock face; In response to receiving the first user input, simultaneously displaying a shared affordance and a custom affordance for configuring the clock face; Prior to transmitting data representing said clock face: displaying a user interface for selecting a recipient; and receiving a second user input corresponding to a selection of the recipient; receiving a third user input corresponding to the displayed sharing affordance; as well as In response to receiving the third user input, transmitting the data representing the clock face to the recipient, wherein the transmitted data includes: first information representing a first graphical element of the clock face, the first information representing the first graphical element comprising i) data identifying a first graphical resource of the discrete set of graphical resources, and ii) data indicating an arrangement of the first graphical resource in the clock face, and wherein the transmitted data further comprises: Second information representing a second graphical element of the clock face, the second information representing the second graphical element comprising i) data identifying a second graphical resource of the discrete set of graphical resources, and ii) data indicating an arrangement of the second graphical resource in the clock face.
36. The method of claim 35, wherein the transmitted data further comprises: Third information representing a non-native graphic element of the clock face, wherein the third information representing the non-native graphic element includes i) data identifying a non-native graphic resource of the non-native graphic element, ii) data indicating an arrangement of the non-native graphic resource in the clock face, and iii) a preview image representing the non-native graphic resource, wherein the non-native graphic resource is not selected from the discrete set of graphic resources stored in the memory of the electronic device, and the non-native graphic element is not programmed or set by default on the electronic device.
37. The method of claim 36, wherein the non-native graphical element represents an application that has been acquired for a recipient, and wherein the transmitted data further includes information for the recipient to acquire the application.
38. The method of claim 35, wherein the clock face further comprises a multimedia object, and wherein the transmitted data further comprises the multimedia object.
39. A method according to claim 36, wherein the transmitted data also includes i) a text string and ii) at least a first text element and a second text element, wherein the first text element and the second text element simultaneously represent the text string, and wherein the first text element and the second text element are in different languages.
40. A method according to any one of claims 35-36, wherein the display is a touch-sensitive display, and wherein the first user input comprises a swipe on a displayed clock face or a displayed representation of the clock face.
41. A method according to any one of claims 35-36, wherein the user interface for selecting the recipient includes the sharing enable representation.
42. A method according to any of claims 35-36, wherein the display is a touch-sensitive display, and wherein the third user input comprises contact at the shared enable representation on the touch-sensitive display.
43. The method of any of claims 35-36, wherein the representation of the clock face is displayed prior to receiving the first user input, and wherein the method further comprises: At least a portion of a second representation of a second clock face is displayed through the representation of the clock face, wherein the second clock face is different from the clock face.
44. A method according to claim 43, wherein the second representation is displayed in a partial view.
45. The method of any one of claims 35-36, wherein the data is transmitted via an email message, a text message, a website, or an external server.
46. The method of any one of claims 35-36, wherein the data is transmitted by the electronic device.
47. The method of any of claims 35-36, wherein the data is transmitted by an external device coupled to the device via wireless communication.
48. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display and a memory, the one or more programs comprising instructions for a method according to any one of claims 35-47.
49. An electronic device comprising: monitor; one or more processors; as well as A memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method according to any one of claims 35-47.
50. An electronic device comprising: Apparatus for performing the method according to any one of claims 35-47.
51. A computer program product comprising computer instructions which, when executed by a processor, implement the steps of the method according to any one of claims 35 to 47.
52. A method comprising: At an electronic device having a display, one or more processors, and a memory: receiving data identifying a plurality of independently configurable graphical elements, wherein each graphical element of the plurality of independently configurable graphical elements is selected from a discrete set of graphical resources stored in the memory of the electronic device, and wherein the plurality of independently configurable graphical elements constitute a user-configurable graphical construct; In response to receiving the data: displaying a user interface for accepting the user-configurable graphical construct; receiving, while displaying the user interface for accepting the user-configurable graphical construct, a user input indicating acceptance of the user-configurable graphical construct; and In response to receiving the user input: The user-configurable graphical construct is stored in the memory of the electronic device for later display, the user-configurable graphical construct comprising the plurality of independently configurable graphical elements selected from the discrete set of graphical resources stored in the memory.
53. A method comprising: At an electronic device having a display, one or more processors, and a memory: receiving data identifying a manipulation for generating a user customized emoticon graphical object from emoticon graphical objects stored in the memory of the device; changing a visual aspect of said emoticon graphical object based on said manipulation to generate said user customized emoticon graphical object; as well as The user customized emoticon graphic object is displayed.
54. A method comprising: At an electronic device having a display, one or more processors, and a memory, the memory storing a discrete set of graphics resources: Receiving data representing a user-configurable graphical construct, wherein the received data includes: first information representing a first graphical element of said user-configurable configuration, said first information representing said first graphical element comprising i) data identifying a first graphical resource of said discrete set of graphical resources, and ii) data indicating said arrangement of said first graphical resource in said user-configurable graphical configuration, And the received data also includes: second information representing a second graphical element of said user-configurable configuration, said second information representing said second graphical element comprising i) data identifying a second graphical resource of said discrete set of graphical resources, and ii) data indicating said arrangement of said second graphical resource in said user-configurable graphical configuration; after receiving the data, generating the user-configurable graphical construct or a representation of the user-configurable graphical construct based on the received data and at least a subset of the discrete set of graphical resources stored in the memory; After generating the user-configurable graphical construct or the representation of the user-configurable graphical construct, displaying: the generated user-configurable graphical construct or a generated representation of the user-configurable graphical construct, and a user interface for accepting said user-configurable graphical construct; receiving, via the user interface, user input indicating that the user-configurable graphical construct is accepted; and In response to receiving the user input: The received data is stored in the memory of the electronic device.
Citation Information
Patent Citations
Shared user-configurable graph constructs
CN113741745B
Method and apparatus for integrating manual input
US20020015024A1
Acceleration-based theft detection system for portable electronic devices
US20050190059A1
Methods and apparatuses for operating a portable device based on an accelerometer
US20060017692A1
Gestures for touch sensitive input devices
US20060026521A1