Sharing user configurable graphic structures
Patent Information
- Application Number
- JP2023077331
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2015-09-30
- Filing Date
- 2023-05-09
- Publication Date
- 2025-01-08
- Estimated Expiration
- 2036-03-08
Smart Images

Figure 0007610641000001 
Figure 0007610641000002 
Figure 0007610641000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to computer user interfaces, and more particularly to techniques for sharing user-configurable graphic structures.
[0002] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims priority to U.S. Provisional Application No. 62 / 129919, filed March 8, 2015, and is a continuation-in-part of International Application No. PCT / US2015 / 053353, filed September 30, 2015, each of which is incorporated by reference in its entirety.
[0003] This application is related to the following applications: U.S. Provisional Application No. 62 / 032562, filed Aug. 2, 2014, U.S. Provisional Application No. 62 / 044994, filed Sep. 2, 2014, and U.S. Provisional Application No. 62 / 044923, filed Sep. 2, 2014, the contents of which are incorporated herein by reference in their entireties. [Background technology]
[0004] Users rely on portable multifunction devices for many activities, such as running software applications, managing time, communicating with other users (e.g., through voice, text, and visual messages such as emojis), and viewing information. It is desirable to allow users to customize their user interfaces on the devices, allowing users to access information more quickly and efficiently. Users may also want to share configurable user interfaces (e.g., sending or receiving user-configured interfaces or emojis to friends) or obtain customized user interfaces from magazine advertisements or sporting organizations. It is therefore desirable to provide various ways to quickly and efficiently send and / or receive user-configurable graphic structures (e.g., user interfaces and / or other user-customized content such as emojis). Summary of the Invention
[0005] The present invention recognizes that many of the potential techniques for sharing user-configurable graphic structures using electronic devices are cumbersome, inefficient, and data intensive. For example, some techniques use complex and time-consuming user interfaces (which may include multiple key presses or strokes) or require large amounts of data transfer. These techniques require more time and more data transfers than necessary, wasting user time, bandwidth, and device energy. The latter consideration is particularly important in battery-operated devices.
[0006] Thus, the present technique provides electronic devices with faster, more efficient methods and interfaces for sharing user-configurable graphic structures. Such methods and interfaces, optionally, complement or replace other methods for sharing user-configurable graphic structures. Such methods and interfaces reduce the cognitive burden on users and create a more efficient human-machine interface. In the case of battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0007] The above-mentioned deficiencies and other problems are mitigated or eliminated by the devices, methods, and computer-readable media of the present disclosure. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also known as a "touch screen" or "touch screen display"). In some embodiments, the device has a hardware input mechanism, such as a pressable button and / or a rotatable input mechanism. In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing a number of functions. In some embodiments, a user interacts with the GUI through finger contacts and gestures on the touch-sensitive surface and / or through rotation of a rotatable input mechanism and / or through pressing hardware buttons. In some embodiments, the functionality optionally includes image editing, drawing, presenting, word processing, website creation, disk authoring, spreadsheet creation, game playing, making phone calls, video conferencing, emailing, instant messaging, training support, digital photography, digital videography, web browsing, digital music playback, and / or digital video playback. Executable instructions to perform these functionality are optionally included in a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors. Executable instructions to perform these functionality are optionally included in a transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0008] In some embodiments, a method for sharing user configurable graphical structures includes receiving, in an electronic device having a display, one or more processors, and a memory, the memory storing a discrete set of graphical assets, data representing a user configurable graphical structure, the received data including first information representing a first graphical element of the user configurable structure, the first information representing the first graphical element including: i) data identifying a first graphical asset of the discrete set of graphical assets; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure, and the received data including second information representing a second graphical element of the user configurable structure, the second information representing the second graphical element including: i) data identifying a second graphical asset of the discrete set of graphical assets; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure. and ii) second information including ii) data identifying a graphic asset in the user-configurable graphic structure; and ii) data indicating an arrangement of the second graphic asset in the user-configurable graphic structure; after receiving the data, generating a user-configurable graphic structure or a representation of the user-configurable graphic structure based on the received data and at least a subset of the distinct set of graphic assets stored in the memory; after generating the user-configurable graphic structure or the representation of the user-configurable graphic structure, displaying the generated user-configurable graphic structure or the generated representation of the user-configurable graphic structure and a user interface for accepting the user-configurable graphic structure; a user indicating acceptance of the user-configurable graphic structure via the user interface; and in response to receiving the user input, storing the received data in a memory of the electronic device.
[0009] In some embodiments, a method for sharing a user configurable graphic structure includes displaying a user configurable graphic structure or a representation of the user configurable graphic structure on an electronic device having a display, one or more processors, and a memory, the memory storing a respective set of graphic assets; receiving a first user input corresponding to a request for sharing data representing the user configurable graphic structure; and transmitting data representing the user configurable graphic structure in response to receiving the first user input, the transmitted data including a first information representing a first graphical element of the user configurable structure. The transmitted data further includes second information representing a second graphical element of the user configurable structure, the second information representing the second graphical element including i) data identifying a second graphical asset of the individual set of graphic assets and ii) data indicating an arrangement of the second graphical asset in the user configurable graphic structure.
[0010] In some embodiments, a non-transitory computer readable storage medium comprises one or more programs for execution by one or more processors of a first device having a display and a memory, where the memory stores a distinct set of graphical assets, the one or more programs, when executed by the one or more processors, cause the first device to receive data representing a user configurable graphical structure, the received data including first information representing a first graphical element of the user configurable structure, the first information representing the first graphical element including: i) data identifying a first graphical asset of the distinct set of graphical assets; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure; and the received data including second information representing a second graphical element of the user configurable structure, the second information representing the second graphical element including: i) data identifying a first graphical asset of the distinct set of graphical assets; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure. and ii) data representing the user configurable graphic structure, the data further comprising second information including ii) data identifying a second graphic asset of the distinct set of graphic assets; and ii) data indicating an arrangement of the second graphic asset in the user configurable graphic structure; after receiving the data, generating a user configurable graphic structure or a representation of the user configurable graphic structure based on the received data and at least a subset of the distinct set of graphic assets stored in the memory; after generating the user configurable graphic structure or the representation of the user configurable graphic structure, displaying the generated user configurable graphic structure or the generated representation of the user configurable graphic structure and a user interface for accepting the user configurable graphic structure; receiving user input via the user interface indicating acceptance of the user configurable graphic structure; and in response to receiving the user input, storing the received data in the first memory.
[0011] In some embodiments, a non-transitory computer readable storage medium comprises one or more programs for execution by one or more processors of a first device having a display and a memory, where the memory stores a respective set of graphical assets, the one or more programs including instructions, when executed by the one or more processors, to cause the first device to display a user configurable graphical structure or a representation of the user configurable graphical structure, receive a first user input corresponding to a request to share data representing the user configurable graphical structure, and in response to receiving the first user input, transmit data representing the user configurable graphical structure, where the transmitted data represents the user configurable graphical structure. The transmitted data further includes first information representing a first graphical element of the user configurable structure, the first information representing the first graphical element including i) data identifying a first graphical asset of the individual set of graphical assets, and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure, and the transmitted data further includes second information representing a second graphical element of the user configurable structure, the second information representing the second graphical element including i) data identifying a second graphical asset of the individual set of graphical assets, and ii) data indicating an arrangement of the second graphical asset in the user configurable graphical structure.
[0012] In some embodiments, a device includes a display, one or more processors, a memory, the memory storing a discrete set of graphic assets, and one or more programs, the one or more programs stored in the memory and executed by the one or more processors, receiving data representing a user configurable graphic structure, the received data including first information representing a first graphic element of the user configurable structure, the first information representing the first graphic element including: i) data identifying a first graphic asset of the discrete set of graphic assets; and ii) data indicating an arrangement of the first graphic asset in the user configurable graphic structure, and the received data including second information representing a second graphic element of the user configurable structure, the second information representing the second graphic element including: i) data identifying a second graphic asset of the discrete set of graphic assets; and ii) data indicating an arrangement of the first graphic asset in the user configurable graphic structure. and ii) data representing a user configurable graphic structure, the second information including ii) data identifying a graphic asset in the user configurable graphic structure; and ii) data indicating an arrangement of a second graphic asset in the user configurable graphic structure; after receiving the data, generating a user configurable graphic structure or a representation of the user configurable graphic structure based on the received data and at least a subset of the distinct set of graphic assets stored in the memory; after generating the user configurable graphic structure or the representation of the user configurable graphic structure, displaying the generated user configurable graphic structure or the generated representation of the user configurable graphic structure and a user interface for accepting the user configurable graphic structure; receiving user input via the user interface indicating acceptance of the user configurable graphic structure; and in response to receiving the user input, storing the received data in the memory of the electronic device.
[0013] In some embodiments, a device comprises a display; one or more processors; a memory, where the memory stores a respective set of graphical assets; and one or more programs, where 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 structure or a representation of the user configurable graphical structure, receiving a first user input corresponding to a request to share data representing the user configurable graphical structure, and in response to receiving the first user input, transmitting data representing the user configurable graphical structure, where the transmitted data represents a first graphical element of the user configurable structure. transmit data representing a user configurable graphic structure, the transmitted data further including second information representing a second graphic element of the user configurable structure, the second information representing the second graphic element including i) data identifying a second graphic asset of the individual set of graphic assets, and ii) data indicating an arrangement of the second graphic asset in the user configurable graphic structure.
[0014] In some embodiments, the device further comprises means for receiving data representing a user configurable graphical structure, the received data comprising first information representing a first graphical element of the user configurable structure, the first information representing the first graphical element comprising: i) data identifying a first graphical asset of a distinct set of graphical assets, the first graphical asset being part of a distinct set of graphical assets stored in a memory of the device; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure, the received data further comprising means for receiving data representing a second graphical element of the user configurable structure, the first information representing the first graphical element comprising: i) data identifying a first graphical asset of a distinct set of graphical assets, the first graphical asset being part of a distinct set of graphical assets stored in a memory of the device; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure. the second information representing the second graphic element further includes second information including: i) data identifying a second graphic asset of the distinct set of graphic assets; and ii) data indicating an arrangement of the second graphic asset in the user-configurable graphic structure; after receiving the data, generating a user-configurable graphic structure or a representation of the user-configurable graphic structure based on the received data and at least a subset of the distinct set of graphic assets stored in the memory; after generating the user-configurable graphic structure or a representation of the user-configurable graphic structure, means for displaying the generated user-configurable graphic structure or the generated representation of the user-configurable graphic structure and a user interface for accepting the user-configurable graphic structure; means for receiving user input via the user interface indicating acceptance of the user-configurable graphic structure; and means for storing the received data in a memory of the electronic device in response to receiving the user input.
[0015] In some embodiments, the device comprises means for displaying a user configurable graphical structure or a representation of the user configurable graphical structure; means for receiving a first user input corresponding to a request to share data representing the user configurable graphical structure; and means for transmitting data representing the user configurable graphical structure in response to receiving the first input, the transmitted data comprising first information representing a first graphical element of the user configurable structure, the first information representing the first graphical element comprising: i) data identifying a first graphical asset of a respective set of graphical assets, the first graphical asset being part of the respective set of graphical assets stored in a memory of the device; and ii) data indicating an arrangement of the first graphical asset in the user configurable graphical structure; and further comprising second information representing a second graphical element of the user configurable structure, the second information representing the second graphical element comprising: i) data identifying a second graphical asset of the respective set of graphical assets; and ii) data indicating an arrangement of the second graphical asset in the user configurable graphical structure.
[0016] In this manner, devices are provided with faster, more efficient methods and interfaces for sharing user-configurable graphic structures, thereby increasing the effectiveness, efficiency and user satisfaction of such devices. Such methods and interfaces may complement or replace other methods for sharing user-configurable graphic structures. [Brief description of the drawings]
[0017] For a better understanding of the various described embodiments, please refer to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout the drawings, in which:
[0018] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device with a touch-sensitive display in accordance with some embodiments.
[0019] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments.
[0020] [Diagram 2] 1 illustrates a portable multifunction device having a touch screen in accordance with some embodiments.
[0021] [Diagram 3] 1 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.
[0022] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.
[0023] [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device with a touch-sensitive surface separate from a display in accordance with some embodiments.
[0024] [Figure 5A] FIG. 1 illustrates a personal electronic device according to some embodiments.
[0025] [Figure 5B] 1 is a block diagram illustrating a personal electronic device according to some embodiments.
[0026] [Figure 5C] FIG. 2 illustrates exemplary components of a personal electronic device having a touch-sensitive display and an intensity sensor in accordance with some embodiments. [Figure 5D] FIG. 2 illustrates exemplary components of a personal electronic device having a touch-sensitive display and an intensity sensor in accordance with some embodiments.
[0027] [Figure 5E] FIG. 2 illustrates exemplary components and a user interface of a personal electronic device according to some embodiments. [Figure 5F] FIG. 2 illustrates exemplary components and a user interface of a personal electronic device according to some embodiments. [Figure 5G] FIG. 2 illustrates exemplary components and a user interface of a personal electronic device according to some embodiments. [Figure 5H] FIG. 2 illustrates exemplary components and a user interface of a personal electronic device according to some embodiments.
[0028] [Figure 6] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0029] [Figure 7] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0030] [Figure 8A] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures. [Figure 8B] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0031] [Figure 9] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0032] [Figure 10] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0033] [Figure 11] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0034] [Figure 12] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0035] [Figure 13A] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures. [Figure 13B] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0036] [Figure 13C] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0037] [Figure 14] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0038] [Figure 15] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0039] [Figure 16A] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0040] [Figure 16B]FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0041] [Figure 17] FIG. 1 illustrates an exemplary user interface for sharing user configurable graphic structures.
[0042] [Figure 18] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0043] [Figure 19] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0044] [Figure 20A] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0045] [Figure 20B] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0046] [Figure 21] 1 is a flow diagram illustrating a process for sharing user configurable graphic structures.
[0047] [Figure 22] FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments.
[0048] [Figure 23] FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments.
[0049] [Figure 24] FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments.
[0050] [Diagram 25]FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments.
[0051] [Figure 26] FIG. 1 illustrates an exemplary context-specific user interface for customization of user-configurable graphic structures.
[0052] [Figure 27A] 11A-11C illustrate example context-specific user interfaces for customizing and / or selecting user-configurable graphic structures. [Figure 27B] 11A-11C illustrate example context-specific user interfaces for customizing and / or selecting user-configurable graphic structures. [Figure 27C] 11A-11C illustrate example context-specific user interfaces for customizing and / or selecting user-configurable graphic structures. [Figure 27D] 11A-11C illustrate example context-specific user interfaces for customizing and / or selecting user-configurable graphic structures. [Figure 27E] 11A-11C illustrate example context-specific user interfaces for customizing and / or selecting user-configurable graphic structures.
[0053] [Figure 28A] 1 illustrates example context-specific user interfaces and techniques for customization of user-configurable graphic structures. [Figure 28B] 1 illustrates example context-specific user interfaces and techniques for customization of user-configurable graphic structures. [Figure 28C] 1 illustrates example context-specific user interfaces and techniques for customization of user-configurable graphic structures.
[0054] [Figure 29] 1 is a flow diagram illustrating a process for customizing a user configurable graphic structure.
[0055] [Diagram 30] 1 is a flow diagram illustrating a process for selection of a user configurable graphic structure.
[0056] [Diagram 31] 1 is a flow diagram illustrating a process for customization and / or selection of user configurable graphic structures.
[0057] [Figure 32A] FIG. 1 illustrates an exemplary user configurable graphic structure according to some embodiments. [Figure 32B] FIG. 1 illustrates an exemplary user configurable graphic structure according to some embodiments.
[0058] [Figure 33A] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments. [Figure 33B] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0059] [Figure 34A] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments. [Figure 34B] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0060] [Diagram 35] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0061] [Diagram 36] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0062] [Figure 37] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0063] [Figure 38] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0064] [Figure 39] FIG. 1 illustrates an exemplary user interface for receiving data representing a user-configurable graphic structure according to some embodiments.
[0065] [Figure 40A] FIG. 1 illustrates an exemplary user interface for submitting data representing a user-configurable graphic structure according to some embodiments. [Figure 40B] FIG. 1 illustrates an exemplary user interface for submitting data representing a user-configurable graphic structure according to some embodiments.
[0066] [Diagram 41] FIG. 1 illustrates an exemplary user interface for submitting data representing a user-configurable graphic structure according to some embodiments.
[0067] [Diagram 42] 1 is a flow diagram illustrating a process for receiving data representing a user-configurable graphic structure according to some embodiments.
[0068] [Diagram 43] 1 is a flow diagram illustrating a process for transmitting data representing a user-configurable graphic structure according to some embodiments.
[0069] [Diagram 44] FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments.
[0070] [Diagram 45] FIG. 2 is a functional block diagram of an electronic device in accordance with some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0071] In the following description, example methods, parameters, etc. are set forth, however, it is to be understood that the purpose of such description is not to limit the scope of the disclosure, but rather to provide a description of example embodiments.
[0072] As discussed above, there is a need for electronic devices that provide efficient methods and interfaces for sharing user-configurable graphic structures. Users may wish to send and receive customized user-configurable graphic structures from a variety of sources. It is desirable to accomplish these sending and receiving operations quickly, efficiently, and using minimal bandwidth. Such techniques can reduce the cognitive burden on users who wish to send or receive custom content, thereby increasing their productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0073] In the following, Figures 1A-1B, 2, 3, 4A-4B, and 5A-5B provide a description of an exemplary device for performing the technique for sharing user-configurable graphic structures. Figures 6-15, 16B, 17, and 32A-41 show exemplary user interfaces for sharing user-configurable graphic structures. Figures 16A, 18-21, 42, and 43 are flow diagrams illustrating a method for sharing user-configurable graphic structures according to some embodiments. Figures 6-15, 16B, 17, and 32A-41 are used to illustrate the processes described below, including the processes of Figures 16A, 18-21, 42, and 43. Figures 26-28C show exemplary user interfaces for customizing and / or selecting user-configurable graphic structures. Figures 29-31 are flow diagrams illustrating a method for customizing and / or selecting user-configurable graphic structures according to some embodiments. Figures 6 to 15, 16B, 17, 26 to 28C, and 32A to 41 are used to illustrate the processes described below, including the processes of Figures 16A, 18 to 21, 29 to 31, 42, and 43.
[0074] In the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first touch can be referred to as a second touch, and similarly, a second touch can be referred to as a first touch, without departing from the scope of the various embodiments described. A first touch and a second touch are both touches, but are not the same touch.
[0075] The terms used in the description of the various embodiments described herein are for the purpose of describing particular embodiments only and are not intended to be limiting. When used in the description of the various embodiments described and in the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is also to be understood that the term "and / or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes", "including", "comprises" and / or "comprising" as used herein specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0076] Optionally, the term "if" is interpreted to mean "when," "upon," "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (a stated condition or event) is detected" are optionally interpreted to mean "upon determining," or "in response to determining," or "upon detecting (the stated condition or event)," or "in response to detecting (the stated condition or event)," depending on the context.
[0077] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile telephone, that also includes other functions, such as PDA functionality and / or music playback functionality. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads), are also 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., touchscreen displays and / or touchpads).
[0078] In the following discussion, we describe an electronic device with a display and a touch-sensitive surface, however it should be understood that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0079] The device typically supports a variety of applications, such as one or more of drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music playback applications, and / or digital video playback applications.
[0080] Various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed for each application and / or within the corresponding application. In this way, the common physical architecture (such as the touch-sensitive surface) of the device optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0081] Attention is now directed to embodiments of portable devices with touch-sensitive displays. FIG. 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 may be conveniently referred to as a "touch screen" and may also be known or referred to as a touch-sensitive display system. Device 100 includes memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripherals 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 an external port 124. Device 100 optionally includes one or more light sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact 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 a tactile output on device 100 (e.g., generating a 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.
[0082] As used herein and in the 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 a surrogate (proxy) 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 distinct 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 a variety of methods and a variety of sensors, or combinations of sensors. For example, one or more force sensors disposed under or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, the force measurements of multiple force sensors are combined (e.g., a weighted average) to determine an estimate of the contact force. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in a contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact, are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact 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 measure). In some implementations, the surrogate measure of the force or pressure of the contact is converted to 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 contact as an attribute of user input allows a user access to additional device functionality that may otherwise be inaccessible by the user on devices of reduced size that have a limited area for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0083] As used herein and in the 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 the 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 is to be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of the device is in contact with a touch-sensitive surface of a user (e.g., a finger, palm, or other part of a user's hand), the tactile output generated by the physical displacement is interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical property of the device or a 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 "down-click" or "up-click" of a physical actuator button. In some cases, a user will feel a tactile sensation such as a "down-click" or "up-click" even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's action. As another example, movement of a touch-sensitive surface is optionally interpreted or sensed by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Although such user interpretation of touch will depend on the user's personal sensory perception, there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise noted, the generated tactile output corresponds to a physical displacement of the device, or a component of a device, that produces the described sensory perception of a typical (or average) user.
[0084] It should be understood that device 100 is but one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of components. The various components shown in FIG. 1A may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.
[0085] Memory 102 optionally includes one or more computer-readable storage media. The computer-readable storage media are optionally tangible and non-transitory. The computer-readable storage media are optionally transitory. Memory 102 optionally includes high-speed random access memory, and optionally also 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.
[0086] A peripherals interface 118 can be used to connect input and output peripherals of the device to the CPU 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions for the device 100 and to process data. In some embodiments, the peripherals interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip, such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0087] The RF (Radio Frequency) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The 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. The RF circuitry 108 optionally communicates by wireless communication with networks, such as the Internet (also called 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)), and other devices. The RF circuitry 108 optionally includes well-known circuitry for detecting a near field communication (NFC) field, such as by near field communication radio. The wireless communication optionally uses any of a number of communication standards, protocols, and technologies, including 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-HSPA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), and other communication standards, protocols, and technologies.IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (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 Leveraging Extensions (SIMPLE)), instant messaging and presence services (e.g., IEEE 802.11b), 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, protocols for email (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 Leveraging Extensions (SIMPLE)), instant messaging and presence services (e.g., IEEE 802.11b), instant messaging and presence services (e.g., IEEE 802.11c), instant messaging and presence services (e.g., IEEE 802.11d), instant messaging and presence services (e.g., IEEE 802.11e), instant messaging and presence services (e.g., IEEE 802.11g ... Examples of suitable communication protocols include, but are not limited to, Intermediate and Intermediate 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.
[0088] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data to an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal to human audible sound waves. The audio circuit 110 also receives an electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal to audio data and transmits the audio data to the peripherals 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 peripherals interface 118. In some embodiments, the audio circuit 110 further comprises a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset that has both an output (e.g., one- or binaural headphones) and an input (e.g., a microphone).
[0089] The I / O subsystem 106 connects input / output peripherals of the device 100, such as the touch screen 112 and other input control devices 116, to a peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, a light sensor controller 158, an intensity sensor controller 159, a haptic 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 to / from the other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller(s) 160 are optionally connected to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for adjusting the volume of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2).
[0090] A quick press of a push button optionally unlocks the touchscreen 112 or optionally initiates a process of using gestures on the touchscreen to unlock the device, as described in U.S. Patent Application Serial No. 11 / 322,549, U.S. Patent No. 7,657,849, filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," which is incorporated herein by reference in its entirety. A longer press of a push button (e.g., 206) optionally powers the device 100 on and off. The functions of one or more of the buttons are optionally user customizable. The touchscreen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0091] The touch-sensitive display 112 provides an input and output interface between the device and a 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, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, optionally, some or all of the visual output corresponds to user interface objects.
[0092] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or breaking of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0093] Touch screen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display) or LED (Light Emitting Diode) technology, although in other embodiments other display technologies are used. Touch screen 112 and display controller 156 optionally detect contact and any movement or interruption of contact using any of a number of now known or later developed touch sensing technologies, 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 touch screen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod Touch® by Apple Inc. of Cupertino, California.
[0094] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to the multi-touch-sensing touchpads 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 Application Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference in its entirety herein, except that touchscreen 112 displays visual output from device 100, whereas touch-sensitive touchpads do not provide visual output.
[0095] Touch-sensitive displays in some embodiments of touch screen 112 are described in the following applications: (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, entitled "Multipoint Touch Surface Controller"; (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, entitled "Multipoint Touchscreen"; (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, entitled "Gestures For Touch Sensitive Input Devices"; (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, entitled "Gestures For Touch Sensitive Input Devices"; (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices"; (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface" No. 11 / 228,700, filed Sep. 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (7) No. 11 / 228,700, filed Sep. 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) No. 11 / 228,737, filed Sep. 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) No. 11 / 367,749, filed Mar. 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entirety.
[0096] Touchscreen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to function primarily through finger-based contact and gestures, which may be less precise than stylus-based input due to the large contact area of a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor position or commands to perform the user's desired action.
[0097] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad (not shown) for activating or deactivating certain functions. In some embodiments, a touchpad is a touch-sensitive area of a device that, unlike a touchscreen, does not display visual output. A touchpad is optionally a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0098] Device 100 also includes a power system 162 for providing power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power within a portable device.
[0099] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor connected to light sensor controller 158 in I / O subsystem 106. Light sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light 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 imaging module 143 (also referred to as a camera module), light sensor 164 optionally captures still images or video. In some embodiments, the light sensor is located on the back of device 100, opposite touchscreen display 112 on the front of the device, to enable the touchscreen display as a viewfinder for still image and / or video capture. In some embodiments, the light sensor is optionally located on the front of the device to obtain an image of the user for videoconference at the same time the user sees other videoconference participants on the touchscreen display. In some embodiments, the position of the light sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), thereby using a single light sensor 164 in conjunction with a touch screen display for both video conferencing and still and / or video image capture.
[0100] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor connected to intensity sensor controller 159 in I / O subsystem 106. Contact intensity 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 intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is located on or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display 112 located on the front of device 100.
[0101] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 connected to peripherals interface 118. Alternatively, proximity sensor 166 is optionally connected to an input controller 160 in I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. patent application Ser. No. 11 / 241,839, "Proximity Detector In Handheld Device," Ser. No. 11 / 240,788, "Proximity Detector In Handheld Device," Ser. No. 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," Ser. No. 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and Ser. No. 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables the touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is talking on the phone).
[0102] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives haptic feedback generation instructions from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is disposed on or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or laterally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is disposed on the back of device 100, opposite touchscreen display 112, which is disposed on the front of device 100.
[0103] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 connected to peripherals interface 118. Alternatively, accelerometer 168 is optionally connected to input controller 160 in I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Application Publication Nos. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and 20060017692, “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on an analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the location and orientation (e.g., portrait or landscape) of device 100.
[0104] In some embodiments, the software components stored in memory 102 include an operating system 126, a communications module (or instruction set) 128, a touch / 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 applications (or instruction sets) 136. Additionally, in some embodiments, as shown in FIGS. 1A and 3, memory 102 (FIG. 1A) or memory 370 (FIG. 3) stores device / global internal state 157. Device / global internal state 157 includes one or more of the following: active application state, indicating which applications, if any, are currently active; display state, indicating which applications, views, or other information are occupying various regions of touchscreen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and location information regarding the device's position and / or orientation.
[0105] Operating system 126 (e.g., an embedded operating system such as Darwin®, RTXC®, LINUX®, UNIX®, OS X®, iOS®, WINDOWS®, or VxWorks®) includes various software components and / or drivers for controlling and managing common system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware and software components.
[0106] Communications module 128 facilitates communication with other devices via one or more external ports 124 and includes various software components for processing data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE®, etc.) is adapted to connect to other devices directly or indirectly through a network (e.g., Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector the same as or similar to the 30-pin connector used on iPod® (trademark of Apple Inc.) devices and / or a compatible multi-pin (e.g., 30-pin) connector.
[0107] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touch screen 112 and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, 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 is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point represented by the set of contact data optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These actions are, optionally, applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0108] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds for determining whether an action has been performed by a user (e.g., for determining whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of a particular physical actuator and may be adjusted without modifying the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display may be set to any of a wide range of predetermined thresholds without modifying the hardware of the trackpad or touchscreen display. Additionally, in some implementations, a user of the device is provided with software settings for adjusting one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “strength” parameter).
[0109] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or intensity of detected contact). Thus, a gesture is optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event (e.g., at an icon location) followed by detecting a finger lift off event at the same location (or substantially the same location) as the finger down event. As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger down event followed by detecting one or more finger drag events followed by detecting a finger lift off event.
[0110] Graphics module 132 includes various known software components for rendering and displaying graphics on touchscreen 112 or other display, including components for modifying the visual effects (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, and the like.
[0111] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including, as appropriate, coordinate data and other graphic characteristic data, from an application or the like, and then generates screen image data for output to display controller 156.
[0112] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator(s) 167 to generate tactile outputs at one or more locations on the device 100 in response to user interaction with the device 100.
[0113] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0114] The GPS module 135 determines the location of the device and provides this information for use by various applications (e.g., to the phone 138 for location-based telephony use, to the camera 143 as photo / video metadata, and to applications that provide location-based services, such as a weather widget, a local yellow pages widget, and a maps / navigation widget).
[0115] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: ● a contacts module 137 (sometimes called an address book or contact list); ● Telephone module 138, ● Videoconferencing module 139; ● an email client module 140; ● Instant messaging (IM) module 141; ● Training support module 142, A camera module 143 for still and / or video images, ● Image management module 144, ●Video playback module, ●Music playback module, ● Browser module 147, ● Calendar module 148, A widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; ● a widget creation module 150 for creating user-created widgets 149-6; ● Search module 151 ●Video and music playback module 152, which integrates a video playback module and a music playback module ● Memo module 153, Map module 154, and / or ●Online video module 155.
[0116] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA® enabled applications, encryption, digital rights management, voice recognition, and voice duplication.
[0117] The contacts module 137, along with the touch screen 112, the display controller 156, the touch module 130, the graphics module 132, and the text input module 134, is optionally used to manage an address book or contact list (e.g., stored in the memory 102 or in the application internal state 192 of the contacts module 137 in the memory 370), including adding a name(s) to the address book, deleting a name(s) from the address book, associating a phone number(s), email address(es), address(es), or other information with a name, associating a picture with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by telephone 138, videoconferencing module 139, email 140, or IM 141, and the like.
[0118] 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, telephone module 138 is optionally used to enter a series of characters corresponding to a telephone number, access one or more telephone numbers in contacts module 137, modify an entered telephone number, dial the corresponding telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As mentioned above, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0119] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contacts module 137, and telephone module 138, videoconferencing module 139 contains executable instructions for initiating, conducting, and terminating a videoconference between a user and one or more other participants in accordance with the user's instructions.
[0120] 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 contains executable instructions for composing, sending, receiving, and managing emails in response to user instructions. Email client module 140 in conjunction with image management module 144 greatly facilitates composing and sending emails with attachments of still or video images captured by camera module 143.
[0121] In cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for entering characters corresponding to an instant message, modifying characters already entered, sending the corresponding instant message (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephone-based instant messaging, or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), and receiving and displaying the received instant message. In some embodiments, the sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments, such as those supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and Internet-based messaging (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0122] In conjunction with the RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music playback module, the training support module 142 includes executable instructions for: creating workouts (e.g., having time, distance, and / or calorie burn goals), communicating with training sensors (sports devices), receiving training sensor data, calibrating sensors used to monitor the workouts, selecting and playing music for the workouts, and displaying, storing, and transmitting the workout data.
[0123] In cooperation with touch screen 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 contains executable instructions to capture still images or video (including video streams) and store them in memory 102, change characteristics of the still images or video, or delete the still images or video from memory 102.
[0124] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 contains executable instructions for arranging, modifying (e.g., editing) and otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), or storing still and / or video images.
[0125] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, browser module 147 contains executable instructions for browsing the Internet according to a user's instructions, including retrieving, linking, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0126] In cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 contains executable instructions to create, display, modify, and store calendars and data associated with calendars (e.g., calendar items, to-do lists, etc.) in accordance with a user's instructions.
[0127] In conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is a mini-application that is optionally downloaded and used by a user (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5), or created by a user (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (HyperText Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widget).
[0128] In conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget creation module 150 is optionally used by a user to create widgets (e.g., turn user-specified portions of a web page into widgets).
[0129] In cooperation with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the search module 151 contains executable instructions for searching the memory 102 for text, music, sound, images, video, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.
[0130] In conjunction with touchscreen 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 playback module 152 contains executable instructions that enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions to display, present, or otherwise play videos (on touchscreen 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 (a trademark of Apple Inc.).
[0131] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the notes module 153 contains executable instructions for creating and managing notes, to-do lists, and the like, in accordance with a user's instructions.
[0132] In conjunction with 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, map module 154 optionally uses, in accordance with a user's instructions, to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data for stores and other points of interest at or near a particular location, and other location-based data).
[0133] In conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, online video module 155 contains instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), play (e.g., on the touchscreen or on an external display connected via external port 124), and send and otherwise manage emails containing links to particular online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140. Further description of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007, the contents of which are incorporated by reference in their entireties herein.
[0134] Each of the above identified modules and applications corresponds to an executable instruction set and method described herein (e.g., computer-implemented methods and other information processing methods described herein) that performs one or more of the above functions. These modules (e.g., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus, various embodiments optionally combine or otherwise rearrange various subsets of these modules. For example, a video playback module is optionally combined with a music playback module into a single module (e.g., video and music playback module 152 of FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the above identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0135] In some embodiments, device 100 is a device in which operation of a predetermined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. By using the touchscreen and / or touchpad as the primary input control device for operation of device 100, the number of physical input control devices (push buttons, dials, etc.) on device 100 is optionally reduced.
[0136] The set of predetermined functions performed exclusively via the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.
[0137] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or memory 370 (FIG. 3) includes an event sorter 170 (e.g., in operating system 126) and a corresponding application 136-1 (e.g., any of applications 137-151, 155, 380-390 described above).
[0138] Event sorter 170 receives the event information and determines which application 136-1 and application view 191 of application 136-1 to deliver the event information to. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) are currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 to deliver the event information to.
[0139] In some embodiments, application internal state 192 includes additional information such as one or more of resume information used when application 136-1 resumes execution, user interface state information indicating information is being displayed or ready to be displayed by application 136-1, a state queue to allow the user to return to a previous state or view of application 136-1, and a redo / undo queue of actions previously performed by the user.
[0140] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user's 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, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0141] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only if there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or for a predetermined duration).
[0142] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .
[0143] Hit view determination module 172 provides software procedures for determining where in one or more views a sub-event occurred when touch-sensitive display 112 displays more than one view. A view consists of controls and other elements that a user can see on the display.
[0144] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and in which touch-based gestures occur. The application view (of the respective application) in which the touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest-level view in which the touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based, at least in part, on the hit view of the initial touch that initiates the touch-based gesture.
[0145] Hit view determination module 172 receives information associated with sub-events of a touch-based gesture. If an application has multiple views organized as a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-event. In most situations, the hit view is the lowest level view in which the first sub-event occurs (e.g., the first sub-event in a sequence of sub-events that form an event or potential event). 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.
[0146] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a particular view, views higher in the hierarchy remain actively participating views.
[0147] Event dispatcher module 174 sends the event information to an event recognizer (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 recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by a corresponding event receiver 182 in an event queue.
[0148] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or part of another module stored in memory 102, such as contact / motion module 130.
[0149] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events occurring within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes multiple event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit (not shown) or a higher level object from which application 136-1 inherits methods and other properties. In some embodiments, each event handler 190 includes one or more of a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. In some embodiments, one or more of a data updater 176, an object updater 177, and a GUI updater 178 are also included in the corresponding application view 191.
[0150] Each event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 further includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).
[0151] The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event, e.g., information about a touch or a movement of a touch. 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 a movement of a touch, the event information optionally further includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also called the device's attitude).
[0152] The event comparator 184 compares the event information to a predefined event or sub-event definition and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes a definition of an event (e.g., a predefined sequence of sub-events), such as, for example, event 1 (187-1), event 2 (187-2), etc. In some embodiments, the sub-events in an event (187) include, for example, touch start, touch end, touch movement, touch stop, and multiple touches. In one example, the definition of event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object for a predefined stage (touch start), a first lift off (touch end) for the predefined stage, a second touch on a displayed object for a predefined stage (touch start), and a second lift off (touch end) for the predefined stage. In another example, a definition of event 2 (187-2) is a drag operation on a displayed object, including, for example, a touch (or contact) on the displayed object for a given step, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information about one or more associated event handlers 190.
[0153] In some embodiments, event definition 187 includes a definition of the event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view in which three user interface objects are displayed on touch-sensitive 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, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and the object that triggers the hit test.
[0154] In some embodiments, each event 187 definition also includes a delay action that delays delivery of the event information until it is determined that the sequence of sub-events corresponds or does not correspond to the event type of the event recognizer.
[0155] If the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0156] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system performs sub-event delivery to actively engaged event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers may or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to various levels in a view or programmatic hierarchy.
[0157] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is distinct from sending (and postponing sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predetermined process.
[0158] In some embodiments, the 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 send the event information to an event handler associated with a set of sub-events or an actively participating view. The event handler associated with the set of sub-events or an actively participating view receives the event information and performs a predetermined process.
[0159] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by video playback module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends display information to graphics module 132 for display on the touch-sensitive display.
[0160] In some embodiments, event handler(s) 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 a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0161] It will be understood that the foregoing discussion regarding event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holds, touch movements such as tapping, dragging, scrolling on a touchpad, pen stylus input, device movements, verbal cues, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0162] FIG. 2 illustrates portable multifunction device 100 having touch screen 112, according to some embodiments. The touch screen optionally displays one or more graphics in user interface (UI) 200. In this embodiment, as well as embodiments described below, a user can select one or more of the graphics by making a gesture on the graphics, for example, with one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics occurs when the user loses contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upward and / or downward), and / or rolling of a finger in contact with device 100 (right to left, left to right, upward and / or downward). In some implementations or situations, accidental contact with a graphic does not select the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon optionally does not select the corresponding application.
[0163] Device 100 also optionally includes one or more physical buttons, such as a “home” or menu button 204. As mentioned above, menu button 204 is optionally used for navigation to any application 136 in a set of applications optionally executing on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touch screen 112.
[0164] In some embodiments, device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning power to the device on / off and locking the device, a volume control button(s) 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and an external port 124 for docking / charging. Push button 206 turns power on / off on the device by pressing and holding the button down for a predefined period of time, locks the device by pressing and releasing the button before the predefined period of time has elapsed, and / or unlocks the device or initiates an unlocking process. In another embodiment, device 100 also receives verbal input through microphone 113 for activating or deactivating some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more tactile output generators 167 for generating a tactile output to a user of device 100.
[0165] FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia playback device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes called a chipset) that interconnects and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350, as well as a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator(s) 167 described above with reference to FIG. 1A) for generating tactile output on device 300, and sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors similar to contact intensity sensor(s) 165 described above with reference to FIG. 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 semiconductor storage devices. Memory 370 optionally includes one or more storage devices that are remote from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, 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 drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, while memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0166] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or programs (e.g., instruction sets) are optionally not implemented as separate software programs, procedures, or modules, and thus various embodiments combine or otherwise rearrange various subsets of these modules. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0167] Attention is now directed to embodiments of user interfaces, for example and optionally implemented on portable multifunction device 100.
[0168] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, 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: ● signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth indicator 405, ● Battery status indicator 406, A tray 408 containing icons for frequently used applications, such as: ○ An icon 416 for the phone module 138, labeled "Phone", optionally including an indicator 414 of the number of missed calls or voicemail messages; ○ An icon 418 for the email client module 140, labeled "Mail", optionally including an indicator 410 of the number of unread emails; ○ An icon 420 for the browser module 147, labeled "Browser"; and ○ An icon 422 for the video and music playback module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod®"; and ●Icons for other applications, such as: ○ Icon 424 for IM module 141, labeled "Messages"; ○ Icon 426 for the Calendar module 148, labeled "Calendar" ○ Icon 428 for the image management module 144, labeled "Photos"; ○ An icon 430 for the camera module 143, labeled “camera”; ○ Icon 432 for the online video module 155, labeled "Online Video"; ○ Icon 434 for stock price widget 149-2, labeled "Stock Price" ○ Icon 436 for map module 154, labeled "Map"; ○ Icon 438 for weather widget 149-1, labeled "Weather"; ○ Icon 440 for alarm clock widget 149-4, labeled "Clock" ○ Icon 442 for Training Support Module 142, labeled "Training Support"; ○ An icon 444 for the notes module 153, labeled "Notes"; and ○ An icon 446 for a settings application or module, labeled “Settings,” that provides access to settings related to the device 100 and its various applications 136.
[0169] 4A are merely exemplary. For example, icon 422 for video and music playback module 152 is labeled "Music" or "Music Player." Other labels are optionally used for the various application icons. In some embodiments, the label for each application icon includes the name of the application that corresponds to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application that corresponds to the particular application icon.
[0170] 4B shows an exemplary user interface on a device (e.g., device 300 of FIG. 3) that includes a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting the intensity of a contact on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating a tactile output to a user of device 300.
[0171] Although some of the following examples are described with reference to input on 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, as shown in FIG. 4B. In some embodiments, this touch-sensitive surface (e.g., 451 in FIG. 4B) has a major axis (e.g., 452 in FIG. 4B) that corresponds to a major axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B) at locations that correspond to their respective locations on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this manner, when the touch-sensitive surface is separate from the display, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B ) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B ) of the multifunction device. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0172] Additionally, while the following description is primarily described with reference to finger inputs (e.g., finger contacts, finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of the finger inputs are replaced with inputs from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced with a mouse click (e.g., instead of a contact) followed by cursor movement along the path of the swipe (e.g., instead of a contact movement). As another example, a tap gesture is optionally replaced with a mouse click while the cursor is positioned over the tap gesture location (e.g., instead of stopping contact detection following contact detection). Similarly, when multiple user inputs are detected simultaneously, it will be understood that multiple computer mice are optionally being used simultaneously, or that a mouse and finger contacts are being used simultaneously.
[0173] FIG. 5A illustrates an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., FIGS. 1A-4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touchscreen 504. Instead of, or in addition to, touchscreen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of a contact (e.g., a touch) being applied. The one or more intensity sensors of touchscreen 504 (or touch-sensitive surface) may provide output data representative of the intensity of the touch. A user interface of device 500 may respond to a touch based on the intensity of the touch, meaning that touches of different intensities may invoke different user interface actions on device 500.
[0174] Exemplary techniques for detecting and processing touch intensity can be found, for example, in related 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 May 8, 2013 (published as WO 2013 / 169849), and PCT / US2013 / 069483, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," filed November 11, 2013 (published as WO 2014 / 105276), each of which is incorporated by reference in its entirety.
[0175] In some embodiments, 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, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, can allow device 500 to be attached to, for example, hats, eyewear, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms can allow device 500 to be worn by a user.
[0176] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 may include some or all of the components described with respect to FIGS. 1A, 1B, and 3. The device 500 has a bus 512 operably connecting an I / O unit 514 to one or more computer processors 516 and a memory 518. The I / O unit 514 may be connected to a display 504, which may have a touch-sensing component 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, the I / O unit 514 may connect 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. The device 500 may include an input mechanism 506 and / or an input mechanism 508. The input mechanism 506 is optionally, for example, a rotatable input device, or a depressible and rotatable input device. Input mechanism 508 is optionally a button in some embodiments.
[0177] The input mechanism 508 is optionally a microphone in some embodiments. The 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 may be operatively connected to the I / O section 514.
[0178] 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 techniques described below, including processes 1600, 1800-2100, 2900-3100, 4000, and 4100 (FIGS. 16A, 18-21, 29-31, 40, and 41). The computer-executable instructions may also be stored and / or carried in any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, a system including a processor, or other system that may fetch instructions from and execute the instructions from the instruction execution system, apparatus, or device. The personal electronic device 500 is not limited to the components and configuration of FIG. 5B, and may include other or additional components in multiple configurations.
[0179] As used herein, the term "affordance" refers to a user-interactive graphical user interface object that is, optionally, displayed on a display screen of device 100, 300 and / or 500 (FIGS. 1, 3 and 5). For example, images (e.g., icons), buttons and text (e.g., hyperlinks) each, optionally, constitute an affordance.
[0180] As used herein, the term "focus selector" refers to an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations involving a cursor or other position marker, when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B), the cursor acts as a "focus selector" when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), and the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 in FIG. 1A or touchscreen 112 in FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, contact detected on the touchscreen acts as a "focus selector" such that when an input (e.g., a press input by 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 touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface (e.g., by using the tab or arrow keys to move focus from one button to another) without a corresponding cursor movement or contact movement on the touch-screen display. In these implementations, the focus selector moves to follow the movement of focus between different regions of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is generally a user interface element (or a contact on a touch-screen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with).For example, location of a focus selector (e.g., a cursor, touch, or selection box) over a corresponding button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that corresponding button (and not other user interface elements shown on the device's display).
[0181] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predetermined number of intensity samples or a set of intensity samples collected within a predetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) for a predetermined event (e.g., after detecting a contact, before detecting lift-off of the contact, before or after detecting the start of movement of the contact, before detecting the end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of a contact is optionally based on one or more of: a maximum intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, the top 10% of the intensity of the contact, half the maximum intensity of the contact, 90% of the maximum intensity of the contact, etc. In some embodiments, the duration of the contact is used to determine the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity that does not exceed the first threshold results in a first action being performed, a contact having a characteristic intensity that exceeds the first intensity threshold but does not exceed the second intensity threshold results in a second action being performed, and a contact having a characteristic intensity that exceeds the second threshold results in a third action being performed. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is used to determine whether to perform one or more actions (e.g., to perform each action or to forgo performing each action), rather than to determine whether to perform the first action or the second action.
[0182] FIG. 5C illustrates the detection of multiple contacts 552A-552E on the touch-sensitive display screen 504 by multiple intensity sensors 524A-524D. FIG. 5C additionally includes an intensity diagram illustrating the current intensity measurements of the intensity sensors 524A-524D in terms of intensity units. In this example, the intensity measurements of the intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of the intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the total intensity is the sum of the intensity measurements of the multiple intensity sensors 524A-524D, which in this example is 32 intensity units. In some embodiments, each contact is assigned a respective intensity that is a portion of the total intensity. FIG. 5D illustrates the assignment of the total intensity to the contacts 552A-552E based on the distance of the contacts 552A-552E from the center of force 554. In this example, each of contacts 552A, 552B, and 552E is assigned a contact intensity of 8 intensity units of the total intensity, and each of contacts 552C and 552D is assigned a contact intensity of 4 intensity units of the total intensity. More generally, in some implementations, each contact j is assigned a respective intensity Ij that is a portion of the total intensity A according to a predetermined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance from the center of force to the respective contact j, and ΣDi is the sum of the distances from the center of force to all respective contacts (e.g., from i=1 to the end). The operations described with reference to Figures 5C-5D can be performed using electronic devices similar or identical to device 100, 300, or 500. In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). Note that the intensity plots are not part of the displayed user interface, but are included in FIGS. 5C-5D for the reader's convenience.
[0183] In some embodiments, a portion of the gesture is identified for purposes of determining the characteristic intensity. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a start position to 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 on only a portion of the swipe contact (e.g., only the portion of the swipe contact at the end position) rather than the entire continuous swipe contact. 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 an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some circumstances, these smoothing algorithms filter out small increases or decreases in the intensity of the swipe contact for purposes of determining the characteristic intensity.
[0184] The intensity of the contact on the touch-sensitive surface is optionally characterized against one or more intensity thresholds, such as a contact-detection intensity threshold, a light pressure intensity threshold, a deep pressure intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light pressure intensity threshold corresponds to an intensity that will cause the device to perform an action typically associated with a physical mouse button or a click of a trackpad. In some embodiments, the deep pressure intensity threshold corresponds to an intensity that will cause the device to perform an action different from the action typically associated with a physical mouse button or a click of a trackpad. In some embodiments, if the contact is detected with a characteristic intensity below the light pressure intensity threshold (e.g., and above a slight contact-detection intensity threshold below which the contact is no longer detected), the device moves a focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the light pressure intensity threshold or the deep pressure intensity threshold. Generally, unless otherwise specified, these intensity thresholds are consistent across different sets of user interface diagrams.
[0185] An increase in the characteristic intensity of the contact from an intensity below the light pressure intensity threshold to an intensity between the light pressure intensity threshold and the deep pressure intensity threshold may be referred to as a "light press" input. An increase in the characteristic intensity of the contact from an intensity below the deep pressure intensity threshold to an intensity above the deep pressure intensity threshold may be referred to as a "deep press" input. An increase in the characteristic intensity of the contact from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light pressure intensity threshold may be referred to as detecting a contact on the touch surface. A decrease in the characteristic intensity of the contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold may be referred to as detecting a lift-off of the contact 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.
[0186] In some embodiments described herein, one or more actions are performed in response to detection of a gesture including a respective pressure input or in response to detection of a respective pressure input performed on a respective contact (or multiple contacts), where the respective pressure input is detected based at least in part on detection of an increase in intensity of the contact (or multiple contacts) above a pressure input intensity threshold. In some embodiments, the respective actions are performed in response to detection of an increase in intensity of the corresponding contact (e.g., a "downstroke" of the corresponding pressure input) above a pressure input intensity threshold. In some embodiments, the pressure input includes an increase in intensity of the corresponding contact above a pressure input intensity threshold and a subsequent decrease in intensity of the contact below the pressure input intensity threshold, where the corresponding action is performed in response to detection of a subsequent decrease in intensity of the corresponding contact below the pressure input intensity threshold (e.g., an "upstroke" of the corresponding pressure input).
[0187] 5E to 5H show the results of the light pressure intensity threshold (e.g., “IT L " ) to the deep press intensity threshold in Figure 5H (e.g., "IT D5 illustrates detection of a gesture including a press input corresponding to an increase in the intensity of contact 562 to an intensity above a deep pressure intensity threshold (e.g., "IT 1"). The gesture made by contact 562 is detected on touch-sensitive surface 560. In doing so, cursor 576 is displayed over application icon 572B corresponding to app2 on displayed user interface 570, which includes application icons 572A-572D displayed in predetermined area 574. In some embodiments, the gesture is detected on touch-sensitive display 504. An intensity sensor detects the intensity of the contact on touch-sensitive surface 560. The device detects whether the intensity of contact 562 exceeds a deep pressure intensity threshold (e.g., "IT D Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture and during the gesture, a deep pressure intensity threshold (e.g., “IT D In response to contact 562 having an intensity greater than "," displaying reduced representations 578A-578C (e.g., thumbnails) of recently opened documents for app2, as shown in Figures 5F-5H. In some embodiments, the intensity is a characteristic intensity of the contact that is compared to one or more intensity thresholds. Note that the intensity diagram of contact 562 is not part of the displayed user interface, but is included in Figures 5E-5H for the reader.
[0188] In some embodiments, the display of representations 578A-578C includes an animation. For example, representation 578A is initially displayed near application icon 572B, as shown in FIG. 5F. As the animation progresses, representation 578A moves up and representation 578B is displayed near application icon 572B, as shown in FIG. 5G. Then, representation 578A moves up and representation 578B moves up toward representation 578A and representation 578C is displayed near application icon 572B, as shown in FIG. 5H. Representations 578A-578C form an array above icon 572B. In some embodiments, the animation progresses as a function of the intensity of contact 562, as shown in FIGS. 5F-5G, where the intensity of contact 562 exceeds a deep pressure intensity threshold (e.g., "IT D Representations 578A-578C appear and move upward as the intensity increases toward "intensity." In some embodiments, the intensity on which the animation progression is based is a characteristic intensity of the contact. The operations described with reference to FIGS. 5E-5H may be performed using an electronic device similar or identical to device 100, 300 or 500.
[0189] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as "jitter," and the device defines or selects a hysteresis intensity threshold having a predetermined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the pressure input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the pressure input intensity threshold). Thus, in some embodiments, the pressure input includes a corresponding increase in intensity of the contact above the pressure input intensity threshold and a subsequent decrease in intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold, and a corresponding action is performed in response to detecting a subsequent corresponding decrease in intensity of the contact below that hysteresis intensity threshold (e.g., an "upstroke" of the corresponding pressure input). Similarly, in some embodiments, a pressure input is detected only when the device detects an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the pressure input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a corresponding action is performed in response to detection of that pressure input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, as the case may be).
[0190] For ease of explanation, descriptions of actions performed in response to a pressure input associated with a pressure input intensity threshold or in response to a gesture including the pressure input are optionally triggered in response to detection of any of an increase in the intensity of the contact above the pressure input intensity threshold, an increase in the intensity of the contact from an intensity below a hysteresis intensity threshold to an intensity above the pressure input intensity threshold, a decrease in the intensity of the contact below the pressure input intensity threshold, and / or a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold. Additionally, in embodiments described as an action being performed in response to detection of a decrease in the intensity of the contact below a pressure input intensity threshold, the action is optionally performed in response to detection of a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to and lower than the pressure input intensity threshold.
[0191] Attention is now directed to embodiments of user interfaces (“UI”) and associated processes optionally implemented on an electronic device such as portable multifunction device 100, device 300 or device 500.
[0192] As mentioned above, it is desirable to provide users with the ability to customize various features of user interfaces or other graphical structures on electronic devices such as portable multifunction device 100, device 300, or device 500. Exemplary classes of graphical structures for which customization may be desirable include, but are not limited to, context-specific user interfaces (e.g., watch faces, time management interfaces, etc.) and emoji graphical objects.
[0193] Starting with the specific example of a watch face, a user may wish to customize the watch face with the features of a particular watch face. Exemplary watch faces and interfaces for selecting, editing and otherwise configuring watch faces and / or features or elements of watch faces are described in International Application No. PCT / US2015 / 034604, entitled "Context-Specific User Interfaces," filed on June 7, 2015 (published as WO 2016 / 022203), International Application No. PCT / US2015 / 034606, entitled "Context-Specific User Interfaces," filed on June 7, 2015 (published as WO 2016 / 022204), and International Application No. PCT / US2015 / 034607, entitled "Context-Specific User Interfaces," filed on June 7, 2015 (published as WO 2016 / 022205), each of which is incorporated by reference herein in its entirety. Each "base" watch face (e.g., a watch face that has not yet been customized by a user, such as a watch face loaded into the memory of the portable multifunction device prior to customization by the user) 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, FIGS. 7A and 7B) optionally includes watch face features such as a stopwatch second hand, a stopwatch time scale indicator, and a start / stop affordance, while a watch face with a watch complication (see, e.g., WO 2016 / 022203, WO 2016 / 022204, and WO 2016 / 022205, FIGS. 28A-C) 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 time indications), a digital time indicator (e.g., a representation of a digital clock with an hour and minute indication), and / or one or more complications (e.g., a complication that displays information from an application, a custom combination character, or another watch complication). Those skilled in the art will readily recognize that many other types of watch faces may be used.
[0194] A user may begin with a base watch face having characteristics of a particular watch face and then seek to customize the watch face by configuring various aspects of the watch face. For example, the user may seek to configure the color (e.g., background color, second hand color, hour or minute indicator color, digital clock representation color, etc.), display density (e.g., number of display divisions of the time or hour / minute indicator, which may be numeric and / or symbolic, number of watch hands, etc.), and / or complications (e.g., type or amount of information pulled from an application and displayed as a complication, application from which the complication information is obtained, etc.). Those skilled in the art will readily recognize that many other customizable aspects of a watch face may be used. Exemplary techniques for customizing and selecting a watch face are described below (e.g., as described with reference to FIGS. 26-28C).
[0195] 6 illustrates an exemplary user interface for sharing user-configurable graphic structures, according to some embodiments, optionally operated on device 600. Optionally, in some embodiments, device 600 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate processes described below, including the process of FIG.
[0196] As shown in FIG. 6, device 600 displays screen 602 including a graphical representation 604 corresponding to a user-configurable graphical structure. In some embodiments, the user-configurable graphical structure optionally includes a watch face. In FIG. 6, the user-configurable graphical structure of which screen 602 is showing a representation is a watch face including 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 represents independently configurable graphical elements of a watch face, such as a representation of an analog clock 606 and complications 608 and 610. Complication 608 is a weather complication that displays information from a weather application. For example, complication 608 may optionally indicate current weather conditions (e.g., at the current location of device 600, obtainable by GPS module 135), in this case showing a sun representing clear skies. Complication 610 is a calendar complication that displays the current date (e.g., information from a calendar application). Clock 606 has a relatively sparse display density, showing only hour and minute hands, and no indication of hours or minutes (numeric 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, the watch face may include configurable aspects of the watch face that may be selected independently of other aspects including, for example, watch complications, colors, display density, and watch face features.
[0197] The specific graphic elements of the graphic structure that the graphic representation 604 represents are, optionally, independently configured by the user to generate this specific customization. Although the graphic representation 604 optionally includes many graphic elements, each individual graphic element is a specific configuration of one or more variables, each variable corresponding to a specific graphic asset stored in the memory of the device 600 (e.g., memory 518). Each configuration of graphic elements may, optionally, be selected from a separate set of graphic assets stored in the memory of the device 600. For example, the user may select a red hour hand as a graphic element on the face of a watch. The red hour hand corresponds to a graphic asset representing a red hour hand and is selected from a separate set of hour hand options and other graphic assets. The user may select a low display density, thereby forgoing the display of hour and / or minute indications, or the user may select a high display density, thereby displaying some hour and / or minute indications corresponding to the individual graphic assets.
[0198] Device 600, as shown in FIG. 6, optionally has several user-configurable graphic structures stored in memory (e.g., a library of stored user-configurable graphic structures). Screen 602 shows a partial view of a second user-configurable graphic structure 614, indicating to the user that other graphic structures are available. Also shown on screen 602 is a paging affordance 612. The paging affordance optionally indicates which of a sequence of options the user is viewing, as well as the number of options available in the sequence. Paging affordance 612 on screen 602 indicates that the user is viewing the first of three selectable graphic structures. In some embodiments, more than one graphic representation from the multiple graphic representations may be displayed. In other embodiments, a single graphic representation from the multiple graphic representations is displayed. In some embodiments, a name associated with the graphic representation is displayed.
[0199] In some embodiments, the user swipes the display (e.g., swipe 616), and in response to detecting the swipe, the device 600 displays a screen 620. The screen 620 shows a second graphical representation 614 corresponding to a second user-configurable graphical structure. The graphical structure represented by 614 includes a clock face 622. Compared to the clock face 606, the clock face 622 includes different graphical elements, such as different hour and minute hands and four numeric time display (e.g., higher display density). Unlike the clock face 606, the clock face 622 does not include a complication. The paging affordance 612 is updated on the screen 620 to indicate that the user is viewing the second of the three graphical structures. The screen 620 also shows a partial view of a third graphical representation 624.
[0200] 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 structure. The graphical structure 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. Similar to clock face 608, complication 636 displays information obtained from a weather application. However, the displayed information is different. 608 displays weather conditions, whereas 636 displays a temperature (e.g., current temperature). Similar to 610, complication 626 displays information from a calendar application, but unlike 610, 626 displays different information (month and date) and is a different size and shape. The paging affordance 612 is updated on the screen 630 to indicate that the user is looking at the third of the three graphic structures.
[0201] In some embodiments, a device (e.g., device 600) displays a graphical representation (e.g., 604, 614, or 624 as shown in FIG. 6) from a plurality of graphical representations, each of which independently corresponds to a user-configurable graphical structure (e.g., a context-specific user interface such as a watch face or an emoji graphical object) that includes a plurality of independently configurable graphical elements (e.g., a watch face or an emoji mechanism), each of the plurality of graphical elements being selected from a distinct set of graphical assets stored in a memory of the electronic device. FIG. 6 illustrates several representations of example graphical structures. It should be understood that many other potential watch faces and configurations of watch face graphical elements are contemplated.
[0202] 7 illustrates an exemplary user interface for sharing user-configurable graphic structures, optionally operated on a device 700, according to some embodiments. In some embodiments, the device 700 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate processes described below, including the process of FIG.
[0203] FIG. 7 illustrates another exemplary embodiment of a user-configurable graphic structure, namely an emoji graphic object. In some embodiments, the user-configurable graphic structure optionally includes an emoji graphic object, which may be a user-configurable graphic structure including a plurality of independently configurable graphic elements, optionally selected from a separate set of graphic assets stored in a memory (e.g., memory 518) of device 700, as shown in FIG. 7. In some embodiments, the independently configurable graphic elements of the emoji graphic object optionally include configurable facial features, such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc. In some embodiments, the emoji graphic object displays a representation of a head or face. In some embodiments, the emoji graphic object displays a representation of part or all of a body (e.g., an avatar, such as a hand, a full body avatar, etc.). In some embodiments, the emoji graphic object optionally includes animation. In some embodiments, the emoji graphic object may optionally be configured to represent a two-dimensional object. In other embodiments, the emoji graphic object may optionally be configured to represent a three-dimensional object.
[0204] For example, device 700 displays screen 702 including emoji graphic object 704. Emoji graphic structure 704 is customized by configuring specific graphic elements, such as two eyes, two eyebrows, and a mouth, each of which is selected from a distinct set of available choices (each choice corresponding to a stored graphic asset). Screen 702 also displays paging affordance 706 to indicate the position of the displayed emoji graphic object in a sequence of stored emoji graphic objects and the number of stored emoji graphic objects. As shown in FIG. 7, a user can view different emoji graphic objects 712 and 722 (e.g., from a library of stored user-configurable graphic structures). In some embodiments, 712 and 722 can be optionally viewed by swiping the display (e.g., swipes 708 and 714). In response to detecting a swipe, device 700 displays screen 710 or 720. 712 and 722 show different potential user configurable emoji graphic objects, each having a unique collection of graphic elements, e.g., specific eyes, eyebrows, nose, mouth (optionally including teeth and / or tongue), skin color, face shape, hair, etc., each selected from a separate set of graphic assets.
[0205] Once a user has customized a particular graphical structure (e.g., a watch face configuration or an emoji graphical object), the user may wish to share the customization. For example, once a user has customized various aspects of a watch face (or otherwise obtained a customized watch face), the user may wish to share the customized watch face with a friend or may wish to send a customized watch face received from another device. A company or celebrity may wish to distribute a customized watch face and / or emoji that they have advertised in magazines, movies, the Internet, and other media. With the vast number of possible combinations available, recreating a particular configuration may be too tedious for a user, as this may require navigating a vast number of configurable aspects and their possible options. Thus, it is desirable to provide methods and interfaces for sharing (e.g., sending and / or receiving) user-configurable graphical structures, such as the watch faces and emojis described above.
[0206] 8A and 8B show exemplary user interfaces for sharing user-configurable graphic structures, optionally operated on devices 800, 820, 830 and / or 850, according to some embodiments. Devices 800, 820, 830 and / or 850 are, in some embodiments, devices 100, 300 or 500. The electronic devices have a display (e.g., 504). The user interfaces in this figure are used to illustrate the processes described below, including the process of FIG. 18.
[0207] 8A and 8B illustrate an example method for sharing user-configurable graphic structures, including context-specific user interfaces (e.g., watch faces) and emoji graphic objects, according to some embodiments. As described above, each user-configurable graphic structure includes independently configurable graphic elements selected from a separate set of stored graphic assets. For example, device 800 displays screen 802, including clock face 804 and complications 806 (displaying weather conditions) and 808 (displaying the date). The graphic elements that make up 804, 806, and 808 constitute a user-configurable graphic structure (e.g., watch face). Each of the graphic elements that make up 804, 806, and 808 may, optionally, be independently configurable, and may, optionally, be selected from a separate set of graphic assets stored in the memory of device 800 (e.g., memory 518).
[0208] In the exemplary embodiment of FIG. 8A, to share the user-configurable graphic structure shown on screen 802 with another device (e.g., a device configured similarly to device 800, such as device 820 of FIG. 8A), device 800 may optionally transmit data 810 identifying particular graphic elements selected from a separate set of graphic assets stored in memory that make up the graphic structure. In some embodiments, the device does not transmit data encoding the assets itself, since device 820 already stores the assets in its memory. For example, exemplary data 810 identifies multiple independently configurable graphic elements that make up the user-configurable graphic structure shown on screen 802. Data 810 represents each of the independently configurable graphic elements as number data (e.g., 2 for dial, 4 for color, 1 for display density, and 5 and 6 for complications). In some embodiments, data representing a name associated with the user-configurable graphic structure is optionally transmitted.
[0209] Once device 820 receives data identifying a configuration (e.g., data 810 identifying the independently configurable graphical elements that make up the graphical structure), device 820 can recreate the graphical structure using graphical assets stored in its own memory (as opposed to using assets transmitted by device 800). As shown in FIG. 8A, upon receiving data 810, device 820 recreates the graphical structure of screen 802 and, optionally, displays the graphical structure on screen 822 and / or stores the graphical structure in its memory. As shown in FIG. 8A, screen 822 includes a clock face 824 and complications 826 and 828, which have a similar configuration as 804, 806, and 808, respectively.
[0210] 8B illustrates an exemplary method for sharing an emoji graphical object. Device 830 displays screen 832, including emoji graphical object 834. To share 834 with device 850, device 830 transmits data identifying the particular graphical elements (selected from a discrete set of graphical assets stored in memory) that make up 834. For example, data 840 includes number data identifying the graphical elements of 834 (e.g., 3 for left eye, 1 for left eyebrow, 5 for right eye, 1 for right eyebrow, 9 for mouth, 0 for nose, 8 for skin, and 4 for face shape). Upon receiving data 840, device 850 (which has a discrete set of graphical assets stored in memory and is configured similarly to device 830) recreates 834 and, optionally, displays emoji graphical object 854 (in a similar configuration to 834) on screen 852 and / or stores the graphical structure in its memory.
[0211] Turning now to Fig. 9, Fig. 9 illustrates an exemplary user interface for sharing of user-configurable graphic structures, optionally operated on device 900, according to some embodiments. In some embodiments, device 900 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the process of Fig. 18.
[0212] 9, device 900 can optionally display screen 902 including graphical representation 904 from a plurality of graphical representations, where each graphical representation (e.g., 904) independently corresponds to a user-configurable graphical structure made up of a plurality of independently configurable graphical elements. For example, graphical representation 904 represents a user-configurable graphical structure including 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 paging affordance 912 and a partial view of representation 914 to indicate to the user that additional graphical representations from the plurality can optionally be viewed (e.g., in response to a swipe on the display).
[0213] While displaying a graphical representation from the plurality of graphical representations, device 900 receives a user input corresponding to a selection of a graphical representation from the plurality of graphical representations. In some embodiments, the display of device 900 is, optionally, a touch-sensitive display (e.g., 112 or 504), and the user input comprises a touch gesture on the display. For example, FIG. 9 shows an upward flick 916 on the display. In some embodiments, the touch-sensitive surface of device 900 may, optionally, be used to receive a touch gesture. In some embodiments, device 900 detects a contact (e.g., a touch gesture) on the displayed graphical representation 904, and detects a movement of the user's contact (e.g., by contact / motion module 130) while receiving the user's contact, without interrupting the contact of the user's contact (e.g., flick 916) on the touch-sensitive display. Optionally, other user inputs, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input, may also be used.
[0214] The device 900 can optionally display a user interface for selecting a receiving device. In some embodiments, the user interface for selecting a receiving device includes an affordance for sharing the selected graphical representation. For example, as shown in FIG. 9, the device 900 displays a screen 920, optionally including an affordance 922 for sharing the selected graphical representation (e.g., 904). In some embodiments, the screen 920 optionally includes an affordance showing other options for 904, including an option such as delete. In some embodiments, the user interface for selecting a receiving device may optionally include one or more user contacts from a plurality of user contacts (e.g., a stored friends list). As shown in FIG. 9, the user optionally touches an affordance 922 (e.g., touch 924) for sharing the graphical representation, and in response to detecting the touch 924 on the displayed affordance 922, the device 900 displays a plurality of user contacts, as shown in screen 930.
[0215] Screen 930 includes several contacts from the user's contact list (e.g., as indicated by heading 934 "My People," with an optional indication of the time). Each can optionally be associated with a receiving device for receiving the shared graphic structure. Device 900 optionally displays a list of user contacts stored on device 900 or an external device connected to device 900 via wireless communication, or device 900 optionally displays a list of nearby electronic devices configured to receive the shared graphic structure. While displaying a user interface for selecting a receiving device, device 900 optionally receives a user input corresponding to the selection of a receiving device. In some embodiments, the user input corresponding to the selection of a receiving device can optionally be a touch (e.g., touch 936) on a displayed user contact (e.g., affordance 932 corresponding to "Katie"). Other user inputs, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input, can also be optionally used.
[0216] After receiving user input corresponding to a selection of a graphical representation and a user input corresponding to a selection of a receiving device, device 900 may optionally transmit data to the receiving device identifying a plurality of independently configurable graphical elements that make up a user-configurable graphical structure corresponding to the selected graphical representation (e.g., as described above with reference to FIG. 8A). As shown in FIG. 9, device 900 optionally shares the graphical structure represented by 904 with receiving device 940.
[0217] In some embodiments, prior to transmitting data identifying the plurality of independently configurable graphic elements to the receiving device, device 900 may optionally identify the receiving device (e.g., device 940) as a device comprising a memory including a separate set of graphic assets associated with the plurality of independently configurable graphic elements that make up the user-configurable graphic structure corresponding to the selected graphical representation. In some embodiments, transmitting data identifying the plurality of independently configurable graphic elements does not include transmitting assets encoding the graphic elements of the plurality of independently configurable graphic elements, as described above with reference to FIG.
[0218] In some embodiments, before transmitting data identifying the multiple independently configurable graphical elements to the receiving device, device 900 may optionally determine whether the receiving device (e.g., device 940) has a memory including a separate set of graphical assets associated with the multiple independently configurable graphical elements that make up the user-configurable graphical structure corresponding to the selected graphical representation.
[0219] Pursuant to a determination that the receiving device (e.g., device 940) comprises a memory including a separate set of graphic assets associated with the plurality of independently configurable graphic elements, device 900 may, optionally, transmit to the receiving device data identifying the plurality of independently configurable graphic elements that make up the user-configurable graphic structure corresponding to the selected graphical representation (e.g., as in the exemplary embodiment shown in FIG. 8A ). In some embodiments, transmitting data identifying the plurality of independently configurable graphic elements that make up the user-configurable graphic structure corresponding to the selected graphical representation does not include transmitting assets (e.g., graphic assets) that encode the graphic elements of the plurality of independently configurable graphic elements.
[0220] Pursuant to a determination that the receiving device (e.g., device 940) does not comprise a memory including a separate set of graphic assets associated with the multiple independently configurable graphic elements, device 900 may optionally transmit data to the receiving device that represents a user-configurable graphic structure that corresponds to the selected graphic representation. For example, device 900 may optionally transmit data including assets (e.g., graphic assets) that encode the graphic elements of the graphic structure, rather than the configuration of the graphic elements. Thus, device 900 may share the user-configurable graphic structure with devices that do not have stored graphic assets that configure the graphic elements of the graphic structure. An exemplary process 1800 including the above-mentioned steps is described below and further illustrated in FIG. 18B.
[0221] As shown in Fig. 9, device 940 optionally receives data from device 900. The data can optionally identify multiple independently configurable graphic elements that make up a user-configurable graphic structure corresponding to graphical representation 904, or the data can optionally represent a user-configurable graphic structure corresponding to graphical representation 904, as described above. Exemplary embodiments for receiving a user-configurable graphic structure are illustrated in Figs. 9 and 10 and are presented briefly to illustrate how the transmitted data may be used. Subsequently, further explanations and exemplary embodiments for receiving a user-configurable graphic structure are provided in more detail.
[0222] The device 940 displays a screen 942 including a first user-configurable graphical structure (in this example, a watch face) having a clock face 944 and a date complication 946. Optionally, this graphical structure has been configured or received by a user of the device 940. In response to receiving the data transmitted by the device 900, the device 940 can optionally display a screen 950 including a message 952 indicating to the user that a friend has shared a user-configurable graphical structure, and affordances 954 and 956 for accepting or rejecting the graphical structure, respectively. In some embodiments, the user provides user input to accept the graphical structure, for example, by touching the "accept" affordance 954 with a touch 958 to accept the graphical structure. Other user inputs, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input, are also optionally usable. In response to detecting touch 958, device 940 may, optionally, display screen 960. Screen 960 includes a user-configurable graphical structure represented by graphical representation 904. Screen 960 includes a clock face 962 and complications 964 and 966, which are similar to clock face 906 and complications 908 and 910. In this manner, the graphical structure represented by 904 has been shared by device 900.
[0223] In some embodiments, displaying the multiple graphical representations occurs before displaying a user interface for selecting a receiving device, as shown in Figure 9. For example, a user may optionally first select a user-configurable graphical structure (in this example, a watch face) and then select a receiving device (e.g., associated with a user contact).
[0224] Another exemplary embodiment for sharing user-configurable graphic structures is shown in Fig. 10. Fig. 10 illustrates an exemplary user interface for sharing user-configurable graphic structures, optionally operated on device 1000, according to some embodiments. Optionally, in some embodiments, device 1000 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the process of Fig. 18.
[0225] In some embodiments, displaying the multiple graphical representations occurs after displaying a user interface for selecting a receiving device. For example, a user can optionally first select a receiving device (e.g., associated with a user contact) and then select a user-configurable graphical structure (in this example, a watch face).
[0226] As shown in Fig. 10, device 1000 can optionally display screen 1002 presenting a user interface for selecting a receiving device similar to screen 930 of Fig. 9 and including a list of user contacts (e.g., as indicated by heading 1006) including user contact 1004. Device 1000 can optionally display a list of user contacts stored on device 1000 or an external device connected to device 1000 via wireless communication, or device 1000 can optionally display a list of nearby electronic devices configured to receive the shared graphic structure. A user can optionally provide user input (e.g., touch 1008) corresponding to selection of a receiving device. For example, a user may select user contact 1004 by touch 1008 onto the displayed user contact.
[0227] Device 1000 may, optionally, display screen 1020. In some embodiments, screen 1020 includes information associated with a selected user contact, such as name 1022, as well as an affordance 1024 for sharing a user-configurable graphic structure. A user may, optionally, touch affordance 1024 (e.g., touch 1026) to share the graphic structure with the user contact. In some embodiments, a touch-sensitive surface of device 1000 may, optionally, be used to receive touch gestures.
[0228] Device 1000 can optionally display screen 1030 including a graphical representation 1032 of a user-configurable graphical structure, similar to screen 902 of FIG. 9. Screen 1030 displays graphical representation 1032 from a plurality of graphical representations, each independently corresponding to a user-configurable graphical structure. In this case, the graphical structure is a watch face, which includes independently configurable graphical elements such as a clock face 1034, a weather complication 1036, and a date complication 1038. Each graphical element of the plurality may optionally be selected from a separate set of graphical assets stored in memory of device 1000. Screen 1030 also includes a paging affordance 1040 indicating that representation 1032 is the third of three available graphical representations, as well as a partial display of a second graphical representation 1042.
[0229] Optionally, while displaying screen 1030, a user provides user input (e.g., upward flick 1044) corresponding to a selection of graphical representation 1032 from the plurality of graphical representations. After receiving user input corresponding to the selection of the receiving device and the user input corresponding to the user-configurable graphical structure, device 1000 may optionally transmit to the receiving device (e.g., device 1050) data identifying a plurality of independently configurable graphical elements that make up the user-configurable graphical structure corresponding to the selected graphical representation. As mentioned above, in some embodiments, depending at least in part on determining whether device 1050 comprises a memory including a separate set of graphical assets associated with the plurality of independently configurable graphical elements, the data identifying the plurality of independently configurable graphical elements does not include transmitting assets encoding the graphical elements of the plurality of independently configurable graphical elements, or the data may optionally represent a user-configurable graphical structure corresponding to the selected graphical representation (see example process 1800 of FIG. 18 ).
[0230] In some embodiments, the device 1050 can display a screen 1052, optionally including a clock face 1054 and a date complication 1056. Optionally, the graphical structure has been configured or received by a user of the device 1050. In response to receiving the data transmitted by the device 1000, the device 1050 can display a screen 1060, optionally including a message 1062 indicating to the user that a friend has shared a user-configurable graphical structure, and affordances 1064 and 1066 for accepting or rejecting the graphical structure, respectively. In some embodiments, the user provides user input to accept the graphical structure, for example, by touching the "accept" affordance 1064 with a touch 1068 to accept the graphical structure. Other user inputs, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input, can also be optionally used. In response to detecting touch 1068, device 1050 may, optionally, display screen 1070. Screen 1070 includes the user-configurable graphical structure represented by graphical representation 1032. Screen 1070 includes a clock face 1072 and complications 1074 and 1076, which are similar to clock face 1034 and complications 1036 and 1038. In this manner, the graphical structure represented by 1032 has been shared by device 1000.
[0231] Various mechanisms for transmitting the above-mentioned data are contemplated. In some embodiments, an electronic device (e.g., device 600, 700, 800, 900, or 1000) may optionally include a radio frequency transmitter or transceiver (e.g., RF circuitry 108 or communication unit 530).
[0232] In some embodiments, the data identifying the multiple independently configurable graphic elements is transmitted or received by the electronic device. In other embodiments, the data identifying the multiple independently configurable graphic elements is transmitted or received by an external device connected (e.g., paired) to the electronic device via wireless communication. For example, an electronic device (e.g., device 600, 700, 800, 900, or 1000) may optionally be paired with an external or companion device. As used herein, connecting or pairing two electronic devices includes establishing a communication means between the two devices. Once the two devices are connected, data can be wirelessly transferred between the two devices via a communication link. The communication means may optionally include those described in U.S. Patent Application No. 62 / 005751, entitled "Predefined Wireless Pairing," filed May 30, 2014, which is incorporated by reference into this disclosure. Once the devices are paired, the devices may optionally exchange data, including data used for sharing user-configurable graphic structures, as described above. In some embodiments, wireless communication for pairing purposes is performed via a peer-to-peer wireless communication protocol, such as Bluetooth and / or Bluetooth Low Energy (BTLE). In some embodiments, wireless communication for pairing purposes utilizes more than one wireless communication protocol. For example, WiFi can be used in addition to BTLE. In these embodiments, initial communication between the two devices can be performed via a lower power protocol, such as BTLE, even if that protocol provides a slower data transfer rate. Subsequent communication can be performed via a relatively high speed secondary network, such as WiFi.
[0233] As such, any or all of the example data transmissions shown in FIGS. 8A-10 or described herein may optionally include data transmissions from an electronic device to another electronic device, data transmissions from an electronic device to an external or companion device connected to another electronic device, data transmissions from an external or companion device connected to an electronic device to another electronic device, or data transmissions from an external or companion device connected to an electronic device to an external or companion device connected to another electronic device.
[0234] For example, Figure 11 illustrates sharing of user-configurable graphic structures between devices 1100 and 1120, according to some embodiments. Optionally, in some embodiments, device 1100 and device 1120 are devices 100, 300 or 500. The electronic devices have a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the processes for sending and receiving user-configurable graphic structures of Figures 18 and 19.
[0235] As shown in FIG. 11 , a user of device 1100 is sharing a user-configurable graphic structure with a user of device 1120. Device 1100 displays screen 1102, which includes a clock face 1104 and complications 1106 and 1108. In the exemplary embodiment shown in FIG. 11 , devices 1100 and 1120 have attachment mechanisms (e.g., watch straps 1110 and 1130, respectively) to allow them to be worn by the users. After device 1100 transmits data as described above to allow the user to share the user-configurable graphic structure, device 1120 displays screen 1122, which includes clock face 1124 and complications 1126 and 1128, configured similarly to 1104, 1106, and 1108, respectively.
[0236] As mentioned above, the device 1100 may optionally include a radio frequency transmitter or transceiver (e.g., RF circuitry 108 or communication unit 530) and may optionally transmit data to the device 1120. Alternatively, the device 1100 may be connected (e.g., paired) to an external device via wireless communication and the data may be transmitted by the external device. Similarly, the device 1120 may optionally include a radio frequency receiver or transceiver (e.g., RF circuitry 108 or communication unit 530) and may optionally receive data, or the device 1120 may optionally be connected (e.g., paired) to an external device via wireless communication and receive data via the external device (or alternatively may receive second data from the external device based on the data received from the device 1100).
[0237] One or more protocols can optionally be used to transmit data identifying multiple independently configurable graphic elements of a user-configurable graphic structure (or data representing a user-configurable graphic structure), as described above. For example, one or more protocols, such as Near Field Communication (NFC), Wi-Fi, Bluetooth, Bluetooth Low Energy (BTLE), cellular protocols, and / or other wireless communication techniques described herein, can optionally be used. In some embodiments, an ad-hoc network, such as AirDrop® (Apple Inc.), can optionally be used. In some embodiments, a device or an external device connected to an electronic device via wireless communication can optionally be configured to use multiple protocols, either in combination or as a single alternative protocol. In some embodiments, a device or an external device connected to an electronic device via wireless communication can optionally be configured to adopt different protocols depending on the context. For example, if the receiving device is close enough (e.g., 10 cm or less) or on a WLAN shared with the sending device, NFC and / or WiFi can optionally be used to send the data, and if the sending and receiving devices are far away or do not share a WLAN, cellular protocols can optionally be used. In some embodiments, the data can optionally be sent via email (e.g., as an attachment or embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text message (e.g., iMessage® or a separate graphic structure message sending and receiving channel), or upload to a website or cloud-based server.
[0238] Turning now to Fig. 12, a user may wish to receive a user-configurable graphic structure. Fig. 12 illustrates an exemplary user interface for sharing a user-configurable graphic structure, optionally operable on device 1200, according to some embodiments. Optionally, in some embodiments, device 1200 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the process of Fig. 19.
[0239] In some embodiments, device 1200 can optionally receive data identifying a plurality of independently configurable graphic elements, each of which is selected from a distinct set of graphic assets stored in memory of device 1200, and the plurality of independently configurable graphic elements making up a user configurable graphic structure. As shown in Figure 12, device 1200 displays screen 1202, which includes graphic structure 1204. Device 1200 receives data 1206 (e.g., from another electronic device, such as device 600, 700, 800, 900, 1000, or 1100).
[0240] In response to receiving data (e.g., data 1206), device 1200 can optionally display a user interface for accepting the user-configurable graphic structure. For example, in FIG. 12, device 1200 displays screen 1210, including message 1212 indicating to the user that a user is attempting to share the graphic structure, and affordances 1214 and 1216 for accepting or rejecting the graphic structure, respectively. Providing a user with the ability to accept or reject a user-configurable graphic structure, for example through a user interface for accepting the graphic structure, can be advantageous to prevent spamming or spoofing. In some embodiments, the user interface for accepting the user-configurable graphic structure can optionally include a displayed graphical representation of the user-configurable graphic structure, thereby allowing the user to preview the graphic structure before accepting or rejecting it.
[0241] While displaying a user interface for accepting the user-configurable graphic structure, device 1200 can optionally receive user input indicating acceptance of the user-configurable graphic structure. For example, in FIG. 12, the user touches acceptance affordance 1214 with touch 1218 to indicate acceptance. Other user inputs, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input, can also optionally be used.
[0242] In response to receiving user input (e.g., touch 1218), and as shown in FIG. 12, device 1200 can optionally store a user-configurable graphic structure in a memory of the electronic device (e.g., memory 518) for later display. The stored user-configurable graphic structure includes a plurality of independently configurable graphic elements selected from a distinct set of graphic assets stored in memory based on the received data.
[0243] In some embodiments, in response to receiving user input (e.g., touch 1218), device 1200 can optionally display a user-configurable graphic structure on the display. In Figure 12, device 1200 displays the received user-configurable graphic structure on screen 1240. In some embodiments, the device automatically displays the shared graphic structure on the display in response to receiving user input.
[0244] In other embodiments, after storing the user-configurable graphic structure in memory, device 1200 displays a graphic representation corresponding to the user-configurable graphic structure, receives a second user input indicating a selection of the user-configurable graphic structure, and displays the user-configurable graphic structure on the display after receiving a user input indicating a selection of the user-configurable graphic structure. For example, in FIG. 12, device 1200 displays screen 1250 including a representation of the shared graphic structure (e.g., representation 1252) as part of a stored graphic structure library. Screen 1250 includes a partial view of a second stored graphic structure 1256, optionally configured by a user on device 1200 or received by device 1200. Screen 1250 also includes a paging affordance 1254 indicating that representation 1252 is the third of three available representations corresponding to the stored graphic structure. The device 1200 can optionally receive user input (e.g., touch 1258 on the displayed representation 1252) indicating a selection of the user-configurable graphic structure, and after receiving the touch 1258, display a screen 1260 including the shared graphic structure represented by 1252. In some embodiments, after storing the received data in memory, the device 1200 shows the shared graphic structure (e.g., on the screen 1240). In other embodiments, after storing the received data in memory, the device 1200 shows a representation of the shared graphic structure (e.g., representation 1252 on the screen 1250). The user can then, optionally, select the representation (e.g., by touch 1258) to cause the device to display the shared graphic structure. In other words, the shared graphic structure is now available for selection as one of the stored graphic structures of the device 1200 (e.g., as part of a library of available graphic structures).
[0245] In some embodiments, the received data identifying the plurality of independently configurable graphic elements does not include assets encoding graphic elements of the plurality of independently configurable graphic elements. In other embodiments, the received data represents a user-configurable graphic structure corresponding to the selected graphical representation (e.g., the received data includes assets encoding the graphic elements that make up the graphic structure). In some embodiments, data representing a name associated with the user-configurable graphic structure can optionally be received.
[0246] As described above in connection with transmitting data, in some embodiments, the shared graphical structure may optionally be a context-specific user interface (e.g., a watch face). In some embodiments, the watch face may optionally include configurable aspects of the watch face that may be independently selected from aspects including, for example, watch complications, colors, display density, and watch face features. In some embodiments, the shared graphical structure may optionally be an emoji graphical object that includes multiple independently configurable graphical elements selected from a separate set of graphical assets stored in the memory of device 1200. In some embodiments, the independently configurable graphical elements of the emoji graphical object may optionally include configurable facial features such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc.
[0247] 13A-13C illustrate a method for sharing of a user-configurable graphic structure, optionally operated on a device 1300, 1320, 1340 or 1350, according to some embodiments. Optionally, device 1300, 1320, 1340 or 1350 is device 100, 300 or 500 in some embodiments. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the process of FIG. 19. FIGS. 13A-13C illustrate some of the potential ways in which an electronic device can receive an optionally shared user-configurable graphic structure. These are provided merely to illustrate some aspects of sharing and are not intended to be limiting in any way.
[0248] As described above, the electronic device may optionally include a radio frequency receiver or transceiver (e.g., RF circuitry 108 or communication unit 530) and may, optionally, receive data, or the electronic device may, optionally, be connected (e.g., paired) with an external device via wireless communication and, optionally, receive data via the external device (or, alternatively, may receive second data from the external device based on the data received from device 1100).
[0249] Similar to the above description regarding data transmission, the electronic device may optionally receive data for sharing user-configurable graphic structures in various ways: Optionally, the data may be received from the electronic device by another electronic device, from the electronic device by an external or companion device connected to the other electronic device, from an external or companion device connected to the electronic device by another electronic device, or from an external or companion device connected to the electronic device by an external or companion device connected to the other electronic device.
[0250] A user may also wish to receive a user-configurable graphic structure from a Quick Response (QR) code. For example, a magazine or other source may print or otherwise provide a QR code representing a configuration of a customized graphic structure that a reader may use to scan and receive data identifying the multiple independently configurable graphic elements that make up the graphic structure. As shown in FIG. 13A, device 1300 displays a screen 1302 including a user-configurable graphic structure. Through data 1304 from a QR code 1306, device 1300 receives the configuration of the independently configurable graphic elements that make up the graphic structure and displays the graphic structure on screen 1302. In some embodiments, device 1300 may optionally include a QR code scanner. In some embodiments, device 1300 may optionally connect to an external device having a QR code scanner via wireless communication and may optionally receive data identifying the multiple independently configurable graphic elements that make up the graphic structure from the external device based on the QR code.
[0251] A user may also wish to receive a user-configurable graphic structure shared by near field communication (NFC). In some embodiments, data identifying the plurality of independently configurable graphic elements that make up the graphic structure is received via near field communication from a second electronic device having a display, one or more processors, and memory. In some embodiments, data identifying the plurality of independently configurable graphic elements that make up the graphic structure is received via near field communication from an external device connected to the second electronic device having a display, one or more processors, and memory. In some embodiments, data identifying the plurality of independently configurable graphic elements that make up the graphic structure is received from an NFC sticker or NFC tag. For example, a user attending a concert may bring a device close to an NFC sticker posted at the entrance of the concert to receive data identifying a customized graphic structure with information or design related to the concert, such as musician information, program or track listing, schedule of upcoming concerts, venue information, merchandise information, etc.
[0252] As another example, a user attending a sporting event may enter a stadium, bring an electronic device close to an NFC sticker posted at the entrance to the stadium, and receive data identifying a customized graphic structure related to the sporting event. As shown in FIG. 13B, 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 at a football stadium. Based on the data 1330, device 1320 can optionally display screen 1322 including a clock face 1324, a football icon 1326, and an affordance 1328 that includes information related to a football team.
[0253] One or more protocols can be optionally used to receive data identifying multiple independently configurable graphic elements of a user-configurable graphic structure (or data representing a user-configurable graphic structure), as described above. For example, one or more protocols, such as Near Field Communication (NFC), Wi-Fi, Bluetooth, Bluetooth Low Energy (BTLE), cellular protocols, and / or other wireless communication techniques described herein, can be optionally used. In some embodiments, an ad-hoc network, such as AirDrop® (Apple Inc.), can be optionally used. In some embodiments, a device or an external device connected to an electronic device via wireless communication can be optionally configured to use multiple protocols, either in combination or as a single alternative protocol. In some embodiments, a device or an external device connected to an electronic device via wireless communication can be optionally configured to adopt different protocols depending on the context. For example, if the receiving device is close enough (e.g., 10 cm or less) to the transmitter device or on a WLAN shared with the sending device, NFC and / or WiFi can optionally be used to receive the data, and if the sending and receiving devices are far apart or do not share a WLAN, cellular protocols can optionally be used. In some embodiments, the data can optionally be received via email (e.g., as an attachment or embedded link in the email), peer-to-peer (P2P) communication over WiFi and / or NFC, text message (e.g., iMessage® or a separate graphic structure message sending and receiving channel), or download from a website or cloud-based server.
[0254] FIG. 13C illustrates an example of receiving a shared user-configurable graphic structure through a messaging protocol (e.g., text messaging). The device 1340 displays a screen 1342 including a sender's name 1344 and an affordance 1346 indicating that the sender is sharing a user-configurable graphic structure. The user can optionally touch (e.g., touch 1348) the displayed affordance 1346, and in response to detecting the touch, the device 1340 can optionally display a screen 1352 including the shared user-configurable graphic structure. In some embodiments, the text message looks like a traditional text message with a link or affordance for accepting the graphic structure. In other embodiments, the text message is formatted in a manner specific to sharing a user-configurable graphic structure. In some embodiments, the text message may optionally be received by the device 1340. In some embodiments, the text message may optionally be received by an external device connected to the device 1340 via wireless communication.
[0255] 14 illustrates an exemplary user interface for sharing user-configurable graphic structures, according to some embodiments, optionally operable on device 1400. Optionally, in some embodiments, device 1400 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate processes described below, including the process of FIG.
[0256] With regard to sending and / or receiving user-configurable graphic structures, a user may wish to send or receive a particular class or type of independently configurable graphic element. For example, a user may wish to send or receive a user-configurable graphic structure having a stock complication that displays stock information. In some cases, a user may wish to send or receive a stock complication, but also wish to add to this complication information provided by a stock application on the device (e.g., a list of stocks stored in the stock application). In this case, the graphic elements shared by the sender and receiver correspond to each other (e.g., both represent a stock complication), but need not be identical, since each device adds to the stock complication a list from its stock complication (e.g., stored in its own memory or in the memory of an external device connected to the device by wireless communication). Another potential example of this concept is illustrated by a world clock complication. In some embodiments, a user-configurable graphic structure having a world clock complication may be optionally sent and / or received, but the cities displayed in the world clock complication are added using the sender / receiver's world clock list.
[0257] 14, device 1400 displays a screen 1402 that includes a clock face 1404 and a stock complication 1406. Stock complication 1406 shows information about stocks AABC, DDEF, and NYSE, as represented by user interface objects 1408, 1410, and 1412, respectively. Device 1400 (the "sender" device) includes a list of stocks (e.g., as stored in a stock application) that includes AABC, DDEF, and NYSE, as indicated by stock list 1414.
[0258] Device 1400 can optionally share the user-configurable graphic structure of screen 1402 with device 1420. Upon receiving data from device 1400, device 1420 displays screen 1422. Screen 1422 includes a clock face 1424 that is identical to clock face 1404 on screen 1402 of device 1400. Similar to screen 1402 with complication 1406, screen 1422 also displays stock complication 1426. However, stock complication 1426 displays information about stocks JJKL, DDEF, and NYSE, as represented by user interface objects 1428, 1430, and 1432, respectively. As stock list 1434 indicates, 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 graphic structure shown by device 1420 corresponds to the shared user-configurable graphic structure shown by device 1400, but includes the addition of receiver values to the displayed graphic elements that are not identical to but correspond to the sender values.
[0259] As shown in FIG. 14 , in some embodiments, an electronic device (e.g., device 1420) can optionally receive second data representing an independently configurable sender graphic element (e.g., representing user interface object 1408) simultaneously with data identifying a plurality of independently configurable graphic elements. Optionally, the independently configurable sender graphic element corresponds to, but is not identical to, a receiver graphic element (e.g., 1428) from a separate set of graphic assets stored in a memory of the electronic device. For example, in some embodiments, the receiver device does not contain stored assets identical to the independently configurable sender graphic element. Device 1420 can optionally select, from a separate set of graphic assets stored in memory, a receiver graphic element (e.g., 1428) corresponding to the sender graphic element (e.g., 1408), and can optionally store the selected receiver graphic element (e.g., 1428) as part of a user-configurable graphic structure (e.g., as shown on screen 1422).
[0260] Turning now to the example shown in Fig. 15, Fig. 15 illustrates an exemplary user interface for sharing of user-configurable graphic structures, optionally operable on device 1500, according to some embodiments. Optionally, in some embodiments, device 1500 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the process of Fig. 19.
[0261] With regard to sending and / or receiving user-configurable graphic structures, a user may wish to send or receive a particular class or type of independently configurable graphic element and share the same independently configurable graphic element between the sender and the receiver. For example, a user may wish to send or receive a user-configurable graphic structure having a stock complication that displays stock information. In some cases, a user may wish to send or receive a stock complication and add to this complication information provided by a stock application on the sender's device (e.g., a list of stocks stored in the sender's stock application). In this case, the graphic elements shared between the sender and the receiver are identical, and the receiver's device may optionally store in its memory assets corresponding to the sender's independently configurable graphic element. Using the example of a world clock complication, if the sender's complication includes an input for Tokyo and the receiver's world clock application does not include Tokyo, the receiver's device may optionally add Tokyo to its stored world clock list.
[0262] 15, device 1500 displays screen 1502, which includes a clock face 1504 and a stock complication 1506. Stock complication 1506 shows information about stocks AABC, DDEF, and NYSE, as represented by user interface objects 1508, 1510, and 1512, respectively. Device 1500 (the "sender" device) includes a stock list (e.g., as stored in a stock application) that includes AABC, DDEF, and NYSE, as indicated by stock list 1514.
[0263] Device 1500 can optionally share the user-configurable graphic structure of screen 1502 with device 1520. Upon receiving data from device 1500, device 1520 displays screen 1522. Screen 1522 includes a clock face 1524 that is identical to clock face 1504 on screen 1502 of device 1500. Like screen 1502 on device 1500, screen 1522 also displays stock complication 1526. Like stock complication 1506 on screen 1502 of device 1500, stock complication 1526 displays information about stocks AABC, DDEF, and NYSE, as represented by user interface objects 1528, 1530, and 1532, respectively. Prior to receiving the data from device 1500, device 1520 (the "receiving" device) had a stock list (e.g., as stored in a stock application) that included JJKL, DDEF, and NYSE, but not AABC. Upon receiving the data from device 1500, device 1520 can optionally add stock AABC (as shown at 1536) to the receiving stock list and / or display 1536 on screen 1522.
[0264] As shown in FIG. 15, in some embodiments, an electronic device (e.g., device 1520) can optionally receive data identifying a plurality of independently configurable graphic elements as well as data representing assets corresponding to the independently configurable sender graphic elements (e.g., represented at 1508). The device (e.g., device 1520) can optionally store assets (e.g., 1536) corresponding to the independently configurable graphic elements in a memory of the electronic device (e.g., a receiving stock list 1534 in a stocks application), and assets corresponding to the independently configurable graphic elements (e.g., 1528) are stored for later display as part of a user configurable graphic structure (e.g., as shown on screen 1522). In some embodiments, the assets (e.g., 1536) are stored until the next reboot of device 1520. In some embodiments, the assets (e.g., 1536) are stored until a user deletes the assets from the memory of device 1520. In some embodiments, the assets (e.g., 1536) are stored in a memory of an external device connected to device 1520 via wireless communication.
[0265] FIG. 16A is a flow diagram illustrating a method for sharing user-configurable graphic structures using an electronic device according to some embodiments. The method 1600 is performed on a device having a display (e.g., 100, 300, 500, or 1610). Some operations of the method 1600 may be combined, some operations may be reordered, and some operations may be omitted. As described below, FIG. 16 illustrates an example embodiment for sharing user-configurable graphic structures (e.g., including third-party graphic elements), but other orders of operations are possible. The method 1600 provides a comprehensive yet easy-to-use sharing of user-configurable graphic structures with third-party content, which conserves power and extends battery life.
[0266] A user may wish to send and / or receive a user-configurable graphic structure having third-party graphic elements. For example, in some embodiments, an electronic device is loaded with a separate set of graphic assets stored in the memory of the electronic device that correspond to the independently configurable graphic elements. A third party may generate a third-party graphic element having a third-party graphic asset that is not part of the separate set of graphic assets stored in the memory of the electronic device. Thus, to display a user-configurable graphic structure, a user may wish to download a third-party graphic asset. For example, a sports organization may create a user-configurable graphic structure having an independently configurable graphic element having a third-party graphic asset, such as a sports mark, information, etc., that is not part of the device's set of stored graphic assets.
[0267] As shown in FIG. 16A, method 1600 provides an exemplary process for sharing a user-configurable graphic structure with third-party graphic assets. At block 1602, the device receives data identifying a plurality of independently configurable graphic elements (described above) and, simultaneously, data identifying assets corresponding to the third-party graphic elements. At block 1604, in response at least in part to receiving the data identifying assets corresponding to the third-party graphic elements, the device determines whether assets corresponding to the third-party graphic elements are stored in the memory of the electronic device. At block 1606, in response at least in part to a determination that assets corresponding to the third-party graphic elements are stored in the memory of the electronic device, the device identifies the assets corresponding to the third-party graphic elements for later display as part of the user-configurable graphic structure. For example, a user may have already downloaded third-party graphic assets onto the device's memory (e.g., as part of a third-party application), and the device can optionally identify the assets for display as part of the user-configurable graphic structure. At block 1608, in response at least in part to a determination that assets corresponding to the third-party graphic elements are not stored in the memory of the electronic device, the device displays a user interface providing an option to obtain assets corresponding to the third-party graphic elements.
[0268] It should be noted that the process details described above with respect to method 1600 (e.g., FIG. 16A) are also similarly applicable to the methods described below (e.g., methods 1800, 1900, 2000, and / or 2100 of FIGS. 18-21 and / or methods 2900, 3000, and / or 3100 of FIGS. 29-31). For example, method 1900 may include one or more of the characteristics of the various methods described above with respect to method 1600. For example, a device receiving data identifying multiple independently configurable graphic elements (as shown in block 1902 of method 1900) can, optionally, simultaneously receive data identifying assets corresponding to third-party graphic elements (as shown in block 1602 of method 1600). For brevity, these details are not repeated below.
[0269] 16B illustrates an exemplary user interface for sharing user-configurable graphic structures (e.g., including third-party graphic assets) that may optionally be operated on device 1610 or device 1620 according to some embodiments. Optionally, in some embodiments, device 1610 and device 1620 are devices 100, 300, or 500. The electronic devices have a display (e.g., 504). The user interface in this figure is used to illustrate the processes described herein, including the processes of FIGS. 16A and 19.
[0270] As shown in FIG. 16B , device 1610 displays screen 1612. Screen 1612 shows a user-configurable graphic structure having a clock face 1614. Screen 1612 also displays third-party graphic 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). A user of device 1610 attempts to send the user-configurable graphic structure of screen 1612 to a user of device 1620. However, graphic assets corresponding to the third-party graphic elements shown on screen 1612 are not stored in memory of device 1620.
[0271] In response to receiving data from the device 1410 and following a determination that an asset corresponding to the third-party graphic element is not already stored in the memory of the device 1620, the device 1620 displays a screen 1622. The screen 1622 illustrates an example user interface providing a choice to obtain an asset corresponding to the third-party graphic element. The screen 1622 includes a message 1624 asking the user whether to download the third-party graphic asset, and affordances 1626 and 1628 for selecting to download or not download the third-party graphic asset, respectively. In this example, the user touches the displayed "yes" affordance 1626 with a touch 1630. In response to detecting the touch 1630, the device 1620 downloads or provides an interface to download the third-party graphic asset. Optionally, as shown in screen 1640, device 1620 displays user-configurable graphical structures including a clock face 1642, a football icon 1644, and a football complication 1646, corresponding to 1614, 1616, and 1618, respectively. In some embodiments, the third party graphical assets may be obtained from a third party website (e.g., accessed by device 1620 or an external device connected to device 1620 via wireless communication), an online store, or any other source for downloading and / or purchasing an application.
[0272] Turning now to Fig. 17, a user may wish to send an emoji graphic object. Fig. 17 illustrates an exemplary user interface for sharing a user-configurable graphic structure, optionally operable on a device 1700, according to some embodiments. Optionally, in some embodiments, the device 1700 is device 100, 300 or 500. The electronic device has a display (e.g., 504). The user interface of this figure is used to illustrate the processes described below, including the processes of Figs. 20A and 20B.
[0273] As mentioned above, one possible class of emoji graphical objects is an emoji graphical object that includes multiple independently configurable graphical elements selected from a separate set of graphical assets stored in the memory of the device 1700. These independently configurable graphical elements of an emoji graphical object may include configurable facial features such as eyes, eyebrows, nose, mouth, hair, teeth, tongue, skin, face shape, etc., as shown in FIG.
[0274] Another possible class of emoji graphic objects includes user-customized emoji graphic objects generated by user manipulation(s) of customizable "basic" emoji graphic objects. A user may also want to express an emotion or provide a simple message (e.g., I am happy or unhappy, yes or no) to a receiver. It may be difficult for a user to quickly and efficiently provide text information to express an emotion or provide a message. Thus, it may be helpful to display interactive emojis (e.g., customizable "basic" emoji graphic objects) that a user can manipulate to generate a user-customized emoji graphic object to express an emotion or provide a message. The manipulated emoji may then be sent to the receiver. U.S. Provisional Patent Application No. 62 / 044923, which is incorporated herein by reference in its entirety, describes an exemplary method for manipulating emojis based on user input, and this aspect may be used in the methods described herein. These methods reduce the cognitive burden on a user to prepare emoji graphic objects using a device, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to prepare messages faster and more efficiently conserves power and increases the time between battery charges.
[0275] 17, in some embodiments, device 1700 can display screen 1702, optionally including emoji graphical object 1706. Device 1700 can optionally receive user input corresponding to manipulation of emoji graphical object 1706. In this example, a user provides a downward swipe 1712 on displayed right eye 1710. Prior to receiving swipe 1712, displayed right eye 1710 appears identical to displayed left eye 1708. Screen 1702 also includes affordance 1714 for sharing the emoji graphical object.
[0276] In response to receiving a user input (e.g., swipe 1712), device 1700 can optionally modify visual aspects of the emoji graphical object based at least in part on the manipulation to generate a user-customized emoji graphical object. As shown in FIG. 17, in response to receiving swipe 1712, device 1700 updates emoji graphical object 1706 to display right eye 1716. Compared to right eye 1710, visual aspects of the displayed right eye 1716 have been modified based on the manipulation. For example, the manipulation of swipe 1712 includes a downward movement, and right eye 1716 has been modified to depict a closed eye or a winking eye (e.g., depicting closed eyelids).
[0277] In some embodiments, as shown in Figure 17, device 1700 includes a touch-sensitive surface, and touch gestures on the display can be used to, optionally, change certain visual aspects of an emoji graphical object. For example, when the device receives a smile touch gesture (e.g., a U-shaped touch gesture), device 1700 can optionally change the mouth of the emoji graphical object to indicate a smile. When the device 1700 receives a frown touch gesture (e.g., an upside-down U-shaped touch gesture), device 1700 can optionally change the mouth of the emoji graphical object to indicate a frown. In some examples, varying degrees of up or down swiping causes the emoji graphical object to correspondingly change the degree of happiness or unhappiness of its mouth. As shown in FIG. 17, when the device 1700 receives a touch gesture to close the eyes (e.g., a touch gesture of a downward swipe across the eyes), the device 1700 can optionally change the eyes of the emoji graphical object to represent closed eyes or winking eyes. The smile and frown touch gestures do not have to be at the mouth of the emoji graphical object (similarly, the close eyes touch gesture does not have to be at the eye of the emoji graphical object). This allows a user to quickly modify visual aspects of the emoji graphical object without needing high precision in the location of the touch gesture. Of course, other gestures, such as tapping, can optionally be used to change an emoji element. For example, repeatedly tapping on the same element can change that element through various states. In this way, a user can manipulate various visual aspects of an emoji graphical object by providing user input before sending the emoji graphical object to a recipient.
[0278] According to 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 associated with a first visual aspect of the emoji graphical object (e.g., the user drags, swipes or taps over the eyes of the emoji).
[0279] According to some embodiments, device 1700 comprises a touch-sensitive surface configured to detect an intensity of a touch. Optionally, the user input associated with the emoji graphical object includes a touch gesture having a characteristic intensity (e.g., a user tap has a certain intensity, i.e., a deep press or a light press). In response to receiving the user input and following a determination that the characteristic intensity exceeds an intensity threshold (e.g., the touch gesture is a deep press), device 1700 modifies a visual aspect of the emoji graphical object by modifying a first characteristic of the emoji graphical object (e.g., changing a size or color of the emoji).
[0280] According to some embodiments, modifying the visual aspect of the emoji graphical object in response to receiving the user input and in accordance with a determination that the characteristic intensity does not exceed an intensity threshold (e.g., the touch gesture is not a deep press) includes modifying a second characteristic of the emoji graphical object that is different from the first characteristic (e.g., changing the facial expression or orientation of the emoji). In this manner, the touch gesture can modify various characteristics of the emoji graphical object based on the characteristic intensity of the touch.
[0281] In some embodiments, the user customized emoji graphical object is an animated emoji graphical object (e.g., the emoji winks and / or the emoji's tongue flaps). In some embodiments, modifying the visual aspect of the emoji graphical object includes animating the modification of the visual aspect of the emoji graphical object (e.g., swiping up on the corner of a smiley face emoji's mouth makes the mouth larger / happier). For example, in some embodiments, the transmitted data may include additional information such as the order in which the elements were modified, so that the emoji is animated in the same manner on the receiving device.
[0282] Device 1700 can optionally receive user input corresponding to a selection of a user-customized emoji graphical object for sharing. For example, as shown in Figure 17, a 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 an input mechanism such as 506 or 508, and / or audio (e.g., voice) input.
[0283] The device 1700 may optionally display a user interface for selecting a receiving device. As shown in FIG. 17, the device 1700 displays a screen 1720 displaying a number of contacts from the user's contact list (e.g., as indicated by the heading 1722 "My People" along with a time option display such as the current time). In some embodiments, the device 1700 may optionally receive user input corresponding to a selection of a user-customized emoji graphic object for sharing before displaying a user interface for selecting a receiving device (e.g., as shown in FIG. 17 and similar to the order of user interfaces shown in FIG. 9). In other embodiments, the device 1700 may optionally display a user interface for selecting a receiving device before receiving user input corresponding to a selection of a user-customized emoji graphic object for sharing. For example, similar to FIG. 10, when a user selects a receiving device, the device 1700 displays an emoji graphic object, receives user input corresponding to an operation, generates a user-customized emoji graphic object based on the operation, and receives user input corresponding to a selection of the user-customized emoji graphic object for sharing.
[0284] In some embodiments, while displaying a user interface for selecting a receiving device, device 1700 can optionally receive a user input corresponding to the selection of a receiving device. In the example shown in FIG. 17, a user can optionally touch (e.g., touch 1726) a displayed contact (e.g., contact 1724) to select a receiving device associated with the displayed contact. Device 1700 can optionally display a list of user contacts stored on device 1700 or an external device connected to device 1700 via wireless communication, or device 1700 can optionally display a list of nearby electronic devices configured to receive the shared graphic structure. Optionally, other user inputs can be used, such as other touch gestures, input on an input mechanism such as 506 or 508, and / or audio (e.g., voice) input.
[0285] After receiving user input corresponding to a selection of a user-customized emoji graphical object for sharing (e.g., touch 1718) and a selection of a receiving device (e.g., touch 1726), device 1700 can optionally determine whether a receiving device (e.g., device 1740) can regenerate the user-customized emoji graphical object based on the data identifying the manipulation (e.g., as shown at 1730). For example, device 1700 can determine whether the receiving device is configured to receive data representing a manipulation of the emoji graphical object and use the data to re-render the user-customized emoji graphical object based on the manipulation. Device 1700 can optionally determine whether the receiving device has stored in memory a graphical asset representing a "base" emoji graphical object used as a starting point for re-rendering the user-customized emoji graphical object based on the manipulation.
[0286] In accordance with a determination that the receiving device can regenerate the user-customized emoji graphical object based on the data identifying the operation, at 1732, the device 1700 can optionally transmit data identifying the operation for generating the user-customized emoji graphical object to the receiving device (e.g., device 1740). Optionally, the customization data at 1732 includes instructions to re-render the user-customized emoji graphical object or includes data representing the operation for re-rendering the user-customized emoji graphical object. As mentioned above, in some embodiments, the transmitted data can include additional information, such as the order of element changes, such that the user-customized emoji graphical object is animated in the same manner at the receiving device. Advantageously, transmitting data identifying the operation for generating the user-customized emoji graphical object (rather than a large animated image file) conserves bandwidth and promotes more efficient data transfer, thereby conserving power and extending battery life.
[0287] At 1734, pursuant to a determination that the receiving device is not capable of regenerating the user-customized emoji graphical object based on the data identifying the manipulation, device 1700 may optionally transmit data to the receiving device (e.g., device 1740) including an image representing the user-customized emoji graphical object (e.g., an image file such as an animated GIF file), thereby allowing the user to transmit the user-customized emoji graphical object to the device regardless of whether the device is capable of regenerating the user-customized emoji graphical object based on the data identifying the manipulation.
[0288] One or more protocols can be optionally used to transmit data identifying an operation for generating a user-customized emoji graphical object or data including an image representing a user-customized emoji graphical object. For example, one or more protocols such as Near Field Communication (NFC), Wi-Fi, Bluetooth, Bluetooth Low Energy (BTLE), cellular protocols and / or other wireless communication techniques described herein can be optionally used. In some embodiments, an ad-hoc network such as AirDrop® (Apple Inc.) can be optionally used. In some embodiments, a device or an external device connected to an electronic device via wireless communication can be optionally configured to use multiple protocols, either in combination or as a single alternative protocol. In some embodiments, a device or an external device connected to an electronic device via wireless communication can be optionally configured to adopt different protocols depending on the context. For example, if the receiving device is close enough (e.g., 10 cm or less) or on a WLAN shared with the sending device, NFC and / or WiFi can optionally be used to send the data, and if the sending and receiving devices are far away or do not share a WLAN, cellular protocols can optionally be used. In some embodiments, the data can optionally be sent via email (e.g., as an attachment or embedded link in an email), peer-to-peer (P2P) communication over WiFi and / or NFC, text message (e.g., iMessage® or a separate graphic structure message sending and receiving channel), or upload to a website or cloud-based server.
[0289] As shown in FIG. 17 , 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 can regenerate a user-customized emoji graphic object based on data identifying an operation, device 1740 can, optionally, display the user-customized emoji graphic object. That is, device 1740 can regenerate a user-customized emoji graphic object based on received data identifying an operation, or device 1740 can display a user-customized emoji graphic object based on received data including an image representing the user-customized emoji graphic object.
[0290] Device 1740 can optionally receive data identifying an operation for generating a user-customized emoji graphic object from an emoji graphic object stored in a memory of device 1740 (e.g., memory 518) and, based on the operation, modify visual aspects of the emoji graphic object to generate the user-customized emoji graphic object (e.g., as described above). In some embodiments, device 1740 can optionally display the user-customized emoji graphic object as shown on screen 1742. Device 1740 displays user-customized emoji graphic object 1744 that corresponds to the user-customized emoji graphic object displayed on screen 1702 of device 1700. In some embodiments, device 1740 can optionally store the user-customized emoji graphic object in memory.
[0291] A variety of user inputs can optionally be used as user inputs corresponding to manipulation of the emoji graphical object. As discussed above, a variety of 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 discussed above, the touch gesture is not at a location on the touch-sensitive display associated with a visual aspect of the emoji graphical object. In some embodiments, the 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, the user can optionally rotate the rotatable input mechanism to change the shape of the eyes. In some embodiments, the 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 may tap or tap and hold on the displayed eye of an emoji to identify the feature to modify, and then rotate a rotatable input mechanism to modify the identified feature.
[0292] One or more protocols may optionally be used to receive data identifying an operation for generating a user-customized emoji graphic object from an emoji graphic object stored in memory. For example, one or more protocols such as Near Field Communication (NFC), Wi-Fi, Bluetooth, Bluetooth Low Energy (BTLE), cellular protocols and / or other wireless communication techniques described herein may optionally be used. In some embodiments, an ad-hoc network such as AirDrop® (Apple Inc.) may optionally be used. In some embodiments, a device or an external device connected to an electronic device via wireless communication may optionally be configured to use multiple protocols in combination or as a single alternative protocol. In some embodiments, a device or an external device connected to an electronic device via wireless communication may optionally be configured to adopt different protocols depending on the context. For example, if the receiving device is close enough (e.g., 10 cm or less) to the transmitter device or on a WLAN shared with the sending device, NFC and / or WiFi can optionally be used to receive the data, and if the sending and receiving devices are far apart or do not share a WLAN, cellular protocols can optionally be used. In some embodiments, the data can optionally be received via email (e.g., as an attachment or embedded link in the email), peer-to-peer (P2P) communication over WiFi and / or NFC, text message (e.g., iMessage® or a separate graphic structure message sending and receiving channel), or download from a website or cloud-based server.
[0293] In some embodiments, data identifying operations 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 (similar in concept to that shown in FIG. 13A). In some embodiments, a receiving device such as device 1740 may optionally include a QR code scanner. In some embodiments, a receiving device such as device 1740 may optionally connect via wireless communication to an external device having a QR code scanner, and may optionally receive data identifying operations for generating a user-customized emoji graphical object from emoji graphical objects stored in memory from the external device based on the QR code.
[0294] In some embodiments, data identifying an operation for generating a user-customized emoji graphical object from an emoji graphical object stored in memory can be received from a second electronic device (e.g., device 1700) optionally via near field communication (NFC). In some embodiments, data identifying an operation for generating a user-customized emoji graphical object from an emoji graphical object stored in memory can be optionally received via near field communication (NFC) from an NFC sticker or tag (similar to the concept shown in FIG. 13B). In some embodiments, data identifying an operation for generating a user-customized emoji graphical object from an emoji graphical object stored in memory can optionally be received through a messaging protocol (e.g., text messaging) (similar to the concept shown in FIG. 13C).
[0295] 18 is a flow diagram illustrating a method for sharing a user configurable graphic structure using an electronic device, according to some embodiments. The method 1800 is performed on a device having a display (e.g., 100, 300, or 500). Some operations of the method 1800 may be combined, some operations may be reordered, and some operations may be omitted.
[0296] As described below, the method 1800 provides an intuitive way to select user-configurable graphic structures. This method reduces the cognitive burden placed on the user to share user-configurable graphic structures, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to share user-configurable graphic structures faster and more efficiently conserves power and increases the time between battery charges.
[0297] 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 structure that includes a plurality of independently configurable graphical elements, each graphical element of the plurality being selected from a separate set of graphical assets 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 receiving device. At block 1808, while displaying a user interface for selecting a receiving device, the device receives a second user input corresponding to a selection of the receiving device. Optionally, at block 1810, the device determines whether the receiving device comprises a memory that includes a separate set of graphical assets associated with a plurality of independently configurable graphical elements that constitute a user-configurable graphical structure that corresponds to the selected graphical representation. At block 1812, optionally in accordance with a determination that the receiving device comprises a memory including a separate set of graphic assets associated with the plurality of independently configurable graphic elements, after receiving the first user input and the second user input, the device transmits to the receiving device data identifying the plurality of independently configurable graphic elements that make up the user configurable graphic structure corresponding to the selected graphical representation. Optionally, at block 1812, transmitting the data identifying the plurality of independently configurable graphic elements that make up the user configurable graphic structure corresponding to the selected graphical representation does not include transmitting assets encoding graphic elements of the plurality of independently configurable graphic elements.Optionally, in block 1814, following a determination that the receiving device does not have a memory including a separate set of graphical assets associated with the multiple independently configurable graphical elements, the device transmits data to the receiving device representing a user-configurable graphical structure corresponding to the selected graphical representation.
[0298] It should be noted that the processing details described above with respect to method 1800 (e.g., FIG. 18) are also applicable in an analogous manner to methods 1600 (FIG. 16A) and 1900-2100 (FIGS. 19-21) described herein. For example, method 2000 may include one or more of the characteristics of the various methods described above with respect to method 1800. For example, certain aspects of the sharing of emoji graphical objects, such as a user interface for selecting a receiving device, illustrated in method 2000, may include one or more characteristics of method 1800 (e.g., at block 1806). For brevity, these details will not be repeated below.
[0299] 19 is a flow diagram illustrating a method for sharing a user configurable graphic structure using an electronic device according to some embodiments. The method 1900 is performed on a device having a display (e.g., 100, 300 or 500). Some operations of the method 1900 may be combined, some operations may be reordered, and some operations may be omitted.
[0300] As described below, the method 1900 provides an intuitive way to select user-configurable graphic structures. This method reduces the cognitive burden placed on the user to share user-configurable graphic structures, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to share user-configurable graphic structures faster and more efficiently conserves power and increases the time between battery charges.
[0301] At block 1902, the device receives data identifying a plurality of independently configurable graphic elements, each of which is selected from a distinct set of graphic assets stored in a memory of the electronic device, and the plurality of independently configurable graphic elements constitute a user configurable graphic structure. At block 1904, in response at least in part to receiving the data, the device displays a user interface for accepting the user configurable graphic structure. At block 1906, while displaying the user interface for accepting the user configurable graphic structure, the device receives a user input indicating acceptance of the user configurable graphic structure. At block 1908, in response at least in part to receiving the user input, the device stores the user configurable graphic structure in a memory for later display. The user configurable graphic structure includes a plurality of independently configurable graphic elements selected from a distinct set of graphic assets stored in a memory. Optionally, at block 1910, the device displays the user configurable graphic structure.
[0302] It should be noted that the processing details described above with respect to method 1900 (e.g., FIG. 19) are also applicable in an analogous manner to methods 1600 (FIG. 16A), 1800 (FIG. 18) and 2000-2100 (FIGS. 20A-21) described herein. For example, method 2100 may include one or more of the characteristics of the various methods described above with respect to method 1900. For example, certain aspects of receiving data (e.g., from another electronic device) illustrated in method 2100 may include one or more characteristics of method 1900. For brevity, these details will not be repeated below.
[0303] 20A is a flow diagram illustrating a method for sharing a user-configurable graphic structure using an electronic device, according to some embodiments. The method 2000 is performed on a device having a display (e.g., 100, 300, or 500). Some operations of the method 2000 may be combined, some operations may be reordered, and some operations may be omitted.
[0304] As described below, the method 2000 provides an intuitive way to select user-configurable graphic structures. This method reduces the cognitive burden placed on the user to share user-configurable graphic structures, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to share user-configurable graphic structures faster and more efficiently conserves power and increases the time between battery charges.
[0305] At block 2002, the device displays an emoji graphic object. At block 2004, the device receives a first user input corresponding to a manipulation of the emoji graphic object. At block 2006, in response at least in part to receiving the first user input, the device modifies a visual aspect of the emoji graphic object to generate a user-customized emoji graphic object. The modification of the visual aspect is based on the manipulation. At block 2008, the device receives a second user input corresponding to a selection of the user-customized emoji graphic object for sharing. At block 2010, the device displays a user interface for selecting a receiving device.
[0306] Fig. 20B is a flow diagram illustrating steps that may be optionally included in a method 2000 for sharing a user-configurable graphic structure using an electronic device, according to some embodiments. Starting at block 2010, as shown in Fig. 20A and as described above, the device displays a user interface for selecting a receiving device. Optionally, in block 2012, while displaying the user interface for selecting a receiving device, the device receives a third user input corresponding to the selection of the receiving device. Optionally, in block 2014, the device determines whether the receiving device can regenerate the user-customized emoji graphic object based on the data identifying the operation. Optionally, in block 2016, following a determination that the receiving device can regenerate the user-customized emoji graphic object based on the data identifying the operation, the device transmits data identifying the operation for generating the user-customized emoji graphic object to the receiving device. Optionally, in block 2018, following a determination that the receiving device is unable to re-create the user-customized emoji graphical object based on the data identifying the operation, the device transmits data to the receiving device including an image representing the user-customized emoji graphical object.
[0307] It should be noted that the processing details described above with respect to method 2000 (e.g., FIGS. 20A and 20B) are also applicable in a similar manner to methods 1600 (FIG. 16A), 1800 (FIG. 18), 1900 (FIG. 19), 2100 (FIG. 21) described herein. For example, method 2100 may include one or more of the characteristics of the various methods described above with respect to method 2000. For example, certain aspects of the data identifying an operation for generating a user-customized emoji graphic object from an emoji graphic object shown in method 2100 (e.g., at block 2102) may include one or more characteristics of method 2000 (e.g., at block 2016). For brevity, these details will not be repeated below.
[0308] 21 is a flow diagram illustrating a method for sharing a user configurable graphic structure using an electronic device according to some embodiments. The method 2100 is performed on a device having a display (e.g., 100, 300 or 500). Some operations of the method 2100 may be combined, some operations may be reordered, and some operations may be omitted.
[0309] As described below, the method 2100 provides an intuitive way to select user-configurable graphic structures. This method reduces the cognitive burden placed on the user to share user-configurable graphic structures, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to share user-configurable graphic structures faster and more efficiently conserves power and increases the time between battery charges.
[0310] In block 2102, the device receives data identifying an operation for generating a user-customized emoji graphic object from emoji graphic objects stored in the device's memory. In block 2104, the device modifies visual aspects of the emoji graphic object based on the operation to generate the user-customized emoji graphic object. In block 2106, the device displays the user-customized emoji graphic object.
[0311] It should be noted that the processing details described above with respect to method 2100 (e.g., FIG. 21) are also applicable in an analogous manner to methods 1600 (FIG. 16A) and 1800-2000 (FIGS. 18-20B) described herein. For example, method 2100 may include one or more of the characteristics of the various methods described above with respect to method 2000. For example, certain aspects related to modifying visual aspects of an emoji graphical object based on an operation illustrated in method 2100 (e.g., at block 2104) may include one or more characteristics of method 2000 (e.g., at block 2006). For the sake of brevity, these details will not be repeated here.
[0312] According to some embodiments, FIG. 22 illustrates an exemplary functional block diagram of an electronic device 2200 configured according to the principles of the various embodiments described. According to some embodiments, the functional blocks of the electronic device 2200 are configured to execute the techniques described above. The functional blocks of the device 2200 are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 22 are optionally combined into sub-blocks or separated to realize the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.
[0313] 22, electronic device 2200 comprises a display unit 2202 configured to display a graphical user interface (optionally configured to receive contact as a touch-sensitive display), a touch-sensitive surface unit 2204 configured to receive contact, a memory unit 2220 configured to store data, a transmission unit 2222 configured to transmit and optionally receive data, and a processing unit 2206 connected to display unit 2202, touch-sensitive surface unit 2204, memory unit 2220, and transmission unit 2222. In some embodiments where display unit 2202 is a touch-sensitive display unit configured to receive contact, display unit 2202 and touch-sensitive surface unit 2204 may be the same unit. In some embodiments, processing unit 2206 comprises a receiving unit 2208, a display enabling unit 2210, a transmission enabling unit 2212, an identification unit 2214, a determining unit 2216, and a detecting unit 2218.
[0314] The processing unit 2206 is configured to enable (e.g., by the display enabling unit 2210) display on a display unit (e.g., the display unit 2202) a graphical representation from the plurality of graphical representations, where the graphical representation from the plurality of graphical representations independently corresponds to a user configurable graphical structure including a plurality of independently configurable graphical elements, where each graphical element of the plurality is selected from a respective set of graphical assets stored in a memory unit (e.g., the memory unit 2220) of the electronic device, and receive (e.g., by the receiving unit 2208) a first user input corresponding to a selection of the graphical representation from the plurality of graphical representations while enabling (e.g., by the display enabling unit 2210) the graphical representation on the display unit (e.g., the display unit 2202). and while enabling (e.g., by the display enabling unit 2210) the user interface for selecting the receiving device on the display unit (e.g., the display unit 2202), receiving (e.g., by the receiving unit 2208) a second user input corresponding to the selection of the receiving device, and enabling (e.g., by the transmission unit 2212) to transmit (e.g., by the transmission enabling unit 2212) data identifying a plurality of independently configurable graphical elements constituting a user configurable graphical structure corresponding to the selected graphical representation after receiving the first user input and the second user input.
[0315] In some embodiments, before enabling data identifying the multiple independently configurable graphical elements to be transmitted by the transmitting unit (e.g., the transmitting unit 2222) to the receiving device (e.g., by the transmission enabling unit 2212), the processing unit 2206 is further configured to identify the receiving device (e.g., by the identification unit 2214) by the transmitting unit (e.g., the transmitting unit 2222) as a device having a memory including a separate set of graphical assets associated with the multiple independently configurable graphical elements that constitute a user-configurable graphical structure corresponding to the selected graphical representation.
[0316] In some embodiments, transmitting data identifying a plurality of independently configurable graphic elements does not include transmitting assets that encode graphic elements of the plurality of independently configurable graphic elements.
[0317] In some embodiments, before enabling data identifying the plurality of independently configurable graphical elements by a transmitting unit (e.g., transmitting unit 2222) to a receiving device (e.g., by transmitting enabling unit 2212), the processing unit 2206 determines (e.g., by determining unit 2216, optionally together with the transmitting unit 2222) whether the receiving device comprises a memory including a separate set of graphical assets associated with the plurality of independently configurable graphical elements constituting the user configurable graphical structure corresponding to the selected graphical representation, and determines whether the receiving device comprises a memory including a separate set of graphical assets associated with the plurality of independently configurable graphical elements. and enabling (e.g., by the transmission enabling unit 2212) data identifying a plurality of independently configurable graphic elements constituting a user-configurable graphic structure corresponding to the selected graphical representation to be transmitted by a sending unit (e.g., the sending unit 2222) to the receiving device (e.g., by the transmission enabling unit 2212) in accordance with a determination that the receiving device does not have a memory including a separate set of graphic assets associated with the plurality of independently configurable graphic elements.
[0318] In some embodiments, transmitting data identifying a plurality of independently configurable graphical elements that constitute a user-configurable graphical structure corresponding to the selected graphical representation does not include transmitting an asset that encodes a graphical element of the plurality of independently configurable graphical elements.
[0319] In some embodiments, two or more graphical representations from the plurality of graphical representations are displayed.
[0320] In some embodiments, making the graphical representation displayable (e.g., by the display enabling unit 2210) on a display unit (e.g., the display unit 2202) is performed before making a user interface for selecting a receiving device displayable (e.g., by the display enabling unit 2210) on the display unit (e.g., the display unit 2202).
[0321] In some embodiments, making the graphical representation displayable (e.g., by the display enabling unit 2210) on a display unit (e.g., the display unit 2202) is performed after making a user interface for selecting a receiving device displayable (e.g., by the display enabling unit 2210) on the display unit (e.g., the display unit 2202).
[0322] In some embodiments, the display unit 2202 is a touch-sensitive display unit, and a first user input corresponding to a selection of one of the graphical representations includes detecting (e.g., by the detection unit 2218) a user's touch on a displayed graphical representation on the touch-sensitive display unit (e.g., the display unit 2202) and detecting (e.g., by the detecting unit 2218) a movement of the user's touch on the touch-sensitive display unit (e.g., the display unit 2202) without interrupting the contact of the user's touch on the touch-sensitive display unit (e.g., the display unit 2202) while continuing to receive the user's touch on the touch-sensitive display unit (e.g., the display unit 2202).
[0323] In some embodiments, the user interface for selecting a receiving device includes an affordance for sharing the selected graphical representation, and processing unit 2206 is further configured to detect (e.g., by detection unit 2218) a touch on a touch-sensitive surface unit (e.g., touch-sensitive surface unit 2204) to the displayed affordance, and in response to detecting the touch, enable (e.g., by display enabling unit 2210) displaying the multiple user contacts on a display unit (e.g., display unit 2202).
[0324] In some embodiments, receiving the second user input corresponding to the selection of the receiving device includes detecting (e.g., by detection unit 2218) a touch on a touch-sensitive surface unit (e.g., touch-sensitive surface unit 2204) for a displayed user contact of the multiple user contacts.
[0325] In some embodiments, the user configurable graphic structure comprises a watch face.
[0326] In some embodiments, the independently configurable graphical elements include configurable aspects of the watch face independently selected from the group consisting of watch complications, color, display density, and watch face features.
[0327] In some embodiments the user configurable graphic structures include emoji graphic objects, hi some embodiments the independently configurable graphic elements include configurable facial features of the emoji graphic objects.
[0328] In some embodiments, data identifying the multiple independently configurable graphical elements is transmitted by a transmission unit (eg, transmission unit 2222) of the electronic device.
[0329] In some embodiments, data identifying the multiple independently configurable graphic elements is transmitted by an external device connected to the electronic device via wireless communication with a transmission unit (e.g., transmission unit 2222) of the electronic device.
[0330] In some embodiments, the data identifying the multiple independently configurable graphical elements is transmitted over one or more protocols selected from the group consisting of near field communication, Wi-Fi, Bluetooth, Bluetooth Low Energy, and cellular protocols.
[0331] The operations described above with reference to FIG. 22 are optionally implemented by the components shown in FIGS. 1A-1B or 18. For example, display operation 1802, receive operation 1804, and display operation 1806 may be performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine 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. Upon detection of each predefined event or sub-event, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handling unit 190 may utilize or call data update unit 176 or object update unit 177 to update application internal state 192. In some embodiments, event handling unit 190 accesses respective GUI update unit 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in Figures 1A, 1B.
[0332] According to some embodiments, FIG. 23 illustrates an exemplary functional block diagram of an electronic device 2300 configured according to the principles of the various embodiments described. According to some embodiments, the functional blocks of the electronic device 2300 are configured to execute the techniques described above. The functional blocks of the device 2300 are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 23 are optionally combined into sub-blocks or separated to realize the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.
[0333] 23 , electronic device 2300 comprises a display unit 2302 configured to display a graphical user interface (optionally configured to receive contact as a touch-sensitive display), a touch-sensitive surface unit 2304 configured to receive contact, a memory unit 2322 configured to store data, a data receiving unit 2324 optionally configured to receive and optionally transmit data (in a particular embodiment, data receiving unit 2324 is configured to scan a QR code as a QR code scanning unit), and a processing unit 2306 connected to the display unit 2302, the touch-sensitive surface unit 2304, the memory unit 2322, and optionally the data receiving unit 2324. In some embodiments in which display unit 2302 is a touch-sensitive display unit configured to receive contact, display unit 2302 and touch-sensitive surface unit 2304 may 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 detecting unit 2314, a selecting unit 2316, a determining unit 2318, and an identifying unit 2320.
[0334] The processing unit 2306 receives (e.g., by the receiving unit 2308) data identifying a plurality of independently configurable graphic elements, each of which is selected from a distinct set of graphic assets stored in a memory unit (e.g., the memory unit 2322) of the electronic device 2300, and which constitutes a user configurable graphic structure, and enables (e.g., by the display enabling unit 2310) on a display unit (e.g., the display unit 2302) a user interface for accepting the user configurable graphic structure, and displays (e.g., by the display enabling unit 2310) a user interface for accepting the user configurable graphic structure. 2302), and in response to receiving the user input, store (e.g., by the storage unit 2312) in a memory unit (e.g., the memory unit 2322) of the electronic device 2300 for later display on the display unit (e.g., the display unit 2302), the user configurable graphical structure including a plurality of independently configurable graphical elements selected from a distinct set of graphical assets stored in the memory unit (e.g., the memory unit 2322).
[0335] In some embodiments, the processing unit 2306 is further configured to enable (e.g., by a display enabling unit 2310) the user configurable graphical structure on a display unit (e.g., the display unit 2302) in response to receiving user input.
[0336] In some embodiments, the received data identifying the plurality of independently configurable graphic elements does not include assets that encode graphic elements of the plurality of independently configurable graphic elements.
[0337] In some embodiments, the processing unit 2306 is further configured to, after storing (e.g., by the storage unit 2312) the user-configurable graphical structure in a memory unit (e.g., the memory unit 2322) of the electronic device 2300, enable (e.g., by the display enabling unit 2310) a graphical representation corresponding to the user-configurable graphical structure on a display unit (e.g., the display unit 2302) and receive (e.g., by the receiving unit 2308) a second user input indicating selection of the user-configurable graphical structure, where enabling (e.g., by the display enabling unit 2310) the user-configurable graphical structure on the display is performed after receiving (e.g., by the receiving unit 2308) the user input indicating selection of the user-configurable graphical structure.
[0338] In some embodiments, the display unit (e.g., the display unit 2302) is a touch-sensitive display unit, and the user interface for accepting the user-configurable graphical structure includes an acceptance affordance, and the processing unit 2306 is further configured to detect (e.g., by the detection unit 2314) a third user input including a contact on the display unit (e.g., the display unit 2302) indicating selection of the acceptance affordance, and the user input indicating acceptance of the user-configurable graphical structure includes a contact on the display unit (e.g., the display unit 2302).
[0339] In some embodiments, the user configurable graphic structure comprises a watch face.
[0340] In some embodiments, the independently configurable graphical elements include configurable aspects of the watch face selected from the group consisting of watch complications, color, display density, and watch face features.
[0341] In some embodiments, the user configurable graphic structures include glyph graphic objects.
[0342] In some embodiments, the independently configurable graphic elements include configurable facial features of emoji graphic objects.
[0343] In some embodiments, the processing unit 2306 is further configured to receive (e.g., by the receiving unit 2308) second data representing an independently configurable sending graphical element, which sending graphical element corresponds to but is not identical to the receiving graphical element from a separate set of graphical assets stored in a memory unit (e.g., memory unit 2322) of the electronic device 2300, concurrently with the data identifying the multiple independently configurable graphical elements, and to select (e.g., by the selection unit 2316) a receiving graphical element corresponding to the sending graphical element from the separate set of graphical assets stored in the memory unit (e.g., memory unit 2322), wherein storing the user configurable graphical structure in the memory unit (e.g., memory unit 2322) of the electronic device 2300 further includes storing the selected receiving graphical element as part of the user configurable graphical structure in the memory unit (e.g., memory unit 2322) of the electronic device 2300.
[0344] In some embodiments, the processing unit 2306 is further configured to receive (e.g., by the receiving unit 2308) third data representing assets corresponding to the independently configurable graphical elements simultaneously with the first data identifying the multiple independently configurable graphical elements, and store (e.g., by the storage unit 2312) the assets corresponding to the independently configurable graphical elements in a memory unit (e.g., the memory unit 2322) of the electronic device 2300, wherein the assets corresponding to the independently configurable graphical elements are stored for later display on a display unit (e.g., the display unit 2302) as part of a user-configurable graphical structure.
[0345] In some embodiments, the processing unit 2306 is further configured to: receive (e.g., by the receiving unit 2308) fourth data identifying assets corresponding to the third party graphical elements simultaneously with the first data identifying the multiple independently configurable graphical elements; determine (e.g., by the determining unit 2318) whether assets corresponding to the third party graphical elements are stored in a memory unit (e.g., memory unit 2322) of the electronic device 2300; identify (e.g., by the identifying unit 2320) the assets corresponding to the third party graphical elements for subsequent display on the display unit (e.g., display unit 2302) as part of the user configurable graphical structure according to a determination that assets corresponding to the third party graphical elements are not stored in the memory unit (e.g., memory unit 2322) of the electronic device 2300; and enable (e.g., by the display enabling unit 2310) on the display unit (e.g., display unit 2302) a user interface providing an option to obtain the assets corresponding to the third party graphical elements according to a determination that assets corresponding to the third party graphical elements are not stored in the memory unit (e.g., memory unit 2322) of the electronic device 2300.
[0346] In some embodiments, enabling (e.g., by a display enabling unit 2310) a user interface for accepting a user-configurable graphic structure on a display unit (e.g., the display unit 2302) includes displaying a graphic representation of the user-configurable graphic structure.
[0347] In some embodiments, the electronic device 2300 further comprises a data receiving unit (e.g., data receiving unit 2324), and the processing unit 2306 is connected to the data receiving unit (e.g., data receiving unit 2324), and the processing unit 2306 is further configured to receive (e.g., by the receiving unit 2308) the first data, the second data, the third data and / or the fourth data by the data receiving unit (e.g., data receiving unit 2324) via one or more protocols selected from the group consisting of near field communication, Wi-Fi, Bluetooth, Bluetooth Low Energy and cellular protocols. In some embodiments, the data is received by the electronic device 2300. In some embodiments, the data is received by an external device connected to the electronic device 2300 via wireless communication (e.g., by the data receiving unit 2324).
[0348] In some embodiments, data identifying a plurality of independently configurable graphical elements is received by a data receiving unit (e.g., data receiving unit 2324) (e.g., by receiving unit 2308) via near-field communication by the data receiving unit 2324 from a second electronic device having a display unit, one or more processing units, and a memory unit.
[0349] In some embodiments, data identifying the multiple independently configurable graphic elements is received by a data receiving unit (e.g., the data receiving unit 2324) (e.g., by the receiving unit 2308) from the near-field communication sticker via near-field communication by the data receiving unit 2324.
[0350] In some embodiments, the electronic device 2300 further comprises a data receiving unit (e.g., the data receiving unit 2324), and the processing unit 2306 is connected to the data receiving unit (e.g., the data receiving unit 2324), and the processing unit 2306 is further configured to receive (e.g., by the receiving unit 2308) data identifying the plurality of independently configurable graphical elements from the QR code (e.g., by the data receiving unit 2324 configured to scan the QR code).
[0351] The operations described above with reference to FIG. 23 are optionally implemented by the components shown in FIGS. 1A-1B or 19. For example, receiving operation 1902, displaying operation 1904, and receiving operation 1906 may be performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine 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. Upon detection of each predefined event or sub-event, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handling unit 190 may utilize or call data update unit 176 or object update unit 177 to update application internal state 192. In some embodiments, event handling unit 190 accesses respective GUI update unit 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in Figures 1A, 1B.
[0352] According to some embodiments, FIG. 24 illustrates an exemplary functional block diagram of an electronic device 2400 configured according to the principles of the various described embodiments. According to some embodiments, the functional blocks of the electronic device 2400 are configured to execute the techniques described above. The functional blocks of the device 2400 are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in FIG. 24 are optionally combined into sub-blocks or separated to realize the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.
[0353] 24 , electronic device 2400 comprises a display unit 2402 configured to display a graphical user interface (optionally configured to receive contact as a touch-sensitive display), a touch-sensitive surface unit 2404 configured to receive contact, optionally a transmission unit 2422 configured to transmit and optionally receive data, a rotatable input unit 2424 optionally configured to detect or receive a rotatable input, and a processing unit 2406 connected to the display unit 2402, the touch-sensitive surface unit 2404, optionally the transmission unit 2422, and optionally the rotatable input unit 2424. In some embodiments in which the display unit 2402 is a touch-sensitive display unit configured to receive contact, the display unit 2402 and the touch-sensitive surface unit 2404 may be the same unit. In some embodiments, the 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 display enabling unit 2420.
[0354] The processing unit 2406 is configured to: enable (e.g., by the display enabling unit 2410) the emoji graphical object on a display unit (e.g., the display unit 2402); receive (e.g., by the receiving unit 2408) a first user input corresponding to a manipulation of the emoji graphical object; and in response to receiving the first user input, enable (e.g., by the modifying unit 2412) a visual aspect of the emoji graphical object on the display unit (e.g., the display unit 2402) to generate a user customized emoji graphical object, the modification of the visual aspect being based on the manipulation; receive (e.g., by the receiving unit 2408) a second user input corresponding to a selection of the user customized emoji graphical object for sharing; and enable (e.g., by the display enabling unit 2410) a user interface for selecting a receiving device on the display unit (e.g., the display unit 2402).
[0355] In some embodiments, the electronic device 2400 further comprises a transmitting unit (e.g., the transmitting unit 2422), which is connected to the processing unit 2406, and the processing unit 2406 receives (e.g., by the receiving unit 2408) a third user input corresponding to the selection of the receiving device while enabling (e.g., by the display enabling unit 2410) a user interface for selecting the receiving device on the display unit (e.g., the display unit 2402), and determines (e.g., by the determining unit 2414) whether the receiving device can regenerate the user-customized emoji graphic object based on the data identifying the operation after receiving the second user input and the third user input, and determines (e.g., by the determining unit 2414) whether the receiving device can regenerate the user-customized emoji graphic object based on the data identifying the operation, and determines whether the receiving device can regenerate the user-customized emoji graphic object based on the data identifying the operation. 24. The method according to claim 24, further comprising: enabling (e.g., by the transmission enabling unit 2416) data identifying an operation for generating the user customized emoji graphical object to the receiving device by a sending unit (e.g., the sending unit 2422) in accordance with a determination that the user customized emoji graphical object can be reproduced based on the data identifying the operation; and enabling (e.g., by the transmission enabling unit 2416) data including an image representing the user customized emoji graphical object to the receiving device by a sending unit (e.g., the sending unit 2422) in accordance with a determination that the receiving device cannot reproduce the user customized emoji graphical object based on the data identifying the operation.
[0356] In some embodiments, the display unit (e.g., the display unit 2402) is a touch-sensitive display unit, and the processing unit 2406 is further configured to detect (e.g., by the detection unit 2418) a touch gesture on the touch-sensitive display unit (e.g., the display unit 2402), and the first user input comprises a touch gesture at a location on the touch-sensitive display unit (e.g., the display unit 2402) associated with a visual aspect of the emoji graphical object.
[0357] In some embodiments, the electronic device 2400 further comprises a rotatable input unit (e.g., rotatable input unit 2424), which is connected to the processing unit 2406, which is further configured to detect (e.g., by the detection unit 2418) a rotatable input by the rotatable input unit (e.g., rotatable input unit 2424), and the first user input comprises a rotation of the rotatable input unit.
[0358] In some embodiments, the emoji graphic objects include animated emoji graphic objects.
[0359] In some embodiments, enabling (e.g., by the enablement unit 2412) the visual aspect of the emoji graphical object on a display unit (e.g., the display unit 2402) includes enabling (e.g., by the animation enablement unit 2420) an animation of the change in the visual aspect of the emoji graphical object on the display unit (e.g., the display unit 2402).
[0360] In some embodiments, data identifying operations for generating a user-customized emoji graphical object and / or data including an image representing the user-customized emoji graphical object is transmitted by a transmission unit (e.g., transmission unit 2422) via one or more protocols selected from the group consisting of near field communication, Wi-Fi, Bluetooth, Bluetooth Low Energy, and cellular protocols.
[0361] The operations described above with reference to FIG. 24 are optionally implemented by the components shown in FIGS. 1A-1B or 20A-20B. For example, display operation 2002, receive operation 2004, and modify operation 2006 may be performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine 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. Upon detection of each predefined event or sub-event, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handling unit 190 may utilize or call data update unit 176 or object update unit 177 to update application internal state 192. In some embodiments, event handling unit 190 accesses respective GUI update unit 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in Figures 1A, 1B.
[0362] According to some embodiments, FIG. 25 illustrates an exemplary functional block diagram of an electronic device 2500 configured according to the principles of the various described embodiments. According to some embodiments, the functional blocks of the electronic device 2500 are configured to execute the techniques described above. The functional blocks of the device 2500 are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in FIG. 25 are optionally combined into sub-blocks or separated to realize the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or separation or further definition of the functional blocks described herein.
[0363] 25 , electronic device 2500 comprises a display unit 2502 configured to display a graphical user interface, a touch-sensitive surface unit 2504 configured to receive contact, a memory unit 2514 configured to store data, optionally a data receiving unit 2516 configured to receive and optionally transmit data (in a particular embodiment, data receiving unit 2516 is configured to scan a QR code as a QR code scanning unit), and a processing unit 2506 connected to display unit 2502, touch-sensitive surface unit 2504, memory unit 2514, and optionally data receiving unit 2516. In some embodiments where display unit 2502 is a touch-sensitive display unit configured to receive contact, display unit 2502 and touch-sensitive surface unit 2504 may be the same unit. In some embodiments, processing unit 2506 comprises a receiving unit 2508, a display enabling unit 2510, and a modifying unit 2512.
[0364] The processing unit 2506 is configured to receive (e.g., via the receiving unit 2508) data identifying an operation for generating a user customized emoji graphical object from emoji graphical objects stored in a memory unit (e.g., the memory unit 2514) of the device, modify (e.g., via the modifying unit 2512) a visual aspect of the emoji graphical object on a display unit (e.g., the display unit 2502) based on the operation for generating the user customized emoji graphical object, and display (e.g., via the display enabling unit 2510) the user customized emoji graphical object on the display unit (e.g., the display unit 2502).
[0365] In some embodiments, the electronic device 2500 further comprises a data receiving unit (e.g., data receiving unit 2516), which is connected to the processing unit 2506, which is further configured to receive (e.g., by the receiving unit 2508) data identifying the operation by the data receiving unit (e.g., data receiving unit 2516) via one or more protocols selected from the group consisting of near field communication, Wi-Fi, Bluetooth, Bluetooth Low Energy, and cellular protocols. In some embodiments, the data is received by the electronic device 2500. In some embodiments, the data is received by an external device connected to the electronic device 2500 via wireless communication (e.g., by the data receiving unit 2516).
[0366] 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) via near-field communication from a second electronic device having a display, one or more processors, and a memory.
[0367] In some embodiments, data identifying the multiple independently configurable graphical elements is received by a data receiving unit (eg, data receiving unit 2516) via near field communication from a near field communication sticker.
[0368] In some embodiments, the electronic device 2500 further comprises a data receiving unit (e.g., the data receiving unit 2516), which is connected to the processing unit 2506, and which is further configured to receive (e.g., by the receiving unit 2508) data identifying the plurality of independently configurable graphical elements from the QR code (e.g., by the data receiving unit 2324 configured to scan the QR code) by the data receiving unit (e.g., the data receiving unit 2516).
[0369] The operations described above with reference to FIG. 25 are optionally implemented by the components shown in FIGS. 1A-1B or 21. For example, receiving operation 2102, modifying operation 2104, and displaying operation 2106 may be performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine 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. Upon detection of each predefined event or sub-event, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handling unit 190 may utilize or call data update unit 176 or object update unit 177 to update application internal state 192. In some embodiments, event handling unit 190 accesses respective GUI update unit 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in Figures 1A, 1B.
[0370] The context-specific user interfaces described and illustrated herein provide a myriad of elements and features that can be optionally customized by a user depending on the particular context. As described, these customizable elements enhance the user interface, making it more personal and interactive for the user.
[0371] At the same time, users also want devices that are easy and intuitive to use. Providing numerous features will only frustrate users if it is not clear how to edit these features in the user interface. Below, a user interface for editing a context-specific user interface is described that provides an easy and intuitive way to aid user customization. Any of the techniques described below for editing and / or selecting a context-specific user interface may be used in any of the techniques for sharing user-configurable graphic structures described above.
[0372] It is important to understand that although particular embodiments such as a clock face may be described with respect to particular editing features, these editing features may also be applied to one or more of the other user interfaces described herein. For example, the methods 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 the clock face (e.g., a photo or image of a landscape). Similarly, regardless of whether an embodiment of a clock face with a particular complication is described herein, the methods for customizing complications may optionally be used to add and / or edit various complications on any clock face. Those skilled in the art will recognize that the methods described below provide user interface functionality that may be applied to various context-specific user interface elements and aspects in an infinite number of combinations, each possible combination of which may not be made independently.
[0373] It should be further understood that reference to a "clock face" with respect to editing and / or selecting a clock face as described herein is not limited in any way to the traditional notion of a "clock face" (e.g., a circular display or representation of a digital clock having a time display and one or more hands that indicate the time). Any context-specific user interface with a display of time as described herein may properly be referred to as a clock face.
[0374] Attention is now directed to Fig. 26, which illustrates an exemplary context-specific user interface that may optionally be operational on a device 2600. Optionally, in some embodiments, the device 2600 is device 100, 300 or 500. The electronic device has a touch-sensitive display (e.g., touch screen 504) configured to detect the intensity of a contact. Up until now, exemplary components for detecting the intensity of a contact as well as techniques for such detection have been addressed and described in more detail.
[0375] The device 2600 displays a user interface screen 2602 that includes a clock face 2604. The clock face 2604 also includes a complication 2606 that displays a collection of information from a weather application (e.g., current weather conditions). In this example, a user seeks to change multiple aspects of the clock face 2604. Specifically, the user decides to change the time display on the clock face 2604 and the complication 2606.
[0376] A user contacts the touch-sensitive display of device 2600 with a touch 2608. The characteristic intensity of touch 2608 exceeds an intensity threshold that prompts device 2600 to transition to a clock face edit mode shown in screen 2610. The clock face edit mode allows the user to edit one or more aspects of the clock face. Device 2600 indicates that the user has transitioned to the clock face edit mode by visually highlighting the clock face. In this example, screen 2610 shows a smaller version (e.g., 2612) of the display of screen 2602, which includes a reduced-size clock face 2614 based on clock face 2604. A reduced-size complication 2616 based on complication 2606 is also displayed. This display indicates to the user that the user has transitioned to the clock face edit mode while showing the user what the edited clock face will look like on the display. In some embodiments, the user may select a different clock face by swiping the displayed screen 2610, as described in more detail below with reference to Figures 27A-27C.
[0377] Screen 2610 also displays paging affordances 2618. The paging affordances may indicate which of the sequence of options the user is viewing, as well as the number of available options in the sequence. In a clock face edit mode, the paging affordances may indicate which editable aspect of the clock face the user is editing, where in the sequence of editable aspects this aspect is, and the number of all editable aspects in the sequence (as described below, if clock face selection is available on this screen, paging affordance 2618 can optionally indicate the currently selected clock face of the sequence of selectable clock faces and / or clock face options). The paging affordances may be advantageous for a user in a clock face edit mode to navigate the interface and explore all of the editable options available in each type of clock face.
[0378] A user selects the displayed clock face 2612 for editing by touching it through a touch 2620. In response to detecting the touch 2620, the device 2600 visually indicates the element of the clock face for editing. As shown in screen 2630, the time display has been selected for editing, as indicated by the outline 2634 around the location of the time display. The other elements of the clock face remain intact, as indicated by the hour and minute hands 2632 and the complication 2636.
[0379] In this example, three aspects of the clock face are available for the user to edit. This is indicated by the paging affordance 2638. The first editable aspect is the multiple time displays (e.g., the number and / or appearance of the multiple time displays). This is conveyed to the user by the paging affordance 2638. By seeing the outline 2634 in conjunction with the paging affordance 2638, the user realizes that the time displays are the first of the three editable aspects of this clock face.
[0380] The 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 the screen 2630, the user can optionally select different options for the time display (which are currently editable as outline 2634 indicates) through movement 2642. Advantageously, using a rotatable input mechanism (e.g., rather than touch interaction) to cycle through the editing options frees up touch interaction with the screen to provide other functions instead, thereby providing more room for interaction with the device. Using a rotatable input mechanism is also useful in cases where small elements of the display are edited, since fine-scale touch gestures on a reduced-size display can be difficult for users with large fingers.
[0381] Also displayed on screen 2630 is a position indicator 2644, shown as nine vertical lines. The position indicator 2644 is an indicator of a current location along a series of positions. It may be used, for example, in combination with a rotatable input mechanism 2640. On screen 2630, the position indicator 2644 indicates to the user (e.g., by a line 2646) the location of the currently selected option among a series of all selectable options.
[0382] Upon detecting movement 2642, device 2600 displays screen 2650. In response to detecting movement 2642, device 2600 edits the time display, in this case by increasing the number of displays and adding numbers, as indicated by display 2652, still highlighted by outline 2634. The other elements of the clock face, i.e., hour and minute hands 2632 and complication 2636, remain the same. Position indicator 2644, highlighted by line 2654 within the position of the series of time display options, has been updated to indicate the position of this time display option.
[0383] As paging affordance 2638 indicates, the time display is the first editable aspect of this clock face in the sequence of editable aspects. The user can optionally select a second editable aspect by swiping (e.g., swipe 2656) on the touch-sensitive display. In response to detecting the swipe, device 2600 displays screen 2660. Screen 2660 includes a clock face 2662, here a 12-hour display including four numeric displays, as indicated by time display 2652. Note that these time displays are the time displays selected by the user on the previous screen (see display 2652). Paging affordance 2638 is now updated to indicate that the complication being edited is the second editable aspect of the sequence of editable aspects of this clock face.
[0384] On screen 2660, complication 2636 is currently editable, as indicated to the user by outline 2664. Currently, complication 2636 displays current weather conditions using information from a weather application. This option is option 3 in a series of options, as indicated by updated position indicator 2644 and line 2666. Position indicator 2644 informs the user that the currently selected feature (i.e., complication 2636) is editable via a rotatable input mechanism.
[0385] Although screen 2660 shows a single complication, it should be understood that multiple complications may be displayed. When multiple complications are displayed, the user can 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 a rotatable input mechanism can optionally be used to edit the complication or element at the selected location. This concept is described in more detail below with reference to FIG. 28C.
[0386] Note that the location indicator 2644 is displayed on the screens 2630, 2650, and 2660 even though the available options that the indicators indicate may differ. The location indicator may be a generic indicator of options available through a particular type of user input, such as movement of a rotatable input mechanism. Rather than displaying a location within a particular context, such as editing a particular feature or displaying data from a particular application, the location indicator indicates user locations available through a type of user input, regardless of the particular context in which the user input is used. This better indicates to the user which user input to use for this function. In some embodiments, the location indicator is displayed on the display in a location adjacent to the user input that uses the location indicator (e.g., next to the rotatable input mechanism to indicate that the location is accessible by moving the rotatable input mechanism).
[0387] A position indicator (e.g., position indicator 2644) may optionally be responsive to one or more inputs. For example, as shown in FIG. 26, position indicator 2644 may optionally indicate available options through movement of a rotatable input mechanism. As described above, a user may optionally scroll through available options using movement of a rotatable input mechanism. However, a user may also seek to scroll through available options using a second type of input, such as a contact (e.g., a swipe) on the touch-sensitive display. In some embodiments, a user viewing screen 2630 swipes the touch-sensitive display in a different direction than the swipe used to move aside the visual representation of a first element of the clock face for editing and visually display a second element of the clock face for editing (e.g., a swipe downwards on the display). For example, to scroll through the available options shown in FIG. 26, a user can optionally swipe in a substantially horizontal direction (e.g., swipe 2656) to scroll through the editable aspects (e.g., a swipe moving from left to right scrolls the array of editable options in one direction, and a swipe moving from right to left scrolls the array of editable options in a different direction, as indicated by updating paging affordance 2638). In this example, a user can optionally swipe in a substantially vertical direction (e.g., orthogonal to swipe 2656) to scroll through the available options (e.g., a swipe moving downwards scrolls the array of available options in one direction, and a swipe moving upwards scrolls the array of available options in a different direction, as indicated by updating position indicator 2644). In some embodiments, a user can optionally swipe the display at or near the displayed position indicator to scroll through the array of available options.
[0388] In some embodiments, upon detecting a swipe, the device updates a position indicator (e.g., a position indicator along a series of positions indicating the position of a currently selected option for an editable aspect along a series of selectable options for an editable aspect of a visually represented element of a clock face) to indicate a second position along the series. In some embodiments, upon detecting a swipe, the device can, optionally, edit an aspect of a visually represented element of a clock face. In some embodiments, the device visually accentuates 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 can, optionally, display the position indicator in a first color (e.g., green), and in some embodiments, in response to detecting a swipe, the device can, optionally, display the position indicator in a second color different from the first color (e.g., white).
[0389] Optionally, in the clock face edit mode shown in screen 2660, the user can cycle through different types of information from a weather application or change the application from which the information was drawn. In this case, the user moves the rotatable input mechanism by 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 lines 2672 in position indicator 2644. Note that paging affordance 2638 still indicates a second position because the user is still engaged in editing the complication, i.e., the second editable aspect of this clock face. A determination that the characteristic intensity of the contact exceeds a predetermined threshold can optionally be used to distinguish the contact from other gestures, such as tapping or beginning a swipe.
[0390] Upon finishing editing the clock face, the user optionally exits the clock face selection mode, and the edited clock face is displayed on the display. In some embodiments, this may be done optionally by detecting a user touch of a characteristic intensity above an intensity threshold. Pursuant to a determination that the characteristic intensity exceeds a predefined threshold, the device may optionally exit the clock face editing mode and cease visually highlighting the clock face displayed for editing (e.g., by increasing the size of the displayed clock face). In some embodiments, pursuant to a determination that the characteristic intensity exceeds a predefined threshold, the device may optionally save the edited clock face as a new clock face accessible through the clock face selection mode (described below). Pursuant to a determination that the characteristic intensity does not exceed an intensity threshold (if the clock face includes an affordance representing an application, and the affordance representing the application is touched), the device may optionally launch the application represented by the affordance.
[0391] In some embodiments, the device has a rotatable, depressable input mechanism (e.g., 506), and in response to detecting a press of the rotatable, depressable input mechanism, the device can optionally exit the clock face editing mode, as described above, display the currently edited clock face, and / or save the currently edited clock face for later user selection.
[0392] While FIG. 26 illustrates an exemplary embodiment of a clock face editing mode, some other potential embodiments are possible within the scope of the techniques described herein. For example, in FIG. 26, an element is indicated for editing by visually highlighting an outline around the element (e.g., by displaying a visible outline or by highlighting an existing outline that is already visible around the element), as illustrated 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 for editing itself can optionally be animated to show rhythmic expansion and contraction. In some embodiments, the element can optionally be animated to show blinking. In some embodiments, the color of the element can optionally be changed (e.g., a change in color and / or brightness). Any or all of these indications can be used to visually indicate which elements are currently editable.
[0393] As shown in Figure 26, movement of the rotatable input mechanism can optionally be utilized as user input to edit aspects of the element indicated for editing. In some embodiments, when an outline is used to indicate the currently editable element, the outline disappears when the rotatable input mechanism is being moved and reappears when movement stops. In this way, the user can see how the edited element will look overall on the watch face without any possibility of being obstructed or distracted by the outline.
[0394] In some embodiments, in response to detecting motion, the device can optionally change the color of an element. This optionally includes, for example, changing the color of the background of the clock face (e.g., replacing the color if the clock face background is a particular color or selecting a different image if the clock face background includes an image), changing the color of some or all of the second hand (if included on the clock face), changing the color of the hour and / or minute indicators, and / or changing the color of the numbers or colons in the display of a representation of a digital clock. Because the second hand is a smaller element than the background (and thus may be more difficult for a user to perceive), changing the color of the second hand may optionally include an animated color change. For example, the second hand may optionally first change color at a particular point (e.g., a dot shown along the second hand) and then propagate this color change in either direction along the second hand. Alternatively, the color change may optionally start at the origin of the clock face and propagate outwards. Animating color changes, especially changes to small elements of the clock face, can be useful to draw the user's attention to the color change.
[0395] 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 show a first set of information obtained by the application (e.g., application data; for example, if the application is a weather application, the set of information can optionally include forecasted weather conditions such as the current temperature), and upon editing, the complication can optionally be updated to show a second set of information from the same application (e.g., if the application is a weather application, the display can optionally be edited from showing the current temperature to showing the current precipitation). In other embodiments, upon editing, the complication can optionally be updated to show a set of information from a different application (e.g., if the application is a weather application, the display can optionally be edited from showing the weather to showing data from a calendar application, as complication 2636 shows).
[0396] In other embodiments, in response to detecting movement of the rotatable input mechanism, the device changes aspects of the display density. For example, as shown in FIG. 26, this can optionally be used to edit the number of display divisions of time (e.g., the number of displayed hour and / or minute displays, such as numbers 1-12, or other markings / symbols placed at the time 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 display divisions of time. As shown on screens 2630, 2650, and 2660, this can optionally include changing the number of display divisions (e.g., from 4 to 12) and / or changing the number of numeric / symbolic time displays (e.g., from 0 to 4).
[0397] In some embodiments, as shown in FIG. 26, an indicator of a position along the series of positions (e.g., position indicator 2644) may optionally be displayed. In response to detecting movement of the rotatable input mechanism, the device may optionally update the indicator from indicating a first position along the series of positions to indicating a second position along the series of positions. In some embodiments, the indicated position reflects a currently selected option for the currently editable aspect along a series of selectable options for the currently 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 enhancing the user's association between the indicator and the input. In some embodiments, if the currently editable aspect is color, the device may optionally display a position indicator that includes a series of colors such that a currently selected color option coordinates with the color of the position currently indicated by the position indicator (e.g., the colors may be similar or the same color). In some embodiments, the number of positions displayed in the position indicator increases or decreases depending on the number of options for the currently selected editable aspect.
[0398] In some embodiments, upon reaching the final position indicated by the position indicator, the device may optionally provide an indication to the user that the last option has been displayed. For example, the device may optionally show a dimming of the selected element, an outline around the selected element, and one or more of the position indicator. In some embodiments, the device may optionally animate the selected element, an outline around the selected element, and one or more of the position indicator to expand and contract (e.g., like a rubber band). In some embodiments, the device may optionally animate the selected element, an outline around the selected element, and one or more of the position indicator to move across the display (e.g., by bouncing). These features may be advantageous to provide the user with an indication that the last option in a series of options has been reached.
[0399] In some embodiments, a user selects an element on the clock face for editing by touching a touch-sensitive display at the location of the displayed element. In other embodiments, an element is selected by swiping the touch-sensitive display or by rotating a rotatable input mechanism. Regardless of the input, selecting a second element for editing may optionally include removing a visual indication from the previous element and visually indicating the second element for editing (the visually indicating may optionally include any or all of the techniques described above).
[0400] In some embodiments, where an element selected for editing is indicated by an outline around the element, changing the element for editing may optionally include moving the outline on the screen away from the first element, and / or moving the visible screen continuously across the screen towards the second element until a outline appears around the second element.
[0401] 26, the clock face edit mode allows a user to vary multiple editable aspects of the clock faces described herein. In some embodiments, in response to detecting a swipe (e.g., swipe 2656) on the touch-sensitive display, the device can optionally select a second element of the clock face for editing, and then in response to detecting another user input (e.g., movement of a rotatable input mechanism), can optionally edit the second element. This allows a user to cycle through different editable aspects of the displayed clock face, such as color, number and / or type of complications, and display density.
[0402] The user may also wish to match the color of the displayed clock face to the image. In some embodiments, the device receives user input, and in response to receiving the user input, the device transitions to a color selection mode. In the color selection mode, the device may optionally receive data representing an image, and in response to receiving the data, the device may optionally select a color of the image and update the displayed clock face by changing the color on the clock face (e.g., the clock face background, the hour and / or minute indicators, and / or the second hand) to match the color of the image. In some embodiments, the selected color is the most prevalent color in the image. This allows the user to further customize the clock face to display a specified color. For example, if the user is wearing a blue shirt, the user may take a picture of the blue shirt and match the color of the clock face to the shirt. In some embodiments, data representing the image may optionally be obtained from images stored on the device, images stored on an external device in wireless communication with the device (e.g., via Wi-Fi, Bluetooth™, near field communication ("NFC"), or any of the other cellular and / or other wireless communication techniques described herein), or images captured using a camera on the device, such as camera module 143 or optical sensor 164.
[0403] Having described various context-specific user interfaces and how users can edit them, attention is now directed to how a context-specific user interface is selected, as shown in FIGS. 27A-C. A myriad of individual context-specific user interfaces are possible using the techniques described herein. A user may wish to select a particular clock face (e.g., from a saved library of clock faces) or create a new clock face depending on the particular context. For example, a user may wish to display a particular clock face during work hours to project a professional appearance, but change the clock face during the weekend to reflect an interest (such as astronomy, athletics, or photography). In one context, a user may wish to quickly access a stopwatch, while in another context, the user may wish to show the time during the day.
[0404] 27A illustrates an exemplary context-specific user interface that may be operational on a device 2700. In some embodiments, the device 2700 may be device 100, 300, or 500. The electronic device has a touch-sensitive display (e.g., touch screen 504) configured to detect the intensity of a contact. Exemplary components for detecting the intensity of a contact as well as techniques for such detection have been addressed and described in more detail above.
[0405] Device 2700 is displaying a user interface screen 2702 that includes a clock face 2704. In this example, a user wishes to switch from clock face 2704 to a different clock face. The user contacts the touch-sensitive display of device 2700 with a touch 2706. The characteristic intensity of touch 2706 exceeds an intensity threshold that prompts device 2700 to transition to a clock face selection mode, shown in screen 2710. The clock face selection mode allows a user to select a clock face.
[0406] Device 2700 indicates that the user has entered a clock face selection mode by visually highlighting the clock face. This is shown on screen 2710. Screen 2710 visually highlights that the user has entered a clock face se...
Claims
1. 1. A method, in an electronic device comprising a display, one or more processors, and a memory storing a discrete set of graphical assets, comprising: Displaying a watch face or a representation of the watch face, the watch face including a time display and one or more complications including graphical features of the watch face that indicate information other than the hours and minutes of the time; receiving a first user input corresponding to a request to share data representing the watch face; In response to receiving the first user input, simultaneously displaying a sharing affordance and a customization affordance for configuring the watch face; before transmitting data representing said watch face, displaying a user interface for selecting a recipient; receiving a second user input corresponding to the recipient selection; receiving a third user input corresponding to the displayed shared affordance; transmitting the data representing the clock face to the recipient in response to receiving the third user input; and Including, The transmitted data includes first information representing a first graphical element of the watch face, the first information representing the first graphical element including: i) data identifying a first graphical asset from the distinct set of graphical assets; and ii) data indicating an arrangement of the first graphical asset on the watch face; The method of claim 1, wherein the transmitted data further includes second information representing a second graphical element of the watch face, the second information representing the second graphical element including: i) data identifying a second graphical asset from the distinct set of graphical assets; and ii) data indicating an arrangement of the second graphical asset on the watch face.
2. The transmitted data further includes third information representing non-local graphic elements of the watch face, the third information representing the non-local graphic elements including: i) data identifying non-local graphic assets among the non-local graphic elements; ii) data indicating an arrangement of the non-local graphic assets on the watch face; and iii) a preview image representing the non-local graphic assets.
2. The method of claim 1, wherein the non-local graphical assets are not selected from the discrete set of graphical assets stored in the memory of the electronic device, and the non-local graphical elements are not programmed or provided as defaults on the electronic device.
3. The method of claim 2 , wherein the non-local graphic element represents an application obtained for a recipient, and the transmitted data further includes information for the recipient to obtain the application.
4. The method of claim 1 , wherein the watch face further comprises a multimedia object, and the transmitted data further comprises the multimedia object.
5. 5. The method of claim 2, wherein the transmitted data further comprises: i) a text string; and ii) at least first and second text elements, the first and second text elements together representing the text string, the first and second text elements being in different languages.
6. the display is a touch-sensitive display; The method of claim 1 , wherein the first user input comprises a swipe on the displayed watch face or on a displayed representation of the watch face.
7. The method of claim 1 , wherein the user interface for selecting the recipient includes the sharing affordance.
8. The method of claim 1 , wherein the display is a touch-sensitive display and the third user input comprises a contact on the touch-sensitive display at the shared affordance.
9. the representation of the watch face is displayed prior to receiving the first user input; 9. The method of claim 1, further comprising displaying together with the representation of the dial at least a part of a second representation of a second dial different from the dial.
10. The method of claim 9 , wherein the second representation is displayed in a partial view.
11. 11. The method of any one of claims 1 to 10, wherein the data is transmitted via an email message, a text message, a website, or an external server.
12. The method of any one of claims 1 to 11, wherein the data is transmitted by the electronic device.
13. The method of claim 1 , wherein the data is transmitted by an external device coupled to the electronic device via wireless communication.
14. A computer program product for causing a computer to carry out the method according to any one of claims 1 to 13.
15. A display and A memory storing a computer program according to claim 14; one or more processors capable of executing the computer programs stored in the memory; 1. An electronic device comprising:
16. A display and Means for carrying out the method according to any one of claims 1 to 13; 1. An electronic device comprising:
Citation Information
Patent Citations
Image management system
JP2009147889A
Methods for design of consumer products
JP2014112404A
Communication terminal and information transmission method
JP2014216868A
Apparatus and method for arranging multiple icons on a screen
JP2016508631A
Emotion based messaging system and statistical research tool
US20120047447A1