Devices, methods, and graphical user interfaces for navigating between user interfaces and displaying a taskbar
By implementing dynamic gestures and visual feedback methods on touch-sensitive surfaces and display devices, the inefficiencies of user interface navigation and taskbar display are solved, resulting in more efficient interface navigation and extended battery life.
Patent Information
- Application Number
- CN202110465095.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-06-11
- Filing Date
- 2018-09-29
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2039-05-19
AI Technical Summary
Existing methods for navigating between user interfaces and displaying the taskbar are cumbersome and inefficient, especially wasting time and power on battery-powered devices.
By implementing dynamically adjusted gestures and visual feedback methods on touch-sensitive surfaces and display devices, users can navigate between user interfaces with a single gesture and have a taskbar displayed along the edge of the device, reducing the amount and nature of input and providing real-time visual feedback to improve accuracy and efficiency.
It improves the accuracy and efficiency of user interface navigation, saves time and battery life, especially on large devices where users can access the application taskbar without repositioning their hands, reducing power consumption.
Smart Images

Figure CN113220177B_ABST
Abstract
Description
[0001] This application is a divisional of Chinese Patent Application No. 201811166251.1, filed on September 29, 2018, entitled “Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces and Displaying a Dock,” which claims priority under 35 U.S.C. § 119 from U.S. Provisional Patent Application No. 62 / 735, 1 10, filed September 29, 2017, entitled “Devices, Methods, and Graphical User Interfaces for Navigating Between User Interfaces and Displaying a Dock,” the content of which is relied upon and incorporated by reference in its entirety. TECHNICAL FIELD
[0002] This document relates generally to electronic devices with touch-sensitive surfaces, including but not limited to electronic devices with touch-sensitive surfaces for navigating between user interfaces and displaying a dock. BACKGROUND
[0003] The use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has increased significantly in recent years. Exemplary touch-sensitive surfaces include touch pads and touch screen displays. Such surfaces are widely used for manipulating user interfaces and objects therein on displays. Exemplary user interface objects include digital images, video, text, icons, and control elements such as buttons, and other graphics.
[0004] Exemplary manipulations include: adjusting the position and / or size of one or more user interface objects, activating a button represented by a user interface object or opening a file / application represented by a user interface object, associating metadata with one or more user interface objects, navigating between user interfaces, or otherwise manipulating user interfaces. Exemplary user interface objects include digital images, video, text, icons, control elements such as buttons, and other graphics. In some situations, users will need to perform such manipulations on user interface objects in a file management program (e.g., Finder from Apple Inc. of Cupertino, California); an image management application (e.g., Aperture, iPhoto, Photos from Apple Inc. of Cupertino, California); a digital content (e.g., video and music) management application (e.g., iTunes from Apple Inc. of Cupertino, California); a drawing application; a presentation application (e.g., Keynote from Apple Inc. of Cupertino, California); a word processing application (e.g., Pages from Apple Inc. of Cupertino, California); or a spreadsheet application (e.g., Numbers from Apple Inc. of Cupertino, California).
[0005] However, the methods used to perform these manipulations are cumbersome and inefficient. For example, using a series of mouse-based inputs to close a first user interface, navigating through multiple pages of a home screen to identify a second user interface, and then selecting the second user interface for display is tedious and prone to error. Moreover, these methods take longer than necessary, wasting energy. This latter consideration is particularly important in battery-operated devices. SUMMARY
[0006] Accordingly, there is a need for electronic devices with faster, more efficient methods and interfaces for navigating between user interfaces and displaying a taskbar. Such methods and interfaces optionally complement or replace conventional methods for navigating between user interfaces and displaying a taskbar. Such methods and interfaces reduce the number, extent, and / or nature of the inputs from a user, and produce a more efficient human-machine interface. For battery-operated devices, such methods and interfaces conserve power and increase the time between battery charges.
[0007] The above-mentioned deficiencies and other problems associated with user interfaces of electronic devices with touch-sensitive surfaces are reduced or eliminated by the disclosed devices. 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 is a personal electronic device (e.g., a wearable electronic device such as a watch). In some embodiments, the device has a trackpad. 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 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 various functions. In some embodiments, the user interacts with the GUI primarily through stylus and / or finger contacts and gestures on the touch-sensitive surface. In some embodiments, these functions optionally include image editing, drawing, presenting, word processing, spreadsheet making, gaming, telephoning, video conferencing, e-mailing, instant messaging, workout support, digital photographing, digital videoing, web browsing, digital music playing, note taking, and / or digital video playing. Executable instructions for performing these functions are, optionally, included in a non-transitory computer-readable storage medium or other computer program product, which is configured for execution by one or more processors.
[0008] In accordance with some embodiments, a method is performed at a device with a touch-sensitive display. The method includes displaying a first user interface on the display, where the first user interface is different from a home screen user interface that includes a plurality of application icons corresponding to different ones of a plurality of applications installed on the device. The method further includes while displaying the first user interface on the display, detecting a first input by a first contact on a first edge of the display. The method further includes: in response to detecting the first input on the edge of the display, and while the first contact continues to be detected on the first edge of the display; in accordance with a determination that the first input is detected on a first portion of the first edge of the display and that the first input satisfies taskbar display criteria, displaying a taskbar with a plurality of application icons at a first location along the first edge of the display; and, in accordance with a determination that the first input is detected on a second portion of the first edge of the display that is different from the first portion of the first edge of the display and that the first input satisfies the taskbar display criteria, displaying the taskbar at a second location along the first edge of the display that is selected to include the second portion of the first edge of the display, where the second location is different from the first location.
[0009] In accordance with some embodiments, a method is performed at a device with a touch-sensitive surface and a display. The method includes displaying a first application user interface on a first portion of the display while displaying a second application user interface on a second portion of the display that is different from the first portion. The method further includes, while simultaneously displaying the first application user interface on the first portion of the display and the second application user interface on the second portion of the display, detecting a first input by a first contact that includes movement in a first direction. The method further includes: in response to detecting the first input, in accordance with a determination that the first input satisfies a first criterion, wherein the first criterion includes that the first input includes more than a first threshold amount of movement in the first direction to satisfy a requirement of the first criterion, replacing the display of the first user interface and the second user interface with a full-screen home screen; and, in accordance with a determination that the first input satisfies a second criterion, wherein the second criterion includes that the first input includes less than the first threshold amount of movement in the first direction to satisfy a requirement of the second criterion, and a determination that the first input began in a first edge region of the display that corresponds to the first application user interface, replacing the display of the first application user interface with a first replacement user interface while maintaining the display of the second application user interface in the second portion of the display; and, in accordance with a determination that the first input satisfies the second criterion, and a determination that the first input began in a second edge region of the display that corresponds to the second application user interface, replacing the display of the second application user interface with a second replacement user interface while maintaining the display of the first application user interface in the first portion of the display.
[0010] In accordance with some embodiments, a method is performed at a device with a touch- sensitive surface and a display. The method includes displaying, on the display, a user interface of a first application of a plurality of applications installed on the device. The method also includes detecting a gesture on the touch-sensitive surface, where detecting the gesture includes detecting an initial portion of the gesture while displaying the user interface of the first application on the display, and detecting the gesture includes concurrently detecting a plurality of contacts on the touch-sensitive surface and detecting movement of the plurality of contacts. The method further includes, in response to detecting the gesture on the touch-sensitive surface: in accordance with a determination that the gesture includes two concurrently detected contacts, performing an operation in the first application based on movement of the two concurrently detected contacts during the gesture; in accordance with a determination that the gesture includes more than a predetermined number of concurrently detected contacts, the predetermined number being greater than two, and movement of the concurrently detected contacts during the gesture satisfies a first criterion, switching away from displaying the user interface of the first application to display a user interface of a second application of the plurality of applications that is different from the first application; and in accordance with a determination that the gesture includes more than the predetermined number of concurrently detected contacts, and movement of the concurrently detected contacts during the gesture satisfies a second criterion that is different from the first criterion, switching away from displaying the user interface of the first application to display a user interface that includes respective application icons for opening respective applications of the plurality of applications installed on the device.
[0011] According to some embodiments, an electronic device includes: a display; a touch-sensitive surface; optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface; optionally one or more tactile output generators; one or more processors; and memory storing one or more programs; the one or more programs configured to be executed by the one or more processors, and the one or more programs including instructions for performing or causing performance of the operations of any of the methods described herein. According to some embodiments, a computer-readable storage medium has stored therein instructions which, when executed by an electronic device with a display, a touch-sensitive surface, optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface, and optionally one or more tactile output generators, cause the device to perform the operations of any of the methods described herein or cause the operations of any of the methods described herein to be performed. According to some embodiments, a graphical user interface displayed on an electronic device with a display, a touch-sensitive surface, optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface, optionally one or more tactile output generators, memory, and one or more processors to execute one or more programs stored in the memory includes one or more elements displayed in any of the methods described herein that are updated in response to input, as described in any of the methods described herein. According to some embodiments, an electronic device includes: a display, a touch-sensitive surface, optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface, and optionally one or more tactile output generators. And means for performing or causing performance of the operations of any of the methods described herein. According to some embodiments, an information processing apparatus, for use in an electronic device with a display, a touch-sensitive surface, optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface, and optionally one or more tactile output generators, includes means for performing or causing performance of the operations of any of the methods described herein.
[0012] Thus, there are provided improved methods and interfaces for navigating between user interfaces and displaying a dock on electronic devices with displays, touch-sensitive surfaces, optionally one or more sensors to detect intensity of contacts with the touch-sensitive surface, optionally one or more tactile output generators, optionally one or more device orientation sensors, and optionally audio systems, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces can complement or replace conventional methods for navigating between user interfaces and displaying a dock. BRIEF DESCRIPTION OF DRAWINGS
[0013] For a better understanding of various described implementations, reference should be made to the following detailed description in conjunction with the accompanying drawings in which like reference numerals refer to corresponding parts throughout the figures. The following detailed description is exemplary in nature and is not intended to limit the scope, applicability, or configuration of various described implementations. Rather, the following description provides just the various described implementations and the following detailed description is not intended to limit the scope thereof. To the contrary, the following detailed description is intended to be illustrative only and is not intended to be limiting as to the scope of the claimed implementations. Changes can be made by workers skilled in the art or modifications, substitutions, or equivalents can be used by those skilled in the art without departing from the spirit of claims and without detracting from the scope of the various described implementations. Furthermore, no limitation is intended by the guidance that can include, for example, use of any of the additional claims that follow or other claims.
[0014] FIG. 1A is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.
[0015] FIG. 1B is a block diagram illustrating example components for event processing in accordance with some embodiments.
[0016] FIG. 2 shows a portable multifunction device with a touch screen in accordance with some embodiments.
[0017] FIG. 3 is a block diagram of an example multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.
[0018] FIG. 4A shows an example user interface of an application menu on a portable multifunction device in accordance with some embodiments.
[0019] FIG. 4B shows an example user interface for a multifunction device with a touch-sensitive surface separate from the display in accordance with some embodiments.
[0020] FIG. 4C-E shows an embodiment of dynamic intensity threshold in accordance with some embodiments.
[0021] FIG. 5A1-29 shows an example user interface for displaying a taskbar with a plurality of application icons at a variable position along one or more edges of a touch-sensitive display in accordance with some embodiments.
[0022] FIG. 5B1-36 shows an example user interface for navigating from a user interface displayed in split-screen display mode to a different user interface in accordance with some embodiments.
[0023] FIG. 5C1-59 shows an example user interface for navigating between different user interfaces using multi-touch gestures in accordance with some embodiments.
[0024] FIG. 6A-F is a flow diagram of a process for displaying a taskbar with a plurality of application icons at a variable position along one or more edges of a touch-sensitive display in accordance with some embodiments.
[0025] FIG. 7A-I is a flow diagram of a process for navigating from a user interface displayed in split-screen display mode to a different user interface in accordance with some embodiments.
[0026] FIG. 8is a flow diagram illustrating a method of navigating between application user interfaces, application switcher user interfaces, and home screen user interfaces, in accordance with some embodiments.
[0027] FIG. 9A-C Exemplary thresholds for navigating between different user interfaces, in accordance with some embodiments, are shown.
[0028] FIG. 10A-D is a flow diagram illustrating a method of navigating between user interfaces, in accordance with some embodiments.
[0029] FIG. 11A-F is a flow diagram of a process for navigating between user interfaces based on multi-touch gestures, in accordance with some embodiments. DETAILED DESCRIPTION
[0030] Conventional methods of navigating between user interfaces, particularly between application user interfaces and system user interfaces (e.g., home screen user interfaces or application switcher user interfaces), often require multiple separate inputs (e.g., gestures and button presses, etc.) and irreversible discrete user interface transitions. The following embodiments provide a single gesture that is dynamically adjustable and facilitates navigation into different user interfaces (e.g., a recently opened application, a home screen user interface, an application switcher user interface) based on different criteria (e.g., based on different criteria of the type of gesture performed by the contact, the location of the contact and / or user interface object, the time, movement parameters, etc. of the displayed gesture). Furthermore, the following embodiments provide real-time visual feedback to indicate the user interface being navigated to while the user performs the single gesture navigation input. This improves the accuracy of user navigation by allowing the user the opportunity to mitigate errors (e.g., by changing the properties of the input before lifting off) before the input is complete. This in turn avoids unnecessary navigation events, thereby saving time and battery life.
[0031] Further, when operating larger devices (e.g., tablets), both of a user's hands often participate in holding the device (e.g., supporting the device from either side), making it difficult to perform navigation gestures that must originate from a location on the device that is oriented away from the user's hands. It is also difficult to operate larger devices with a single hand, as that hand must participate in supporting the device. The following implementations improve user interface navigation on larger devices by providing for input that allows display of an application dock (e.g., display of affordances for a plurality of application icons for opening / navigating to particular applications) as a user-defined location along one or more edges on the device. This allows a user to access the application dock without having to reposition their hands on the device (e.g., at a location that is near wherever their hands are located on the device). This saves time in operating the device (e.g., by bypassing the need for the user to reposition their hands before invoking and / or interacting with the application dock), which in turn conserves battery life of the device.
[0032] Further, the following implementations provide for gestures that facilitate navigation into different user interfaces (e.g., a recently opened application, a home screen user interface, and an application switcher user interface) within a sub-portion of a split screen user interface or across the entire screen based on different criteria (e.g., different criteria based on location, time, motion parameters of displayed contacts and / or user interface objects). This allows for easy access to navigation functionality of the device without cluttering the user interface with additional display controls and reduces the amount of time and inputs needed to achieve a desired screen configuration, further, this reduces power usage and extends battery life of the device.
[0033] Furthermore, the following embodiments facilitate navigating from an application user interface to another user interface outside of the application based on a gesture initiated from the application user interface (e.g., a gesture performed with multiple simultaneously detected contacts), such as navigating to a different application or to a system user interface (e.g., home screen), or performing an operation within the application. In these embodiments, the outcome of the gesture is based on which of a plurality of different sets of criteria (e.g., based on the type of gesture performed by the contacts, the total number, locations, timing, and / or movement parameters of the simultaneously detected contacts, and / or criteria of displayed user interface objects) are met by the gesture (e.g., at the termination of the gesture). The input gesture is continuously evaluated against the different sets of criteria when determining the destination state of the device (e.g., what operation to perform and / or what user interface to display). Dynamic visual feedback is continuously displayed to indicate the possible destination states of the device based on the input detected to date, thereby giving the user an opportunity to adjust his / her input to modify the actual destination state of the device reached after termination of the input. Using different sets of criteria to determine the final destination state of the device (e.g., the operation performed and / or the user interface ultimately displayed) allows the user to use fluid gestures that can change in mid-stream (e.g., either because the user decides to change the outcome they want to achieve, or the user realizes based on the device feedback that he / she is providing incorrect input for the intended outcome) to achieve the intended outcome. This helps avoid the need for the user to undo the effects of an unintended gesture and then start the gesture again, making the user-device interface more efficient (e.g., by helping the user provide the required input to achieve the intended outcome and reducing user mistakes when operating / interacting with the device), additionally, by enabling the user to use the device more quickly and efficiently, power use is reduced and the battery life of the device is prolonged.
[0034] The following, FIG. 1A-1B , FIG. 2 and FIG. 3 provide descriptions of example devices. FIG. 4C-E Examples of dynamic intensity thresholds are shown. FIG. 4A-B , FIG. 5A1-29 , FIG. 5B1-36 and FIG. 5C1-59 Examples of example user interfaces for navigating between user interfaces and displaying a taskbar or performing operations within an application are shown. FIG. 6A-F is a flow diagram of a method of displaying a taskbar with a plurality of application icons at a variable position along one or more edges of a touch-sensitive display. FIG. 7A-I is a flow diagram of a method of navigating from a user interface displayed in a split-screen display mode to a different user interface. FIG. 11A-F is a flow diagram of a process of navigating between user interfaces based on a multi-contact gesture. FIG. 5A1-29 , FIG. 5B1-36 andThe user interface in FIG. 5C1-59 is used to illustrate FIG. 6A-F , FIG. 7A-I and FIG. 11A-F processes in FIG. 8 is a flow diagram illustrating various criteria for navigating between user interfaces according to some embodiments. FIG. 9A-C Exemplary thresholds for navigating between different user interfaces are illustrated. FIG. 10A-D is a flow diagram illustrating various criteria for navigating between user interfaces according to some embodiments.
[0035] Exemplary Device
[0036] Reference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description of implementations, numerous specific details are set forth in order to provide a thorough understanding of the various described implementations. However, it will be apparent to one skilled in the art that the various described implementations can be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the implementations.
[0037] It will also be appreciated that, although the terms "first," "second," etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the scope of the various described implementations. The first contact and the second contact are both contacts, but they are not the same contact, unless the context clearly dictates otherwise.
[0038] The terminology used in the description of the various described implementations herein is for the purpose of describing particular implementations only and is not intended to be limiting. As used in the description of the various described implementations and 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 will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0039] As used herein, the term "if' is, optionally, construed to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is, optionally, construed 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.
[0040] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communications device, such as a mobile telephone, that also contains other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, without limitation, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other exemplary embodiments can include a iPod and devices. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads), are, optionally, used. It should also be understood that, in some embodiments, the device is not a portable communications device, but is a desktop computer with a touch-sensitive surface (e.g., a touch screen display and / or a touch pad).
[0041] In the discussion that follows, an electronic device that includes a display and a touch-sensitive surface is described. It should be understood, however, 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.
[0042] The device typically supports a variety of applications, such as one or more of the following: a notes application, a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a game application, a telephone application, a video conferencing application, an e-mail application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital
[0043] Various application programs executing on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface, as well as corresponding information displayed on the device, are optionally adjusted and / or varied
[0044] Attention is now directed towards embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating portable multifunction device 100 with touch-sensitive display system 112, in accordance with some embodiments. Touch- sensitive display system 112 is sometimes called a "touch screen" for convenience and is sometimes simply referred to as touch-sensitive display. Device 100 includes memory 102 (which optionally includes one or more computer-readable storage mediums), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input or control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more intensity sensors 165 for detecting intensity of contacts on device 100 (e.g., a touch-sensitive surface such as touch- sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile outputs on device 100 (e.g., generating tactile outputs 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 over one or more communication buses or signal lines 103.
[0045] As used in the specification and claims, the term “tactile output” refers to physical displacement of a device relative to a previous position of the device, physical displacement of a component (e.g., a touch-sensitive surface) of a device relative to another component (e.g., a housing) of the device, or displacement of a component relative to a center of mass of the device that will be detected by a user with the user’s sense of touch. For example, in situations where the device or the component of the device is in contact with a surface (e.g., a surface of a finger, palm, or other portion of a user’s hand), the tactile output generated by the physical displacement will be interpreted by the user as an object that is felt on the surface of the device or the component of the device. In some situations, the tactile output generated by physical displacement of a device or a component of a device will be interpreted by a user as an object or change in sensation that is felt on the surface of the device or the component of the device. In some situations, the tactile output generated by physical displacement of a device or a component of a device is interpreted by a user as a change in friction between an object and the device or the component of the device. In some situations, the tactile output generated by physical displacement of a device or a component of a device is interpreted by a user as having effects on the user’s physical sensations, such as touch, pain, pressure, and / or the like. While tactile outputs generated by physical displacement of a device or a component of a device are typically reproduced by movement of that device or that component, the tactile outputs need not be reproduced in this way. The tactile outputs can be generated by any technique for creating an effect on a user’s physical sensations. Such techniques can include, for example, movement of a device or component of a device; haptic feedback, such as haptic feedback generated by actuators (e.g., one or more electroactive polymers, one or more piezoelectric actuators, one or more ultrasonic actuators, one or more actuators using magnetic forces, one or more actuators using thermal effects, and / or the like); and / or the like. Thus, as used in the specification and claims, the term “tactile output” refers to the physical sensation that the user feels (e.g., touch, pain, pressure, and / or the like) as a result of the user’s interaction with the device or the component of the device.
[0046] In some embodiments, a tactile output pattern specifies a characteristic of a tactile output, such as an amplitude of the tactile output, a shape of a motion waveform of the tactile output, a frequency of the tactile output, and / or a duration of the tactile output.
[0047] When a device generates haptic output having different haptic output patterns (e.g., via one or more haptic output generators that generate haptic output via moving movable masses), the haptic output can produce different tactile sensations in a user holding or touching the device. While the user's senses are based on the user's perception of the haptic output, most users will be able to discern changes in the waveform, frequency, and amplitude of the haptic output generated by the device. Thus, the waveform, frequency, and amplitude can be adjusted to indicate to the user that a different operation has been performed. In this way, haptic output having haptic output patterns designed, selected, and / or arranged to simulate characteristics (e.g., size, material, weight, stiffness, smoothness, etc.) of objects in a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment having virtual boundaries and virtual objects, a real physical environment having physical boundaries and physical objects, and / or a combination of any of the above); behaviors (e.g., oscillation, displacement, acceleration, rotation, stretching, etc.); and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of objects in the given environment will, in some cases, provide helpful feedback to the user that reduces input errors and improves the user's efficiency in operating the device. Additionally, haptic output is optionally generated to correspond to feedback unrelated to simulated physical characteristics such as input thresholds or object selection. Such haptic output will, in some cases, provide helpful feedback to the user that reduces input errors and improves the user's efficiency in operating the device.
[0048] In some embodiments, haptic output having suitable haptic output patterns serves as a cue that an event of interest occurred in a user interface or behind a screen in a device. Examples of events of interest include activation of an affordance (e.g., a real or virtual button, or a toggle switch) provided on the device or in the user interface, success or failure of a requested operation, reaching or crossing a boundary in the user interface, entering a new state, switching input focus between objects, activating a new mode, reaching or crossing an input threshold, detecting or recognizing a type of input or gesture, and so on. In some embodiments, haptic output is provided to serve as a warning or cue about an impending event or outcome that will occur unless a change in direction or interruption of the input is timely detected. Haptic output is also used in other contexts to enrich the user experience, improve accessibility of the device for users with visual or motor difficulties or other accessibility needs, and / or improve the efficiency and functionality of the user interface and / or device. Haptic output is optionally compared with audio input and / or visual user interface changes, which further enhances the user's experience when the user interacts with the user interface and / or device, facilitates better transmission of information about the state of the user interface and / or device, and which reduces input errors and improves the user's efficiency in operating the device.
[0049] It should be appreciated that device 100 is only one example of a portable multifunctional device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. The various components illustrated for device 100 can be implemented in hardware, software, firmware, or any combination thereof, including one or more signal processing and / or application specific integrated circuits. FIG. 1A The various components illustrated in FIG. 1A are implemented in hardware, software, firmware, or any combination thereof, including one or more signal processing and / or application specific integrated circuits.
[0050] Memory 102 optionally includes high-speed random access memory and also optionally includes nonvolatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other nonvolatile solid-state storage devices. Access to memory 102 by other components of device 100 is, optionally, controlled by a memory controller 122.
[0051] Peripheral interface 118 can be used to couple input and output peripherals of the device to memory 102 and to one or more processors 120. One or more processors 120 run or execute various software programs and / or sets of instructions stored in memory 102 for performing the various functions and processing data of device 100.
[0052] In some embodiments, peripheral interface 118, one or more processors 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0053] RF (radio frequency) circuitry 108 receives and sends RF signals, also called electromagnetic signals. RF circuitry 108 converts electrical signals to / from electromagnetic signals and communicates with communications networks and other communications devices, via the electromagnetic signals. The RF circuitry 108, optionally, includes well-known circuitry for detecting and for resolving signal frequencies and for tuning out (at least partially) unwanted signal frequencies, such as those produced within an electronic device, power supply, and / or communications network. The RF circuitry 108, optionally, includes a plurality of antennas. The plurality of antennas, optionally, includes one or more diversity antennas and / or one or more omnidirectional antennas. The plurality of antennas, optionally, includes one or more directional antennas (e.g., dBi, diH, hi-gain antennas). The plurality of antennas, optionally, includes one or more low-profile antennas. The plurality of antennas, optionally, includes one or more monopole antennas. The plurality of antennas, optionally, includes one or more dipole antennas. The plurality of antennas, optionally, includes one or more helical antennas. The plurality of antennas, optionally, includes one or more microstrip antennas. The plurality of antennas, optionally, includes one or more patch antennas. The plurality of antennas, optionally, includes one or more turnstile antennas. The plurality of antennas, optionally, includes one or more
[0054] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. Audio circuitry 110 receives audio data from peripherals interface 118, converts the audio data to an electrical signal, and transmits the electrical signal to speaker 111. Speaker 111 converts the electrical signal to a sound wave that is audible to the human ear. Audio circuitry 110 also receives electrical signals converted by microphone 113 from a sound wave. Audio circuitry 110 converts the electrical signals to audio data and transmits the audio data to peripherals interface 118 for processing. Audio data is optionally retrieved from and / or transmitted to memory 102 and / or RF circuitry 108 by peripherals interface 118. In some embodiments, audio circuitry 110 also includes 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, such as an output-only headset or a headset with both output (e.g., stereo FIG. 2
[0055] I / O subsystem 106 couples input / output peripherals on device 100, such as touch-sensitive display system 112 and other input or control devices 116, with peripherals interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, intensity sensor controller 159, 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 from / to other input or control devices 116. The other input or control devices 116 optionally include physical buttons (e.g., 208 in FIG. 2), dials, slider switches, joysticks, click wheels, and so on. In some alternate embodiments, input controller(s) 160 are, optionally, coupled with any FIG. 2 FIG. 2
[0056] The touch-sensitive display system 112 provides an input interface and an output interface between the device and a user. The display controller 156 receives and / or sends electrical signals from / to the touch-sensitive display system 112. The touch-sensitive display system 112 renders visual output to the user. As used herein, the term "visual output" refers to all kinds of information which can be conveyed visually, such as text, graphics, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output is corresponding to user interface objects. The term "affordance" as used herein means a user-interactive graphical user interface object (e.g., a graphical user interface object configured to respond to input directed to the graphical user interface object). Examples of user-interactive graphical user interface objects include, without limitation, a button, a slider, an icon, a selectable menu item, a switch, a hyperlink, or other user interface control.
[0057] The touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from the user based on haptic and / or tactile contact. The touch-sensitive display system 112 and the display controller 156 (along with any associated modules and / or sets of instructions in memory 102) detect contact (and any movement or breaking of the contact) on the touch-sensitive display system 112 and convert the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages, or images) being displayed on the touch-sensitive display system 112. In some embodiments, a point of contact between the touch-sensitive display system 112 and the user corresponds to a finger or stylus of the user.
[0058] The touch-sensitive display system 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light-emitting diode) technology, although other display technologies are used in other embodiments. The touch-sensitive display system 112 and the display controller 156 optionally detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch-sensitive display system 112. In some embodiments, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod touch® from Apple Inc. of Cupertino, California. iPod and technologies found in the iPhone® and iPod touch® from Apple Inc. of Cupertino, California.
[0059] Touch-sensitive display system 112 optionally uses LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, or LED (Light Emitting Diode) technology, although other display technologies are used in other implementations. Viewable images generated by the display are incident on the touch-sensitive display system, which includes a touch-sensitive surface capable of receiving input (e.g., user input of symbols, hand writing, fingerprints) that is associated with the images on the touch-sensitive display. The touch-sensitive surface optionally comprises several touch-sensing devices. The touch-sensitive display system optionally includes a touch screen (or other light- transmissive surface) for viewing display images through objects such as a finger or stylus that are placed on the touch screen, a touch panel (also called a touch pad or a touch plane) that is separate from the touch screen (or is incorporated into the touch screen), a pressure panel (also called a pressure panel or a pressure plane), or a pressure panel and a touch panel. The touch-sensitive display system also optionally includes a hover panel (also called a hover panel or a hover plane) for detecting hovering by an object such as a finger or stylus that is placed within a threshold distance of the hover panel, but not necessarily making contact with the hover panel. The hover panel is optionally used for providing input to the device 100, for example, by detecting gestures performed by an object such as a finger or stylus that is placed within the threshold distance of the hover panel. The hover panel is optionally used for providing input to the device 100, for example, by detecting gestures performed by an object such as a finger or stylus that is placed within the threshold distance of the hover panel. The touch-sensitive display system optionally also includes a tactile output generation system for generating tactile outputs that can be felt through a touch-sensitive surface (e.g., a touch screen or touch panel) or a tactile output generation surface that is separate from the touch-sensitive surface (or is incorporated into the touch-sensitive surface).
[0060] In some embodiments, in addition to the touch screen, device 100 optionally includes a touchpad (not shown) for activating or deactivating particular functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad optionally is a touch-sensitive surface that is separate from the touch-sensitive display system 112 or that is incorporated as an integral part thereof.
[0061] Device 100 also includes power system 162 for powering the various components of device 100. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power for device 100.
[0062] Device 100 optionally also includes one or more optical sensors 164. FIG. 1A Optical sensor(s) 164 are shown coupled to optical sensor controller 158 in I / O subsystem 106. Optical sensor(s) 164 optionally include charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) photoreceptor(s). Optical sensor(s) 164 receive light from the environment, projected through one or more lenses, and converts the light to data representing an image. In conjunction with imaging module 143 (also called a camera module), optical sensor(s) 164 optionally capture still images or video. In some embodiments, an optical sensor is located on the back of device 100, opposite the touch-sensitive display system 112 on the front of the device, so that the touch screen is capable of functioning as a viewfinder for still or video image acquisition. In some embodiments, another optical sensor is located on the front of the device so that the user’s image is, optionally, obtained for selfie applications, to enhance video telephony applications, to perform face recognition applications, to authenticate a user’s identity, or the like.
[0063] Device 100 optionally also includes one or more contact intensity sensors 165. FIG. 1A Contact intensity sensor(s) coupled with intensity sensor controller(s) 159 in I / O subsystem 106. Contact intensity sensor(s) 165 optionally include one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, piezoelectric force sensors, optical force sensors, capacitive touch 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(s) 165 receive 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 collocated with, 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 touch sensitive display system 112 which is located on the front of device 100.
[0064] Device 100 optionally also includes one or more proximity sensors 166. FIG. 1A Proximity sensor(s) 166 coupled with peripherals interface 118. Alternatively, proximity sensor 166 is coupled with input controller 160 in I / O subsystem 106. In some embodiments, proximity sensor 166 turns off and disables touch sensitive display system 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0065] Device 100 optionally also includes one or more tactile output generators 167. FIG. 1A Tactile output generators coupled with haptic feedback controller 161 in I / O subsystem 106. In some embodiments, tactile output generator(s) 167 include one or more electroacoustic devices such as speakers or other audio components and / or electromechanical devices such as a motor, a solenoid, an electroactive polymer, a piezoelectric actuator, an electrostatic actuator, or other tactile output generating component (e.g., a component that converts electrical signals into tactile outputs on the device). Tactile output generator 167 receives tactile feedback generation instructions from haptic feedback module 133 and generates tactile outputs on device 100 that are capable of being sensed by a user of device 100. In some embodiments, at least one tactile output generator is collocated with, 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 a surface of device 100) or laterally (e.g., back and forth in the same plane as a surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touch sensitive display system 112 which is located on the front of device 100.
[0066] Device 100 optionally also includes one or more accelerometers 168. FIG. 1A Accelerometer(s) 168 are coupled with peripherals interface 118. Alternatively, accelerometers 168 are coupled with input controller 160 in I / O subsystem 106. In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on a determination of the orientation of device 100 based on data received from the one or more accelerometers. Device 100 optionally includes a magnetometer (not shown) and GPS (or GLONASS or other global navigation system) receivers (not shown), which are used to determine the location and orientation (e.g., portrait or landscape) of device 100.
[0067] In some embodiments, software components stored in memory 102 include operating system 126, communication module (or set of instructions) 128, contact / motion module (or set of instructions) 130, graphics module (or set of instructions) 132, haptic feedback module (or set of instructions) 133, text input module (or set of instructions) 134, Global Positioning System (GPS) module (or set of instructions) 135, and applications (or sets of instructions) 136. Further, in some embodiments, memory 102 stores device / global internal state 157, as shown in FIGS. 1A and 1B. Device / global internal state 157 includes one or more of: active application state, indicating which applications, if any, are currently active; display state, indicating what, if anything, is currently being displayed by the touch screen; sensor state, including information on current values of the device’s various sensors; and location and / or orientation state, indicating the current location and / or attitude of the device. FIG. 3
[0068] Operating system 126 (e.g., iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, power management, etc.) and facilitates wireless communications between various hardware and software components.
[0069] Communication module 128 facilitates communication with other devices over one or more external ports 124 and also includes various software components for handling data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling to other devices, such as network adapters, print devices, keyboards, game controllers, and the like. In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, or similar to, and / or compatible with, the 30-pin connector used in iPod and iPhone devices. In some embodiments, the external port is a Lightning connector that is the same as, or similar to, and / or compatible with, the Lightning connector used in iPod touch and iPhone devices. iPod and iPhone devices. In some embodiments, the external port is a Lightning connector that is the same as, or similar to, and / or compatible with, the Lightning connector used in iPod touch and iPhone devices. iPod and iPhone devices. In some embodiments, the external port is a Lightning connector that is the same as, or similar to, and / or compatible with, the Lightning connector used in iPod touch and iPhone devices.
[0070] Contact / motion module 130 optionally detects contact with touch-sensitive display system 112 (in conjunction with display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detection of contact (e.g., by a finger or stylus) with the touch-sensitive display system 112, such as determining whether a contact is a finger, a stylus, or a mouse, determining an intensity of the contact (e.g., the force or pressure associated with the contact), determining whether a contact is moving across the touch-sensitive display system 112, determining a velocity (magnitude and direction) of a contact, determining an acceleration (magnitude and / or direction) of a contact, and the like. Contact / motion module 130 receives contact data from the touch-sensitive display system 112. Determining movement of a contact point across the touch-sensitive surface is optionally performed by determining a velocity (magnitude and direction) of the contact point, the movement of which is represented by a series of contact data points. These operations are, optionally, applied to single-point contacts (e.g., one finger contacts or stylus contacts) or to multi-point contacts (e.g., "multitouch" or multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contact on a touchpad.
[0071] Contact / motion module 130 optionally detects contact events with objects, such as the contact 222 with the contacts module 142 on the touch-sensitive display 112. The
[0072] In some embodiments, detecting a finger tap gesture depends on detecting a length of time between a finger down event and a finger up event, but is independent of a finger contact intensity between the finger down event and the finger up event. In some embodiments, a tap gesture is detected in accordance with a determination that the length of time between the finger down event and the finger up event is less than a predetermined value (e.g., less than 0.1, 0.2, 0.3, 0.4, or 0.5 seconds), regardless of whether the intensity of the finger contact during the tap reaches a given intensity threshold (greater than a nominal contact detection intensity threshold), such as a light press or deep press intensity threshold. Thus, a finger tap gesture can satisfy a particular input criterion that does not require a characteristic intensity of the contact to satisfy a given intensity threshold to satisfy the particular input criterion. For clarity, finger contact in a tap gesture generally needs to satisfy a nominal contact detection intensity threshold to detect a finger down event, below which contact would not be detected. Similar analysis applies to detecting tap gestures by stylus or other contact. Where a device is capable of detecting hovering finger or stylus contact above a touch-sensitive surface, the nominal contact detection intensity threshold optionally does not correspond to physical contact between the finger or stylus and the touch-sensitive surface.
[0073] The same concepts apply in an analogous manner to other types of gestures. For example, a swipe gesture, a pinch gesture, a spread gesture, and / or a long press gesture can optionally be detected based on satisfaction of criteria that are independent of the intensity of contacts included in the gesture or that do not require the contacts performing the gesture to reach an intensity threshold in order to be recognized. For example, a swipe gesture is detected based on the amount of movement of one or more contacts; a pinch gesture is detected based on the movement of two or more contacts toward each other; a spread gesture is detected based on the movement of two or more contacts away from each other; and a long press gesture is detected based on the duration of the contacts on the touch-sensitive surface, without regard to the amount of movement of the contacts. Thus, statements of the form that a particular gesture recognition criterion does not require contact intensity to satisfy a particular gesture recognition criterion means that the particular gesture recognition criterion can be satisfied when the contacts in the gesture do not reach the respective intensity threshold, and also can be satisfied in situations where one or more contacts in the gesture reach or exceed the respective intensity threshold. In some embodiments, a tap gesture is detected based on a determination that a finger down event and a finger up event are detected within a predefined time period, without regard to whether the contact is above or below the respective intensity threshold during the predefined time period, and a swipe gesture is detected based on a determination that a contact moves more than a predefined amount of movement, even if the contact is above the respective intensity threshold at the end of the contact movement. Even in implementations where detection of a gesture is influenced by the intensity of the contact performing the gesture (e.g., the device detects a long press more quickly when the intensity of the contact is above an intensity threshold, or the device delays detection of a tap input when the intensity of the contact is higher), detection of these gestures does not require the contact to reach a particular intensity threshold as long as the criteria for recognizing the gesture can be satisfied without the contact reaching the particular intensity threshold (e.g., even if the amount of time required to recognize the gesture changes).
[0074] In some cases, the contact intensity threshold, the duration threshold, and the movement threshold are combined in various different combinations in order to create heuristic algorithms to distinguish between two or more different gestures for the same input element or region, such that multiple different interactions with the same input element can provide a richer set of user interactions and responses. The statement that a particular gesture recognition criterion does not require the intensity of the contact to satisfy a corresponding intensity threshold in order for the particular gesture recognition criterion to be satisfied does not preclude other intensity-dependent gesture recognition criteria from being simultaneously evaluated to identify other gestures that have criteria that are satisfied when the gesture includes a contact having an intensity above the corresponding intensity threshold. For example, in some cases, a first gesture recognition criterion of a first gesture (which does not require the intensity of the contact to satisfy a corresponding intensity threshold in order for the first gesture recognition criterion to be satisfied) competes with a second gesture recognition criterion of a second gesture (which depends on a contact meeting a corresponding intensity threshold). In such a competition, if the second gesture recognition criterion of the second gesture is first to have its criteria satisfied, then the gesture is optionally not recognized as satisfying the first gesture recognition criterion of the first gesture. For example, if the contact meets the corresponding intensity threshold before the contact moves a predefined movement amount, then a deep press gesture is detected instead of a swipe gesture. Conversely, if the contact moves the predefined movement amount before the contact meets the corresponding intensity threshold, then a swipe gesture is detected instead of a deep press gesture. Even in this case, the first gesture recognition criterion of the first gesture still does not require the intensity of the contact to satisfy a corresponding intensity threshold in order for the first gesture recognition criterion to be satisfied, because if the contact remains below the corresponding intensity threshold until the end of the gesture (e.g., a swipe gesture with a contact that does not increase in intensity above the corresponding intensity threshold), the gesture would be recognized as a swipe gesture by the first gesture recognition criterion. Thus, a particular gesture recognition criterion that does not require the intensity of the contact to satisfy a corresponding intensity threshold in order for the particular gesture recognition criterion to be satisfied will either (A) in some cases, ignore the contact intensity relative to the intensity threshold (e.g., for a tap gesture) and / or (B) in some cases, be unable to be satisfied if a set of competing intensity-dependent gesture recognition criteria (e.g., for a deep press gesture) identify the input as corresponding to an intensity-dependent gesture before the particular gesture recognition criterion identifies the input as corresponding to a gesture (e.g., for a long press gesture), in the sense that the particular gesture recognition criterion still depends on the contact intensity relative to the intensity threshold (e.g., for a long press gesture that competes for recognition with a deep press gesture).
[0075] Graphics module 132 includes various known software components for rendering and displaying graphics on touch-sensitive display system 112 or other display, including components for changing visual impact (e.g., brightness, transparency, saturation, contrast, or other visual property) of graphics that are displayed. As used herein, the term "graphics" includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations, and the like.
[0076] In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. Graphics module 132 receives, from applications etc., one or more codes specifying graphics to be displayed, and then generates screen image data for a
[0077] Haptic feedback module 133 includes various software components for generating instructions used by tactile feedback controller 161 to induce tactile feedback to a user (e.g., instructions to vibrate haptic feedback controller 161 at different frequencies to produce different tactile feedback sensations).
[0078] Text input module 134, which is, optionally, a component of graphics module 132, provides soft keyboards for entering text in various applications (e.g., contacts 137, e-mail 140, IM 141, browser 147, and any other application that needs text input).
[0079] GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to telephone 138 for use in location-based dialing; to camera 143 as picture / video metadata; and to applications that provide location- based services such as weather widgets, local yellow page widgets, and map / navigation widgets).
[0080] Applications 136, optionally, include the following modules (or sets of instructions):
[0081] • contacts module 137 (sometimes referred to as an address book or contact list);
[0082] • telephone module 138;
[0083] • video conference module 139;
[0084] • e-mail client module 140;
[0085] • instant messaging (IM) module 141;
[0086] • fitness support module 142;
[0087] • camera module 143 for still and / or video images;
[0088] • image management module 144;
[0089] • browser module 147;
[0090] • calendar module 148;
[0091] • widget module 149, which optionally includes one or more of the following widgets: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, and user-created widgets 149-6;
[0092] • widget creator module 150 for forming user-created widgets 149-6;
[0093] • search module 151;
[0094] • video and music player module 152, which optionally includes a video player module and a music player module;
[0095] • notepad module 153;
[0096] • map module 154; and / or
[0097] • online video module 155.
[0098] Examples of other applications 136 that can optionally be stored on storage 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 replication.
[0099] In conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, contacts module 137 includes executable instructions to manage an address book or contact list (e.g., the application internal state 192 in memory 102 or the subset of the application internal state 192 in memory 370) stored in application internal state 192 of contacts module 137, wherein each contact in the address book or contact list can include one or more of: name, phone number, email address, physical address, website, logo, photographs, videos, or other identifying information. Further, contacts module 137 includes executable instructions to: add a new contact to the address book; delete a contact from the address book; modify, add, or delete a phone number, email address, name, or other identifying information for a contact; associate a photograph or video with a contact; categorize and sort contacts; provide an interface for composing and sending an email (including selecting
[0100] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the telephone module 138 includes executable instructions to: input text representing a telephone number, access name and address data stored in the address book 137, modify the entered telephone number, select a telephone number in the address book 137, and dial the selected telephone number. Wireless communication optionally uses any of a plurality of communications standards, protocols, and technologies.
[0101] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact module 130, graphics module 132, text input module 134, contact list 137, and telephone module 138, the video conference module 139 includes executable instructions to initiate, conduct, and terminate a video conference between a user and one or more other participants in accordance with user instructions.
[0102] In conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the e-mail client module 140 includes executable instructions to create, send, receive, and manage e-mail in response to user instructions. In conjunction with image management module 144, the e-mail client module 140 makes it very easy to create and send e-mails with still or video images taken with the camera module 143.
[0103] In conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the instant messaging module 141 includes executable instructions to enter a sequence of characters corresponding to an instant message, modify previously entered characters, transmit a respective instant message (for example, using a Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for telephony-based instant messages or using XMPP, SIMPLE, Apple Push Notification Service (APNs) or IMPS for Internet-based instant messages), receive instant messages, and view received instant messages. In some embodiments, transmitted and / or received instant messages optionally include graphics, photos, audio files, video files and / or other attachments as are supported in a MMS and / or an Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs, or IMPS).
[0104] In conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and video and music player module 152, the workout support module 142 includes executable instructions to create workouts (e.g., with time, distance, and / or calorie burning goals); communicate with workout sensors (in sports devices and smart watches); receive workout sensor data; calibrate sensors used to monitor a workout; select and play music for a workout; and display, store, and transmit workout data.
[0105] In conjunction with touch-sensitive display system 112, display controller 156, one or more optical sensors 164, optical sensor controller 158, contact module 130, graphics module 132, and image management module 144, the camera module 143 includes executable instructions to capture still images or video (including a video stream) and store them into memory 102, modify characteristics of a still image or video, and / or delete a still image or video from memory 102.
[0106] In conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable instructions to arrange, modify (e.g., edit), or otherwise manipulate, label, delete, present (e.g., in a digital slide show or album), and store still and / or video images.
[0107] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions to browse the Internet in accordance with user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0108] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, e-mail client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and data associated with calendars (e.g., calendar entries, to-do lists, etc.) in accordance with user instructions.
[0109] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, the desktop app module 149 are mini-applications (e.g., weather desktop app 149-1, stocks desktop app 149-2, calculator desktop app 149-3, alarm clock desktop app 149-4, and dictionary desktop app 149-5) that are optionally downloaded and used by a user and / or created by the user (e.g., user-created desktop app 149-6). In some embodiments, desktop apps include HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheet) files, and JavaScript files. In some embodiments, desktop apps include XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! Desktop apps).
[0110] In conjunction with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, the desktop app module 149 are mini-applications (e.g., weather desktop app 149-1, stocks desktop app 149-2, calculator desktop app 149-3, alarm clock desktop app 149-4, and dictionary desktop app 149-5) that are optionally downloaded and used by a user and / or created by the user (e.g., user-created desktop app 149-6). In some embodiments, desktop apps include HTML (Hypertext Markup Language) files, CSS (Cascading Style Sheet) files, and JavaScript files. In some embodiments, desktop apps include XML (Extensible Markup Language) files and JavaScript files (e.g., Yahoo! Desktop apps).
[0111] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, the search module 151 includes executable instructions to search for text, music, sound, image, video, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0112] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow the user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions to display, present or otherwise play back videos (e.g., on touch-sensitive display 112, or on an external, wireless-enabled display via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0113] In conjunction with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, notes module 153 includes executable instructions to create and manage notes, to-do lists, and the like in accordance with user instructions.
[0114] In conjunction with RF circuitry 108, touch- sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 includes executable instructions to receive, display, modify, and store maps and data associated with maps (e.g., driving directions; data on stores and other points of interest at or near a particular location; and other location-based data) in accordance with user instructions.
[0115] In conjunction with touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, e-mail client module 140, and browser module 147, online video module 155 includes executable instructions that allow the user to access, browse, receive (e.g., by streaming and / or download), play back (e.g., on the touch screen 112, or on an external, wireless-enabled display via external port 124), send an e-mail with a link to a particular online video, and otherwise manage one or more online videos in one or more formats, such as H.264. In some embodiments, instant messaging module 141, rather than e-mail client module 140, is used to send a link to a particular online video.
[0116] Each of the above identified modules and applications correspond to a set of executable instructions for performing one or more functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are, optionally, combined or otherwise re-arranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 102 optionally stores additional modules and data structures not described above.
[0117] In some embodiments, device 100 is a device for which a predefined set of functions of the device are operated exclusively through the touch screen and / or touchpad. By using the touch screen and / or touchpad as the primary input control devices for operating device 100, the number of physical input control devices (e.g., push buttons, dials, or the like) on device 100 is, optionally, reduced.
[0118] The predefined set of functions that are operated exclusively through the touch screen and / or touchpad, optionally, includes navigation between user interfaces. In some embodiments, when the user touches the touchpad, device 100 navigates away from any user interface displayed on device 100 to a main menu, home menu, or root menu. In such embodiments, the touchpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.
[0119] FIG. 1B FIG. 17 is a block diagram illustrating exemplary components for event processing, in accordance with some embodiments. In some embodiments, memory 102 (e.g., within operating system 126) or memory 370 (e.g., within operating system 370) includes event classifier 170 (e.g., within operating system 126) and corresponding application 136-1 (e.g., any of the aforementioned applications 136, 137-155, 380-390). FIG. 1A FIG. 3
[0120] The event sorter 170 receives event information and determines the application 136-1 to which events are directed, and an application view 191 within the application 136-1 that should process the events. The event sorter 170 includes an event monitor 171 and a event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192, that indicates one or more current application views that are displayed on the touch-sensitive display system 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by the event sorter 170 to determine which application(s) is currently active, and application internal state 192 is used by the event sorter 170 to determine which application views within the active application(s) should process the events.
[0121] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resume information to be used when the application 136-1 is resumed; user interface state information indicating information displayed by the application 136-1 or ready for use by the application to display; a state queue for enabling the user to return to a previous state or view of the application 236-1; and a repeat / undo queue of previous actions taken by the user.
[0122] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about sub-events (e.g., user touches on touch- sensitive display system 112, motion sensor events such as free fall, and / or audio information such as song / bell tones). The peripheral interface 118 transmits information it receives to the event sorter 170. The event sorter 170 receives information about sub-events that occur from various sources such as user inputs and / or sensor inputs and determines the type of event that is occurring. The event sorter 170 determines one or more application processes 136-1 to which an event should be directed for responding to the event. The event dispatcher 174 delivers the event to the one or more application processes 136-1.
[0123] In some embodiments, the event monitor 171 sends requests to the peripheral interface 118 at pre-determined intervals. In response, the peripheral interface 118 transmits information regarding the status of one or more peripheral interfaces to the event monitor 171. In some embodiments, the event monitor 171 sends periodic update requests to the peripheral interface 118. In response, the peripheral interface 118 transmits information regarding the status of one or more peripheral interfaces to the event monitor 171. In various embodiments, the
[0124] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0125] When the touch-sensitive display system 112 displays more than one view, the hit view determination module 172 provides a software process for determining where within one or more views a sub-event has occurred. A view is composed of controls and other elements that a user can see on the display.
[0126] Another aspect of a user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the respective application) in which a touch is detected optionally corresponds to a programmed level within a programmed or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as the hit view, and the set of events that are correctly entered are optionally determined based at least in part on the hit view of an initial touch that begins a touch-based gesture.
[0127] The hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchy, the hit view determination module 172 identifies the lowest view in the hierarchy that should be handled for a sub-event. In most cases, the hit view is the lowest level view in which an initiating sub-event (i.e., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once the hit view is identified by the hit view determination module, 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.
[0128] The active event recognizer determination module 173 determines which view or views within a view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognizer determination module 173 determines that all views that include the physical location of a sub-event are actively engaged views, and thereby determines that all actively engaged views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is entirely confined to a region associated with one particular view, higher views in the hierarchy will remain actively engaged views.
[0129] The event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizers 180). In embodiments that include the active event recognizer determination module 173, the event dispatcher module 174 delivers event information to the event recognizers determined by the active event recognizer determination module 173. In some embodiments, the event dispatcher module 174 stores event information in an event queue that is retrieved by respective event receiver modules 182.
[0130] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application programs 136-1 include event classifier 170. In yet another embodiment, event classifier 170 is a standalone module, or is part of another module stored in memory 102, such as contact / motion module 130.
[0131] In some embodiments, application programs 136-1 include a plurality of event handlers 190 and one or more application views 191, where each application view includes instructions for handling touch events that occur within the respective view of the user interface of the application program. Each application view 191 of application programs 136-1 includes one or more event recognizers 180. Typically, a respective application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 are part of a standalone module, such as a user interface toolkit (not shown) or a higher level object from which application programs 136-1 inherit methods and other attributes. In some embodiments, a respective event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of application views 191 includes one or more respective event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in a respective application view 191.
[0132] A respective event recognizer 180 receives event information (e.g., event data 179) from event classifier 170 and recognizes events from the event information. Event recognizers 180 include event receiver 182 and event comparator 184. In some embodiments, event recognizers 180 also include at least a subset of metadata 183 and event delivery instructions 188, which optionally include sub-event delivery instructions.
[0133] Event receiver 182 receives event information from event classifier 170. The event information includes information about a sub-event, such as a touch or a touch movement. 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 motion of a touch, the event information optionally also includes the velocity and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).
[0134] Event comparator 184 compares the event information to predefined event or sub-event definitions, 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, event comparator 184 includes event definitions 186. Event definitions 186 contain definitions of events (e.g., predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, the sub-events in events 187 include, for example, touch down, touch up, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double tap on a displayed object. For example, a double tap includes a first touch (touch down) on the displayed object for a predetermined duration, a first lift off (touch up) for a predetermined duration, a second touch (touch down) on the displayed object for a predetermined duration, and a second lift off (touch up) for a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, a drag includes a touch (or contact) on the displayed object for a predetermined duration, movement of the touch on the touch-sensitive display system 112, and liftoff of the touch (touch up). In some embodiments, events also include information for one or more associated event handlers 190.
[0135] In some embodiments, event definitions 187 include definitions of events for respective user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view that displays three user interface objects on touch-sensitive display system 112, when a touch is detected on touch-sensitive display system 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 respective event handler 190, event comparator uses the results of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects the event handler associated with the sub-event and the object that triggered the hit test.
[0136] In some embodiments, the definition of a respective event 187 also includes a deferred action that delays delivery of event information until it has been determined whether the sequence of sub-events does or does not correspond to an event type of the event recognizer.
[0137] When a respective event recognizer 180 determines that a sequence of sub-events does not match any event in the event definitions 186, the respective event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0138] In some embodiments, a respective event recognizer 180 includes metadata 183 with configurable attributes, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists that indicate how event recognizers interact or are able to interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0139] In some embodiments, when a respective event recognizer 180 identifies one or more particular sub-events of an event, the event recognizer activates an event handler 190 associated with the event. In some embodiments, the respective event recognizer 180 delivers event information associated with the event to the event handler 190. Activating an event handler 190 is distinct from sending (and deferring sending) sub-events to a respective hit view. In some embodiments, an event recognizer 180 throws a token associated with the identified event, and an event handler 190 associated with the token picks up the token and performs a pre-defined procedure.
[0140] 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 deliver event information to an event handler associated with the sequence of sub-events or to an actively participating view. The event handler associated with the sequence of sub-events or with the actively participating view receives the event information and performs a pre-determined procedure.
[0141] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates the telephone number used in contacts module 137, or stores a video file used by the video and music player module 152. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user-interface object or updates the position of a user-interface object. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends it to graphics module 132 for display on the touch screen.
[0142] In some embodiments, one or more 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 the single module of a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0143] It should be understood that the above discussion regarding event handling of user touches on touch-sensitive displays also applies to other forms of user inputs to multifunctional devices 100 not involving touch. For example, mouse input, keyboard or keypad input, stylus input, voice or other audio input, focus-surround input, device motion input, and / or any other form of input that falls within the purview of input handlers 190 are optional input devices that are used to interact with multifunctional device 100, and all such inputs act as corresponding forms of user input to the multifunctional device 100.
[0144] FIG. 2 FIG. 1 A shows a portable multifunctional device 100 having a touch screen in accordance with some embodiments. The user interacts with the device 100 by touching and swiping on the touch screen 112 with a finger 110 or a stylus 110 (shown in broken line). FIG. 1AThe portable multifunction device 100 optionally also includes one or more physical buttons, such as "home" button 204. As described previously, the home button 204 is used to navigate to a set of applications 136 that are optionally executed on the device 100. Alternatively, in some embodiments, the home button is implemented as a soft key in the GUI displayed on the touch screen display.
[0145] The device 100 optionally also includes one or more physical buttons, such as "home" button 204. As described previously, the home button 204 is used to navigate to a set of applications 136 that are optionally executed on the device 100. Alternatively, in some embodiments, the home button is implemented as a soft key in the GUI displayed on the touch screen display.
[0146] In some embodiments, the device 100 includes a touch screen display, a menu button 204, sometimes referred to as a home button 204, a volume adjustment button 208, a user identity module (SIM) card slot 210, a jack 212, and a docking / charging external port 124. The home button 204 is used to navigate to a set of
[0147] FIG. 3This is a block diagram of an exemplary multifunctional 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, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., a home controller or industrial 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. The communication bus 320 optionally includes circuitry (sometimes called a chipset) that interconnects system components 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. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, and a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the above reference). FIG. 1A The one or more tactile output generators 167 and sensors 359 (e.g., optical sensors, accelerometers, proximity sensors, touch sensors, and / or similar to those mentioned above) are described. FIG. 1A The contact strength sensor 165 is one or more of the contact strength sensors. The 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 disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 370 optionally includes one or more storage devices located remotely from one or more CPUs 310. In some embodiments, the memory 370 stores data with the portable multifunction device 100 (…). FIG. 1A The memory 370 stores programs, modules, and data structures similar to those stored in the memory 102 of the portable multifunction device 100, or subgroups thereof. Additionally, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 optionally stores a drawing module 380, a rendering module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the portable multifunction device 100 (… FIG. 1A The memory 102 may optionally not store these modules.
[0148] FIG. 3Each of the above identified elements can optionally be stored in one or more of the aforementioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules can optionally be combined or otherwise re-arranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 370 optionally stores additional modules and data structures not described above.
[0149] Attention is now directed towards embodiments of user interfaces ("UI") that are optionally implemented on portable multifunction devices 100.
[0150] FIG. 4A An exemplary user interface that includes an application menu on a portable multifunction device 100 is shown. Similar user interfaces are optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
[0151] • One or more signal strength indicators for one or more wireless communications, such as cellular and Wi-Fi signals;
[0152] • Time;
[0153] • A Bluetooth indicator;
[0154] • A battery status indicator;
[0155] • A tray 408 with icons for frequently used applications, such as:
[0156] • An icon 416 for telephone module 138, labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voicemail messages;
[0157] • An icon 418 for e-mail client module 140, labeled "Mail," which optionally includes an indicator 410 of the number of unread e-mail messages;
[0158] • An icon 420 for browser module 147, labeled "Browser"; and
[0159] • An icon 422 for video and music player module 152, labeled "Music"; and
[0160] • Icons for other applications, such as:
[0161] • An icon 424 for IM module 141, labeled "Messages";
[0162] o an icon 426 labeled "Calendar" for the Calendar module 148;
[0163] o an icon 428 labeled "Photos" for the Image Management module 144;
[0164] o an icon 430 labeled "Camera" for the Camera module 143;
[0165] o an icon 432 labeled "Online Videos" for the Online Videos module 155;
[0166] o an icon 434 labeled "Stocks" for the Stocks widget 149-2;
[0167] o an icon 436 labeled "Maps" for the Maps module 154;
[0168] o an icon 438 labeled "Weather" for the Weather widget 149-1;
[0169] o an icon 440 labeled "Clock" for the Clock widget 149-4;
[0170] o an icon 442 labeled "Fitness" for the Fitness module 142;
[0171] o an icon 444 labeled "Notes" for the Notes module 153; and
[0172] o an icon 446 for setting up applications or modules, which provides access to settings for device 100 and its various applications 136.
[0173] It should be noted that FIG. 4A the icon labels shown in FIG. 6 are merely examples. For example, other labels are optionally used for various application icons. In some embodiments, the label for a respective application icon includes the name of the application corresponding to that respective application icon. In some embodiments, the label for a particular application icon is different than the name of the application corresponding to that particular application icon.
[0174] FIG. 4B An example user interface on a device (e.g., device 300 in FIG. 3 with a touch-sensitive surface 451 (e.g., trackpad or touchpad 355 in FIG. 3 with a touch-sensitive surface separate from the display, as shown in FIG. 4B in FIG. 6. In some embodiments, the touch-sensitive surface (e.g.,FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in
[0175] As used herein, the term "focus selector" refers to an input element that indicates a current portion of a user interface with which the user is interacting. In some implementations that include a cursor or other location marker, the cursor acts as a "focus selector" so that when an element (e.g., a button, window, slider, or other user interface element) is highlighted by the cursor, selections made by the user are with respect to the element in the current portion of the display that is in FIG. 3 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4B 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 1A 451) has a major axis (e.g., 452) that corresponds to the major axis (e.g., 453) on the display (e.g., 450). According to these embodiments, the device detects contacts at locations on the touch-sensitive surface 451 that correspond to respective locations on the display (e.g., 460 and 462) (e.g., in FIG. 4AIn some implementations of touch-screens (e.g., of devices with touch-screens), a contact detected on the touch-screen acts as a "focus selector," so that when input is detected (e.g., a press input by a contact) at a location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch-screen display, the particular user interface element is adjusted in accordance with the detected input. In some implementations, focus moves from one region of a user interface to another region of the user interface without corresponding movement of the cursor or movement of a contact on the touch-screen display (e.g., by using the tab key or arrow keys to move focus from one button to another button); in these implementations, the focus selector moves in accordance with movement of focus between different regions of the user interface. Regardless of the particular form that the focus selector takes, the focus selector is generally a user interface element (or contact on a touch-screen display) that is controlled by a user to convey the user's desired interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, the position of a focus selector (e.g., a cursor, a contact, or a selection box) over a respective button at the time a press input is detected on the touch-sensitive surface (e.g., a touchpad or a touch-screen) will indicate that the user desires to activate the respective button (as opposed to other user interface elements shown on a display of the device).
[0176] In some embodiments, the device's response to a detected input by the device depends on criteria based on contact intensity during the input. For example, for some "light press" inputs, intensity of a contact that exceeds a first intensity threshold during the input triggers a first response. In some embodiments, the device's response to a detected input by the device depends on criteria that includes both contact intensity during the input and time-based criteria. For example, for some "deep press" inputs, intensity of a contact that exceeds a second intensity threshold that is greater than the first intensity threshold for light presses triggers a second response, provided that a delay time elapses between satisfying the first intensity threshold and satisfying the second intensity threshold. The delay time is typically less than 200 ms (milliseconds) in duration (e.g., 40 ms, 100 ms, or 120 ms, depending on the magnitude of the second intensity threshold, where the delay time increases as the second intensity threshold increases). This delay time helps to avoid accidental deep press inputs. As another example, for some "deep press" inputs, a period of reduced sensitivity occurs after the first intensity threshold is reached. During the period of reduced sensitivity, the second intensity threshold is increased. This temporary increase in the second intensity threshold also helps to avoid accidental deep press inputs. For other deep press inputs, the response to detecting a deep press input does not depend on time-based criteria.
[0177] In some embodiments, one or more of the input intensity threshold and / or the corresponding output varies based on one or more factors, such as user settings, contact motion, input timing, application running, rate at which intensity is applied, number of simultaneous inputs, user history, environmental factors (e.g., ambient noise), focus selector position, etc. Exemplary factors are described in U.S. Patent Application Serial Nos. 14 / 399,606 and 14 / 624,296, which are incorporated by reference herein in their entirety.
[0178] For example, FIG. 4C A dynamic intensity threshold 480 that varies over time based in part on the intensity of the touch input 476 over time is shown. The dynamic intensity threshold 480 is the sum of two components: a first component 474 that decays over time after a predefined delay time pi from when the touch input 476 is initially detected, and a second component 478 that tracks the intensity of the touch input 476 over time. The initial high intensity threshold of the first component 474 reduces accidental triggering of the "deep press" response while still allowing for immediate "deep press" response if the touch input 476 provides sufficient intensity. The second component 478 reduces accidental triggering of the "deep press" response by gradual fluctuations in intensity of the touch input. In some embodiments, the "deep press" response is triggered when the touch input 476 satisfies the dynamic intensity threshold 480 (e.g., at point 481 in FIG. 4C .
[0179] FIG. 4D Another dynamic intensity threshold 486 (e.g., intensity threshold I D ) is shown. FIG. 4D Two other intensity thresholds are also shown: a first intensity threshold I H and a second intensity threshold I L In FIG. 4D , although the touch input 484 satisfies the first intensity threshold I H and the second intensity threshold I L before time p2, a response is not provided until after the delay time p2 at time 482. Also in FIG. 4D , the dynamic intensity threshold 486 decays over time, where the decay begins at time 488 after the predefined delay time pi has elapsed from when the response associated with the second intensity threshold I L was triggered. This type of dynamic intensity threshold reduces accidental triggering of the response associated with the dynamic intensity threshold I D immediately after or concurrently with triggering the response associated with the lower threshold intensity, such as the first intensity threshold I H or the second intensity threshold I L .
[0180] FIG. 4E Another dynamic intensity threshold 492 (e.g., intensity threshold I D ) is shown. In FIG. 4E , a response associated with intensity threshold I L is triggered after a delay time p2 has elapsed from when touch input 490 is initially detected. Meanwhile, dynamic intensity threshold 492 decays after a predefined delay time pi has elapsed from when touch input 490 is initially detected. Thus, after a response associated with intensity threshold I L is triggered, decreasing the intensity of touch input 490 followed by increasing the intensity of touch input 490 without releasing touch input 490 can trigger a response associated with intensity threshold I D (e.g., at time 494), even when the intensity of touch input 490 is below another intensity threshold (e.g., intensity threshold I L ).
[0181] User Interface and Associated Processes
[0182] Attention is now directed towards embodiments of user interfaces ("UIs") and associated processes that can be implemented on an electronic device, such as portable multifunction device 100 or device 300, with a display, a touch-sensitive surface, (optionally) one or more tactile output generators for generating tactile outputs, and (optionally) one or more sensors for detecting intensities of contacts with the touch-sensitive surface.
[0183] FIG. 5A1-29 Exemplary user interfaces for displaying a taskbar with a plurality of application icons at variable locations along one or more edges of a touch-sensitive display, e.g., that allow a user to invoke and interact with the taskbar at locations proximate to their current hand position (e.g., without requiring significant shifting of the current hand position), are shown in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIG. 6A-F For convenience, some of the embodiments will be discussed with reference to operations performed on a device with a touch-sensitive display system 112. In such embodiments, the focus selector is optionally: a respective finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., a centroid of the respective contact or a point associated with the respective contact), or a centroid of two or more contacts detected on the touch-sensitive display system 112. However, similar operations are, optionally, performed on devices having displays 450 and independent touch- sensitive surfaces 451, in response to detecting contacts on the touch- sensitive surfaces 451 while displaying user interfaces shown in the figures along with a focus selector.
[0184] For ease of explanation, some of the implementations will be discussed with reference to operations performed on a device that does not have a home button, and using gestures that meet predefined criteria to dismiss a currently displayed user interface and display a home screen user interface. Although shown as optional in FIG. 5A1-29 some implementations, in some implementations, a home button (e.g., a mechanical button, a solid state button, or a virtual button) is included on the device, and the home button is used to dismiss a currently displayed user interface and display a home screen user interface (e.g., in response to a single press input) and / or display a multitasking user interface (e.g., in response to a double press input).
[0185] The home screen user interface includes a plurality of application icons corresponding to different applications installed on the device. When activated by a user (e.g., by a tap input), each application icon causes the device to enter the corresponding application and display a user interface (e.g., a default initial user interface or a last displayed user interface) on the display for the application. A dock is a user interface object that includes a set of application icons selected from the home screen user interface to provide quick access to a small number of frequently used applications. The application icons included in the dock are optionally selected by the user (e.g., via a settings user interface) or automatically selected by the device based on various criteria (e.g., frequency or time since last use). In some implementations, the dock is displayed as part of the home screen user interface (e.g., covering a bottom portion of the home screen user interface, as shown in FIG. 4A some implementations). In some implementations, the dock is displayed on a portion of another user interface (e.g., an application user interface) independently of the home screen user interface in response to a request by the user (e.g., a gesture that meets dock display criteria). An application switcher user interface displays representations of a plurality of recently opened applications (e.g., arranged in order based on time since the application was last displayed). When selected (e.g., by a tap input), a respective representation of a recently opened application (e.g., a snapshot of a last displayed user interface of the respective recently opened application) causes the device to re-display the last displayed user interface of the respective recently opened application on the screen.
[0186] FIG. 5A1-5 Example implementations are shown in which the electronic device displays a dock at different locations along an edge of the device depending on the location of the invocation input (e.g., a long edge press). FIG. 5A1An interactive map user interface is shown displayed in a full screen display mode. A long press gesture detected at a location on the left side of the bottom edge of the display (e.g., the bottom edge is defined relative to the current orientation of the interactive map user interface) (e.g., contact 4202 is maintained at a fixed location (e.g., its touchdown location) with less than a threshold amount of movement for at least a threshold amount of time TT1) causes a taskbar 4204 to be displayed at a corresponding location along the left side of the bottom edge of the device (e.g., centered on contact 4202), as shown in FIG. 5A1-2 After liftoff of contact 4202 in FIG. 5A3 The taskbar remains displayed after liftoff of contact 4202 in FIG. 5A4-5 A long press gesture detected at a location on the right side of the bottom edge of the display (e.g., by contact 4206) causes a taskbar 4202 to be displayed at a corresponding location along the right side of the bottom edge of the device (e.g., centered on contact 4206), as shown in FIG. 5A5 The taskbar is displayed on the right side of the bottom edge of the display in FIG. 5A2 The taskbar is displayed on the right side of the bottom edge of the display in
[0187] FIG. 5A4-8 An example embodiment is shown in which a single input (e.g., a multi-part input by a continuously maintained contact 4206) causes a taskbar to be displayed and then navigated to an application user interface associated with an application icon displayed within the taskbar. FIG. 5A4 An interactive map user interface is shown displayed in a full screen display mode. A long press gesture by contact 4206 at a location on the right side of the bottom edge of the display causes a taskbar 4204 to be displayed at a corresponding location along the right side of the bottom edge of the device (e.g., centered on contact 4206), as shown in FIG. 5A4-5 Movement of contact 4206 over a mail application icon 218 in taskbar 4204 selects the icon, which as a result of being selected is displayed in a taskbar application user interface 4208, as shown inFIG. 5A6 The mail user interface is shown larger. When the mail application icon 218 is selected, liftoff of the contact 4206 causes navigation to the mail user interface, as shown in FIG. 5A7-8 The display of the mail user interface is animated, as shown in FIG. 5A7-8 The display of the mail user interface is animated, as shown in FIG. 5A7-8 In some embodiments, after navigation to the mail user interface, the dock disappears because the input that invoked the dock moves and causes a navigation event. If no liftoff of the contact 4206 is detected as the contact 4206 moves past the mail application icon 218, and the movement of the contact 4206 continues to a position corresponding to the phone application icon 216 in the dock, selection of the mail application icon is stopped and the phone application icon becomes selected. If liftoff of the contact 4206 is detected while the contact 4206 has moved away from the dock 4204, the device optionally stops displaying the dock while maintaining display of the interactive map user interface.
[0188] FIG. 5A9-10 An example embodiment is shown in which a long press input on a different edge of the device also causes display of a dock at a position proximate to the input. FIG. 5A9 The mail user interface is shown. A long press gesture detected at a position on the lower half of the left edge of the device (e.g., by contact 4208) causes display of a dock 4204 at a corresponding position along the lower half of the left edge of the device (e.g., centered on the contact 4206), as shown in FIG. 5A9-10 In contrast to FIG. 5A2 and FIG. 5A5 In contrast to FIG. 5A10 the dock is displayed on a different edge of the device. In addition, in contrast to FIG. 5A2 and FIG. 5A5 the dock is displayed in a different orientation because it is displayed along a vertical edge of the device rather than a horizontal edge.
[0189] FIG. 5A9-12 An example embodiment is shown in which display of the dock is cancelled by liftoff of the invoking contact 4208 despite no navigation event occurring as a result of the input. FIG. 5A9 The mail user interface is shown. A long press gesture on the lower half of the left edge of the device, including contact 4208 on the MobileFinder mail title in FIG. 5A9 In FIG. 5A10 the dock 4204 is displayed along the lower half of the left edge of the device under the contact 4206. In FIG. 5A12 after liftoff of the contact, the dock disappears because the contact isFIG. 5A10-11 The contact is not positioned above the taskbar, e.g., when lift-off occurs.
[0190] FIG. 5A13-14 An example implementation is shown in which a gesture (e.g., a tap or a light press) detected in an edge region of the touch screen causes an operation within the displayed application user interface, rather than causing display of the taskbar, because the gesture does not meet the long press criteria (e.g., lift-off of the contact is detected before the contact is held for at least a threshold amount of time without substantial movement). FIG. 5A13 A mail user interface is shown. A tap gesture or a light press gesture on the lower half of the left edge of the device, including FIG. 5A13 The contact 4209 on the MobileFinder mail header causes display of the MobileFinder mail in FIG. 5A14 rather than display of the taskbar, as shown in FIG. 5A12 because the time threshold (e.g., TT1) required to invoke the system-wide taskbar display operation (and preempt the corresponding mail application-specific mail selection / display operation) is not met before lift-off of the contact.
[0191] FIG. 5A15-18 An example implementation is shown in which a downward swipe hides the taskbar. FIG. 5A15 An interactive map user interface is shown displayed in full screen display mode. A long press gesture on the right side of the bottom edge of the display, including FIG. 5A15 the contact 4212 in FIG. 5A13 causes display of the taskbar 4204 along the right side of the bottom edge of the device, under the contact 4212. In FIG. 5A17 the downward movement of the contact causes the taskbar to slide off the bottom edge of the display. In FIG. 5A18 after lift-off of the contact, the taskbar disappears because the contact pushed the taskbar off FIG. 5A16-17 the display in FIG. 5A16 the taskbar is displayed at the location under the contact 4212, but not centered at the contact 4212 because the location of the contact is close to an adjacent vertical edge of the display (e.g., the right edge of the display). In this case, the taskbar is displayed at the adjacent vertical edge of the display.
[0192] FIG. 5A19-21 An example implementation is shown in which lift-off of the contact causes the taskbar to expand and move to a predetermined location on the display. FIG. 5A19 An interactive map user interface is shown displayed in full screen display mode. A long press gesture on the left side of the bottom edge of the display, including FIG. 5A19 the contact 4216 in FIG. 5A20In the middle, under contact 4216, the taskbar 4204 is displayed along the left side of the bottom edge of the device. After liftoff of the contact 4216, the taskbar is moved from the position 4204-a in FIG. 5A21 to a predefined position 4204-b in the middle of the display bottom edge. The taskbar is also expanded when displayed at the predefined position as compared to the display at the position defined by the invocation input. FIG. 5A20
[0193] FIG. 5A22-23 An example embodiment is shown in which the taskbar is displayed at the default position when the long press gesture is too close to the end of the display edge. FIG. 5A22 An interactive map user interface is shown displayed in a full screen display mode. A long press gesture on the right side of the bottom edge of the display, including FIG. 5A22 contact 4218 in the middle, causes the taskbar 4204 to be displayed at the default position near the right end of the bottom edge of the display, but not centered at the contact 4218 because all of the taskbar would not be displayed on the display if it were centered at the contact 4218 (e.g., the right hand portion of the taskbar would be off the display to the right). FIG. 5A23
[0194] FIG. 5A22-27 An example embodiment is shown in which a single gesture initiated from the edge of the display causes an application to be displayed in a split screen display mode. FIG. 5A22 An interactive map user interface is shown displayed in a full screen display mode. A long press gesture on the right side of the bottom edge of the display, including FIG. 5A22 contact 4218 in the middle, causes the taskbar 4204 to be displayed at the default position near the right end of the bottom edge of the display, but not centered at the contact 4218. Movement of the contact on the mail application icon 218 selects the icon which is displayed larger in FIG. 5A23 as a result of being selected. In FIG. 5A24 when the mail application icon is selected, the contact is moved away from the display edge in an upward direction while moving the icon out of the taskbar, where the icon is displayed larger due to being moved out of the taskbar and indicating that the application will be launched when the contact 4218 is lifted off. In FIG. 5A25 when the mail application icon is selected, the contact is moved away from the display edge in an upward direction while moving the icon out of the taskbar, where the icon is displayed larger due to being moved out of the taskbar and indicating that the application will be launched when the contact 4218 is lifted off. In FIG. 5A26 further movement of the contact past the boundary 4223 (e.g., an invisible boundary, or a boundary temporarily displayed in response to detecting upward and rightward movement of the icon 218 outside of the taskbar) causes the icon to transition to a view of the mail user interface, indicating that the mail application will be launched in a split screen display mode (e.g., displayed side by side with the interactive map user interface) when the contact is lifted off. In FIG. 5A27 In some embodiments, lift-off of contact 4218 causes the device to switch from a full-screen display mode to a split-screen display mode, displaying a user interface for the mail application on the right portion of the display and the interactive map user interface on the left portion of the display. The mail application user interface is displayed in split-screen mode because the icon was dragged out of the dock prior to lift-off of the contact, which is in contrast to FIG. 5A8 In contrast, where the mail user interface is displayed in full-screen display mode because lift-off of the contact occurred while the mail icon was selected within the dock in FIG. 5A6-7 In contrast, where the mail user interface is displayed in full-screen display mode because lift-off of the contact occurred while the mail icon was selected within the dock in
[0195] FIG. 5A28-29 An example embodiment is shown in which a gesture initiated at an edge of the display causes navigation to a transition navigation state instead of displaying the dock because the contact moved away from the edge of the display before the time requirement for the long press gesture was met. FIG. 5A28 An interactive map user interface is shown displayed in full-screen display mode. In FIG. 5A29 In some embodiments, lift-off of contact 4218 causes the device to switch from a full-screen display mode to a split-screen display mode, displaying a user interface for the mail application on the right portion of the display and the interactive map user interface on the left portion of the display. The mail application user interface is displayed in split-screen mode because the icon was dragged out of the dock prior to lift-off of the contact, which is in contrast to FIG. 5A23 In contrast, where the mail user interface is displayed in full-screen display mode because lift-off of the contact occurred while the mail icon was selected within the dock in FIG. 5A29 In some embodiments, lift-off of contact 4218 causes the device to switch from a full-screen display mode to a split-screen display mode, displaying a user interface for the mail application on the right portion of the display and the interactive map user interface on the left portion of the display. The mail application user interface is displayed in split-screen mode because the icon was dragged out of the dock prior to lift-off of the contact, which is in contrast to FIG. 5A29 As shown in FIG. 8 Respective criteria for navigating to different user interfaces are described.
[0196] In some embodiments, when the currently displayed user interface is displayed in full-screen display mode (e.g., as shown in FIG. 5A28-29The device follows a first set of criteria for navigating to different user interfaces in the full-screen display mode when the currently displayed user interface is displayed in the split-screen display mode (e.g., as shown in FIG. 6A), and the device follows a second set of criteria for navigating to different user interfaces in the split-screen display mode (e.g., to a recently opened application user interface, or an application switcher user interface in a sub-portion of the split screen) or in the full-screen display mode (e.g., an application switcher user interface, including the split-screen user interface as a single selectable user interface, an application switcher user interface including an application user interface in the split-screen user interface as a single selectable user interface, or a home screen user interface) when the currently displayed user interface is displayed in the split-screen display mode. More details regarding navigation to different user interfaces (e.g., including different full-screen user interfaces and different user interface configurations in the split-screen user interface (e.g., different combinations of user interfaces in the split-screen user interface)) are described below with reference to, for example, FIG. 5B1-36 and flow FIG. 7A-I is provided.
[0197] FIG. 5B1-36 Example user interfaces for navigating from a user interface displayed in a split-screen display mode to different user interfaces are shown in accordance with some embodiments.
[0198] The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIG. 7A-I For convenience of explanation, some of the embodiments will be discussed with reference to operations performed on a device with a touch-sensitive display system 112. In such embodiments, the focus selector is optionally: a respective finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., a centroid of a respective contact or a point associated with a respective contact), or a centroid of two or more contacts detected on the touch-sensitive display system 112. However, analogous operations are optionally performed on a device with a display 450 and a separate touch-sensitive surface 451 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures along with a focus selector.
[0199] For convenience of explanation, some of the embodiments will be discussed with reference to operations performed on a device without a home button, and using gestures that meet predefined criteria to dismiss a currently displayed user interface and display a home screen user interface. Although shown as optional in FIG. 5B1-36 In some embodiments, a home button (e.g., a mechanical button, a solid-state button, or a virtual button) is included on the device, and the home button is used to dismiss a currently displayed user interface and display a home screen user interface (e.g., in response to a single press input) and / or display a multitasking user interface (e.g., in response to a double press input).
[0200] FIG. 5B1-36 The example user interfaces illustrated in FIGS. 1-3 relate to methods for efficient navigation between multiple user interfaces in split-screen display mode on an electronic device, e.g., quick switching between different application programs and system user interfaces, in accordance with some embodiments. Example user interfaces of the user interface selection process include an application switcher user interface that includes representations of multiple user interfaces of applications associated with the electronic device (e.g., recently opened applications, currently displayed applications, and optionally, a system control panel), displayed as a virtual stack of cards (e.g., a "stack") in which each card in the stack represents a user interface of a different application program. These cards are also referred to herein as "application views" (when corresponding to user interfaces of recently opened application programs), or as "control panel views" (when corresponding to user interfaces of control panels). User input detected on touch screen 112 (e.g., a touch-sensitive surface) (e.g., contacts, swipe / drag gestures, flick gestures, etc.) is used to display an application dock that is overlaid on the currently displayed user interface, and to navigate between different user interfaces that can be selected for display on the screen. In some embodiments, a home screen user interface is optionally displayed as a "card" in the virtual stack of cards. In some embodiments, the home screen user interface is displayed in a display layer underneath the stack of cards.
[0201] While the device displays a user interface (e.g., a user interface for an application), a gesture from the bottom of the screen (e.g., within a predefined area of the device that is adjacent to an edge of the display (e.g., including an edge region of the display that is proximate to a bottom edge of the device (e.g., 20 pixels wide))) invokes a user interface selection process (e.g., a transition navigation user interface) and directs navigation between multiple user interfaces based on the speed and direction of the input and, optionally, based on movement parameters and characteristics of the currently displayed user interface object (e.g., card). The device replaces the display of the current user interface with a card representing the user interface (e.g., in some embodiments, the user interface appears to shrink into the card according to the movement of the input). According to some embodiments, the user can select to use different gestures to (i) navigate to a full screen home screen, (ii) navigate to an application displayed on a screen prior to the user interface displayed immediately prior to invoking the user interface selection process (e.g., on either portion of a split screen display), (iii) navigate to a split screen application switcher user interface that allows the user to select from among applications previously displayed on the screen (e.g., displayed on a portion of the display for operation in split screen mode), (iv) navigate to a full screen application switcher user interface that allows the user to select from among applications previously displayed on the screen (e.g., displayed in full screen display mode or in split screen display mode), or (v) navigate back to the user interface displayed at the time the user interface selection process was invoked (e.g., in split screen display mode). During the input, the device provides dynamic visual feedback indicating what navigation selection will be made upon termination of the input, facilitating efficient user navigation among multiple choices. In some embodiments, the visual feedback and user interface response is fluid and reversible. In some embodiments, the user can also select to use gestures to navigate to a control panel user interface. In other embodiments, different inputs (e.g., initiated from different edges of the display) are required to navigate to the control panel user interface. In some embodiments, the user can also select to display a taskbar with multiple application icons on the displayed user interface.
[0202] FIG. 5B1-9 An example split screen user interface is shown in which the user interface on a portion of the display can be changed through an application switcher user interface displayed in split screen display mode. FIG. 5B1The interactive map user interface displayed in the left portion of the display operating in split-screen display mode and the mail user interface concurrently displayed in the right portion of the display are shown. The home affordance 4400 is displayed in both portions of the display, overlaid on the corresponding user interfaces, indicating that input indicating navigation can be initiated on either portion of the display (e.g., to navigate within that portion of the display only or to navigate to a full screen user interface). After the user interface selection process is activated by moving the contact 4402 up from the left side of the bottom edge of the display, FIG. 5B2 In the middle, the interactive map user interface is replaced (e.g., transitions to) a card 4014 representing the interactive map user interface. However, the display of the mail user interface is maintained in the right portion of the display because the transition navigation state is initiated on the user interface displayed in the left portion of the display. When the contact 4402 moves above a threshold position on the screen, a second card 406 representing the web browser user interface is also partially displayed (e.g., slides in from the left edge of the display) in the left portion of the display, indicating that if the contact is lifted off at that point in time, the navigation will enter the split-screen app switcher user interface. The criteria for navigating to the split-screen app switcher user interface on the left portion of the display is optionally determined dynamically based on movement parameters (e.g., position, velocity, path, etc., or a combination thereof) and movement history of the contact 4402. Upon the contact 4402 being lifted off, the device navigates to the app switcher user interface in the left portion of the display in FIG. 5B3 In the middle, the device navigates to the app switcher user interface in the left portion of the display in FIG. 5B4 The device animates the transition by appearing sliding cards representing previously displayed user interfaces under each other on the left side of the display, creating a stack of previously displayed user interfaces. Starting from FIG. 5B5 a swipe gesture navigates through the stack of cards, displaying the web browsing card 4406 in FIG. 5B6 and 5B7 A tap gesture is used to select the web browsing card 4406 in FIG. 5B8 causing the user interface of the web browsing application to be displayed on the left side of the display in FIG. 5B9 The mail user interface remains displayed in the right portion of the display in FIG. 5B9
[0203] FIG. 5B1-12 An example split-screen user interface is shown in which navigation occurs within one portion of the split-screen display (e.g., instead of within the other portion of the display or instead of within the entire display) because the transition navigation gesture starts from the bottom edge of that portion of the display (e.g., instead of from the bottom edge of the other portion of the display). FIG. 5B1 An interactive map user interface displayed in the left portion of a display operating in split screen display mode and a mail user interface concurrently displayed in the right portion of the display is shown. When an upward swipe gesture begins at the bottom edge of the left portion of the display, as shown in FIG. 5B1 , a user interface selection process is activated in the left portion of the screen, as shown in the transition navigation user interface displayed on the left portion of the display in FIG. 5B2 . Conversely, when an upward swipe gesture begins at the bottom edge of the right portion of the display, as shown in FIG. 5B10 , a user interface selection process is activated in the right portion of the screen, as shown in the transition navigation user interface displayed on the right portion of the display in FIG. 5B11 . In both cases, the user interface displayed on the opposite portion of the display is maintained while navigation occurs on the portion of the display in which the gesture was initiated (e.g., when navigating to the application switcher user interface then the web browsing user interface appears in the left portion of the display in FIG. 5B2-9 , the mail user interface remains displayed in the right portion of the display); likewise, when navigation to the application switcher user interface occurs on the right portion of the display in FIGS. 5B10-5B12 , the web browsing user interface remains displayed on the left portion of the display.
[0204] In the example shown in FIGS. 5B1-5B12 , an edge swipe gesture beginning on either side of the split screen meets the criteria for navigating to the split screen application switcher user interface on the respective side of the split screen, but does not meet the criteria for navigating to the full screen application switcher user interface.
[0205] FIGS. 5B13-5B17 An example process is shown in which a device navigates from a user interface displayed in a split screen display mode to a full screen application switcher user interface (e.g., instead of to a split screen application switcher user interface) because the input meets the criteria for navigating to the full screen application switcher user interface (e.g., because the transition navigation gesture travels farther from the edge of the display). FIG. 5B13 An interactive map user interface displayed in the left portion of a display operating in split screen display mode and a mail user interface concurrently displayed in the right portion of the display is shown. When an upward swipe gesture begins at the bottom edge of the left portion of the display, as shown in FIG. 5B13 , a user interface selection process is activated in the left portion of the screen, as shown in the transition navigation user interface displayed on the left portion of the display in FIG. 5B14 . As the contact continues to move away from the bottom edge of the display, the mail user interface displayed in the right portion of the display is replaced with (e.g., transitions to) FIG. 5B15The card 4015 indicates the mail user interface, indicating to the user that the device will switch to a full-screen display mode upon contact lift-off (e.g., unless the user modifies the gesture to direct navigation back to a split-screen display mode). In addition, if contact lift-off is detected at the point FIG. 5B15 indicated, the application switcher user interface displayed in full-screen display mode will include as cards 4014 and 4015 user interfaces that are individually selectable within the application switcher user interface; and when the user selects one of the cards displayed in the full-screen application switcher user interface, the device displays the user interface corresponding to the selected card in full-screen display mode. In other words, if contact lift-off is detected at the state FIG. 5B15 indicated (e.g., visual feedback indicates that the criteria for navigating to a full-screen application switcher user interface are met), the device will transition out of split-screen mode as a result of the navigation gesture of contact 4424.
[0206] As FIG. 5B16 indicated, as contact 4424 continues to move upward, the cards from the previously displayed interactive map user interface and the mail user interface are animated to merge into a single card 4017, indicating a split-screen display state in which user interfaces of the interactive map application and the mail application are displayed simultaneously. The presence of a second card 4406 on the display representing the web browsing user interface indicates that the device will navigate to a full-screen application switcher user interface in a different configuration upon contact lift-off. The display of the full-screen transition user interface (e.g., containing cards associated with both applications) indicates that the application switcher user interface will be displayed in full-screen display mode. This is in contrast to the display of a split-screen transition user interface (e.g., as FIG. 5B2 and FIG. 5B11 indicated, which includes only cards associated with a single application) indicates that the application switcher user interface will be displayed in split-screen mode (e.g., as FIG. 5B4 and FIG. 5B12 indicated) upon termination of the gesture. The device then displays the full-screen application switcher user interface upon contact lift-off in FIG. 5B17 The selection of card 4015 causes the device to re-display the split-screen user interface, including the interactive map user interface and the mail user interface.
[0207] FIGS. 5B18-5B21 An example process is shown in which the device navigates from a user interface displayed in split-screen display mode to a full-screen home screen (e.g., instead of to a split-screen application switcher user interface or a full-screen application switcher user interface) because the input meets criteria for navigating to a full-screen home screen user interface (e.g., because the transition navigation gesture travels even further from the edge of the display than FIG. 5B16 indicated). FIG. 5B18The interactive map user interface displayed in the left portion of the display operating in split-screen display mode and the mail user interface displayed simultaneously in the right portion of the display are shown. When an upward swipe gesture begins at the bottom edge of the left portion of the display, as shown in FIG. 5B18 , and travels far enough from the bottom edge of the display, a full-screen user interface selection process is activated, as shown by the full-screen transition navigation user interface displayed on the display in FIG. 5B19 , which includes cards 4017 associated with both the interactive map application and the mail application. The presence of a second card 4406 on the display representing the web browsing user interface in FIG. 5B19 indicates that the device will navigate to the application switcher user interface upon contact lift-off. As the contact continues away from the bottom edge of the display, FIG. 5B20 the web browsing card disappears and the home screen user interface begins to focus behind the transition navigation user interface, indicating that the device will navigate to the home screen upon contact lift-off (e.g., unless the user modifies the gesture to direct navigation to a different user interface). The device then displays the full-screen home screen upon FIG. 5B21 contact lift-off in
[0208] FIGS. 5B22-5B24 An example split-screen user interface is shown in which the device navigates to a previously displayed user interface on one portion of the display (e.g., rather than the application switcher user interface or the home screen) while maintaining display of a user interface on another portion of the display because the input meets criteria for navigation to the previously displayed user interface (e.g., the input moves substantially horizontally to the bottom edge of the display (e.g., the input is an arcuate swipe that begins at the bottom edge of a portion of the display)). FIG. 5B22 The web browsing user interface displayed in the left portion of the display operating in split-screen display mode and the mail user interface displayed simultaneously in the right portion of the display are shown. When a substantially lateral swipe gesture begins at the bottom edge of the left portion of the display, as shown in FIG. 5B22 , a user interface selection process is activated in the left portion of the screen, as shown by the transition navigation user interface displayed on the left portion of the display in FIG. 5B23 . The arcuate swipe appears to drag the web browsing user interface (e.g., the application view 406 of the web browsing user interface) from the first portion of the display to the right, while simultaneously pulling the interactive map user interface (e.g., the application view 4014 of the interactive map user interface) from the left onto the display in FIG. 5B23 . The cards appear to be moving over the home screen, which is blurred in the background. The display of the mail user interface in the right portion of the display is unaffected by the gesture because the gesture began within the left portion of the display and did not invoke a full-screen display mode (e.g., as shown in FIG. 5B15and 5B19 After contact lift-off, the interactive map user interface is displayed in the left portion of the split screen display (as shown in FIG. 6G). FIG. 5B24 The interactive map user interface is displayed in the left portion of the split screen display.
[0209] FIGS. 5B25-5B36 An example split screen user interface is shown in which the device navigates through previously displayed user interfaces within a card deck in one portion of the display, and then activates a full screen display mode in response to a serial arc-shaped swipe gesture because there are no other previously displayed user interfaces in the card deck. FIG. 5B25 An interactive map user interface displayed in the left portion of the display operating in a split screen display mode and a mail user interface concurrently displayed in the right portion of the display are shown. When a substantially lateral swipe gesture is initiated from the bottom edge of the right portion of the display, a user interface selection process is activated in the right portion of the screen as shown in FIG. 5B25 The transition navigation user interface displayed on the left portion of the display as shown in FIG. 5B23 is shown (e.g., opposite the left portion of the display as shown in FIG. 5B23 when an arc-shaped swipe is initiated from the bottom edge of the left portion of the display). The arc-shaped swipe gesture pushes the mail user interface off to the right of the display while dragging the web browsing user interface (e.g., the application view 4406 of the web browsing user interface) onto the right portion of the display (e.g., appearing to be the interactive map user interface displayed in the right portion of the display) as shown in FIG. 5B27 The web browsing user interface is the first previously displayed user interface to navigate to the right portion of the display because it was the last user interface navigated away from on the display. According to some embodiments, the web browsing user interface is still the first previously displayed user interface to navigate to the right portion of the display even though it was previously displayed in the left portion of the display because the two portions of the display share a single deck of previously displayed user interfaces.
[0210] A first subsequent arc-shaped swipe in the right portion of the display results in navigation back to the mail user interface as shown in FIGS. 5B28-5B29 because the deck of previously displayed user interfaces is reset prior to the start of the gesture, e.g., as shown by the redisplay of the home affordance 4400-2 at the start of the input as shown in FIG. 5B30 In contrast, a second subsequent arc-shaped swipe in the right portion of the display navigates to an older previously displayed user interface for the instant messaging application as shown in FIG. 5B28 (e.g., rather than navigating back to the web browsing user interface displayed in the right portion of the display prior to displaying the email user interface) because the deck of previously displayed user interfaces is not reset prior to the start of the gesture as shown in FIGS. 5B31-5B33 FIG. 5B33 FIG. 5B31 lacks a home affordance as shown in FIGS. 5B34-5B35 In FIG. 1G, a third subsequent arcuate scan in the right portion of the display, initiated prior to the previously displayed card stack reset, results in navigation to a full-screen display of the interactive map user interface, as shown in FIG. 5B36 because there are no more previously displayed user interfaces in the card stack. In contrast to split-screen display mode, in which two home affordances 4400 are displayed (e.g., one on each of the right and left portions of the display in FIG. 5B25 and one on each application user interface displayed in the right and left portions of the display, in FIG. 5B36 there is only one home affordance displayed on the full-screen interactive map user interface in
[0211] FIGS. 5C1-5C59 Exemplary user interfaces for navigating between different user interfaces using multi-touch gestures, e.g., that take into account translation of touches as a group and movement of the touches relative to each other (e.g., "pinch" and "spread" actions) and provide dynamic feedback during the gesture to indicate which user interface will be navigated to upon completion of the gesture, which allows the user to change the characteristics of the gesture to avoid unintended navigation and / or take into account changes in intended navigation during the gesture, are shown in accordance with some embodiments.
[0212] The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 11A-11F For convenience of explanation, some of the embodiments will be discussed with reference to operations performed on a device with a touch-sensitive display system 112. In such embodiments, the focus selector is optionally: a respective finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., a centroid of the respective contact or a point associated with the respective contact), or a centroid of two or more contacts detected on the touch-sensitive display system 112. However, similar operations are optionally performed on a device with a display 450 and a separate touch- sensitive surface 451 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures along with a focus selector.
[0213] For convenience of explanation, some of the embodiments will be discussed with reference to operations performed on a device without a home button, and using gestures that meet predefined criteria to dismiss a currently displayed user interface and display a home screen user interface. Although in FIGS. 5C1-5C59As shown here, it is optional, but in some embodiments, the device includes a home button (e.g., a mechanical button, a solid button, or a virtual button), and this home button is used to deactivate the currently displayed user interface and display the home screen user interface (e.g., in response to a single press input) and / or display a multitasking user interface (e.g., in response to a double press input).
[0214] FIGS. 5C1-5C59 The example user interface shown relates to methods for efficient navigation between multiple user interfaces according to some implementation schemes, such as quickly switching between different application and system user interfaces. FIGS. 5C1-5C59 The exemplary user interface shown includes a home screen user interface, which includes multiple application launch icons, such as those shown in the image. FIGS. 5A1-5A29 The described full-screen application switcher user interface includes representations of multiple user interfaces for applications associated with electronic devices (e.g., recently opened applications, currently displayed applications, and optionally a system control panel), which are displayed as cards processed on a virtual plane (e.g., with reference to...). FIGS. 5B1-5B36 The cards shown in the described virtual overlay are the opposite of those in the traditional sense, where each card in the overlay represents the user interface of a different application. These cards are also referred to herein as “application views” (when corresponding to the user interface of a recently opened application) or “control panel views” (when corresponding to the user interface of a control panel). In some implementations, the application view displays a snapshot of the recent state or live view of the application corresponding to the application view, unlike the application launch icon displayed on the home user interface, which displays a predetermined design independent of the recent or live state of the application.
[0215] While the device displays a user interface (e.g., a user interface for an application or a system user interface such as an application switcher user interface), a gesture including at least 3 contacts (e.g., 3, 4, 5, or more contacts) begins anywhere on the screen and includes at least a threshold amount of movement within a predetermined period of time, invoking a user interface selection process (e.g., displaying a transition navigation user interface) and directing navigation between multiple user interfaces based on the speed and direction of the input and, optionally, based on movement parameters and characteristics of the currently displayed user interface object (e.g., card). The device replaces the display of the current user interface with a card representing the user interface (e.g., in some embodiments, the user interface appears to shrink into the card according to the movement of the input). According to some embodiments, the user can select to use panning and pinch / spread gestures to (i) navigate to a full screen home screen, (ii) navigate to an application displayed on a screen prior to the user interface displayed immediately prior to invoking the user interface selection process (e.g., on either portion of a split screen display), (iii) navigate to a split screen application switcher user interface that allows the user to select from among applications previously displayed on the screen (e.g., displayed on a portion of the display operating in split screen mode), (iv) navigate to a full screen application switcher user interface that allows the user to select from among applications previously displayed on the screen (e.g., displayed in full screen display mode or displayed in split screen display mode), or (v) navigate back to the user interface displayed at the time the user interface selection process was invoked (e.g., in split screen display mode). During the input, the device provides dynamic visual feedback indicating what navigation selection will be made at the termination of the input, facilitating efficient user navigation among multiple choices. In some embodiments, the visual feedback and user interface response is fluid and reversible. In some embodiments, the user can also select to use gestures to navigate to a control panel user interface. In other embodiments, different inputs (e.g., initiated from different edges of the display) are required to navigate to the control panel user interface. In some embodiments, the user can also select to display a taskbar with multiple application launch icons on the displayed user interface.
[0216] FIGS. 5C1-5C3 , FIGS. 5C4-5C6 and FIGS. 5C7-5C9 An example embodiment is shown in which a gesture including two contacts (e.g., two finger touches) performs an application-specific operation, e.g., rather than a system-wide user interface selection (e.g., UI navigation) operation. FIG. 5C1 To him FIG. 5C3 and FIGS. 5C4-5C6 A swipe gesture is shown that causes panning of an interactive map, while FIGS. 5C7-5C9 A pinch gesture is shown that causes resizing of an interactive map.
[0217] FIG. 5C1 An interactive map user interface is displayed in a full screen display mode. A two- contact swipe gesture includes movement 4504 and 4508 of contact 4502 and 4506, respectively, from locations 4502-a and 4506-a as shown FIG. 5C1 to locations 4502-b and 4506-b as shown FIG. 5C2 causes the interactive map to pan horizontally to the right (e.g., showing eastern Oregon) because the gesture meets application-specific panning criteria (e.g., a panning movement that includes fewer than three total contacts of the contacts in the gesture) rather than criteria that invoke a user interface selection process (e.g., a panning movement that includes at least three contacts of the contacts in the gesture). Upon liftoff of the contacts, the interactive map application user interface remains displayed as shown FIG. 5C3 because the gesture meets the application-specific criteria rather than system- wide user interface navigation criteria.
[0218] FIG. 5C4 An interactive map user interface is displayed in a full screen display mode. A two- contact swipe gesture includes movement 4664 and 4668 of contact 4662 and 4666, respectively, from locations 4662-a and 4666-a as shown FIG. 5C4 to locations 4662-b and 4666-b as shown FIG. 5C5 causes the interactive map to pan vertically up (e.g., hiding southern Montana) because the gesture meets application-specific panning criteria (e.g., a panning movement that includes fewer than three total contacts of the contacts in the gesture) rather than criteria that invoke a user interface selection process (e.g., a panning movement that includes at least three contacts of the contacts in the gesture). Upon liftoff of the contacts, the interactive map application user interface remains displayed as shown FIG. 5C6 because the gesture meets the application-specific criteria rather than system- wide user interface navigation criteria.
[0219] FIG. 5C7 An interactive map user interface is displayed in a full screen display mode. A two- contact pinch gesture includes movement 4594 and 4598 of contact 4594 and 4598, respectively, toward each other from locations 4594-a and 4598-a as shown FIG. 5C7 to locations 4594-b and 4598-b as shown FIG. 5C8The movement 4596 and movement 4600 of the position 4594-b and the position 4598-b as shown, results in the interactive map zooming out (e.g., displaying both eastern Oregon and western Illinois) because the gesture meets the application-specific resizing criteria (e.g., a pinch movement including the contacts in the gesture that includes fewer than three total contacts), rather than the criteria that invokes the user interface selection process (e.g., a pan movement including the contacts in the gesture that includes at least three contacts). Upon liftoff of the contacts, the interactive map application user interface remains displayed as shown FIG. 5C9 as shown because the gesture meets the application-specific criteria, rather than the system- wide user interface navigation criteria.
[0220] FIGS. 5C10-5C12 , FIGS. 5C13-5C16 , FIGS. 5C17-5C19 and FIGS. 5C20-5C22 shows an example embodiment in which a swipe gesture including at least three contacts (e.g., a three-, four-, or five-finger touch) performs a system-wide user interface selection (e.g., UI navigation) operation, e.g., rather than an application-specific operation. The user interface navigated to in response to the gesture in each series of figures depends on the properties of the gesture. The device provides dynamic visual feedback during the gesture to indicate which user interface will be navigated to upon termination of the gesture (e.g., liftoff of all contacts).
[0221] FIGS. 5C10-5C12 shows a horizontal swipe gesture including four contacts, which results in navigation to the previously displayed application user interface. FIG. 5C10 shows the interactive map user interface displayed in full screen display mode. A four-contact swipe gesture including contact 4510, contact 4514, contact 4518, and contact 4522 moves rightward from positions 4510-a, 4514-a, 4518-a, and 4522-a as shown FIG. 5C10 to positions 4510-b, 4514-b, 4518-b, and 4522-b as shown FIG. 5C11 invokes the user interface selection process because the gesture meets the system-wide user interface navigation criteria (e.g., a pan movement including the contacts in the gesture that includes at least three contacts, where at least a threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts), rather than the application-specific pan criteria (e.g., a pan movement including the contacts in the gesture that includes fewer than three total contacts (e.g., as shown FIGS. 5C1-5C3The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface (e.g., as shown), and begins to slide the card off the right side of the screen (e.g., moves right according to the contact), while simultaneously dragging a representation (e.g., card) 4528 of the previously displayed mail user interface onto the screen from the left side, as shown. During this gesture, the card 4526 and the card 4528 remain large, indicating that the device will navigate to the next / previous displayed application when the gesture terminates (e.g., because the device designates the next / previous displayed application as the application prior to the current target state when the properties of the input / application view satisfy the "side swipe for next / previous application" criteria (100x4) and / or the "vertical swipe next / previous application" criteria (100x5), as shown), as shown. FIG. 5C11 The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface (e.g., as shown), and begins to slide the card off the right side of the screen (e.g., moves right according to the contact), while simultaneously dragging a representation (e.g., card) 4528 of the previously displayed mail user interface onto the screen from the left side, as shown. During this gesture, the card 4526 and the card 4528 remain large, indicating that the device will navigate to the next / previous displayed application when the gesture terminates (e.g., because the device designates the next / previous displayed application as the application prior to the current target state when the properties of the input / application view satisfy the "side swipe for next / previous application" criteria (100x4) and / or the "vertical swipe next / previous application" criteria (100x5), as shown), as shown. FIGS. 10A-10B The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface (e.g., as shown), and begins to slide the card off the right side of the screen (e.g., moves right according to the contact), while simultaneously dragging a representation (e.g., card) 4528 of the previously displayed mail user interface onto the screen from the left side, as shown. During this gesture, the card 4526 and the card 4528 remain large, indicating that the device will navigate to the next / previous displayed application when the gesture terminates (e.g., because the device designates the next / previous displayed application as the application prior to the current target state when the properties of the input / application view satisfy the "side swipe for next / previous application" criteria (100x4) and / or the "vertical swipe next / previous application" criteria (100x5), as shown), as shown. FIG. 5C12 The mail user interface is displayed after the contact liftoff, as shown.
[0222] FIGS. 5C13-5C16 A vertical swipe gesture including four contacts is shown, which results in navigation to the home screen user interface. FIG. 5C13 A mail user interface is shown in a full screen display mode. A four contact swipe gesture including contact 4530, contact 4534, contact 4538, and contact 4542 moves 4532, 4536, 4540, and 4544, respectively, from positions 4530-a, 4534-a, 4538-a, and 4542-a, as shown, to positions 4510-b, 4534-b, 4538-b, and 4542-b, as shown, invoking the user interface selection process because the gesture satisfies a system-wide user interface navigation criteria (e.g., a translational movement including contacts in the gesture that includes at least three contacts, where at least a threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts), rather than an application-specific translational criteria (e.g., a translational movement including contacts in the gesture that includes fewer than three total contacts (e.g., as shown), which does not satisfy the system-wide user interface navigation criteria). FIG. 5C13 A vertical swipe gesture including four contacts is shown, which results in navigation to the home screen user interface. FIG. 5C14 A vertical swipe gesture including four contacts is shown, which results in navigation to the home screen user interface. FIGS. 5C4-5C6(As shown), or after the device first detects a contact, no threshold movement occurs within a threshold time amount (e.g., TT1). The device replaces the email user interface display with a representation (e.g., card) 4528 of the email user interface and begins to shrink and pan the card 4528 upwards (e.g., according to the upward movement of the contact). The previously shown representation (e.g., card) 4526 of the interactive map user interface is also displayed with a similar size and vertical panning as the email card 4528, thus indicating that the device will navigate to the application switcher user interface when the gesture ends. As the contact continues to move upwards to positions 4530-c, 4534-c, 4538-c, and 4542-c, as FIG. 5C15 As shown, the mail card 4528 continues to shrink and move upwards, the interactive map card 4526 disappears, and the home screen user interface begins to focus behind the mail card 4528, thus indicating that the device will navigate to the home screen user interface when the gesture ends (e.g., because the device designates the home screen as the current target state when the attributes of the input / application view meet the "quick resize / pan home" criterion (100x2) and / or the "large resize / pan home" criterion (100x3), such as...). FIGS. 10A-10B As shown), FIGS. 10A-10B As shown, FIG. 5C16 The home screen user interface is displayed after the touch is lifted.
[0223] FIGS. 5C17-5C19 A vertical swipe gesture involving four touches is shown, which leads to navigation to the app cutter user interface. FIG. 5C17 The email user interface is shown in full-screen mode. The four-touch swipe gestures, including touches 4546, 4550, 4554, and 4558, move upwards from... FIG. 5C17 Positions 4546-a, 4550-a, 4554-a, and 4558-a are shown as follows: FIG. 5C18Movements 4548, 4552, 4556, and 4560 at positions 4510-b, 4550-b, 4554-b, and 4558-b, respectively, invoke the user interface selection process because the gesture meets system-wide user interface navigation criteria (e.g., including translational movement of contacts in the gesture, which includes at least three contacts, wherein at least a threshold movement amount occurs within a threshold time amount (e.g., TT1) after the device first detects the contact), rather than application-specific translation criteria (e.g., including translational movement of contacts in the gesture, which includes fewer than three total contacts, or where no threshold movement amount occurs within a threshold time amount (e.g., TT1) after the device first detects the contact). The device replaces the email user interface display with a representation (e.g., card) 4528 of the email user interface and begins to retract and translate the card 4528 upwards (e.g., upward movement based on the contact). The previously shown representation of the interactive map user interface (e.g., card) 4526 is also displayed in a similar size and vertical panning as the mail card 4528, thus indicating that the device will navigate to the application switcher user interface when the gesture ends (e.g., because the device designates the application switcher as the current target state when the attributes of the input / application view meet the "pause application switcher" criterion (100x6) and / or the "brief, slow move to application switcher" criterion (100x8)). FIGS. 10A-10B As shown), FIG. 5C19 The application switcher user interface is displayed after the contact is lifted. The device navigates to... FIG. 5C19 The application switcher user interface, instead of the home screen user interface (e.g., as...). FIGS. 5C13-5C16 (as in the navigation), because the gesture meets the application switcher navigation standard, but not the home screen navigation standard (e.g., the upward movement of the touch meets a first vertical translation and / or a first vertical velocity threshold corresponding to navigation to the application switcher user interface, but does not meet a second vertical translation and / or a second vertical velocity threshold corresponding to navigation to the home screen user interface).
[0224] FIGS. 5C20-5C22 The demonstration showed a horizontal swipe gesture involving four touches, which caused navigation back to the same app user interface. FIG. 5C20 The interactive map user interface is shown in full-screen mode. The four-touch swipe gestures, including touches 4562, 4566, 4570, and 4574, move to the right from... FIG. 5C20 Positions 4562-a, 4566-a, 4570-a, and 4574-a are shown as follows: FIG. 5C21The movement 4564, 4568, 4572, and 4576 of the positions 4510-b, 4566-b, 4570-b, and 4574-b, respectively, invokes a user interface selection process because the gesture meets a system-wide user interface navigation criterion (e.g., a panning movement that includes contacts in the gesture that includes at least three contacts where at least a threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts), rather than an application-specific panning criterion (e.g., a panning movement that includes contacts in the gesture that includes fewer than three total contacts (e.g., as FIGS. 5C1-5C3 illustrated) or no threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts). The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface and begins to slide the card off the right side of the screen (e.g., moves rightward in accordance with the contacts), while simultaneously dragging a representation (e.g., card) 4528 of the previously displayed mail user interface onto the screen from the left side, as FIG. 5C21 illustrated. During the gesture, the cards 4526 and 4528 remain large, however, the cards do slide far to the right, indicating that the device will navigate back to the interactive map user interface upon termination of the gesture (e.g., because when the properties of the input / application view meet the "resize / pan for cancel" criterion (100x7), the device designates the current application as the current target state, as FIGS. 10A-10B illustrated), as FIG. 5C22 illustrated. The interactive map user interface is displayed upon liftoff of the contacts.
[0225] FIGS. 5C23-5C26 An example embodiment is shown in which a swipe gesture that includes at least four contacts (e.g., a four or five finger touch) performs an application-specific operation, rather than a system-wide user interface selection (e.g., UI navigation) operation when no threshold amount of movement occurs within a threshold amount of time. FIG. 5C23 An interactive map user interface is shown in a full screen display mode. Four-contact input including contacts 4578, 4582, 4586, and 4590 is detected, as FIG. 5C24 illustrated. However, movement of the contacts does not occur until after a threshold amount of time (e.g., TT1) has passed after first detecting the contacts, as FIG. 5C24 illustrated. The contacts 4578, 4582, 4586, and 4590 move rightward from positions 4578-a, 4582-a, 4586-a, and 4590-a, respectively, as FIG. 5C24 illustrated, to positions 4578-b, 4582-b, 4586-b, and 4590-b, respectively, as FIG. 5C25The movement 4580, movement 4584, movement 4588, and movement 4592 of the illustrated locations 4578-b, 4582-b, 4586-b, and 4590-b results in the interactive map panning horizontally to the right (e.g., displaying as Eastern Oregon), for example, instead of invoking a user interface selection process (e.g., as FIGS. 5C10-5C12 illustrated), because the gesture meets application-specific panning criteria (e.g., including a movement amount less than a threshold within a threshold amount of time (e.g., TT1) after the device first detects the contact), instead of criteria for invoking a user interface selection process (e.g., including a movement amount more than a threshold within a threshold amount of time (e.g., TT1) after the device first detects the contact, as FIGS. 5C10-5C12 illustrated). Upon liftoff of the contact, the interactive map application user interface remains displayed, as FIG. 5C26 illustrated, because the gesture meets application-specific criteria, instead of system-wide user interface navigation criteria.
[0226] FIGS. 5C27-5C29 , FIGS. 5C30-5C32 , FIGS. 5C33-5C36 and FIGS. 5C37-5C42 illustrate example embodiments in which a pinch gesture including at least three contacts (e.g., three, four, or five finger touches) performs a system-wide user interface selection (e.g., UI navigation) operation, for example, instead of an application-specific operation. The user interface navigated to in response to the gesture in each series of figures depends on the properties of the gesture, which in some embodiments include panning motion in addition to and / or instead of pinch and / or spread motion. The device provides dynamic visual feedback during the gesture to indicate which user interface will be navigated to upon termination of the gesture (e.g., liftoff of all contacts).
[0227] FIGS. 5C27-5C29 illustrates a pinch gesture including five contacts, which results in navigation to the home screen user interface. FIG. 5C27 illustrates an interactive map user interface displayed in a full screen display mode. A five-contact pinch gesture includes contacts 4602, 4606, 4610, 4614, and 4618 moving toward each other from locations 4602-a, 4606-a, 4610-a, 4614-a, and 4618-a, as FIG. 5C27 illustrated, to locations 4602-b, 4606-b, 4610-b, 4614-b, and 4618-b, as FIG. 5C28The movement 4604, 4608, 4612, 4616, and 4620 of the locations 4502-b, 4606-b, 4610-b, 4614-b, and 4618-b, respectively, shown, invokes the user interface selection process because the gesture meets the system-wide user interface navigation criteria (e.g., a pinch movement that includes contacts in the gesture that includes at least three contacts where at least a threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts), rather than the application-specific resizing criteria (e.g., a pinch / open movement that includes contacts in the gesture that includes fewer than three total contacts (e.g., as FIGS. 5C7-5C9 shown), or no threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts). The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface and begins to shrink and translate the card 4526 toward the location between each contact (e.g., in accordance with the pinching contact movement). The smaller size of the interactive map card 4526 and the appearance of the home screen user interface behind the interactive map card 4526 indicates that the device will navigate to the home screen user interface upon termination of the gesture (e.g., because when the properties of the input / application view meet the "quick resize / translate home" criteria (100x2) and / or the "large resize / translate home" criteria (100x3), the device designates the home screen as the current target state, as FIGS. 10A-10B shown), as FIGS. 10A-10B shown, as FIG. 5C29 shown, the home screen user interface is displayed upon liftoff of the contacts.
[0228] FIGS. 5C30-5C32 A pinch gesture including five contacts is shown, which results in navigation to the application switcher user interface. FIG. 5C30 An interactive map user interface is shown displayed in full screen display mode. A five contact pinch gesture includes contacts 4642, 4646, 4650, 4654, and 4658 moving toward each other from locations 4642-a, 4646-a, 4650-a, 4654-a, and 4658-a, respectively, as FIG. 5C30 shown, to locations 4642-b, 4646-b, 4650-b, 4654-b, and 4658-b, respectively, as FIG. 5C31The movement 4644, movement 4648, movement 4652, movement 4656, and movement 4660 of the locations 4542-b, location 4646-b, location 4650-b, location 4654-b, and location 4658-b, respectively, invoke a user interface selection process because the gesture meets system- wide user interface navigation criteria (e.g., a pinch movement including contacts in the gesture that includes at least three contacts where at least a threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts), rather than application-specific resizing criteria (e.g., a pinch / spread movement including contacts in the gesture that includes fewer than three total contacts (e.g., as FIGS. 5C7-5C9 illustrated), or no threshold amount of movement occurs within a threshold amount of time (e.g., TT1) after the device first detects the contacts). The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface and begins to shrink and translate the interactive map card 4526 toward the location between each contact (e.g., in accordance with the pinched contact movement). The previously displayed representation (e.g., card) 4528 of the mail user interface is also displayed at a similar size and vertical translation as the interactive map card 4526, indicating that the device will navigate to the application switcher user interface upon termination of the gesture (e.g., because when the properties of the input / application view meet the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as FIGS. 10A-10B illustrated), as FIG. 5C32 illustrated. The device navigates to the application switcher user interface in FIG. 5C32 rather than the home screen user interface (e.g., as navigated to in FIGS. 5C27-5C29 ), because the gesture meets the application switcher navigation criteria, rather than the home screen navigation criteria (e.g., the pinched upward movement of the contacts meets a first pinch translation and / or a first vertical velocity threshold corresponding to navigation to the application switcher user interface, but does not meet a second pinch translation and / or a second vertical velocity threshold corresponding to navigation to the home screen user interface).
[0229] FIGS. 5C33-5C36 、 FIGS. 5C37-5C42 and FIGS. 5C43-5C47Exemplary embodiments are shown in which user interface navigation is controlled by a combination of panning and pinch movements in a gesture that includes at least three contacts (e.g., three, four, or five finger touches). The user interface navigated to in response to the gesture in each series of figures depends on the properties of the gesture prior to termination (e.g., the last measured set of properties of the gesture). The device provides dynamic visual feedback during the gesture to indicate which user interface will be navigated to when the gesture is terminated (e.g., liftoff of all contacts).
[0230] FIGS. 5C33-5C36 Exemplary embodiments are shown in which a pinch movement of a gesture that includes five contacts invokes a user interface selection process, and prior to termination of the gesture, panning movements of the gesture just cause navigation to a previously displayed application user interface. FIGS. 5C33-5C36 Exemplary embodiments are also shown in which user interface navigation continues after liftoff of some, but not all, contacts after invocation of the user interface selection process. A five-contact pinch movement, including contact 4622, contact 4626, contact 4630, contact 4634, and contact 4638, moves from positions 4622-a, 4626-a, 4630-a, 4634-a, and 4638-a, as shown in FIG. 5C33 to positions 4622-b, 4626-b, 4630-b, 4634-b, and 4638-b, as shown in FIG. 5C34 invokes the user interface selection process. The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface and begins to shrink and translate the interactive map card 4526 toward a location between each contact (e.g., according to the pinched contact movement). A representation (e.g., card) 4528 of the previously displayed mail user interface is also displayed at a similar size and vertical translation to the interactive map card 4526, indicating that the device will navigate to the application switcher user interface when the gesture is terminated (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIGS. 10A-10B for example, as shown in FIGS. 5C30-5C32 After contact 4622 and contact 4626 are lifted off, the user interface selection process continues, as shown in FIG. 5C35 The remaining contacts 4630, 4634, and 4638 horizontally translate from positions 4630-b, 4634-b, and 4638-b, as shown in FIG. 5C34 to positions 4630-c, 4634-c, and 4638-c, as shown in FIG. 5C35The positions 4630-c, 4634-c, and 4638-c, pushing the interactive map card 4526 off the display to the right while further dragging the mail card 4528 from the left onto the display, indicate that the device will navigate to the next / previous displayed application when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "side swipe for next / previous application" criteria (100x4) and / or the "vertical swipe next / previous application" criteria (100x5), the device designates the next / previous displayed application as the application before the current target state, as FIGS. 10A-10B illustrated), as FIG. 5C36 illustrated, displays the mail user interface after the contact liftoff.
[0231] FIGS. 5C37-5C42 An example embodiment is shown in which a navigation gesture that includes a pinch action is reversed by an expand action. A five-contact pinch movement, including contact 4670, contact 4674, contact 4678, contact 4682, and contact 4686, moves from positions 4670-a, 4674-a, 4678-a, 4682-a, and 4686-a, as FIG. 5C37 illustrated, to positions 4670-b, 4674-b, 4678-b, 4682-b, and 4686-b, as FIG. 5C38 illustrated, invokes a user interface selection process. The device replaces the display of the interactive map user interface with a representation (e.g., a card) 4526 of the interactive map user interface and begins to contract and translate the interactive map card 4526 toward the location between each contact (e.g., according to the pinched contact movement). A representation (e.g., a card) 4528 of the previously displayed mail user interface is also displayed at a similar size and vertical translation to the interactive map card 4526, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as FIGS. 10A-10B illustrated). As the contacts continue to pinch together to positions 4670-c, 4674-c, 4678-c, 4682-c, and 4586-c, as FIG. 5C39As shown, the interactive map card 4526 continues to shrink and move toward the virtual palm of the gesture, the mail card 4528 disappears, and the home screen user interface begins to come into focus behind the interactive map card 4526, indicating that the device will navigate to the home screen user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "quick resize / pan home" criteria (100x2) and / or the "large resize / pan home" criteria (100x3), the device designates the home screen as the current target state, as shown in FIGS. 4R-4S). FIGS. 10A-10B As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U). FIG. 5C40 As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U). FIGS. 10A-10B As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U). FIG. 5C41 As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U). FIGS. 10A-10B As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U). FIG. 5C42 As shown, the contact's pinch motion (e.g., an expand motion) is reversed to positions 4670-d, 4674-d, 4678-d, 4682-d, and 4686-d, expanding the interactive map card 4526 and causing the mail card 4538 to reappear, indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow move to application switcher" criteria (100x8), the device designates the application switcher as the current target state, as shown in FIGS. 4T-4U).
[0232] FIGS. 5C43-5C47 An example embodiment is shown in which both an upward swipe action and a pinch action contribute to a gesture that results in navigation to the home screen user interface. FIG. 5C43 An interactive map user interface is shown displayed in a full screen display mode. A four-contact swipe gesture, including contact 4690, contact 4694, contact 4698, and contact 4702, moves rightward from positions 4690-a, 4694-a, 4698-a, and 4702-a, respectively, as shown in FIG. 4X-1, to positions 4690-b, 4694-b, 4698-b, and 4702-b, respectively, as shown in FIG. 4X-2. FIG. 5C43 An interactive map user interface is shown displayed in a full screen display mode. A four-contact swipe gesture, including contact 4690, contact 4694, contact 4698, and contact 4702, moves rightward from positions 4690-a, 4694-a, 4698-a, and 4702-a, respectively, as shown in FIG. 4X-1, to positions 4690-b, 4694-b, 4698-b, and 4702-b, respectively, as shown in FIG. 4X-2. FIG. 5C44The movement 4692, movement 4696, movement 4700, and movement 4704 of the positions 4690-b, 4694-b, 4698-b, and 4702-b, as shown, invoke a user interface selection process. The device replaces the display of the interactive map user interface with a representation (e.g., card) 4526 of the interactive map user interface and begins to slide the card off the right side of the screen (e.g., in accordance with the rightward movement of the contact), while simultaneously dragging a representation (e.g., card) 4528 of the previously displayed mail user interface onto the screen from the left side, as shown in FIG. 5C43 In FIG. 5C44 which the cards 4526 and 4528 remain large, indicating that the device will navigate to the next / previous displayed application when the gesture terminates (e.g., because the device designates the next / previous displayed application as the application prior to the current target state when the properties of the input / application view satisfy the "side swipe for next / previous application" criteria (100x4) and / or the "vertical swipe next / previous application" criteria (100x5), as shown in FIGS. 10A-10B The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIG. 5C45 The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIGS. 10A-10B The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIG. 5C46 The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIGS. 10A-10B The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIG. 5C47 The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIG. 5C46 The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIGS. 5C13-5C16 The upward movement of the contact to the positions 4690-c, 4694-c, 4698-c, and 4702-c, as shown, causes the cards to shrink and move upward (e.g., in accordance with the upward movement of the contact), indicating that the device will navigate to the application switcher user interface when the gesture terminates (e.g., because the device designates the application switcher as the current target state when the properties of the input / application view satisfy the "pause application switcher" criteria (100x6) and / or the "short, slow movement to application switcher" criteria (100x8), as shown in FIGS. 5C48-5C50The predicted navigation state is the home screen user interface because both moving up and the pinch of the contact are associated with such navigation (e.g., both the upward swipe and the pinch contribute to increasing the "simulated Y position" and / or the shrinking of the card, one or both of which correspond to navigating to the application switcher or home screen user interface).
[0233] FIG. 5C48 An example implementation is shown in which an upward swipe gesture that includes at least three contacts (e.g., three, four, or five finger touches) on the home screen user interface causes navigation to the default home screen user interface (e.g., a second or subsequent page of application launch icons). FIG. 5C48 A secondary home screen user interface is shown that includes application launch icons for a plurality of applications (e.g., Clock, App Store, Voice Notes, Calculator, and Notes). A four-contact swipe gesture, including contact 4710, contact 4714, contact 4718, and contact 4722, is moved upward from positions 4710-a, 4714-a, 4718-a, and 4722-a, as shown FIG. 5C49 to positions 4710-b, 4714-b, 4718-b, and 4722-b, as shown FIG. 5C50 by movements 4712, 4716, 4720, and 4724, causing the device to navigate to the primary (e.g., default) home screen user interface, as shown FIGS. 5C51-5C54 In some embodiments, the display of the animation shows the primary home screen user interface sliding in (e.g., from the left side of the display) and pushing the secondary home screen user interface off the display (e.g., to the right). In some embodiments, the four-contact pinch gesture including contact 4710, contact 4714, contact 4718, and contact 4722 is moved toward one another, causing the device to navigate to the primary (e.g., default) home screen user interface.
[0234] FIG. 5C51 An example implementation is shown in which an upward swipe gesture that includes at least three contacts (e.g., three, four, or five finger touches) on the application switcher user interface causes navigation to the home screen user interface. A four-contact swipe gesture, including contact 4726, contact 4730, contact 4734, and contact 4738, is moved upward from positions 4726-a, 4730-a, 4734-a, and 4738-a, as shown FIG. 5C52 to positions 4726-b, 4730-b, 4734-b, and 4738-b, as shown FIG. 5C54The movement 4728, 4732, 4736, and 4740 of the locations 4726-b, 4730-b, 4734-b, and 4738-b, respectively, causes the device to navigate to the home screen user interface, as shown in FIG. 5C52 In some embodiments, display of the animation slides the application switcher user interface upward with movement of the contacts, thereby displaying the home screen user interface below the application switcher user interface. In some embodiments, in response to an initial portion of the upward swipe gesture of the multiple contacts, representations of recently used applications are displayed side-by-side (e.g., as shown in FIGS. 9A-9C In some embodiments, when the criteria for navigating to the home screen are met, the device displays only a representation of the most recently used application on the display as visual feedback to indicate the current target state of the user interface navigation prior to liftoff of the contacts (e.g., as shown in FIGS. 10A-10D and FIG. 5C23 In some embodiments, the device displays the home screen user interface after termination of the gesture (e.g., as shown in FIG. 5C54 In some embodiments, the device displays the home screen user interface after termination of the gesture (e.g., as shown in FIGS. 5C55-5C59 In some embodiments, the device displays the home screen user interface after termination of the gesture (e.g., as shown in
[0235] FIG. 5C55 An example embodiment is shown in which the user interface for the user interface selection process is dynamic and reversible. A five-contact pinch movement, including contacts 4742, 4746, 4750, 4754, and 4758, moves 4744, 4748, 4752, 4756, and 4760, respectively, toward one another from locations 4742-a, 4746-a, 4750-a, 4754-a, and 4758-a, as shown in FIG. 5C56 FIGS. 10A-10B The movement 4744, 4748, 4752, 4756, and 4760 of the locations 4742-b, 4746-b, 4750-b, 4754-b, and 4758-b, respectively, to the locations 4742-b, 4746-b, 4750-b, 4754-b, and 4758-b, as shown in FIG. 5C57 (As shown). The contact is translated diagonally upwards and to the right (e.g., including horizontal and vertical components) to positions 4742-c, 4746-c, 4750-c, 4754-c, and 4758-c, as shown. FIG. 5C58 As shown, this causes the card to retract and move upward (e.g., according to the vertical component of the contact movement), and move to the right (e.g., according to the horizontal component of the contact movement). As FIGS. 10A-10B As shown, the touch moves downwards to positions 4742-d, 4746-d, 4750-d, 4754-d, and 4758-d, increasing the size of the interactive map card 4526 and pushing the mail card 4528 away from the display to the right, thereby instructing the device to navigate back to the interactive map user interface when the gesture ends (e.g., because the device designates the current application as the current target state when the attributes of the input / application view meet the "resize / pan to cancel" criterion (100x7)). FIG. 5C29 As shown), FIGS. 6A-6F The interactive map user interface is displayed after the contact is lifted off the ground.
[0236] FIG. 3 This is a flowchart of method 600, according to some embodiments, for displaying a taskbar with multiple application icons at variable locations along one or more edges of a touch-sensitive display. Method 600 is in an electronic device having a display, a touch-sensitive surface, and one or more sensors for detecting the intensity of contact with the touch-sensitive surface (e.g., FIG. 1A Device 300, or FIG. 5A1 The method is performed at a portable multifunction device 100. In some embodiments, the display is a touchscreen display, and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display and the touch-sensitive surface are separate. Some operations in method 600 are optionally combined, and / or the order of some operations is optionally changed.
[0237] As described below, method 600 provides an intuitive way to display a taskbar with multiple application icons at a variable location along one or more edges of a touch-sensitive display. This method reduces the amount, extent, and / or nature of user input when displaying a taskbar with multiple application icons at a variable location along one or more edges of a touch-sensitive display, thereby creating a more efficient human-machine interface. For battery-powered electronic devices, enabling users to display a taskbar with multiple application icons at a variable location along one or more edges of a touch-sensitive display faster and more efficiently saves power and increases time between battery charging, and enhances device operability (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device).
[0238] The method 600 involves displaying a taskbar with a plurality of application icons at a variable location along an edge of a touch-sensitive display in response to an input (e.g., a long press gesture initiated within a predetermined distance from an edge of the display) that is based on a location of the input (e.g., the edge of the device on which the taskbar is displayed based on the edge at which the input was detected and / or the location of the taskbar along the edge depends on the proximity of the input). For example, in some embodiments, in response to a long press input along an edge of the display, the device displays the taskbar along a particular edge of the display. In some embodiments, in response to a long press input near (e.g., overlapping, centered, or next to) the location of the long press gesture, the device displays the taskbar at a location along the edge of the display. In some embodiments, when a long press input is detected at a first region of the edge of the display (e.g., when the input is detected anywhere within a central portion of the display, the taskbar is displayed in the center of the edge, and / or when the input is detected within a predetermined proximity of the end of the edge, the taskbar is displayed at the end of the edge), the device displays the taskbar at a predetermined location (e.g., in the middle of the edge of the display, or at an end portion of the edge of the display), and when a long press input is detected at a second region of the edge of the display (e.g., not in the central region and / or not within the predetermined proximity of the end of the edge), the device displays the taskbar at a user-specified location (e.g., overlapping, centered, or next to the input). Allowing the user to display the taskbar at a selected location, rather than only at a predetermined location, enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0239] The device displays (602) a first user interface (e.g., an application program user interface) on the display, where the first user interface is different from a home screen user interface that includes a map user interface that is interacted with in the device (e.g., FIG. 5A4 , FIG. 5A15 , FIG. 5A19 , FIG. 5A22 , FIG. 5A28 and FIG. 5A9 FIG. 5A13 and FIG. 5B21 corresponding to different applications of the plurality of applications on the home screen user interface. In some embodiments, the dock is also displayed on the home screen user interface by default (e.g., as shown in FIG. 5A1
[0240] While displaying the first user interface on the display, the device detects (604) a first input of a first contact on a first edge of the display (e.g., contacts 4202, 4206, 4208, 4209, 4212, 4216, 4218, and 4222, respectively, as shown in FIG. 5A4 、 FIG. 5A9 、 FIG. 5A13 、 FIG. 5A15 、 FIG. 5A19 、 FIG. 5A22 、 FIG. 5A28 and FIG. 5A2 FIGS. 4A-4D).
[0241] In response to detecting the first input on the edge of the display (e.g., a long press), and while the first contact continues to be detected on the first edge of the display (e.g., while the first contact remains substantially stationary (e.g., with less than a threshold amount of movement) at the initial touch location of the touch input), in accordance with a determination that the first input is detected on a first portion of the first edge of the display (e.g., the respective location of the first contact on the first portion of the first edge remains substantially stationary for at least a threshold amount of time and with less than a threshold amount of movement) and the first input satisfies dock display criteria (e.g., the first input is a long press input or a deep press input without movement of the first contact), the device displays (608) a dock with a plurality of application icons at a first location along the first edge of the display. For example, in response to continuously detecting contact 4202 at a location on the left side of the bottom edge of the display for a period of time that satisfies long press input criteria (e.g., satisfies a time threshold TT1), the device displays a dock 4204 under contact 4202 along the left side of the bottom edge of the display in FIG. 4B. In some embodiments, the first location is selected to include the first portion of the first edge of the display (e.g., the dock is centered at the location of the first touch, such as the dock 4204 centered at contact 4202 in FIG. 5A2 FIG. 4B). In some embodiments, the first location is a predetermined location (e.g., the dock is displayed at a default location that is centered in the display when the first touch is detected in a middle portion of the first edge, regardless of whether the contact is centered in the display). FIG. 5A5
[0242] In response to detecting (606) the first input (e.g., a long press) on the edge of the display, and while the first contact continues to be detected on the first edge of the display (e.g., while the first contact remains substantially stationary (e.g., with less than a threshold amount of movement) at the initial touch location of the touch input), in accordance with a determination that the first input is detected on a second portion of the first edge of the display different from the first portion of the first edge (e.g., the first contact remains substantially stationary for at least a threshold amount of time and with less than a threshold amount of movement at a respective location on the second portion of the first edge of the display) and the first input satisfies the taskbar display criteria (e.g., the first input is a long press input or a deep press input without movement of the first contact), the device displays (610) a taskbar at a second location along the first edge of the display that is selected to include the second portion of the first edge of the display (e.g., the taskbar is centered at the location of the first touch), where the second location is different from the first location. For example, in response to detecting contact 4206 continuously at a location on the right side of the bottom edge of the display for a period of time that satisfies the long press input criteria (e.g., satisfies the time threshold TT1), the device displays a taskbar 4204 along the right side of the bottom edge of the display under contact 4206, which is different from the location at which the taskbar 4204 is displayed in FIG. 5A2 FIG. 5A2
[0243] Displaying the taskbar at the first location when the first criteria (e.g., the first location criteria) are satisfied and displaying the taskbar at the second location when the second criteria (e.g., the second location criteria) are satisfied enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functionality of the device; by allowing the user to perform navigation functionality regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer required inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage by enabling the user to use the device more quickly and efficiently and extends battery life of the device.
[0244] In some embodiments, the first location along the first edge of the display does not include (612) the second portion of the first edge of the display (e.g., when the taskbar is displayed centered on the first portion of the first edge (e.g., the respective touch location near the left edge) of the display, and the width of the taskbar does not span the entire length of the first edge, the location of the taskbar does not include the second portion of the first edge (e.g., the respective touch location near the right edge)). For example, FIG. 5A15 FIG. 5A16 The system detects partial overlap of the bottom edge of contact 4212 (e.g., the right side of the bottom edge of the display). A taskbar is displayed at a first location that does not overlap with a second portion of the first edge, which is associated with the display of the taskbar at a second location (e.g., a second location overlapping with the second portion of the edge). This enhances the operability of the device and makes the user interface more efficient (e.g., by providing easy access to the device's navigation functions; by allowing users to perform navigation functions regardless of the user's hand position relative to the display; by helping users achieve desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls). This, in turn, reduces power consumption and extends the device's battery life by enabling users to use the device more quickly and efficiently.
[0245] In some implementations, the second position along the first edge of the display does not include (614) the first portion of the first edge of the display. For example, when the taskbar is displayed centered on the second portion of the first edge (e.g., the corresponding touch position near the right edge) and the width of the taskbar does not span the entire length of the first edge, the position of the taskbar does not include the first portion of the first edge (e.g., the corresponding touch position near the left edge). FIG. 5A1 The location of the taskbar 4204 displayed in the image (e.g., on the right side of the bottom edge of the monitor) is not consistent with... FIG. 5A9 The system detects partial overlap of the bottom edge of contact 4202 (e.g., the left side of the bottom edge of the display). A taskbar is displayed at a second location that does not overlap with the first portion of the first edge, and this second portion is associated with the display of the taskbar at the first location (e.g., the first location overlapping the first portion of the edge). This enhances the operability of the device and makes the user interface more efficient (e.g., by providing easy access to the device's navigation functions; by allowing users to perform navigation functions regardless of the user's hand position relative to the display; by helping users achieve desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls). This, in turn, reduces power consumption and extends the device's battery life by enabling users to use the device more quickly and efficiently.
[0246] In some embodiments, while the first user interface is displayed on the display without the taskbar being displayed (e.g., the taskbar stops being displayed after the first input of the first contact is no longer detected after the first contact is lifted off the first edge), the device detects (616) a second input of a second contact (e.g., a long press input) on a second edge (e.g., a left edge or a top edge) of the display that is different from the first edge (e.g., a bottom edge) of the display. In response to detecting the second input (e.g., a long press) on the second edge of the display, and while the second contact continues to be detected on the second edge of the display (e.g., while the second contact remains substantially stationary at the initial touch location of the touch input (e.g., with an amount of movement that is less than a threshold)), in accordance with a determination that the second input meets the taskbar display criteria (e.g., the second input is a long press input or a deep press input without movement of the second contact), the device displays (618) the taskbar with a plurality of application icons at a third location along the second edge of the display (e.g., the third location is selected in accordance with a location of the second contact, in accordance with a manner in which the location of the taskbar is selected based on the location of the first contact on the first edge) (e.g., the taskbar is displayed centered on the touch location of the third contact on the second edge). For example, in FIG. 5A1 , a contact 4208 is detected on the left edge of the display, rather than on the bottom edge of the display as in FIG. 5A10 . In response to the input including the contact 4208 that meets the taskbar display criteria (e.g., substantially maintaining its location for at least a period of time TT1), the taskbar 4204 in FIG. 5A2 is displayed along the left edge of the display, rather than along the bottom edge as in FIG. 5A2 . In some embodiments, the terms “top edge,” “left edge,” “right edge,” “side edge” are defined by the top, left, right, and side locations of the first user interface when the first user interface is in an upright orientation. Displaying the taskbar along the first edge of the display when the input is detected on the first edge of the display (e.g., the bottom edge relative to the orientation of the display of the device), and displaying the taskbar along the second edge of the display when the input is detected on the second edge of the display (e.g., the side edge relative to the orientation of the display of the device) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0247] In some implementations, when a first user interface is displayed on the display without a taskbar (e.g., after a first touch is lifted from a first edge and after a second touch is lifted from a second edge, after the first touch is no longer detected and the second touch is no longer detected, the taskbar stops displaying near the first edge and stops displaying near the second edge), the device detects (620) a third touch on a third edge of the display (e.g., the right edge), which is different from the first and second edges of the display. In response to detecting a third touch on the second edge of the display (e.g., a long press), and continuing to detect a third touch on the third edge of the display (e.g., when the second touch remains substantially stationary at the initial touch position of the touch input (e.g., with a movement amount less than a threshold)), based on determining that the third touch meets the taskbar display criteria (e.g., the third touch is a long press or a deep press without third touch movement), the device displays (622) a taskbar with multiple application icons at a fourth location along the third edge of the display. (For example, the fourth position is selected based on the position of the third contact, and the position of the taskbar is selected based on the position of the first contact on the first edge.) (For example, the taskbar is displayed at the center of the touch position of the fourth contact on the third edge.) For example, along with... FIG. 5A10 The bottom edge of the display and along FIG. 5A1 Compared to the 4204, the taskbar is displayed on the left edge of the central monitor. FIG. 5A2A long press input on the right edge of the display causes the taskbar to be displayed along the right edge of the display. In some embodiments, the taskbar is displayed centered on the second and third edges regardless of the exact location of the third and fourth contacts (e.g., the taskbar is centered on the short bottom edge regardless of the exact location of the finger contact, and is shifted along the longer bottom edge based on the touch location of the finger contact; or the taskbar is centered on the short bottom edge regardless of the exact location of the finger contact, and is shifted along the longer side edge based on the touch location). Displaying the taskbar dock along the first edge of the display when input is detected on the first edge of the display (e.g., the bottom edge relative to the orientation of the display of the device), along the second edge of the display when input is detected on the second edge of the display (e.g., the first side edge relative to the orientation of the display of the device), and along the third edge of the display when input is detected on the third edge of the display (e.g., the second side edge opposite the first side edge relative to the orientation of the display of the device) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user's hand relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0248] In some embodiments, while displaying the taskbar along the first edge of the display at the first location, the device continues to detect the first contact on the display (e.g., after some movement of the first contact along the first edge while the taskbar is displayed, at a first portion of the first edge of the display or on a different portion of the display), the device detects (624) liftoff of the first contact from the display, and in response to detecting (626) the liftoff of the first contact, in accordance with a determination that, while the taskbar is displayed, the movement of the first contact is less than a threshold amount, the device maintains display of the taskbar on the first user interface of the display (628) after the first contact liftoff. For example, after liftoff of the contact 4202 as shown, the device maintains display of the taskbar 4204 on the first user interface 4206. FIG. 5A3 FIG. 5A20 The taskbar 4204 is displayed because contact 4202 essentially does not move on the display. When input is detected at the first edge of the display, the taskbar is displayed along the first edge of the display (e.g., the bottom edge relative to the display orientation of the device), and then if the movement of the input is less than a threshold amount, the display of the taskbar is maintained when the input is lifted. This enhances the operability of the device and makes the user interface more efficient (e.g., by providing easy access to the device's navigation functions; by allowing users to perform navigation functions regardless of the position of the user's hand relative to the display; by helping users achieve the desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls). This, in turn, reduces power consumption and extends the device's battery life by enabling users to use the device more quickly and efficiently.
[0249] In some implementations, in response to detecting the removal of the first contact (626), based on determining that the first contact movement was less than a threshold amount when the taskbar was displayed, the device enlarges (630) the size of the taskbar displayed above the first user interface after the removal of the first contact (e.g., the size of the taskbar initially displayed is smaller than the size of the taskbar in its final display state). For example, in FIG. 5A21 After contact 4216 was removed, the equipment expanded. FIG. 5A20 The size of the taskbar 4204 is such that contact 4216 essentially does not move on the display. When input is detected at the first edge of the display, the taskbar is displayed along the first edge of the display (e.g., the bottom edge relative to the display orientation of the device), and then, if the movement of the input is less than a threshold amount, the size of the taskbar is expanded as the input is lifted. This enhances the operability of the device and makes the user interface more efficient (e.g., by providing easy access to the device's navigation functions; by allowing users to perform navigation functions regardless of the position of the user's hand relative to the display; by helping users achieve the desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls). This, in turn, reduces power consumption and extends the device's battery life by enabling users to use the device more quickly and efficiently.
[0250] In some implementations, in response to detecting the removal of the first contact (626), based on determining that the first contact movement was less than a threshold amount when the taskbar was displayed, the device moves the display of the taskbar from a first position along the first edge of the display (632) to a third predetermined position along the first edge of the display (e.g., the center of the first edge). For example, in FIG. 5A20 After contact 4216 is lifted, the device will move the display of taskbar 4204 from the screen as shown. FIG. 5A21the bottom edge of the display shown moves to the left of the center of the bottom edge of the display shown as FIG. 5A11 the bottom edge of the display shown moves to the left of the center of the bottom edge of the display shown as
[0251] In some embodiments, in accordance with a determination that the first contact has moved to a position immediately outside the taskbar, the taskbar stops displaying upon liftoff of the first contact. For example, after liftoff of contact 4208 shown in FIG. 21B, the device stops displaying taskbar 4204 in FIG. 5A12 FIG. 5A10 FIG. 5A11 FIG. 5A23 FIG. 5A24 FIG. 5A24 Position 4218-b on the email application icon 218 in the taskbar, select (e.g., enlarge) the email application icon, after the first contact has moved along the first edge, drag the corresponding application icon from the taskbar according to the current position of the first contact to select the corresponding application icon, and then move it away from the taskbar (e.g., upwards from the taskbar) (e.g., after selecting the email application icon 218, move the contact 4218 away from the edge of the display, from...). FIG. 5A25 Position 4218-b in the middle is moved to FIG. 5A25 Drag the Mail application icon 218 out from position 4218-c. FIG. 5A6 The taskbar in the device (e.g., expanding the display of the email application icon 218). In some implementations, if the removal of the first contact is detected when the corresponding application is selected, the device launches the first application corresponding to the currently selected application icon and replaces the first user interface with the corresponding application user interface of the first application. For example, after the removal of contact 4206, when in FIGS. 5A7-5A8 When the email application icon 218 is selected in the taskbar 4204, the device launches the associated email application. FIG. 5A5 The text displays the email application user interface (for example, panning as if the email application user interface is popping out from the email application icon 218).
[0252] In some implementations, when the taskbar is displayed at a first position along a first edge of the display, the device detects (634) a first movement of a first contact along the taskbar (e.g., along the first edge). For example, the movement of contact 4206 4208 from... FIG. 5A6 Position 4206-a in the middle is moved to FIG. 5A6 Position 4206-b. In response to a first movement that detects the first contact, the device selects (636) the corresponding application icon in the taskbar based on the current position of the first contact (e.g., visually indicating the selection of the corresponding application icon by enlarging, highlighting, and / or animing the corresponding application icon relative to other application icons in the taskbar). For example, after movement 4208 from contact 4206 to position 4206-b, the device selects (e.g., enlarges the display). FIG. 5A6 The email application icon 218 is located on the email application icon 218 because contact 4206 is located on the email application icon 218. After detecting the first movement of the first contact along the first edge, the device detects (638) the lifting of the first contact from the display (e.g., FIG. 5A6(Lifting off contact 4206 in the middle). In response to (640) detecting the lifting off of the first contact, based on determining that a first application icon is currently selected in the taskbar when the lifting off of the first contact is detected, the device launches (642) the first application corresponding to the first application icon in the taskbar, and replaces the display of the first user interface with the display of the second user interface of the first application (644). For example, in FIGS. 5A7-5A8 After contact 5A5 is lifted away, the device animation shows... FIG. 5A5 The email application user interface. In some implementations, when a first contact moves along a first edge below the taskbar, and in response to detecting the lifting of the first contact, based on determining that a second application icon is currently selected in the taskbar when the lifting of the first contact is detected, the device launches a second application corresponding to the second application icon in the taskbar and replaces the display of the first user interface with a third user interface of the second application. When input is detected on the first edge of the display, the taskbar is displayed along the first edge of the display (e.g., the bottom edge relative to the display orientation of the device), and then if an application icon in the taskbar is selected when the contact is lifted, the application is opened when the input is lifted. This enhances the operability of the device and makes the user device interface more efficient (e.g., by providing easy access to the device's navigation functions; by allowing users to perform navigation functions regardless of the position of the user's hand relative to the display; by helping users achieve the desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls), which in turn reduces power consumption and extends the device's battery life by enabling users to use the device more quickly and efficiently.
[0253] In some implementations, when the taskbar is displayed at a first location along a first edge of the display, the device detects (646) movement of a first contact on the display (e.g., in a direction substantially parallel to the first edge of the display). For example, the movement of contact 4206 4208 from... FIG. 5A6 Position 4206-a in the middle is moved to FIG. 5A6 Position 4206-b. In response to detecting that the touch is located on the display at a position corresponding to the display of the first application icon in the taskbar (e.g., based on determining that the x-coordinate of the first touch corresponds to the x-coordinate of the first application icon, and the y-coordinate of the first touch is located at or below the top edge of the taskbar), the device selects (648) the first application icon (e.g., and changes the display attributes of the application icon (e.g., size, color, highlight, animation) to indicate its selected state). For example, after the movement 4208 of the touch 4206 to position 4206-b, the device selects and enlarges the display. FIG. 5A24the mail application icon 218 because the contact 4206 is over the mail application icon 218. In some embodiments, the haptic output is generated whenever a new application icon in the dock is selected according to the current location of the first contact during movement of the contact. In some embodiments, if liftoff of the first contact is detected while the first application icon is selected, the device launches the first application. In some embodiments, the currently selected application icon is deselected when the first contact moves away from the side or bottom of the dock. In some embodiments, the currently selected application icon is deselected and no other application icon is selected when the x-coordinate of the first contact is at a location between two application icons in the dock. In some embodiments, if no application icon is currently selected when liftoff of the first contact is detected, the application is not launched; and the dock is optionally left on the display (e.g., if liftoff is detected while the contact is stationary and immediately adjacent to the dock) or stopped being displayed (e.g., if liftoff was detected following previous movement of the contact immediately prior to liftoff of the first contact). Displaying the dock along the first edge of the display when an input is detected on the first edge of the display, and then selecting an application icon when a contact is detected on the display at a location corresponding to the application icon, enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve the intended result with fewer required inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0254] In some embodiments, upon selecting the first application icon, the device detects (650) movement of the first contact on the display away from the first edge of the display (e.g., in a direction perpendicular to the first edge). In response to detecting movement of the first contact on the display away from the first edge of the display, in accordance with a determination that the first contact is detected at a location that does not correspond to the display of the dock (e.g., the y-coordinate of the first contact is above the top edge of the dock), the device displays (652) the first application icon or a representation thereof at a location on the display that corresponds to the location of the first contact that does not correspond to the display of the dock (e.g., the first application icon is lifted out of the dock by the perpendicular movement of the first contact away from the first edge). For example, after selecting the mail application icon 218, movement 4222 of the contact 4218 away from the edge of the display from location 4218-b to location 4218-c in Figure 4J lifts the mail application icon 218 out of the dock. FIG. 5A25 FIG. 5A25 The movement 4222 of the contact 4218 away from the edge of the display from location 4218-b to location 4218-c in Figure 4J lifts the mail application icon 218 out of the dock.FIG. 5A25 the mail application icon 218 expands. In some embodiments, the change in appearance of the first application icon is accompanied by display of a split divider indicator on the display, which prompts the user to place the first application icon on the other side of the split divider indicator to split the screen between the first user interface and an application user interface of the application corresponding to the first application icon. In response to detecting movement of a contact away from an edge of the display (e.g., away from the taskbar) while the application icon is selected (e.g., while the contact is on the application icon displayed in the taskbar), moving the display of the application icon from the taskbar to a location on the screen that does not correspond to the location of the taskbar enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user's hands relative to the display; by helping the user to achieve an intended result with fewer inputs, and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use it more quickly and efficiently. FIG. 5A26
[0255] In some embodiments, while displaying the first application icon or representation thereof at a location on the display that corresponds to the location of the first contact but does not correspond to the display of the taskbar (e.g., after dragging the first application icon out of the taskbar with the upward movement of the first contact), the device detects (654) liftoff of the first contact, and in response to (656) detecting the liftoff of the first contact, while the first application icon is displayed at a location on the display that corresponds to the location of the first contact on the display but does not correspond to the display of the taskbar, the device replaces (658) the display of the first user interface in the first portion of the display with a display of a second user interface that corresponds to an application associated with the first application icon (e.g., opening the second application in split-screen mode), and maintains the display of the first user interface in a second portion of the display (660) that does not overlap the first portion of the display. For example, in response to detecting liftoff of the contact 4218 while the interactive map user interface and the taskbar 4204 are displayed outside of the display, the device replaces the display of the interactive map user interface with a display of the mail application user interface in the first portion of the display, and maintains the display of the interactive map user interface in the second portion of the display that does not overlap the first portion of the display. FIG. 5A27 the mail application icon 218 in the display, the device displays the mail user interface in the right portion of the display while maintaining FIG. 5A16 the display of the interactive map user interface in the left portion of the display. In some embodiments, the first user interface is resized to fill the second portion of the display (e.g., objects displayed within the UI shrink proportionally to the shrinking of the display area). In some embodiments, the first user interface is cropped to fill the second portion of the display (e.g., objects displayed within the UI maintain the same size, but the size of the display area shrinks). In some embodiments, the dock ceases to be displayed on the split screen. In some embodiments, the dock is displayed at its original location on the split screen. The display of the first user interface in the first portion of the display is replaced with a display of a second user interface corresponding to the application associated with the application icon, while maintaining the display of the first user interface in the second portion of the display (e.g., opening the application in split screen mode), when the contact is located at a display location of the application icon outside of the dock, in response to detecting liftoff of the contact (e.g., after dragging the application icon out of the dock), which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer required inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0256] In some embodiments, while displaying the dock at a first location along a first edge of the display, the device detects (662) movement of the first contact toward the first edge of the display, and in response to detecting the movement of the first contact toward the first edge of the display, in accordance with a determination that the criteria for dock removal (the contact moving completely off the display or beyond a threshold location) are met by the movement of the first contact toward the first edge of the display, the device ceases to display (664) the dock (e.g., by sliding the dock off the first edge of the display to hide the dock in accordance with the movement of the first contact toward the outer edge of the device). For example, in response to movement 4214 of the contact 4212 toward the edge of the display from FIG. 5A17 position 4212-a in FIG. 4A2 to FIG. 5A17 position 4212-b in FIG. 4A3, the dock 4204 begins to slide off the bottom of the display. In response to FIG. 5A18 liftoff of the contact 4212 in FIG. 4A4, the device ceases to display FIG. 5A5the taskbar 4204 in the middle of the display. When input is detected on the first edge of the display, the taskbar is displayed along the first edge of the display (e.g., the bottom edge relative to the orientation of the display of the device), and then the display of the taskbar is stopped (e.g., the taskbar is hidden when the contact is near the edge of the display) in response to detecting that the contact moved toward the first edge of the display meets taskbar removal criteria, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0257] In some embodiments, the first portion of the first edge of the display is within a first predefined subrange (e.g., the central third portion) of the first edge of the display (615), and the first location is a first predetermined location within the first predefined subrange of the first edge (e.g., the taskbar is centered on the display when the touch contact is in the middle portion of the edge) (e.g., the second predefined subrange of the first edge is outside the first predefined subrange, and the second location is different from the first predetermined location, and is dynamically selected according to the location of the first contact outside the first predefined subrange of the first edge). In response to detecting input within the first predefined subrange of the first edge of the display, the taskbar is displayed along the first edge of the display (e.g., the central third portion) at the first predetermined location (e.g., the center of the edge) within the first predefined subrange, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0258] In some embodiments, a second portion of the first edge of the display is within a second predefined subrange of the first edge of the display (e.g., the left or right third of the first edge), and the taskbar displayed at the second location is centered at a location with the first contact (e.g., the first contact is at the left or right 1 / 3 of the first edge and is far enough away that the entire taskbar can be displayed centered on the touch) when the first contact is at least a threshold distance closer to the first adjacent edge of the first edge, and the taskbar displayed at the second location is displayed abutting the first adjacent edge of the first edge (e.g., offset from the center of the first edge and fixed x pixels (e.g., 5 pixels) from the first adjacent edge of the first edge closer to the first contact (e.g., aligned relative to the left or right end of the first edge of the display)) when the first contact is less than the threshold distance away from the first adjacent edge of the first edge. For example, in FIG. 5A16 the taskbar 4204 is displayed centered on the contact 4206 because the contact 4206 is at least a threshold distance from the right edge of the display. In contrast, in FIG. 5A21 the taskbar 4204 is displayed at a default location abutting the right edge of the display, rather than centered on the contact 4212, because the distance between the contact 4212 and the right edge of the display is not at least one threshold value. When the contact is within a second predefined subrange of the first edge of the display (e.g., the left or right third of the first edge) and is more than a threshold distance from the display’s closest adjacent edge, the taskbar is displayed at a second location centered on the location of the first contact, and when the contact is within the second predefined subrange of the first edge of the display and is less than the threshold distance from the display’s closest adjacent edge, the taskbar is displayed at the second location abutting the display’s closest adjacent edge (e.g., the taskbar is displayed at a predefined location when the contact is too close to the closest end of the display’s edge to display the entire taskbar centered on the touch, which substantially minimizes the distance between the center of the taskbar and the contact while still displaying the entire taskbar), which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing users to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping users achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0259] In some embodiments, when the taskbar is displayed at the first position (e.g., when displayed at a default position such as in the center of the display) (when the first portion of the first edge of the display is within a predefined central range (e.g., a central third portion) of the first edge of the display and the first position is a first predetermined position (e.g., as described above with respect to displaying the taskbar in the predetermined position when the contact is within the first sub-range of the first edge of the display)) the size of the taskbar is larger than when the taskbar is displayed at the second position (e.g., centered on the first contact or the docking side edge (e.g., as described above with respect to displaying the taskbar when the contact is within the second sub-range of the first edge of the display)) (623). For example, the taskbar 4204 is displayed larger when positioned at the default position in the center of the bottom edge of the display than when positioned along the left side of the bottom edge of the display in FIG. 5A20 In some embodiments, when the taskbar is displayed at the first position (e.g., when displayed at a default position such as in the center of the display) (when the first portion of the first edge of the display is within a predefined central range (e.g., a central third portion) of the first edge of the display and the first position is a first predetermined position (e.g., as described above with respect to displaying the taskbar in the predetermined position when the contact is within the first sub-range of the first edge of the display)) the size of the taskbar is larger than when the taskbar is displayed at the second position (e.g., centered on the first contact or the docking side edge (e.g., as described above with respect to displaying the taskbar when the contact is within the second sub-range of the first edge of the display)) (623). For example, the taskbar 4204 is displayed larger when positioned at the default position in the center of the bottom edge of the display than when positioned along the left side of the bottom edge of the display in FIG. 5A28 Displaying a larger taskbar when the taskbar is displayed at the first position (e.g., a predefined or default position) than when the taskbar is displayed along the first edge of the display at the second position (e.g., a position that depends on where the contact is within a sub-range of the edge of the display) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user’s hands relative to the display; by helping the user to achieve an intended result with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device by enabling the user to use the device more quickly and efficiently.
[0260] In some embodiments, in response to detecting a first input (e.g., an upward edge swipe) on a first input on an edge of the display and continuing to detect the first contact on the first edge of the display, in accordance with a determination that the first input meets navigation gesture criteria, where the navigation gesture criteria includes a requirement that a threshold amount of movement of the first contact away from the first edge of the display is detected on the display in order to meet the navigation gesture criteria (but does not require that the first input meet taskbar display criteria), the device enters (625) a transitional user interface mode in which a plurality of different user interface states are available to be selected based on a comparison of a set of one or more properties of the first input to a corresponding set of one or more thresholds (if the first input does not meet the taskbar display criteria, optionally forgo displaying the taskbar along the first edge of the display). For example, in response to movement 4224 of the contact 4222 away from the position 4222-a in FIG. 5A29 to the position 4222-b in FIG. 5A29the position 4222-b in FIG. 4A2, the device enters a transitional navigation state, i.e., with FIG. 5A28 the application view 4014 in FIG. 4A2 corresponding to the interactive map user interface is replaced FIGS. 6A-6F the display of the interactive map user interface in FIG. 4A2. Entering the transitional user interface mode allows the user to navigate to different user interfaces (e.g., one or more of (i) to the home screen, (ii) to the application that was displayed on the screen immediately prior to the user interface displayed at the start of the swipe gesture, (iii) to the control panel user interface, (iv) to the application switcher user interface, or (v) back to the user interface displayed at the start of the swipe gesture) depending on whether certain preset movement conditions are met, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by allowing the user to perform navigation functions regardless of the position of the user's hands relative to the display; by helping the user to achieve an intended outcome with fewer needed inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which, additionally, reduces power usage and improves battery life of the device (e.g., by helping the user to more quickly and efficiently use the device).
[0261] It should be appreciated that a particular order of the operations described in FIGS. 6A-6F is merely exemplary and is not intended to indicate that a particular order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to other methods described herein (e.g., methods 700, 800, 900, 1000, and 1100) are also applicable in an analogous manner to method 600 described above with respect to method 600. For example, the contacts, gestures, user interface objects, haptic outputs, intensity thresholds, focus selectors, and animations described above with reference to method 600 optionally have one or more of the characteristics of the contacts, gestures, user interface objects, haptic outputs, intensity thresholds, focus selectors, animations described herein with reference to other methods described herein (e.g., methods 700, 800, 900, 1000, 1100). For the sake of brevity, these details are not repeated here. FIGS. 6A-6F
[0262] The operations described above with reference to FIGS. 1A-1B are, optionally, performed by a FIGS. 1A-1B The components depicted are used to implement these operations. For example, display operations 602, 608, 610, 618, 622 and 652, detection operations 604, 616, 620, 624, 634, 638, 646, 650, 654 and 662, entry operation 625, expansion operation 630, movement operation 632, selection operations 636 and 648, opening operation 642, and stop display operation 664 are optionally implemented by event classifier 170, event recognizer 180, and event processor 190. Event monitor 171 in event classifier 170 detects touches on touch-sensitive display 112, and event distributor module 174 transmits event information to application 136-1. The corresponding event recognizer 180 of application 136-1 compares event information with the corresponding event definition 186 and determines whether a first contact at a first location on the touch-sensitive surface (or whether the rotation of the device) corresponds to a predefined event or sub-event, such as the selection of an object on the user interface or the rotation of the device from one orientation to another. When a corresponding predefined event or sub-event is detected, the event recognizer 180 activates an event handler 190 associated with the detection of that event or sub-event. The event handler 190 optionally uses or invokes the data updater 176 or the object updater 177 to update the application's internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will readily understand that based on... FIGS. 7A-7I How the components described herein can implement other processes.
[0263] FIG. 3 This is a flowchart illustrating a method 700 for navigating from a user interface displayed in a split-screen mode to different user interfaces according to some embodiments. Method 700 is in an electronic device having a display, a touch-sensitive surface, and one or more sensors for detecting the intensity of contact with the touch-sensitive surface (e.g., FIG. 1A Device 300, or FIG. 5B1 The method is performed at a portable multifunction device 100. In some embodiments, the display is a touchscreen display, and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display and the touch-sensitive surface are separate. Some operations in method 700 are optionally combined, and / or the order of some operations is optionally changed.
[0264] As described below, the method 700 provides an intuitive way for navigating from a user interface displayed in split-screen display mode to a different user interface. This method reduces the number of, the degree of, and / or the nature of inputs from a user when navigating between user interfaces within and / or within and outside of split-screen display mode, creating a more efficient human-machine interface. For battery-powered electronic devices, enabling users to navigate more quickly and efficiently between user interfaces within and / or within and outside of split-screen mode can conserve power and increase the time between battery charges.
[0265] The device displays (702), on a first portion of the display (e.g., a left portion of the display), a first application user interface (e.g., a first application user interface) (e.g., in FIG. 5B18 and FIG. 5B10 The left portion of the display in FIG. 5B1 displays an interactive map user interface, and the right portion of the display in FIG. 5B10 displays a web browsing user interface). In some embodiments, the first application user interface and the second application user interface are two separate user interfaces of the same application, or different user interfaces of different applications, or a system user interface and an application user interface, etc. When the first user interface and the second user interface are displayed simultaneously on the display, both interfaces are responsive and accept touch input from the user. The user interfaces allow for dragging and dropping objects between the two user interfaces. FIG. 5B18 FIG. 5B1 While displaying the first application user interface on the first portion of the display and the second application user interface on the second portion of the display, the device detects (714) a first input by a first contact (e.g., beginning in a first edge area of the display (e.g., within a predetermined distance from a bottom edge of the display, as defined by the current display orientation on the display)) that includes movement (e.g., movement of the first contact on the display) in a first direction (upward or sideways). For example, upward movement 4404 by contact 4402, upward movement 4420 by contact 4418, and upward movement 4427 by contact 4425 are shown in
[0266] FIG. 5B10 FIG. 5B18 FIG. 5B18
[0267] In response to (716) detecting the first input, in accordance with a determination that the first input meets first criteria, where the first criteria includes a requirement that the first input include movement (e.g., movement of the first contact across the display) in the first direction that is greater than a first threshold amount (e.g., exceeds a threshold distance and / or velocity) in order to meet the first criteria, the device replaces (718) the display of the first user interface and the second user interface with a full-screen home screen. For example, movement 4427 by contact 4425 from location 4425-a in FIG. 5B20 to location 4425-c in FIG. 5B20 includes at least a threshold amount of movement away from the bottom edge of the display, such that after the contact 4425 is lifted off in FIG. 5B21 , the device replaces the display of the web browsing user interface and the email user interface with display of the full-screen home screen in FIG. 5B18 (e.g., displayed in split-screen mode in FIG. 5B18 ). In some embodiments, after first detecting the first contact, and prior to determining that the first input meets the first criteria, the display of the first user interface is replaced with a replacement user interface on the portion of the display where the input was first detected (e.g., a transition user interface that allows the user to navigate to a plurality of different user interfaces on that portion of the display, such as an application switcher user interface or a previous / next application user interface; or a transition user interface that allows the user to navigate to a plurality of different user interfaces on the entire display, such as a full-screen application switcher user interface or a home screen, depending on the evaluation of the first input against different navigation criteria for different user interfaces, such as a comparison of a set of one or more attributes of the first input to a corresponding set of thresholds for the different user interfaces). For example, after activating the user interface selection process by moving the contact 4425 up from the bottom edge of the display in FIG. 5B1 , the device enters a transition navigation state in which the two user interfaces are replaced with cards 4017 representing the interactive maps user interface and the email user interface.
[0268] In response to (716) detecting the first input, in accordance with a determination that the first input meets second criteria, where the second criteria includes a requirement that the first input include movement (e.g., movement of the first contact across the display) in the first direction that is less than a first threshold amount (e.g., less than a threshold distance and / or velocity) in order to meet the second criteria, and a determination that the first input began in a first edge region of the display that corresponds to the first application user interface, the device replaces (720) the display of the first application user interface with a first replacement user interface while maintaining the display of the second application user interface in a second portion of the display. For example, movement 4404 by contact 4402 from location 4402-a in FIG. 5B2 to location 4402-b in FIG. 5B2Position 4402-b in FIG. 14B satisfies the second movement criteria, but not the first movement criteria, because it includes less than the threshold amount of movement away from the bottom edge of the display, such that in FIGS. 5B3-5B4 After contact 4402 is lifted in FIG. 14B, the device replaces (transitions) the display of the interactive map user interface in the left portion of the display with a display of the application switcher user interface in FIG. 14C. FIG. 5B10
[0269] In response to (716) detecting the first input, in accordance with a determination that the first input satisfies the second criteria, and a determination that the first input began in the second edge region corresponding to the second application user interface, the device replaces (742) the display of the second application user interface with a second replacement user interface, while maintaining display of the first application user interface in the first portion of the display. For example, movement 4420 by contact 4418 from position 4420-a in FIG. 14B to position 4420-b in FIG. 14C satisfies the second movement criteria, but not the first movement criteria, because it includes less than the threshold amount of movement away from the bottom edge of the display, such that in FIG. 5B11 After contact 4418 is lifted in FIG. 14C, the device replaces (transitions) the display of the application switcher user interface in the right portion of the display with a display of the email user interface in FIG. 14D. FIG. 5B11 FIG. 5B12 FIG. 8 When the first criteria (e.g., first distance and / or velocity threshold) is satisfied, the home screen is displayed in full screen display mode, and when the second criteria (e.g., second distance and / or velocity threshold) is satisfied, a replacement application user interface is displayed in a first portion of the display while maintaining display of the application user interface on a second portion of the display (e.g., or vice versa), depending on where the invocation input began, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by
[0270] When the first criteria (e.g., first distance and / or velocity threshold) is satisfied, the home screen is displayed in full screen display mode, and when the second criteria (e.g., second distance and / or velocity threshold) is satisfied, a replacement application user interface is displayed in a first portion of the display while maintaining display of the application user interface on a second portion of the display (e.g., or vice versa), depending on where the invocation input began, which enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by
[0271] In some implementations, the second standard includes (722) an application switcher interface navigation standard, wherein the application switcher interface navigation standard requires that the first input includes movement of a first contact (e.g., movement of the first contact on the display), the movement having a magnitude of a movement parameter (e.g., distance and / or rate) in a direction away from the corresponding edge region from which the first input begins on the display, in order to satisfy the application switcher interface navigation standard. In some implementations, the application switcher interface navigation standard requires that when the assigned current target state of the transition user interface is the application switcher user interface (e.g., as referenced...), the application switcher interface navigation standard requires that... FIG. 8 When the contact lift-off is detected, the input is checked. For example, in some implementations, the application switcher interface navigation criteria include inputs that meet a first X-velocity threshold, are substantially horizontal, and do not meet a Y-position threshold, for example, when criteria 80x2 and 80x3 are not met immediately before contact lift-off is detected. FIG. 8 The standard is 80x4. Similarly, in some implementations, the application switcher interface navigation standard includes input speeds that do not exceed a minimum X and Y speed, for example, satisfying any of standards 80x2 to 80x5 immediately before the contact is detected and lifted off the ground. FIG. 8 The standard is 80x6. Similarly, in some implementations, the application switcher interface navigation standard includes that the input does not have a downward velocity or does not meet a third X position threshold, for example, when any of standards 80x2 to 80x7 is not met immediately before the contact is detected and lifted off the ground. FIG. 5B8The standard is 80x8. An alternative user interface (e.g., a first alternative user interface that replaces the display of a first application user interface when a first input begins in a first edge region of the display, or a second alternative user interface that replaces the display of a second application user interface when a first input begins in a second edge region of the display) is an application switcher user interface that includes a corresponding representation of an application for selectively activating one of a plurality of applications currently represented in the application switcher user interface (e.g., the most recently active application with a retained user interface state (e.g., the last active user interface)). In some embodiments, after the first contact is first detected and before it is determined that the first input meets a second criterion, the display of the first user interface is replaced with an alternative user interface on the portion of the display where the input was first detected (e.g., a transitional user interface that allows the user to navigate to a plurality of different user interfaces on that portion of the display, such as an application switcher user interface or a previous / next application user interface; or a transitional user interface that allows the user to navigate to a plurality of different user interfaces across the entire display, such as a full-screen application switcher user interface or a home screen). Responding to an upward swipe starting from the edge of the first portion of the display to display the application switcher user interface in the first portion of the display (e.g., when the device is in split-screen mode), while maintaining the display of the application user interface in the second portion of the display (or vice versa), enhances device operability and makes the user device interface more efficient (e.g., by providing easy access to the device's navigation functions; by reducing user errors when operating / interacting with the device; by helping users achieve the desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls). This, in turn, reduces power consumption and extends the device's battery life (e.g., by helping users use the device more quickly and efficiently).
[0272] In some implementations, when the application switcher user interface is displayed in a first portion or a second portion of the display, the device detects (724) the selection of a first representation (e.g., a thumbnail of the last active user interface of the respective application) among the multiple applications currently represented in the application switcher user interface for selectively activating one of them (e.g., via...). FIG. 5B8the selection of the first representation, while maintaining display of the second application user interface in the second portion of the display (e.g., on the opposite side of the display operating in split-screen mode) when the application switcher user interface is displayed in the second portion of the display at the time the selection of the first representation is detected (in accordance with a determination that the above condition is met). Selecting the representation 4414 in the first portion of the display (e.g., on one side of the display operating in split-screen mode) causes the device to display the associated interactive map user interface in the right portion of the display, while maintaining display of the web browsing user interface in the left portion of the display. Displaying the application user interface in the first portion of the display (e.g., on one side of the display operating in split-screen mode) while maintaining display of the application user interfaces concurrently displayed with the application switcher user interface in the second portion of the display (e.g., on the opposite side of the display operating in split-screen mode) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by helping the user to achieve an intended result with fewer inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which additionally reduces power usage and improves battery life of the device (e.g., by helping the user to more quickly and efficiently use the device). FIG. 5B8 After the selection of the representation 4416 in the first portion of the display, the device displays the web browsing user interface in the left portion of the display while maintaining the email user interface in the right portion of the display. FIG. 5B12 After the selection of the representation 4416 in the first portion of the display, the device displays the web browsing user interface in the left portion of the display while maintaining the email user interface in the right portion of the display. FIGS. 5B1-5B9 After the selection of the representation 4414 in the first portion of the display (e.g., on one side of the display operating in split-screen mode) causes the device to display the associated interactive map user interface in the right portion of the display, while maintaining display of the web browsing user interface in the left portion of the display. Displaying the application user interface in the first portion of the display (e.g., on one side of the display operating in split-screen mode) while maintaining display of the application user interfaces concurrently displayed with the application switcher user interface in the second portion of the display (e.g., on the opposite side of the display operating in split-screen mode) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by helping the user to achieve an intended result with fewer inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which additionally reduces power usage and improves battery life of the device (e.g., by helping the user to more quickly and efficiently use the device).
[0273] In some embodiments, while displaying a user interface of an application associated with a first representation in a first portion of the display and displaying a second application user interface in a second portion of the display (e.g., after selecting the first representation in an application switcher user interface displayed in the first portion of the display), the device detects (732) a second input by a second contact in a second edge region of the display corresponding to the second application user interface (e.g., within a predetermined distance from a bottom edge of the display, as defined by a current display orientation on the display) (e.g., after navigating to a web browsing user interface on the left side of the display in FIGS. 510-512, detecting contact 4420 on the bottom edge of the right portion of the bottom edge of the display in FIG. 510). FIGS. 5B10-5B11 In response to detecting the second input, in accordance with a determination that the second input satisfies application switcher interface navigation criteria, the device replaces (734) display of the second application user interface with an application switcher user interface in the second portion of the display (e.g., displays the application switcher user interface in the second portion of the display instead of the first portion of the display), while maintaining display of the user interface of the application associated with the first representation in the first portion of the display (e.g., in response to the swipe gesture, including FIG. 5B12 In response to detecting the second input, in accordance with a determination that the second input satisfies application switcher interface navigation criteria, the device replaces (734) display of the second application user interface with an application switcher user interface in the second portion of the display (e.g., displays the application switcher user interface in the second portion of the display instead of the first portion of the display), while maintaining display of the user interface of the application associated with the first representation in the first portion of the display (e.g., in response to the swipe gesture, including FIG. 5B12 The application switcher user interface in the second portion of the display includes a representation of a first application associated with a first application user interface previously displayed on the first portion of the display (e.g., the representation of the application in the application switcher user interface represents a user interface previously displayed in either the first portion or the second portion of the display (e.g., the first portion and the second portion of the display share a set of previously displayed application user interfaces) (e.g., FIG. 5B1 In response to detecting the second input, in accordance with a determination that the second input satisfies application switcher interface navigation criteria, the device replaces (734) display of the second application user interface with an application switcher user interface in the second portion of the display (e.g., displays the application switcher user interface in the second portion of the display instead of the first portion of the display), while maintaining display of the user interface of the application associated with the first representation in the first portion of the display (e.g., in response to the swipe gesture, including FIG. 5B22(This is associated with the interactive map user interface displayed on the upper right side of the display). In some implementations, each part of the split-screen display mode has its own separate set of previously displayed application user interfaces, such that when the application user interface is navigating away from the display in one part of the display, a representation of that user interface is available in the application switcher user interface when the application switcher user interface is open in the same part of the display but not in other parts of the display. Displaying the application switcher user interface, including a representation of the application user interface previously displayed in the first part of the display, in response to an upward swipe starting from the edge area of the second part of the display (e.g., when the device is in split-screen display mode), in the second part of the display enhances device operability and makes the user device interface more efficient (e.g., by providing easy access to the device's navigation functions; by reducing user errors when operating / interacting with the device; by helping users achieve desired results with less required input; and by providing additional control options without cluttering the user interface with additional displayed controls), which in turn reduces power consumption and extends the device's battery life (e.g., by helping users use the device more quickly and efficiently).
[0274] In some implementations, the second standard includes (736) a final application interface navigation standard, wherein the final application interface navigation standard requires the first input to include movement of a first contact having a magnitude of movement parameters (e.g., distance and / or rate) in a direction substantially parallel to the respective edge region (e.g., a first edge region or a second edge region) where the first input begins on the display (e.g., an arc swipe, including...). FIG. 5B25 , FIG. 5B28 , , FIG. 5B31 and FIG. 5B34 The movements 4430, 4434, 4438, 4442, and 4446 are respectively made through contacts 4428, 4432, 4436, 4440, and 4444. In some implementations, the next / previous application interface navigation standard requires that the assigned current target state of the transition user interface is the next / previous application user interface (e.g., as referenced). FIG. 8 When the contact lift-off is detected, for example, in some implementations, the next / previous application interface navigation criteria include input satisfying a first X-velocity threshold with a projecting downward position, or satisfying a first Y-position threshold, and excluding directional offsets following the threshold movement amount, for example, satisfying criteria 80x2 and 80x3 immediately before contact lift-off is detected. FIG. 8the next / previous application interface navigation criteria include input that has a Y velocity that is less than a minimum Y velocity threshold, e.g., when none of criteria 80x2-80x4 are met immediately prior to detecting liftoff of the contact FIG. 8 the next / previous application interface navigation criteria include input that has a Y velocity that is less than a minimum Y velocity threshold, e.g., when none of criteria 80x2-80x4 are met immediately prior to detecting liftoff of the contact FIG. 8 the next / previous application interface navigation criteria include input that has a Y velocity that is less than a minimum Y velocity threshold, e.g., when none of criteria 80x2-80x4 are met immediately prior to detecting liftoff of the contact FIG. 8 The alternative user interface (e.g., a first alternative user interface that replaces display of the first application user interface when the first input is started in the first edge region of the display, or a second alternative user interface that replaces display of the second application user interface when the first input is started in the second edge region of the display) is a first previously-displayed application user interface that is different from the respective application user interface (e.g., the first user interface or the second user interface) that is replaced. Displaying the previously-displayed user interface in the first portion of the display in response to a lateral swipe that starts in an edge region of the first portion of the display (e.g., when the device is in a split-screen display mode), while maintaining display of the application user interface in the second portion of the display (or vice versa), enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by helping the user to achieve an intended result with fewer inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which additionally reduces power usage and improves battery life of the device (e.g., by helping the user to more quickly and efficiently use the device).
[0275] In some embodiments, after replacing display of the first application user interface with the first replacement user interface that is a previously-displayed application user interface, and within a first time threshold (e.g., a time threshold for detecting a continuous horizontal swipe) from liftoff of the first contact, the device detects (738) a second input by a second contact that starts in the first edge region, including movement of the second contact that has a magnitude (e.g., an arc-shaped swipe, including movement 4442 or 4446 by contact 4440 or 4444 in FIG. 5B31 or FIG. 5B34 ). In response to detecting the second input, in accordance with a determination that a second previously-displayed application user interface is navigable to, the device replaces (740) display of the first previously-displayed application user interface with the second previously-displayed application user interface (e.g., the device displays the message user interface in FIG. 5B33 because a representation of the message user interface was available in the card stack when the device detected the arc-shaped swipe, including movement 4442 by contact 4440 in FIG. 5B31-32 ). In response to detecting the second input, in accordance with a determination that a second previously-displayed application user interface is not navigable to (e.g., the first previously-displayed application user interface is the last application user interface in a stack of recently opened applications that has preserved user interface state), the device displays (740) the second user interface in a full-screen display mode (e.g., by expanding display of the second user interface from the second portion of the display to the first and second portions of the display to terminate the split-screen display mode) (e.g., in FIG. 5B36 the device expands display of the interactive map user interface from a split screen to a full screen because the device detected the arc-shaped swipe, including movement 4442 by contact 4440 in FIG. 5B34-35displaying a second previously displayed user interface in the first portion of the display in response to a lateral swipe starting from an edge region of the first portion of the display while maintaining display of the application user interface in the second portion of the display (or vice versa) when the device is in split-screen display mode, or displaying the application user interface displayed in the second portion of the display in full-screen display mode depending on whether the second previously displayed user interface is available, enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by helping the user to achieve an intended result with fewer inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which additionally reduces power usage and improves battery life of the device (e.g., by helping the user to more quickly and efficiently use the device).
[0276] In some embodiments, in response to detecting the first input, in accordance with a determination that the first input meets third criteria, where the third criteria requires that the first input include movement in a first direction that is less than a first threshold amount but greater than a second threshold amount in the first direction (e.g., greater than a threshold distance and / or velocity) in order to meet the third criteria, the device displays (744) a full-screen application switcher user interface (e.g., with the split-screen view displayed prior to the first input as a selectable option among a set of selectable applications) (e.g., replacing display of the first user interface and the second user interface with the full-screen application switcher user interface). For example, movement 4426 by contact 4424 from FIG. 5B13 to position 4425-d in FIG. 5B16 meets the third movement criteria but not the first movement criteria because it includes less than a first threshold amount of movement away from the bottom edge of the display but more than a second threshold amount of movement away from the bottom edge of the display (e.g., as compared to movement 4422 to FIG. 5B1-4 and FIG. 5B10-12 associated with the split-screen application switcher user interface as shown in FIG. 5B16 after liftoff of contact 4424 in FIG. 5B17the display of the interactive map user interface on the left side portion of the display and the display of the email user interface on the right side portion of the display. In some embodiments, the third criteria also includes a requirement of a predetermined pause (e.g., immediately prior to liftoff of the contact) of movement of the input. In some embodiments, after first detecting the first contact, and prior to determining that the first input meets the third criteria, the device replaces the display of the first user interface with a replacement user interface on the portion of the display where the input was first detected (e.g., a transition user interface that allows the user to navigate to a plurality of different user interfaces on that portion of the display, such as an application switcher user interface or a previous / next application user interface; or a transition user interface that allows the user to navigate to a plurality of different user interfaces on the entire display, such as a full-screen application switcher user interface or a home screen). The home screen is displayed in a full-screen display mode when the first criteria (e.g., a first distance and / or velocity threshold) is met; a replacement application user interface is displayed in a first portion of the display while maintaining the display of the application user interface on a second portion of the display (e.g., or vice versa) when the second criteria (e.g., a second distance and / or velocity threshold) is met; and a full-screen application switcher user interface is displayed when the third criteria (e.g., a third distance and / or velocity threshold, such as an intermediate value between the first threshold and the second threshold) is met, enhancing the operability of the device and making the user-device interface more efficient (e.g., by providing easy access to navigation functions of the device; by reducing user mistakes when operating / interacting with the device; by
[0277] In some embodiments, while displaying a first application user interface (e.g., a first application user interface) on a first portion of the display (e.g., a left side portion of the display) and a second application user interface on a second portion of the display, and prior to detecting the first input, the device displays (704) a first affordance on a portion of the first application user interface, where the location of the first affordance indicates a reaction area (e.g., a bottom edge area of the display within the first portion of the display) for starting a predefined gesture input (e.g., an edge swipe gesture for entering a transition user interface mode or displaying an application switcher user interface) on the first portion of the display (e.g., FIG. 5B1the home affordance 4400-1 in the left portion of the display), and the device displays (740) a second affordance on a portion of the second application user interface, where the location of the second affordance indicates a reaction area (e.g., a bottom edge area of the display within the second portion of the display) for starting a predefined gesture input (e.g., an edge swipe gesture for entering a transition user interface mode or displaying an application switcher user interface) on the second portion of the display (e.g., FIG. 5B1 the home affordance 4400-2 in the right portion of the display). When operating in a split-screen display mode, displaying the first affordance and the second affordance on portions of the first user interface and the second user interface, respectively, to indicate reaction areas for starting a navigation gesture input on each portion of the split-screen display enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functionality of the device; by reducing user mistakes when operating / interacting with the device; by helping the user to achieve an intended result with fewer inputs; and by providing additional control options without cluttering the user interface with additional displayed controls), which additionally reduces power usage and improves battery life of the device (e.g., by enabling the user to use the device more quickly and efficiently).
[0278] In some embodiments, the size of the first affordance is proportional to the size of the first portion of the display (e.g., one-third of the bottom width of the first portion of the display), the size of the second affordance is proportional to the size of the second portion of the display (e.g., one-third of the bottom width of the second portion of the display), and while displaying the first affordance on the portion of the first application user interface and the second affordance on the portion of the second application user interface, the device detects (706) a user input that meets the split-screen resizing criterion (e.g., a gesture that selects and drags a resize handle on a screen divider between the first portion and the second portion of the display). In response to detecting the user input that meets the split-screen resizing criterion, the device resizes (708) the first portion of the display from a first size to a second size, including resizing the display size of the first application user interface and the display size of the first affordance proportionally to the second size of the first portion of the display, and the device resizes (708) the second portion of the display from a third size to a fourth size, including resizing the display size of the second application user interface and the display size of the second affordance proportionally to the fourth size of the second portion of the display. When resizing the size of the portions of the display (e.g., the first portion and the second portion) used in split-screen display mode, resizing the display size of the affordances that indicate the reaction area for starting a navigation gesture input (e.g., the first affordance displayed in the first portion of the split-screen display and the second affordance displayed in the second portion of the split-screen display) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing easy access to navigation functionality of the device; by reducing user mistakes when operating / interacting with the device; by
[0279] In some embodiments, while displaying the third application user interface in a full-screen display mode (e.g., on the entire display, rather than in a split-screen display mode), the device displays (768) a third affordance on a portion of the third application user interface (e.g., a bottom edge region of the display), where the location of the third affordance indicates a reaction area for starting a predefined gesture input on the display (e.g., an edge swipe gesture for entering a full-screen transition user interface mode or displaying a full-screen application switcher user interface) FIG. 5B36The home indicator on the full-screen display of the interactive map user interface (4400-3). Displaying a single indicator on a portion of the user interface displayed in full-screen mode to indicate the response area for initiating navigation gesture input on the full-screen display enhances device operability and makes the user device interface more efficient (e.g., by providing easy access to the device's navigation functions; by reducing user errors when operating / interacting with the device; by helping users achieve the desired results with ...
Claims
1. A method for displaying a user interface, comprising: In electronic devices with displays and touch-sensitive surfaces: The user interface of the first application among a plurality of applications installed on the electronic device is displayed on the display. Detecting gestures on the touch-sensitive surface, wherein detecting the gestures includes detecting an initial portion of the gesture when the user interface of the first application is displayed on the display, and detecting the gestures includes simultaneously detecting multiple contacts on the touch-sensitive surface and detecting movement of the multiple contacts; as well as In response to detecting a gesture on the touch-sensitive surface, including a first portion of movement of one or more contacts on the touch-sensitive surface, at least a portion of the user interface is moved according to the movement of the one or more contacts in the gesture; as well as After moving a portion of the user interface based on the movement of the one or more contacts during the first part of the gesture and while maintaining the one or more contacts on the touch-sensitive surface, a second part of the gesture, including the continued movement of the one or more contacts in the gesture, is detected; and In response to the detection of the gesture, a second part includes the one or more contacts continuously moving within the gesture: Based on determining that the gesture includes fewer than a predetermined number of simultaneous detected contacts, wherein the predetermined number is greater than two, an operation is performed in the first application based on the movement of the one or more contacts detected during the second part of the gesture; Based on determining that the gesture includes at least the predetermined number of simultaneously detected contacts, and that the movement of the simultaneously detected contacts during the first and second portions of the gesture meets a first criterion, the user interface displaying the first application is switched to displaying the user interface of a second application, which is different from the first application, among multiple applications. as well as Based on determining that the gesture includes at least the predetermined number of simultaneously detected contacts and that the movement of the simultaneously detected contacts during the first and second portions of the gesture satisfies a second criterion different from the first criterion, the user interface displaying the first application is switched to displaying a user interface including corresponding application icons for opening the plurality of applications installed on the electronic device.
2. The method of claim 1, wherein the first criterion requires the gesture to include a movement in a first direction greater than a first threshold amount in order to satisfy the first criterion.
3. The method of claim 1, wherein the second criterion requires the gesture to include a movement in a first direction greater than a first threshold amount in order to satisfy the second criterion.
4. The method of claim 1, wherein the second criterion requires the gesture to include a movement greater than a first threshold amount of the simultaneously detected contact toward each other in order to satisfy the second criterion.
5. The method according to claim 1, comprising: In response to detecting the gesture on the touch-sensitive surface: Based on determining that the gesture includes at least the predetermined number of simultaneously detected contacts and that the movement of the simultaneously detected contacts during the gesture satisfies a third criterion different from the first and second criteria, the user interface displaying the first application is switched to displaying a user interface displaying corresponding representations of multiple recently active applications.
6. The method of claim 5, wherein the third criterion requires the gesture to include movement in a first direction greater than a first threshold amount and less than a second threshold amount in order to satisfy the third criterion.
7. The method of claim 5, wherein the third criterion requires the gesture to include a movement of less than a first threshold amount made by the simultaneously detected contact toward each other in order to satisfy the third criterion.
8. The method according to claim 1, comprising: In response to detecting the gesture on the touch-sensitive surface: The display of the first application on the display is maintained based on the determination that the gesture includes at least the predetermined number of simultaneously detected contacts and that the movement of the simultaneously detected contacts during the gesture meets a third criterion different from the first and second criteria.
9. The method of claim 8, wherein the third criterion requires the gesture to include a movement of less than a first threshold amount performed by the simultaneously detected contact in order to satisfy the third criterion.
10. The method according to claim 1, comprising: In response to detecting the gesture on the touch-sensitive surface: An operation is performed within the first application based on the gesture, which determines that the gesture includes at least the predetermined number of simultaneously detected contacts and that the movement of the simultaneously detected contacts on the touch-sensitive surface begins after at least a threshold amount of time has elapsed since the initial detection of the plurality of contacts on the touch-sensitive surface.
11. The method according to claim 1, comprising: The simultaneous detection of the contact refers to the relative movement of the touch-sensitive surface toward each other during the gesture; as well as The size of the representation of the user interface of the first application is adjusted based on the relative movement of the simultaneously detected contacts toward each other.
12. The method according to claim 1, comprising: The movement of the simultaneously detected contact in the corresponding direction on the touch-sensitive surface is detected, the movement corresponding to a movement on the display toward a predefined edge of the display; as well as The size of the user interface representation of the first application is adjusted based on the movement of the simultaneously detected contact in the corresponding direction.
13. The method according to claim 1, comprising: Simultaneously detect a first movement of the simultaneously detected contacts in a corresponding direction on the touch-sensitive surface, and a second movement of the simultaneously detected contacts toward each other; Based on the first movement in the corresponding direction of the simultaneously detected contact, the representation of the user interface of the first application is moved on the display. as well as Based on the second movement of the simultaneously detected contacts toward each other, the size of the representation of the user interface of the first application on the display is adjusted.
14. The method according to claim 1, comprising: The detection measures the change in the total number of simultaneously detected contacts during the gesture, wherein the first criterion or the second criterion does not require the total number of simultaneously detected contacts to remain constant during the gesture in order to satisfy the first criterion or the second criterion.
15. The method of claim 14, comprising: After detecting the change in the total number of simultaneously detected contacts, additional movement of the remaining contacts on the touch-sensitive surface is detected, wherein either the first criterion or the second criterion is satisfied after the additional movement of the remaining contacts is detected.
16. The method according to claim 1, wherein: Detecting the gesture includes: The third part of detecting the gesture: and Detect the fourth part of the gesture after the third part of the gesture; The third part of the gesture includes at least the predetermined number of simultaneously detected contacts moving synchronously in corresponding directions, and The fourth part of the gesture includes at least the predetermined number of simultaneously detected movements of contact toward each other; and After the third and fourth parts of the gesture are detected, at least one of the first and second criteria is satisfied.
17. The method according to claim 1, wherein: Detecting the gesture includes: The third part of detecting the gesture: and Detect the fourth part of the gesture after the third part of the gesture; The third part of the gesture includes at least the predetermined number of simultaneously detected movements of contact toward each other; and The fourth part of the gesture includes at least the predetermined number of simultaneously detected contacts moving synchronously in corresponding directions, and After the third and fourth parts of the gesture are detected, at least one of the first and second criteria is satisfied.
18. The method of claim 1, wherein the initial portion of the gesture is detected in the central portion of any edge of the touch-sensitive surface remote from the touch-sensitive surface.
19. The method of claim 1, wherein a corresponding one of the first criterion and the second criterion does not require the detection of the lifting of the plurality of contacts to satisfy a corresponding one of the first criterion and the second criterion.
20. An electronic device, comprising: Displays and touch-sensitive surfaces; One or more processors; and A memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 1-19.
21. A computer-readable storage medium storing one or more programs, said one or more programs comprising instructions that, when executed by an electronic device having a display and a touch-sensitive surface, cause the electronic device to perform any one of the methods according to claims 1-19.
22. A computer program product comprising one or more programs that, when executed by a processor, cause the processor to perform any one of the methods described in claims 1-19.
Citation Information
Patent Citations
Devices, methods, and graphical user interfaces for navigating between user interfaces and interacting with control objects
US10203866B2
Varying output for a computing device based on tracking windows
US20150234493A1
Thresholds for determining feedback in computing devices
US9910494B2
Method and device for user interface management
CN103019586A
Mobile terminal and fast task switching method therefor
CN104850345A