Device, method, and graphical user interface for proactive management of notification
The method and interface for managing notifications on electronic devices address inefficiencies by allowing users to control notification delivery and aggregation, enhancing user satisfaction and reducing energy consumption.
Patent Information
- Application Number
- JP2025027178
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-09-29
- Filing Date
- 2025-02-21
- Publication Date
- 2025-07-01
AI Technical Summary
Existing user interfaces for managing notifications on electronic devices are cumbersome and inefficient, leading to excessive energy consumption and user frustration due to confusing presentation and navigation of notifications.
A method and interface for controlling the frequency, prominence, and type of notifications through input detection and preference changes, allowing users to manage notification delivery modes and aggregate notifications intuitively.
Enhances user satisfaction and efficiency by simplifying notification management, reducing energy consumption, and improving navigation within notification interfaces.
Smart Images

Figure 2025097988000001_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to an electronic device that displays event notifications, and more particularly, but not limited to, an electronic device that provides an interface for efficiently displaying and managing notifications.
Background Art
[0002] In recent years, the use of portable electronic devices has increased significantly, and typically, many applications reside in the memory of such devices. Exemplary applications include communication applications (e.g., messaging and telephone), calendar applications, news applications, media playback applications (e.g., podcasts, music, and video), payment applications, reminder applications, social media applications, and service delivery applications. These applications generate events that include information of varying importance to the user. Notifications corresponding to the generated events may be displayed. Exemplary notifications may include digital images, videos, text, icons, controller elements (such as buttons), and / or other graphics for notifying the user of the event. Exemplary applications that generate notifications include messaging applications (e.g., iMessage or Messages by Apple Inc. of Cupertino, California), calendar applications (e.g., iCal or Calendar by Apple Inc. of Cupertino, California), news applications (e.g., Apple News by Apple Inc. of Cupertino, California), media playback applications (e.g., Podcasts, Apple Music, and iTunes by Apple Inc. of Cupertino, California), payment applications (e.g., Apple Pay by Apple Inc. of Cupertino, California), reminder applications (e.g., Reminders by Apple Inc. of Cupertino, California), social media applications, and service delivery applications.
[0003] However, user interfaces for controlling the delivery of notifications, as well as methods for navigating to and from such interfaces, are cumbersome and inefficient. For example, notifications may be presented in a confusing manner or in an excessive number of ways, and navigation to and from the interfaces containing the notifications may also be confusing. These methods waste energy by taking more time than necessary. The latter problem is particularly critical in battery-operated devices. SUMMARY OF THE INVENTION
[0004] Accordingly, there is a need for an improved computer system with methods and interfaces for controlling the frequency, prominence, and type of notifications presented. For example, in some embodiments described, prompts are provided to enhance user awareness of options for controlling the delivery of notifications. In some cases, the amount of a certain type of notification received may exceed the desired amount of that type of notification. As a result, a lot of time or numerous inputs may be required to bypass less important notifications in order for the user to view notifications that the user considers more important and useful.
[0005] The above-mentioned defects and other problems related to the interface for displaying notifications are reduced or eliminated by the disclosed computer system. In some embodiments, the computer system includes a desktop computer. In some embodiments, the computer system is portable (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the computer system includes a personal electronic device (e.g., a wearable electronic device such as a wristwatch). In some embodiments, the computer system has (and / or communicates with) a display generation component and one or more input devices. In some embodiments, the computer system has (and / or communicates with) a touchpad. In some embodiments, the computer system has (and / or communicates with) a touch-sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the computer system has a graphical user interface (GUI), one or more processors, a memory, and one or more modules, programs, or sets of instructions stored in the memory for performing a plurality of functions. In some embodiments, the user interacts with the GUI, at least in part, through contact and gestures by a stylus and / or finger on the touch-sensitive surface. In some embodiments, the functions optionally include game play, image editing, drawing, presenting, word processing, spreadsheet creation, telephony, video conferencing, email, instant messaging, training support, digital photography, digital video recording, web browsing, digital music playback, note taking, and / or digital video playback. The executable instructions for performing those functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0006] In some embodiments, the method is executed in a computer system having a display generation component and one or more input devices. The method includes detecting the occurrence of a first event of a first event type. The method also includes displaying, via the display generation component, a first notification corresponding to the first event type on each user interface of the device. The method also includes detecting, via the input device, a first input directed to the first notification while the first notification is being displayed on each user interface. The method also includes displaying, via the display generation component, one or more notification delivery preference controllers in response to the detection of the first input. The method also includes detecting, via the input device, a second input directed to the set of one or more notification delivery preference controllers while the one or more notification delivery preference controllers are being displayed. The method also includes changing a delivery preference regarding future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode in response to the detection of the second input. The method also includes detecting the occurrence of a second event of the first event type after changing the delivery preference regarding future notifications of events of the first event type according to the second input. The method also includes adding, to a notification history without first displaying the second notification on each user interface, a second notification corresponding to the second event according to a determination that the second delivery mode corresponds to a non-intrusive delivery mode, and refraining from displaying the second notification on each user interface and refraining from adding the second notification to the notification history according to a determination that the second delivery mode corresponds to turning off notifications of the first event type.
[0007] In some embodiments, the method is executed in a computer system having a display generation component and one or more input devices. The method includes detecting the occurrence of one or more additional events of a first event type while the device has in a notification history a plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, where the first notification and the second notification are aggregated within the notification history. The method also includes creating a third notification of a first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type. The method also includes, after creating the third notification of the first additional event of the first event type, receiving, via an input device, a request to display a wake screen user interface of the device. The method also includes, in response to the request to display the wake screen user interface of the device, displaying, via the display generation component, on the wake screen user interface a third notification that does not carry information regarding the first notification and the second notification. The method also includes, after the third notification is displayed on the wake screen user interface, receiving, via an input device, a request to display the notification history. The method also includes, in response to receiving the request to display the notification history, displaying the notification history with an aggregated representation of the first notification and the second notification.
[0008] In some embodiments, the method is executed in a computer system having a display generation component and one or more input devices. The method includes displaying, via the display generation component, a plurality of notifications of a plurality of different applications, including notifications of a first application and notifications of a second application, on a notification display user interface. The method also includes detecting, via the input device, a user interaction with the plurality of notifications, including a request to perform an operation requested with respect to a notification. The method also includes responding to the user interaction with the plurality of notifications by performing the operation requested with respect to one or more of the notifications. The method also includes displaying, via the display generation component, a prompt for a user to adjust notification settings for one or more of the plurality of applications, and displaying a proposal to lower the prominence of future notifications of the first application without lowering the prominence of future notifications of the second application, according to a determination that user engagement with notifications of the first application is below an engagement threshold level and user engagement with notifications of the second application is above the engagement threshold level, based on the user interaction with the plurality of notifications, and displaying a proposal to lower the prominence of future notifications of the second application without lowering the prominence of future notifications of the first application, according to a determination that user engagement with notifications of the second application is below the engagement threshold level and user engagement with notifications of the first application is above the engagement threshold level, based on the user interaction with the plurality of notifications.
[0009] According to some embodiments, an electronic device includes a display generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch sensing surface, one or more haptic output generators optionally, one or more device orientation sensors optionally, one or more processors, and a memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors and including instructions to perform or cause to perform any of the operations of the methods described herein. According to some embodiments, a computer-readable storage medium has instructions stored therein, and when the instructions are executed by an electronic device having a display generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch sensing surface, one or more haptic output generators optionally, and one or more device orientation sensors optionally, the device is caused to perform or cause to perform any of the operations of the methods described herein. According to some embodiments, a graphical user interface of an electronic device having a display generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch sensing surface, one or more haptic output generators optionally, one or more device orientation sensors optionally, a memory, and one or more processors for executing one or more programs stored in the memory includes one or more of the elements displayed in any of the methods described herein, and the elements 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 generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch sensing surface, one or more haptic output generators optionally, one or more device orientation sensors optionally, and means for performing or causing to perform any of the operations of the methods described herein.According to some embodiments, an information processing apparatus for use in an electronic device having a display generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch-sensitive surface, one or more haptic output generators optionally, and one or more device orientation sensors optionally, includes means for performing, or causing to be performed, any of the operations of the methods described herein.
[0010] Thus, an electronic device having a display generation component, one or more input devices, one or more sensors optionally for detecting the intensity of contact with a touch-sensitive surface, one or more haptic output generators optionally, and one or more device orientation sensors optionally, provides an improved method and interface for managing the display of notifications, thereby enhancing the effectiveness, efficiency, and user satisfaction of such a device. Such methods and interfaces may complement or replace conventional methods for managing the display of notifications. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] To better understand the various embodiments described, reference should be made to the following "DETAILED DESCRIPTION" in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout the following figures.
[0012]
Figure 1A
[0013]
Figure 1B
[0014]
Figure 1C
[0015]
Figure 2
[0016]
Figure 3
[0017]
Figure 4A
[0018]
Figure 4B
[0019]
Figure 4C
Figure 4D
Figure 4E
[0020]
Figure 4F
Figure 4G
Figure 4H
Figure 4I
Figure 4J
Figure 4K
[0021]
Figure 5A1
Figure 5A2
Figure 5A3
Figure 5A4
Figure 5B
Figure 5C
Figure 5D
Figure 5E
Figure 5F
Figure 5G
Figure 5H
Figure 5I
Figure 5J
Figure 5K
Figure 5L
Figure 5M
Figure 5N
Figure 5O
Figure 5P
Figure 5Q
Figure 5R
Figure 5S
Figure 5T
Figure 5U
Figure 5V
Figure 5W
Figure 5X
Figure 5Y
Figure 5Z
Figure 5AA
Figure 5AB
Figure 5AC
Figure 5AD
Figure 5AE
Figure 5AF
Figure 5AG
Figure 5AH
Figure 5AI
Figure 5AJ
Figure 5AK
Figure 5AL
Figure 5AM
Figure 5AN
Figure 5AO
Figure 5AP
Figure 5AQ
Figure 5AR
Figure 5AS
Figure 5AT
Figure 5AU
Figure 5AV
Figure 5AW
Figure 5AX
Figure 5AY
[0022]
Figure 5AZ
Figure 5BA
Figure 5BB
Figure 5BC
Figure 5BD
Figure 5BE
Figure 5BF
Figure 5BG
Figure 5BH
Figure 5BI
Figure 5BJ
Figure 5BK
Figure 5BL
Figure 5BM
Figure 5BN
Figure 5BO
Figure 5BP
Figure 5BQ
Figure 5BR
Figure 5BS
Figure 5BT
Figure 5BU
[0023]
Figure 6A
Figure 6B
Figure 6C
Figure 6D
[0024]
Figure 7A
Figure 7B
Figure 7C
Figure 7D
Figure 7E
Figure 7F
Figure 7G
[0025]
Figure 8A
Figure 8B
Figure 8C
Figure 8D
Figure 8E
[0026]
Figure 9A
Figure 9B
Figure 9C
Figure 9D
Figure 9E
[0027] A notification provides information about an event generated by an application to the user without the user having to interact with the application. Conventional ways of interacting with notifications often require multiple separate inputs (e.g., a series of gestures and button presses, etc.) to achieve the intended results (e.g., adjusting the delivery method of various types of notifications via the system settings user interface). Embodiments herein provide an intuitive way for the user to manage and interact with notifications (e.g., allowing the user to access an input to a controller for managing the notification (e.g., managing the delivery mode of future notifications of the type corresponding to the currently displayed notification) while the notification is being displayed, aggregating notifications corresponding to events of one event type, and automatically displaying a prompt to guide the user to adjust the notification settings based on the monitored interaction with the notification).
[0028] The systems, methods, and GUIs described herein improve notification management in multiple ways. For example, they make it easier to adjust notification delivery preferences and navigate between multiple notifications corresponding to events of the same event type.
[0029] The following, FIGS. 1A-1C, 2, and 3 provide an illustration of an exemplary device. FIGS. 4A-4B, 5A-5BU, and 6A-6D illustrate examples of user interfaces for managing notifications. FIGS. 7A-7G illustrate flowcharts of methods for changing delivery preferences for future notifications of one event type according to some embodiments. FIGS. 8A-8E illustrate flowcharts of methods for displaying aggregated notifications according to some embodiments. FIGS. 9A-9E illustrate flowcharts of methods for displaying prompts for adjusting notification settings according to some embodiments. The processes of FIGS. 7A-7G, 8A-8E, and 9A-9E are shown using the user interfaces of FIGS. 5A-5BU and 6A-6D. Exemplary device
[0030] Reference is now made in detail to embodiments illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to those skilled in the art that the various embodiments described may 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 embodiments.
[0031] It will be understood that, in this specification, terms such as first, second, etc. are used in some examples to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of the various embodiments described, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact. Both the first contact and the second contact are contacts, but they are not the same contact unless the context clearly indicates otherwise.
[0032] The terms used in the description of the various embodiments described herein are for the purpose of describing particular embodiments only and are not intended to be limiting. In the description of the various embodiments and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. Also, as used herein, the term "and / or" refers to any and all combinations of one or more of the associated listed items and is to be construed to include the same. The terms "includes," "including," "comprises," and / or "comprising," when used herein, specify the presence of the 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.
[0033] As used herein, the term "if (when)" is optionally construed, depending on the context, to mean "when", "upon", "in response to determining", or "in response to detecting". Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" are optionally construed, depending on the context, 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]".
[0034] Embodiments of an electronic device, a user interface for such a device, and related processes for using such a device are described. In some embodiments, the device is a portable communication device such as a cellular phone that also includes other functions such as PDA functionality and / or music player functionality. Exemplary embodiments of portable multifunctional devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Optionally, other portable electronic devices such as laptop or tablet computers having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad) are also used. Also, in some embodiments, it should be understood that the device is not a portable communication device but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad).
[0035] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices such as a physical keyboard, a mouse, and / or a joystick.
[0036] The device generally supports various applications such as one or more of a note-taking 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 phone application, a video conferencing application, an email application, an instant messaging application, a training support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0037] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch sensing surface. One or more functions of the touch sensing surface, as well as the corresponding information displayed on the device, are optionally adjusted and / or changed for each application and / or within each respective application. Thus, by having a common physical architecture of the device (such as a touch sensing surface), various applications are optionally supported to have an intuitive and transparent user interface for the user.
[0038] Attention is now directed to an embodiment of a portable device having a touch sensing display. FIG. 1A is a block diagram showing a portable multifunctional device 100 having a touch sensing display system 112 according to some embodiments. The touch sensing display system 112 may be referred to as a "touch screen" for convenience, or simply as a touch sensing display. The device 100 includes a memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and an external port 124. The device 100 optionally includes one or more light sensors 164. The device 100 optionally includes one or more intensity sensors 165 that detect the intensity of a contact on the device (such as a touch sensing surface, such as the touch sensing display system 112 of the device 100). The device 100 optionally includes one or more haptic output generators 167 that generate haptic output on the device (such as generating haptic output on a touch sensing surface, such as the touch sensing display system 112 of the device 100 or the touch pad 355 of the device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0039] Device 100 is merely an example of a portable multifunctional device, and it should be understood that Device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of those components. The various components shown in FIG. 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0040] Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to Memory 102 by other components of Device 100, such as CPU(s) 120 and Peripheral Interface 118, is optionally controlled by Memory Controller 122.
[0041] Peripheral Interface 118 can be used to couple the input and output peripheral devices of the device to CPU(s) 120 and Memory 102. One or more processors 120 operate or execute various software programs and / or instruction sets stored in Memory 102 to perform various functions for Device 100 and process data.
[0042] In some embodiments, Peripheral Interface 118, CPU(s) 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.
[0043] The RF (radio frequency) circuit 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuit 108 converts electrical signals into electromagnetic signals or vice versa and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 108 optionally includes well-known circuits for performing these functions, such as, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and the like. The RF circuit 108 optionally communicates wirelessly with networks such as the Internet, also called the World Wide Web, an intranet, and / or wireless networks such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs), as well as with other devices. The wireless communication is optionally Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code divisionusing any one of a plurality of communication standards, communication protocols, and communication technologies, including, but not limited to, multiple access (e.g., code division multiple access (CDMA)), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, protocols for e-mail (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol not yet developed as of the filing date of the present document.
[0044] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts this audio data into an electrical signal, and transmits this electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. Also, the audio circuit 110 receives the electrical signal converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits this audio data to the peripheral device interface 118 for processing. The audio data is optionally obtained from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 further includes a headset jack (e.g., 212, FIG. 2). The headset jack provides an interface between the audio circuit 110 and a detachable audio input / output peripheral device such as an output-only headset or a headset with both output (e.g., mono or stereo headphones) and input (e.g., microphone).
[0045] The I / O subsystem 106 couples input / output peripheral devices on the device 100, such as the touch sensing display system 112 and other input or control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, a light sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive electrical signals from, or transmit electrical signals to, the other input or control devices 116. The other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller(s) 160 are optionally coupled to (or not coupled to either of) any of a keyboard, an infrared port, a USB port, a stylus, and / or a pointer device such as a mouse. One or more buttons (e.g., 208, Figure 2) optionally include up / down buttons for volume control of the speaker 111 and / or the microphone 113. One or more buttons optionally include push buttons (e.g., 206, Figure 2).
[0046] The touch-sensing display system 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touch-sensing display system 112. The touch-sensing display system 112 displays a visual output to the user. This visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects. As used herein, the term "affordance" refers to a user-interactive graphical user interface object (e.g., a graphical user interface object configured to respond to an input directed to the graphical user interface object). Examples of user-interactive graphical user interface objects include, but are not limited to, buttons, sliders, icons, selectable menu items, switches, hyperlinks, or other user interface controls.
[0047] The touch-sensing display system 112 has a touch-sensing surface, sensor, or set of sensors that receives input from the user based on tactile and / or haptic contact. The touch-sensing display system 112 and the display controller 156 (along with any associated modules and / or instruction sets in the memory 102) detect a contact (and any movement or interruption of the contact) on the touch-sensing display system 112 and convert the detected contact into an interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch-sensing display system 112. In some embodiments, the point of contact between the touch-sensing display system 112 and the user corresponds to the user's finger or stylus.
[0048] The touch sensing display system 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, but in other embodiments, other display technologies are used. The touch sensing display system 112 and the display controller 156 detect contact and any movement or interruption thereof, optionally using any of a plurality of touch sensing technologies known or later developed, including capacitive technology, resistive technology, infrared technology, and surface acoustic wave technology, and other proximity sensor arrays or other elements for determining one or more points of contact with the touch sensing display system 112, but not limited thereto. In some embodiments, projected capacitive sensing technology, such as that found in the iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) from Apple Inc. of Cupertino, California, is used.
[0049] The touch sensing display system 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the video resolution of the touch screen is greater than 400 dpi (e.g., 500 dpi, 800 dpi, or higher). The user optionally uses any suitable object or accessory, such as a stylus, finger, etc., to contact the touch sensing display system 112. In some embodiments, the user interface is designed to function with finger-based contact and gestures, which may be less accurate than stylus-based input due to the larger contact area of the finger on the touch screen compared to the contact area of the stylus. In some embodiments, the device converts rough input by the finger into an accurate pointer / cursor position or command for performing the action desired by the user.
[0050] In some embodiments, in addition to the touch screen, device 100 optionally includes a touch pad for activating or deactivating certain functions. In some embodiments, the touch pad, unlike the touch screen, is a touch-sensitive area of the device that does not display visual output. The touch pad is optionally a touch-sensitive surface separate from the touch-sensitive display system 112, or an extension of the touch-sensitive surface formed by the touch screen.
[0051] Device 100 also includes a power system 162 that supplies power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., a battery, alternating current (AC)), a recharge system, a power outage 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 within a portable device.
[0052] Also, device 100 optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to a light sensor controller 158 within the I / O subsystem 106. The light sensor(s) 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The light sensor(s) 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. In cooperation with the imaging module 143 (also referred to as a camera module), the light sensor(s) 164 optionally captures still images and / or video. In some embodiments, the light sensor is disposed on the back of device 100, on the opposite side of the touch-sensitive display system 112 on the front of the device, so that the touch screen can be used as a viewfinder for acquiring still and / or video images. In some embodiments, another light sensor is disposed on the front of the device so that an image of the user is acquired (e.g., for selfies, for a user to conduct a video conference while viewing other video conference participants on the touch screen).
[0053] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to an intensity sensor controller 159 within I / O subsystem 106. The contact intensity sensor(s) 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-mechanical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch sensing surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of contact on a touch sensing surface). The contact intensity sensor(s) 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with, or proximate to, a touch sensing surface (e.g., touch sensing display system 112). In some embodiments, at least one contact intensity sensor is disposed on the back surface of device 100, which is opposite the touch screen display system 112 located on the front surface of device 100.
[0054] Also, device 100 optionally includes one or more proximity sensors 166. FIG. 1A shows a proximity sensor 166 coupled to a peripheral device interface 118. Alternatively, proximity sensor 166 is coupled to an input controller 160 within I / O subsystem 106. In some embodiments, when a multifunctional device is placed near a user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch sensing display system 112.
[0055] Device 100 also optionally includes one or more haptic output generators 167. FIG. 1A shows a haptic output generator coupled to a haptic feedback controller 161 within I / O subsystem 106. In some embodiments, the haptic output generator(s) 167 include one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear movement, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components that convert an electrical signal into a haptic output) on the device. The haptic output generator(s) 167 receive haptic feedback generation instructions from the haptic feedback module 133 and generate haptic outputs on device 100 that can be sensed by a user of device 100. In some embodiments, at least one haptic output generator is juxtaposed with or proximate to a touch sensing surface (e.g., touch sensing display system 112) and optionally generates haptic outputs by moving the touch sensing surface in a vertical direction (e.g., towards / away from the surface of device 100) or in a horizontal direction (e.g., back and forth within the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is disposed on the back surface of device 100, on the opposite side of a touch sensing display system 112 located on the front surface of device 100.
[0056] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows an accelerometer 168 coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 within the I / O subsystem 106. In some embodiments, information is displayed vertically or horizontally on the touch screen display based on an analysis of data received from one or more accelerometers. In addition to the accelerometer 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information regarding the location and orientation (e.g., vertical or horizontal) of device 100.
[0057] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a tactile feedback module (or instruction set) 133, a text input module (or instruction set) 134, a Global Positioning System (GPS) module (or instruction set) 135, and an application (or instruction set) 136. Further, in some embodiments, as shown in FIGS. 1A and 3, memory 102 stores a device / global internal state 157. The device / global internal state 157 includes one or more of an active application state indicating which application is active if there are one or more currently active applications, a display state indicating which application, view, or other information occupies various regions of the touch-sensitive display system 112, a sensor state including information obtained from various sensors of the device and other input or control devices 116, and location and / or position information regarding the location and / or orientation of the device.
[0058] The operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or VxWorks) includes various software components and / or drivers for controlling and managing overall system tasks (e.g., memory management, storage device control, power management, etc.), and facilitates communication between various hardware components and software components.
[0059] The communication module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted to couple directly or indirectly via a network (e.g., the Internet, a wireless LAN, etc.) to other devices. In some embodiments, the external port is the same as or similar to and / or a compatible multi-pin (e.g., 30-pin) connector used in some iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) devices from Apple Inc. of Cupertino, California. In some embodiments, the external port is the same as or similar to and / or a compatible Lightning connector used in some iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) devices from Apple Inc. of Cupertino, California.
[0060] The contact / motion module 130 optionally detects contact with the touch sensing display system 112 (in cooperation with the display controller 156) and contact with other touch sensing devices (e.g., a touch pad or a physical click wheel). The contact / motion module 130 includes software components for performing various operations related to the detection of contact (e.g., by a finger or a stylus), such as determining whether contact has occurred (e.g., detecting a finger down event), determining the intensity of the contact (e.g., the force or pressure of the contact, or an alternative to the force or pressure of the contact), determining whether there is movement of the contact, tracking movement across the touch sensing surface (e.g., detecting a drag event of one or more fingers), and determining whether the contact has stopped (e.g., detecting a finger up event or an interruption of the contact). The contact / motion module 130 receives contact data from the touch sensing surface. Determining the movement of the contact point, represented by a series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations optionally apply to a single contact (e.g., contact by one finger or a stylus) or multiple simultaneous contacts (e.g., "multi-touch" / contact by multiple fingers). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touch pad.
[0061] The contact / motion module 130 optionally detects gesture inputs by the user. Different gestures on the touch sensing surface have different contact patterns (e.g., the detected contact movement, timing, and / or intensity are different). Thus, a gesture is optionally detected by detecting a specific contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event and subsequently detecting a finger up (lift off) event at the same position (or substantially the same position) as that finger down event (e.g., at the position of an icon). As another example, detecting a finger swipe gesture on the touch sensing surface includes detecting a finger down event, subsequently detecting one or more finger drag events, and then detecting a finger up (lift off) event. Similarly, taps, swipes, drags, and other gestures are optionally detected for a stylus by detecting a specific contact pattern for the stylus.
[0062] In some embodiments, detecting a finger tap gesture depends on the length of time between detecting a finger down event and a finger up event, but is not related to the intensity of finger contact during the finger down event and the finger up event. In some embodiments, a tap gesture is detected according to a determination that the length of time between a finger down event and a finger up event is shorter than a predetermined value (e.g., shorter than 0.1, 0.2, 0.3, 0.4, or 0.5 seconds), regardless of whether the intensity of finger contact during the tap meets a given intensity threshold such as a light press or a deep press intensity threshold (greater than a nominal contact detection intensity threshold). Thus, a finger tap gesture can meet a specific input criterion without the need for the characteristic intensity of the contact to meet a given intensity threshold for a specific input criterion to be met. For clarity, finger contact in a tap gesture generally needs to meet a nominal contact detection intensity threshold, below which no contact for detecting a finger down event is detected. A similar analysis applies to the detection of tap gestures by a stylus or other contact. In cases where the device can detect contact of a finger or stylus hovering over the touch sensing surface, the nominal contact detection intensity threshold is optional and does not correspond to physical contact between the finger or stylus and the touch sensing surface.
[0063] In a similar manner, the same concept is applied to other types of gestures. For example, a swipe gesture, a pinch gesture, a spread gesture, and / or a long press gesture are optionally detected based on meeting criteria that are independent of the intensity of the contact(s) involved in the gesture, or based on meeting criteria that do not require the intensity of the contact(s) making the gesture to reach an intensity threshold for the contact(s) 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 towards 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 contact on a touch sensing surface where the amount of movement is less than a threshold amount. Thus, the statement that a particular gesture recognition criterion does not require the intensity of the contact(s) to meet respective intensity thresholds for the particular gesture recognition criterion to be met means that the particular gesture recognition criterion can be met even if the contact(s) in the gesture do not reach their respective intensity thresholds, and can be met in situations where one or more of the contacts in the gesture reach or exceed their respective intensity thresholds. In some embodiments, a tap gesture is detected based on a determination that finger down and finger up events are detected within a predetermined period, regardless of whether the contact exceeds or falls below its respective intensity threshold during the predetermined period, and a swipe gesture is detected based on a determination that the movement of the contact is greater than a predetermined magnitude, even if the contact exceeds its respective intensity threshold at the end of the movement of the contact. Even in embodiments where gesture detection is affected by the intensity of the contact(s) making the gesture (e.g., the device detects a long press faster when the intensity of the contact exceeds the intensity threshold, or delays detection of a tap input when the intensity of the contact is higher), as long as the criteria for recognizing the gesture can be met in situations where the contact does not reach a particular intensity threshold (e.g., even if the amount of time required to recognize the gesture changes), the detection of those gestures does not require the contact to reach a particular intensity threshold.
[0064] In some situations, contact strength thresholds, duration thresholds, and movement thresholds are combined in various different combinations to create heuristics for distinguishing two or more different gestures directed at the same input element or region. Thereby, multiple different interactions with the same input element become possible, providing a richer set of user interactions and responses. A description that a particular set of gesture recognition criteria does not require the strength of the contact(s) to meet respective strength thresholds for that particular gesture recognition criteria to be met does not preclude evaluating other strength-dependent gesture recognition criteria simultaneously with it to identify other gestures having criteria that are met when the gesture includes contacts having strengths exceeding respective strength thresholds. For example, in some situations, a first gesture recognition criteria for a first gesture that does not require the strength of the contact(s) to meet respective strength thresholds for the first gesture recognition criteria to be met is in a competing relationship with a second gesture recognition criteria for a second gesture that depends on the contact(s) reaching respective strength thresholds. In such a competition, if the second gesture recognition criteria for the second gesture is first met, the gesture is optionally not recognized as meeting the first gesture recognition criteria for the first gesture. For example, if the contact reaches respective strength thresholds before the contact moves a predetermined amount of movement, a deep press gesture rather than a swipe gesture is detected. Conversely, if the contact moves a predetermined amount of movement before the contact reaches respective strength thresholds, a swipe gesture rather than a deep press gesture is detected. Even in such situations, the first gesture recognition criteria for the first gesture still does not require the strength of the contact(s) to meet respective strength thresholds for the first gesture recognition criteria to be met. This is because if the contact remained below respective strength thresholds until the end of the gesture (e.g., a swipe gesture having a contact that does not increase to a strength exceeding respective strength thresholds), the gesture should have been recognized as a swipe gesture by the first gesture recognition criteria.In this way, certain gesture recognition criteria that do not require the intensity of the contact(s) to meet respective intensity thresholds for a particular gesture recognition criterion are such that: (A) in some situations, the intensity of the contact is ignored with respect to an intensity threshold (e.g., for a tap gesture), and / or (B) in some situations, certain gesture recognition criteria still depend on the intensity of the contact with respect to an intensity threshold in the sense that if a competing set of intensity-dependent gesture recognition criteria (e.g., for a deep press gesture) recognizes the input as corresponding to an intensity-dependent gesture before a particular gesture recognition criterion (e.g., for a long press gesture) that recognizes a gesture corresponding to the input (e.g., a long press gesture that competes with a deep press gesture for recognition) functions, the particular gesture recognition criterion (e.g., for a long press gesture) does not function.
[0065] The graphic module 132 includes various known software components for rendering and displaying graphics on a touch-sensitive display system 112 or other display, including components for changing visual effects (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphic" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, and animations.
[0066] In some embodiments, the graphic module 132 stores data representing the graphics that will be used. Each graphic is optionally assigned a corresponding code. The graphic module 132 receives from an application, as needed, one or more codes specifying the graphic to be displayed, along with coordinate data and other graphic characteristic data, and then generates image data for the screen to output to the display controller 156.
[0067] The tactile feedback module 133 includes various software components that generate instructions (e.g., instructions used by the tactile feedback controller 161) to create tactile output at one or more locations on the device 100 using the tactile output generator(s) 167 in response to user interaction with the device 100.
[0068] The text input module 134 is optionally a component of the graphic module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application that requires text input).
[0069] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based calling, to the camera 143 as metadata for photos / videos, and to applications that provide location-based services such as weather widgets, local yellow page widgets, and map / navigation widgets).
[0070] The application 136 optionally includes the following modules (or sets of instructions) or subsets or supersets thereof. ● Contact module 137 (which may also be referred to as an address book or contact list), ● Phone module 138, ● Video conferencing module 139, ● Email client module 140, ● Instant messaging (IM) module 141, ● Training support module 142, ● Camera module 143 for still and / or video images, ● Image management module 144, ● Browser module 147, ● Calendar module 148, ● Optionally, a widget module 149 including one or more of the weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets acquired by the user, as well as the user-created widget 149-6, ● A widget creation module 150 for creating the user-created widget 149-6, ● A search module 151, ● Optionally, a video and music player module 152 composed of a video player module and a music player module, ● A memo module 153, ● A map module 154, and / or ● An online video module 155.
[0071] Examples of other applications 136 optionally stored in the memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-compatible applications, encryption, digital rights management, voice recognition, and voice replication.
[0072] Together with touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, contact module 137 includes executable instructions for managing an address book or contact list (e.g., stored in the application internal state 192 of contact module 137 in memory 102 or memory 370), including adding a name(s) to the address book, deleting a name(s) from the address book, associating a phone number(s), email address(es), physical address(es), or other information with a name, associating an image with a name, classifying and sorting names, providing a phone number and / or email address to initiate and / or facilitate communication by phone 138, video conference 139, email 140, or IM 141, and the like.
[0073] In conjunction with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, phone module 138 includes executable instructions for entering a sequence of characters corresponding to a phone number, accessing one or more phone numbers in address book 137, changing an entered phone number, dialing each phone number, conducting a conversation, disconnecting or hanging up when the conversation is complete. As described above, wireless communication optionally uses any of a plurality of communication standards, protocols, and technologies.
[0074] In cooperation with the RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch sensing display system 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact module 130, graphic module 132, text input module 134, contact list 137, and phone module 138, the videoconference module 139 includes executable instructions to initiate, conduct, and end a videoconference between the user and one or more other participants according to the user's commands.
[0075] In cooperation with the RF circuit 108, touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, the email client module 140 includes executable instructions to create, send, receive, and manage emails in response to the user's instructions. In cooperation with the image management module 144, the email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by the camera module 143.
[0076] In cooperation with the RF circuit 108, the touch sensing display system 112, the display controller 156, the touch module 130, the graphic module 132, and the text input module 134, the instant message module 141 inputs a series of characters corresponding to an instant message, corrects the previously input characters, and transmits each instant message (for example, using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for phone-based instant messages, or using XMPP, SIMPLE, Apple Push Notification Service (APNs), or IMPS for Internet-based instant messages), receives instant messages, and includes executable instructions for viewing the received instant messages. In some embodiments, the instant messages transmitted and / or received optionally include graphics, photos, audio files, video files, and / or other attached files, such as those supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant message" refers to both phone-based messages (e.g., messages transmitted using SMS or MMS) and Internet-based messages (e.g., messages transmitted using XMPP, SIMPLE, APNs, or IMPS).
[0077] In cooperation with the RF circuit 108, touch sensing display system 112, display controller 156, contact module 130, graphic module 132, text input module 134, GPS module 135, map module 154, and video and music player module 152, the training support module 142 creates training (e.g., having time, distance, and / or calorie consumption goals), communicates with training sensors (in the sports device and smartwatch), receives training sensor data, calibrates sensors used to monitor the training, selects and plays music for the training, and displays, stores, and transmits training data, including executable instructions.
[0078] In conjunction with the touch sensing display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphic module 132, and image management module 144, the camera module 143 includes executable instructions to capture still images or videos (including video streams), store them in the memory 102, modify the characteristics of the still images or videos, and / or delete still images or videos from the memory 102.
[0079] In conjunction with the touch sensing display system 112, display controller 156, contact module 130, graphic 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 still images and / or video images, label them, delete them, present them (e.g., in a digital slide show or album), and store them.
[0080] Together with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, and the text input module 134, the browser module 147 includes executable instructions that browse the Internet according to user instructions, including searching, linking, receiving, and displaying web pages or portions thereof, as well as attached files and other files linked to the web pages.
[0081] Together with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the email client module 140, and the browser module 147, the calendar module 148 includes executable instructions that create, display, modify, and store a calendar and data associated with the calendar (e.g., calendar items, to do lists, etc.) according to user instructions.
[0082] Together with RF circuit 108, touch sensing display system 112, display system controller 156, touch module 130, graphic module 132, text input module 134, and browser module 147, widget module 149 optionally includes mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by the user, or mini-applications created by the user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).
[0083] In conjunction with RF circuit 108, touch sensing display system 112, display system controller 156, touch module 130, graphic module 132, text input module 134, and browser module 147, widget creation module 150 includes executable instructions for creating a widget (e.g., changing a user-specified portion of a web page into a widget).
[0084] In conjunction with touch sensing display system 112, display system controller 156, touch module 130, graphic module 132, and text input module 134, search module 151 includes executable instructions for searching for text, music, sound, images, video, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) according to a user's command.
[0085] In cooperation with the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the audio circuit 110, the speaker 111, the RF circuit 108, and the browser module 147, the video and music player module 152 includes executable instructions that enable a user to download and play recorded music or 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 videos (e.g., on the touch sensing display system 112 or on an external display connected wirelessly or via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player such as an iPod (trademark of Apple Inc.).
[0086] In cooperation with the touch sensing display system 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the memo module 153 includes executable instructions to create and manage memos, to do lists, etc. according to user instructions.
[0087] In cooperation with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 can be used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data about stores and other points of interest at or near a particular location, and other location-based data) according to user instructions.
[0088] In cooperation with the touch sensing display system 112, the display system controller 156, the touch module 130, the graphic module 132, the audio circuit 110, the speaker 111, the RF circuit 108, the text input module 134, the email client module 140, and the browser module 147, the online video module 155 includes executable instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), play (e.g., on the touch screen 112 or on an external display connected wirelessly or via the external port 124), send an email having a link to a particular online video, and manage in other ways one or more file format online videos such as H.264. In some embodiments, instead of the email client module 140, the instant messaging module 141 is used to send a link to a particular online video.
[0089] Each of the above-specified modules and applications corresponds to a set of executable instructions that perform one or more of the functions described above, as well as the methods described in this application (e.g., methods performed by a computer and other information processing methods described herein). Those modules (i.e., the sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, various subsets of those modules may optionally be combined or otherwise rearranged in various embodiments. In some embodiments, the memory 102 optionally stores a subset of the modules and data structures specified above. Further, the memory 102 optionally stores additional modules and data structures not described above.
[0090] In some embodiments, device 100 is a device in which the operation of a set of default functions in the device is performed only via a touch screen and / or a touch pad. By using the touch screen and / or the touch pad as the main input control device for the operation of device 100, optionally, the number of physical input control devices (push buttons, dials, etc.) on device 100 is reduced.
[0091] The set of default functions that are performed only through the touch screen and / or the touch pad optionally includes navigation between user interfaces. In some embodiments, the touch pad, when touched by the user, navigates device 100 from any user interface displayed on device 100 to the main menu, home menu, or root menu. In such embodiments, the "menu button" is implemented using the touch pad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than the touch pad.
[0092] FIG. 1B is a block diagram showing exemplary components for event processing according to some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (in FIG. 3) includes an event sorting unit 170 (e.g., within operating system 126) and respective applications 136-1 (e.g., any one of the applications 136, 137 to 155, 380 to 390 described above).
[0093] The event sorter 170 receives event information and determines the application 136-1 to which the event information is to be delivered and the application view 191 of the application 136-1. The event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, the application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display system 112 when the application is active or running. In some embodiments, the device / global internal state 157 is used by the event sorter 170 to determine which application(s) is / are currently active, and the application internal state 192 is used by the event sorter 170 to determine the application view 191 to which the event information is to be delivered.
[0094] In some embodiments, the application internal state 192 includes additional information such as resume information to be used when the application 136-1 resumes execution, user interface state information indicating or ready to display the information being displayed by the application 136-1, a state queue that enables the user to return to the previous state or view of the application 136-1, and one or more of a redo / undo queue of the previous actions performed by the user.
[0095] The event monitor 171 receives event information from the peripheral device interface 118. The event information includes information about sub-events (e.g., a user's touch on the touch-sensitive display system 112 as part of a multi-touch gesture). The peripheral device interface 118 transmits information received from the I / O subsystem 106, or sensors such as the proximity sensor 166, the accelerometer(s) 168, and / or the microphone 113 (via the audio circuit 110). The information that the peripheral device interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display system 112 or the touch-sensitive surface.
[0096] In some embodiments, the event monitor 171 transmits requests to the peripheral device interface 118 at predetermined intervals. In response, the peripheral device interface 118 transmits event information. In other embodiments, the peripheral device interface 118 transmits event information only when a significant event (e.g., receiving an input that exceeds a predetermined noise threshold and / or is longer than a predetermined period) exists.
[0097] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognition unit determination module 173.
[0098] The hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred when the touch-sensitive display system 112 displays two or more views. A view is composed of control devices and other elements that a user can view on the display.
[0099] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as an application view or a user interface window, within which information is displayed and touch-based gestures occur. The application view (for each respective application) in which a touch is detected optionally corresponds to a program level within the program hierarchy 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 recognized as appropriate input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.
[0100] The hit view determination module 172 receives information related to sub-events of a touch-based gesture. When the application has a plurality of hierarchically structured views, the hit view determination module 172 identifies the hit view as the lowest level view within the hierarchy in which the sub-event is to be processed. In most situations, the hit view is the lowest level view in which the starting sub-event (i.e., the first sub-event in a series 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.
[0101] The active event recognition unit determination module 173 determines which view(s) within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognition unit determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognition unit determination module 173 determines that all views including the physical location of the sub-event are views actively involved, and thus determines that all views actively involved should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely limited to an area associated with one particular view, the upper-level views within the hierarchy remain views that are actively involved.
[0102] The event dispatcher module 174 dispatches event information to an event recognition unit (e.g., event recognition unit 180). In embodiments including the active event recognition unit determination module 173, the event dispatcher module 174 distributes event information to the event recognition unit determined by the active event recognition unit determination module 173. In some embodiments, the event dispatcher module 174 stores the event information obtained by each event receiving unit module 182 in an event queue.
[0103] In some embodiments, the operating system 126 includes an event sorter 170. Alternatively, the application 136-1 includes an event sorter 170. In still other embodiments, the event sorter 170 is a stand-alone module or a part of another module stored in the memory 102 such as the touch / motion module 130.
[0104] In some embodiments, application 136-1 includes a plurality of event processing units 190 and one or more application views 191, each including instructions for processing touch events that occur within respective views of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognition units 180. Typically, each application view 191 includes a plurality of event recognition units 180. In other embodiments, one or more of the event recognition units 180 are part of a separate module, such as a user interface kit, or a higher-level object from which application 136-1 inherits methods and other characteristics. In some embodiments, each event processing unit 190 includes one or more of event data 179 received from data update unit 176, object update unit 177, GUI update unit 178, and / or event sorter 170. Optionally, event processing unit 190 utilizes, or calls, data update unit 176, object update unit 177, or GUI update unit 178 to update the internal state 192 of the application. Alternatively, one or more of the application views 191 include one or more respective event processing units 190. Also, in some embodiments, one or more of data update unit 176, object update unit 177, and GUI update unit 178 are included in respective application views 191.
[0105] Each event recognition unit 180 receives event information (e.g., event data 179) from event sorter unit 170 and identifies an event from the event information. Event recognition unit 180 includes an event receiving unit 182 and an event comparing unit 184. In some embodiments, event recognition unit 180 also includes at least a subset of metadata 183 and event distribution instructions 188 (optionally including sub-event distribution instructions).
[0106] The event receiving unit 182 receives event information from the event sorter 170. The event information includes sub-events, for example, information about a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information such as the position of the sub-event. When the sub-event relates to the movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the posture of the device).
[0107] The event comparison unit 184 compares event information with the definitions of predefined events or sub-events, and based on the comparison, determines an event or sub-event, or determines or updates the state of an event or sub-event. In some embodiments, the event comparison unit 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., sequences of predefined sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, the sub-events in event 187 include, for example, the start of a touch, the end of a touch, the movement of a touch, the cancellation of a touch, and multiple touches. In one example, the definition of event 1 (187-1) is a double-tap on a displayed object. A double-tap includes, for example, a first touch (start of touch) at a predetermined stage on the displayed object, a first lift-off (end of touch) at a predetermined stage, a second touch (start of touch) at a predetermined stage on the displayed object, and a second lift-off (end of touch) at a predetermined stage. In another example, the definition of event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) at a predetermined stage on the displayed object, movement of the touch across the touch-sensing display system 112, and lift-off of the touch (end of touch). In some embodiments, an event also includes information regarding one or more associated event processing units 190.
[0108] In some embodiments, the event definition 187 includes the definition of events for each user interface object. In some embodiments, the event comparison unit 184 performs a hit test to determine which user interface object is associated with the sub - event. For example, in an application view where three user interface objects are displayed on the touch - sensitive display system 112, when a touch is detected on the touch - sensitive display system 112, the event comparison unit 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub - event). If each of the displayed objects is associated with a respective event processing unit 190, the event comparison unit uses the result of the hit test to determine which event processing unit 190 should be activated. For example, the event comparison unit 184 selects the event processing unit associated with the sub - event and object that triggered the hit test.
[0109] In some embodiments, the definition of each event 187 also includes a delay action that delays the delivery of event information until it is determined whether a series of sub - events corresponds to the event type of the event recognition unit.
[0110] If each event recognition unit 180 determines that a series of sub - events does not match any of the events of the event definition 186, each event recognition unit 180 enters a state of event impossible, event failure, or event end, and then ignores the next sub - event of the touch - based gesture. In this situation, if there are other event recognition units that remain active for the hit view, that event recognition unit continues to track and process the sub - events of the ongoing touch - based gesture.
[0111] In some embodiments, each event recognition unit 180 includes metadata 183 having configurable properties, flags, and / or lists indicating how the event distribution system should actively participate in the event recognition unit for executing sub-event distribution. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists indicating how the event recognition units interact with each other or how they can interact with each other. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists indicating whether sub-events are distributed at various levels in the view hierarchy or program hierarchy.
[0112] In some embodiments, each event recognition unit 180 activates the event processing unit 190 associated with the event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognition unit 180 distributes event information associated with the event to the event processing unit 190. Activating the event processing unit 190 is separate from sending (and deferring sending) sub-events to each hit view. In some embodiments, the event recognition unit 180 sets a flag associated with the recognized event, and the event processing unit 190 associated with the flag catches the flag and executes a predetermined process.
[0113] In some embodiments, the event distribution command 188 includes a sub-event distribution command that distributes event information about sub-events without activating the event processing unit. Instead, the sub-event distribution command distributes the event information to the event processing unit associated with a series of sub-events or to the view actively participating, and the event processing unit associated with the series of sub-events or the actively participating view receives the event information and executes a predetermined process.
[0114] In some embodiments, the data update unit 176 creates and updates data used in application 136-1. For example, the data update unit 176 updates a phone number used in the contact module 137 or stores a video file used in the video and music player module 152. In some embodiments, the object update unit 177 creates and updates objects used in application 136-1. For example, the object update unit 177 creates a new user interface object or updates the position of a user interface object. The GUI update unit 178 updates the GUI. For example, the GUI update unit 178 prepares display information and sends the display information to the graphic module 132 for display on the touch-sensitive display.
[0115] In some embodiments, the event processing unit(s) 190 includes or has access to the data update unit 176, the object update unit 177, and the GUI update unit 178. In some embodiments, the data update unit 176, the object update unit 177, and the GUI update unit 178 are included in a single module of their respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0116] The foregoing description regarding event processing of a user's touch on the touch-sensitive display also applies to other forms of user input for operating the multifunctional device 100 using an input device, but it should be understood that not all of them are initiated on the touch screen. For example, the movement of a mouse and the pressing of a mouse button, the movement of a contact such as a tap, drag, or scroll on a touch pad, a pen stylus input, the movement of the device, a verbal command, a detected eye movement, a biometric input, and / or any combination thereof, optionally in association with a single or multiple presses or holds of a keyboard, are used as input corresponding to sub-events that define events to be optionally recognized.
[0117] FIG. 1C is a block diagram showing a haptic output module according to some embodiments. In some embodiments, the I / O subsystem 106 (e.g., the haptic feedback controller 161 (FIG. 1A) and / or other input controller(s) 160 (FIG. 1A)) includes at least some of the example components shown in FIG. 1C. In some embodiments, the peripheral device interface 118 includes at least some of the example components shown in FIG. 1C.
[0118] In some embodiments, the haptic output module includes a haptic feedback module 133. In some embodiments, the haptic feedback module 133 aggregates and combines haptic outputs for user interface feedback (e.g., user input corresponding to a display user interface, and feedback in response to alerts and other notifications indicating the execution of an operation or the occurrence of an event in the user interface of the electronic device) from software applications on the electronic device. The haptic feedback module 133 includes one or more of a waveform module 123 (providing waveforms used to generate haptic outputs), a mixer 125 (mixing waveforms such as waveforms of different channels), a compressor 127 (reducing or compressing the dynamic range of the waveform), a low-pass filter 129 (filtering high-frequency signal components within the waveform), and a thermal controller 131 (adjusting the waveform according to the thermal state). In some embodiments, the haptic feedback controller 161 (FIG. 1A) includes the haptic feedback module 133. In some embodiments, separate units of the haptic feedback module 133 (or separate implementations of the haptic feedback module 133) are also included in an audio controller (e.g., the audio circuit 110 of FIG. 1A) and are used to generate audio signals. In some embodiments, a single haptic feedback module 133 is used to generate waveforms for audio signals and haptic outputs.
[0119] In some embodiments, the tactile feedback module 133 also includes a trigger module 121 (e.g., a software application, an operating system, or another software module that determines the haptic output to be generated and initiates a process to generate the corresponding haptic output). In some embodiments, the trigger module 121 generates a trigger signal that initiates the generation of a waveform (e.g., by the waveform module 123). For example, the trigger module 121 generates a trigger signal based on a pre-set timing reference. In some embodiments, the trigger module 121 receives a trigger signal from outside the tactile feedback module 133 based on the activation of a user interface element (e.g., an application icon or affordance within an application) or a hardware input device (e.g., an intensity-sensing input surface such as a home button or an intensity-sensing touch screen) (e.g., in some embodiments, the tactile feedback module 133 receives a trigger signal from a hardware input processing module 146 located outside the tactile feedback module 133), and relays those trigger signals to other components (e.g., the waveform module 123) within the tactile feedback module 133 or to a software application that triggers (e.g., by the trigger module 121) an operation. In some embodiments, the trigger module 121 also receives haptic feedback generation instructions (e.g., from the tactile feedback module 133, FIGS. 1A and 3). In some embodiments, the trigger module 121 generates a trigger signal in response to the tactile feedback module 133 (or the trigger module 121 within the tactile feedback module 133) receiving a haptic feedback instruction (e.g., from the tactile feedback module 133 of FIGS. 1A and 3).
[0120] The waveform module 123 receives a trigger signal as an input (e.g., from the trigger module 121), and in response to receiving the trigger signal, provides a waveform (e.g., a waveform selected from a predefined set of waveforms designed for use by the waveform module 123, such as the waveforms described in more detail below with reference to FIGS. 4F - 4G) for generating one or more haptic outputs.
[0121] The mixer 125 receives waveforms (e.g., from the waveform module 123) as inputs and mixes these waveforms together. For example, when the mixer 125 receives two or more waveforms (e.g., a first waveform on a first channel and a second waveform on a second channel that at least partially overlaps with the first waveform), the mixer 125 outputs a combined waveform corresponding to the sum of the two or more waveforms. In some embodiments, the mixer 125 also modifies one or more of the two or more waveforms and emphasizes a particular waveform relative to the rest of the two or more waveforms (e.g., by increasing the scale of the particular waveform and / or decreasing the scale of the rest of the waveforms). In some situations, the mixer 125 selects one or more waveforms to remove from the combined waveform (e.g., when there are waveforms from four or more sources that are required to be output simultaneously by the haptic output generator 167, the waveform from the oldest source is dropped).
[0122] Compressor 127 receives a waveform (e.g., the composite waveform from mixer 125) as input and modifies the waveform. In some embodiments, compressor 127 reduces the waveform (e.g., according to the physical specifications of haptic output generator 167 (FIG. 1A) or 357 (FIG. 3)) such that the haptic output corresponding to the waveform decreases. In some embodiments, compressor 127 limits the waveform, such as by forcing a predetermined maximum amplitude for the waveform. For example, compressor 127 maintains the amplitude of portions of the waveform that do not exceed a predetermined amplitude threshold while reducing the amplitude of portions of the waveform that exceed the predetermined amplitude threshold. In some embodiments, compressor 127 reduces the dynamic range of the waveform. In some embodiments, compressor 127 dynamically reduces the dynamic range of the waveform such that the combined waveform remains within the performance specifications (e.g., force and / or displacement limits of the movable mass) of haptic output generator 167.
[0123] Low-pass filter 129 receives waveforms (e.g., the compressed waveforms from compressor 127) as input and filters (e.g., smooths) these waveforms (e.g., removes or reduces high-frequency signal components within the waveforms). For example, in some cases, when the haptic output is generated according to the compressed waveforms, compressor 127 includes in the compressed waveforms exogenous signals (e.g., high-frequency signal components) that interfere with the generation of the haptic output and / or exceed the performance specifications of haptic output generator 167. Low-pass filter 129 reduces or removes such exogenous signals within the waveforms.
[0124] The thermal controller 131 receives waveforms (e.g., the filtered waveforms from the low-pass filter 129) as input and adjusts these waveforms according to the thermal state of the device 100 (e.g., based on the internal temperature detected within the device 100 such as the temperature of the tactile feedback controller 161, and / or the external temperature detected by the device 100). For example, in some cases, the output of the tactile feedback controller 161 varies according to the temperature (e.g., the tactile feedback controller 161 generates a first tactile output when the tactile feedback controller 161 is at a first temperature and a second tactile output when the tactile feedback controller 161 is at a second temperature different from the first temperature in response to receiving the same waveform). For example, the magnitude (or amplitude) of the tactile output may vary with temperature. To reduce the influence of temperature fluctuations, the waveforms are modified (e.g., the amplitude of the waveforms is increased or decreased based on the temperature).
[0125] In some embodiments, a haptic feedback module 133 (e.g., a trigger module 121) is coupled to a hardware input processing module 146. In some embodiments, other input controller(s) 160 of FIG. 1A include the hardware input processing module 146. In some embodiments, the hardware input processing module 146 receives input from a hardware input device 145 (e.g., a home button, or an intensity-sensing input surface such as an intensity-sensing touch screen, or other input or control device 116 of FIG. 1A). In some embodiments, the hardware input device 145 is one of a touch-sensing display system 112 (FIG. 1A), a keyboard / mouse 350 (FIG. 3), a touch pad 355 (FIG. 3), other input or control device 116 (FIG. 1A), or an input device such as an intensity-sensing home button. In some embodiments, the hardware input device 145 consists of an intensity-sensing home button and is not the touch-sensing display system 112 (FIG. 1A), the keyboard / mouse 350 (FIG. 3), or the touch pad 355 (FIG. 3). In some embodiments, in response to an input from the hardware input device 145 (e.g., an intensity-sensing home button or touch screen), the hardware input processing module 146 provides one or more trigger signals to the haptic feedback module 133 to indicate that a user input satisfying a predefined input criterion, such as an input corresponding to a "click" (e.g., a "down click" or an "up click") of the home button, has been detected. In some embodiments, the haptic feedback module 133 provides a waveform corresponding to a "click" of the home button in response to an input corresponding to a "click" of the home button, simulating the haptic feedback of pressing a physical home button.
[0126] In some embodiments, the haptic output module includes a haptic feedback controller 161 (haptic feedback controller 161 of FIG. 1A) that controls the generation of haptic output. In some embodiments, the haptic feedback controller 161 is coupled to a plurality of haptic output generators, selects one or more of the plurality of haptic output generators, and transmits a waveform to the selected one or more haptic output generators that generate haptic output. In some embodiments, the haptic feedback controller 161 adjusts haptic output requests corresponding to activation of the hardware input device 145 and haptic output requests corresponding to software events (e.g., haptic output requests from the haptic feedback module 133), modifies one or more of two or more waveforms, and emphasizes a particular waveform relative to the remainder of the two or more waveforms (e.g., by increasing the scale of the particular waveform and / or decreasing the scale of the remainder of the waveforms, such as to prioritize the haptic output corresponding to activation of the hardware input device 145 over the haptic output corresponding to a software event).
[0127] In some embodiments, as shown in FIG. 1C, the output of the haptic feedback controller 161 is coupled to the audio circuit of the device 100 (e.g., audio circuit 110, FIG. 1A) and provides an audio signal to the audio circuit of the device 100. In some embodiments, the haptic feedback controller 161 provides both a waveform used to generate haptic output and an audio signal used to provide an audio output in conjunction with the generation of the haptic output. In some embodiments, the haptic feedback controller 161 modifies the audio signal and / or the waveform (used to generate haptic output) such that the audio output and the haptic output are synchronized (e.g., by delaying the audio signal and / or the waveform). In some embodiments, the haptic feedback controller 161 includes a digital-to-analog converter used to convert a digital waveform to an analog signal, and the analog signal is received by an amplifier 163 and / or a haptic output generator 167.
[0128] In some embodiments, the haptic output module includes an amplifier 163. In some embodiments, the amplifier 163 receives a waveform (e.g., from the haptic feedback controller 161) and amplifies the waveform before transmitting the amplified waveform to the haptic output generator 167 (e.g., either the haptic output generator 167 (FIG. 1A) or 357 (FIG. 3)). For example, the amplifier 163 amplifies the received waveform to a signal level according to the physical specifications of the haptic output generator 167 (e.g., the voltage and / or current required by the haptic output generator 167 to generate a haptic output such that the signal transmitted to the haptic output generator 167 corresponds to a haptic output generated from the waveform received from the haptic feedback controller 161), and transmits the amplified waveform to the haptic output generator 167. Accordingly, the haptic output generator 167 generates a haptic output (e.g., by reciprocally shifting the movable mass in one or more dimensions relative to the neutral position of the movable mass).
[0129] In some embodiments, the haptic output module includes a sensor 169 coupled to the haptic output generator 167. The sensor 169 detects the state or change in state (e.g., mechanical position, physical displacement, and / or movement) of the haptic output generator 167 or one or more components of the haptic output generator 167 (e.g., one or more moving parts such as a membrane used to generate a haptic output). In some embodiments, the sensor 169 is a magnetic field sensor (e.g., a Hall effect sensor) or other displacement and / or movement sensor. In some embodiments, the sensor 169 provides information (e.g., the position, displacement, and / or movement of one or more parts within the haptic output generator 167) to the haptic feedback controller 161, and in accordance with the information provided by the sensor 169 regarding the state of the haptic output generator 167, the haptic feedback controller 161 adjusts the waveform output from the haptic feedback controller 161 (e.g., the waveform optionally transmitted to the haptic output generator 167 via the amplifier 163).
[0130] FIG. 2 shows a portable multifunctional device 100 having a touch screen (e.g., touch sensing display system 112, FIG. 1A) according to some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In these embodiments, as well as the embodiments described hereinafter, the user can select one or more of the graphics by performing gestures on the graphics using, for example, one or more fingers 202 (not drawn to an exact scale in the figure) or one or more styli 203 (not drawn to an exact scale in the figure). In some embodiments, the selection of one or more graphics is implemented when the user interrupts contact with the one or more graphics. In some embodiments, the gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, upward and / or downward), and / or rolling of a finger in contact with the device 100 (from right to left, from left to right, upward and / or downward). In some implementations or situations, an accidental contact with a graphic does not select the graphic. For example, if the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon does not optionally select the corresponding application.
[0131] Device 100 optionally also includes one or more physical buttons such as a "home" or menu button 204. As described above, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on the touch screen display.
[0132] In some embodiments, device 100 includes a touch screen display, a menu button 204 (which may be referred to as a home button 204), a push button 206 for turning the device on / off and locking the device, volume adjustment button(s) 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and holding it down for a predetermined period, to lock the device by pressing the button and releasing it before a predetermined time has elapsed, and / or to unlock the device or initiate an unlock process. In some embodiments, device 100 also accepts verbal input through microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on touch sensing display system 112, and / or one or more haptic output generators 167 for generating haptic output to the user of device 100.
[0133] FIG. 3 is a block diagram of an exemplary multi-functional device having a display and a touch sensing surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or business controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more networks or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes called a chipset) for interconnecting and controlling communication between system components. Device 300 includes an input / output (I / O) interface 330 that includes a display 340, which is typically a touch screen display. I / O interface 330 optionally also includes a keyboard and / or a mouse (or other pointing device) 350, a touch pad 355, a tactile output generator 357 for generating tactile outputs on device 300 (similar to the tactile output generator(s) 167 described above with reference to FIG. 1A), and sensors 359 (e.g., light sensors, acceleration sensors, proximity sensors, touch sensing sensors, and / or contact intensity sensors similar to the contact intensity sensor(s) 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 370 optionally includes one or more storage devices located remotely from the CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or subsets of, the programs, modules, and data structures stored in memory 102 of portable multifunctional device 100 (FIG. 1A). Further, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunctional device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk authoring module 388, and / or a spreadsheet module 390, while memory 102 of portable multifunctional device 100 (FIG. 1A) optionally does not store those modules.
[0134] Each of the elements in FIG. 3 specified above is optionally stored in one or more of the previously mentioned memory devices. Each of the modules specified above corresponds to a set of instructions for performing the functions described above. The modules or programs (i.e., sets of instructions) specified above need not be implemented as separate software programs, procedures, or modules, and thus various subsets of those modules may optionally be combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the modules and data structures specified above. Further, memory 370 optionally stores additional modules and data structures not described above.
[0135] Attention is now directed to embodiments of a user interface (``UI'') optionally implemented on portable multifunctional device 100.
[0136] FIG. 4A shows an exemplary user interface 400 for a menu of applications on a portable multifunctional device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, the user interface 400 includes the following elements, or a subset or superset thereof. ● A signal strength indicator for wireless communication such as cellular and Wi-Fi signals, ● Time, ● A Bluetooth indicator, ● A battery status indicator, ● A tray 408 including icons for frequently used applications such as the following, ○ An icon 416 of the phone module 138 labeled "Phone", optionally including an indicator 414 of the number of missed calls or voicemail messages, ○ An icon 418 of the email client module 140 labeled "Mail", optionally including an indicator 410 of the number of unread emails, ○ An icon 420 of the browser module 147 labeled "Browser", and ○ An icon 422 of the video and music player module 152 labeled "Music", and ● Icons for other applications such as the following, ○ An icon 424 of the IM module 141 labeled "Message", ○ An icon 426 of the calendar module 148 labeled "Calendar", ○ An icon 428 of the image management module 144 labeled "Photos", ○ An icon 430 of the camera module 143 labeled "Camera", ○ An icon 432 of the online video module 155 labeled "Online Video", ○ An icon 434 of the stock price widget 149-2 labeled "Stock Price", ○ The icon 436 of the map module 154 labeled with "Map", ○ The icon 438 of the weather widget 149-1 labeled with "Weather", ○ The icon 440 of the alarm clock widget 149-4 labeled with "Clock", ○ The icon 442 of the training support module 142 labeled with "Training Support", ○ The icon 444 of the memo module 153 labeled with "Memo", and ○ The icon 446 for the settings application or module that provides access to the settings related to the device 100 and its various applications 136.
[0137] Note that the labels of the icons shown in FIG. 4A are merely examples. For example, other labels may optionally be used for the various application icons. In some embodiments, the label for each application icon includes the name of the application corresponding to that application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.
[0138] FIG. 4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch sensing surface 451 (e.g., tablet or touch pad 355, FIG. 3) separated from the display 450. Many of the following examples are given with reference to inputs on the touch screen display 112 (when the touch sensing surface and the display are combined), but in some embodiments, the device detects inputs on a touch sensing surface separated from the display, as shown in FIG. 4B. In some embodiments, the touch sensing surface (e.g., 451 in FIG. 4B) has a major axis (e.g., 452 in FIG. 4B) corresponding to the major axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to those embodiments, the device detects contact (e.g., 460 and 462 in FIG. 4B) with the touch sensing surface 451 at positions (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470) corresponding to respective positions on the display. Thus, when the touch sensing surface is separated from the display, user inputs (e.g., contacts 460 and 462, and their movement) detected by the device on the touch sensing surface (e.g., 451 in FIG. 4B) are used by the device to operate the user interface on the display (e.g., 450 in FIG. 4B) of the multifunctional device. It should be understood that a similar method is optionally used for other user interfaces described herein.
[0139] In addition, while the following examples are mainly given with reference to finger inputs (e.g., finger contact, finger tap gesture, finger swipe gesture, etc.), it should be understood that in some embodiments, one or more of those finger inputs are replaced with inputs from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by the movement of a cursor along a swipe path followed by a mouse click (instead of contact, for example) and followed by a movement of the cursor along a swipe path (instead of movement of contact, for example). As another example, a tap gesture is optionally replaced by a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of detecting contact and subsequently stopping detection of the contact). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.
[0140] As used herein, the term "focus selector" refers to an input element that indicates the current part of the user interface with which the user is interacting. In some implementations that include a cursor or other location marker, the cursor functions as a "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations that include a touch screen display (e.g., touch-sensitive display system 112 in FIG. 1A or touch screen in FIG. 4A) that enables direct interaction with user interface elements on the touch screen display, a contact detected on the touch screen functions as a "focus selector" such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus is moved from one region of the user interface to another region of the user interface without moving the corresponding cursor on the touch screen display or moving the contact (e.g., by using the tab key or arrow keys to move the focus from one button to another), and in these implementations, the focus selector moves in accordance with the movement of the focus between various regions of the user interface. Regardless of the particular form the focus selector takes, the focus selector is generally a user interface element (or a contact on the touch screen display) that is controlled by the user (e.g., by indicating to the device the element of the user interface with which the user intends to interact) to communicate the user's intended interaction to the user interface.For example, the position of a focus selector (e.g., a cursor, a contact, or a selection box) over each button while a press input is detected on a touch sensing surface (e.g., a touch pad or a touch screen) indicates that the user intends to activate each button (as opposed to other user interface elements shown on the device's display).
[0141] As used in this specification and the claims, the term "intensity" of a contact on a touch-sensing surface refers to the force, or pressure (force per unit area), of a contact (e.g., a finger contact or a stylus contact) on the touch-sensing surface, or a proxy for the force or pressure of the contact on the touch-sensing surface. The intensity of the contact has a range of values that includes at least four distinct values and more typically includes hundreds (e.g., at least 256) of distinct values. The intensity of the contact is optionally determined (or measured) using a variety of techniques and a variety of sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensing surface are optionally used to measure the force at various points on the touch-sensing surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average or sum) to identify the estimated contact force. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensing surface. Alternatively, the size and / or change in size of the contact area detected on the touch-sensing surface, the capacitance and / or change in capacitance of the touch-sensing surface proximate to the contact, and / or the resistance and / or change in resistance of the touch-sensing surface proximate to the contact are optionally used as a proxy for the force or pressure of the contact on the touch-sensing surface. In some implementations, the alternative measurements for the force or pressure of the contact are used directly to determine whether they exceed an intensity threshold (e.g., the intensity threshold is described in units corresponding to the alternative measurements). In some implementations, the alternative measurements for the force or pressure of the contact are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether it exceeds an intensity threshold (e.g., the intensity threshold is a pressure threshold measured in units of pressure).Using the intensity of contact as an attribute of user input enables a user to access additional device functions that may not otherwise be easily accessible to the user on a device of limited or reduced size where assets for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons) are restricted.
[0142] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds for determining whether an action has been performed by the user (e.g., for determining whether the user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and may be adjusted without changing the physical hardware of device 100). For example, the mouse "click" threshold of a trackpad or touch screen display can be set to any of a wide range of default thresholds without changing the hardware of that trackpad or touch screen display. Further, in some implementations, a software setting is provided for a user of the device to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once with a system-level click "intensity" parameter).
[0143] As used in this specification and the claims, the term "characteristic strength" of a contact refers to a characteristic of that contact based on one or more strengths of the contact. In some embodiments, the characteristic strength is based on a plurality of strength samples. The characteristic strength is optionally based on a set of strength samples collected during a predetermined period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predetermined number of strength samples, i.e., a predetermined event (e.g., after detecting a contact, before detecting a lift-off of the contact, before or after detecting a start of movement of the contact, before detecting an end of the contact, before or after detecting an increase in the strength of the contact, and / or before or after detecting a decrease in the strength of the contact). The characteristic strength of a contact is optionally one or more of the maximum value of the strength of the contact, the mean value of the strength of the contact, the average value of the strength of the contact, the top 10% value of the strength of the contact, a value that is half of the maximum value of the strength of the contact, a value that is 90% of the maximum value of the strength of the contact, a value generated by low-pass filtering the strength of a contact over a predetermined period or at a predetermined time. In some embodiments, the duration of the contact is used when determining the characteristic strength (e.g., when the characteristic strength is the average of the strength of the contact over time). In some embodiments, the characteristic strength is compared to a set of one or more strength thresholds to determine whether an operation has been performed by a user. For example, the set of one or more strength thresholds may include a first strength threshold and a second strength threshold. In this example, a first operation is performed as a result of a contact having a characteristic strength that does not exceed the first threshold, a second operation is performed as a result of a contact having a characteristic strength that exceeds the first threshold and does not exceed the second threshold, and a third operation is performed as a result of a contact having a characteristic strength that exceeds the second threshold. In some embodiments, the comparison between the characteristic strength and the one or more strength thresholds is used not to determine whether to perform a first operation or a second operation, but to determine whether to perform one or more operations (e.g., to perform each option or refrain from performing each operation).
[0144] In some embodiments, for the purpose of determining characteristic intensity, a portion of the gesture is specified. For example, the touch sensing surface may receive a continuous swipe contact (e.g., a drag gesture) that transitions from a start position to reach an end position, and at that point the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position may be based on only a portion of the continuous swipe contact (e.g., only a portion of the swipe contact at the end position), rather than the entire swipe contact. In some embodiments, a smoothing algorithm may be applied to the intensity of the swipe contact before specifying the characteristic intensity of the contact. For example, the smoothing algorithm may optionally include one or more of a non-weighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some situations, these smoothing algorithms eliminate small increases or decreases in the intensity of the swipe contact for the purpose of determining the characteristic intensity.
[0145] The figures of the user interfaces described herein optionally include one or more intensity thresholds (e.g., a contact detection intensity threshold IT0, a light press intensity threshold IT L , a deep press intensity threshold IT D (e.g., at least initially higher than IT L ), and / or one or more other intensity thresholds (e.g., an intensity threshold IT lower than TI L of H ) includes charts of various intensities indicating the current intensity of contact on the touch sensing surface. This intensity chart is typically not part of the displayed user interface but is provided to assist in the interpretation of the figure. In some embodiments, the light press intensity threshold typically corresponds to the intensity at which the device performs an operation associated with clicking a button or trackpad of a physical mouse. In some embodiments, the deep press intensity threshold typically corresponds to the intensity at which the device performs an operation different from the operation associated with clicking a button or trackpad of a physical mouse. In some embodiments, when a contact having a characteristic intensity below the light press intensity threshold (e.g., above a nominal contact detection intensity threshold IT0 below which the contact is no longer detected) is detected, the device moves the focus selector in accordance with the movement of the contact on the touch sensing surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally, unless otherwise specified, these intensity thresholds are consistent among various sets of user interface figures.
[0146] In some embodiments, the device's response to an input detected by the device depends on a criterion based on the contact intensity during the input. For example, in the case of some "light press" inputs, a contact intensity exceeding a first intensity threshold during the input triggers a first response. In some embodiments, the device's response to an input detected by the device depends on a criterion that includes both the contact intensity and a time-based criterion during the input. For example, in the case of some "deep press" inputs, a contact intensity exceeding a second intensity threshold during the input that is greater than the first intensity threshold for light presses triggers a second response only if a delay time has elapsed between satisfying the first intensity threshold and satisfying the second intensity threshold. This delay time is typically less than 200 ms (milliseconds) (e.g., 40 ms, 100 ms, or 120 ms depending on the magnitude of the second intensity threshold, and the delay time increases as the second intensity threshold increases). This delay time helps to avoid accidental recognition of deep press inputs. As another example, in the case of some "deep press" inputs, there is a period of decreased sensitivity that occurs after the time when the first intensity threshold is satisfied. During the period of decreased sensitivity, the second intensity threshold increases. This temporary increase in the second intensity threshold also helps to avoid accidental deep press inputs. In the case of other deep press inputs, the response to the detection of a deep press input does not depend on a time-based criterion.
[0147] In some embodiments, one or more of the input intensity thresholds and / or the corresponding outputs vary based on one or more factors such as user settings, movement of the contact, input timing, the application being run, the rate at which the intensity is applied, the number of simultaneous inputs, the user history, environmental factors (e.g., ambient noise), the position of the focus selector, etc. Exemplary factors are described in U.S. Patent Application Publication Nos. 14 / 399,606 and 14 / 624,296, which are hereby incorporated by reference in their entirety.
[0148] For example, FIG. 4C shows a dynamic intensity threshold 480 that changes over time, based in part on the intensity of touch input 476 over time. The dynamic intensity threshold 480 is the sum of two components: a first component 474 that decays over time after a predetermined delay time p1 from when the touch input 476 was first detected, and a second component 478 that follows the trace of the intensity of the touch input 476 over time. The first high intensity threshold of the first component 474 reduces the accidental triggering of a "deep press" response while enabling an immediate "deep press" response when the touch input 476 provides sufficient intensity. The second component 478 reduces the unintended triggering of a "deep press" response due to the gradual intensity variations of the touch input. In some embodiments, when the touch input 476 meets the dynamic intensity threshold 480 (e.g., at point 481 in FIG. 4C), a "deep press" response is triggered.
[0149] FIG. 4D shows another dynamic intensity threshold 486 (e.g., intensity threshold I D ). FIG. 4D also shows two other intensity thresholds: a first intensity threshold I H and a second intensity threshold I L . In FIG. 4D, the touch input 484 meets the first intensity threshold I H and the second intensity threshold I L before time p2, but no response is provided until the delay time p2 has elapsed at time 482. Also in FIG. 4D, the dynamic intensity threshold 486 decays over time, and the decay starts at time 488 after a predetermined delay time p1 has elapsed from time 482 (when the response associated with the second intensity threshold I L is triggered). This type of dynamic intensity threshold reduces the accidental triggering of a response associated with the dynamic intensity threshold I H or the second intensity threshold I L immediately after or simultaneously with triggering a response associated with a lower intensity threshold such as the first intensity threshold I D .
[0150] FIG. 4E shows yet another dynamic intensity threshold 492 (e.g., intensity threshold I D ). In FIG. 4E, the intensity threshold I LThe response associated with is triggered after a delay time p2 has elapsed since the touch input 490 was first detected. At the same time, the dynamic intensity threshold 492 decays after a predetermined delay time p1 has elapsed since the touch input 490 was first detected. Therefore, without releasing the touch input 490, an increase in the intensity of the touch input 490 is followed by an intensity threshold I L A decrease in the intensity of the touch input 490 after triggering the response associated with can trigger the response associated with an intensity threshold I L , even when the intensity of the touch input 490 falls below another intensity threshold, e.g., at time 494. D An increase in the characteristic intensity of the contact from an intensity below the light press intensity threshold IT
[0151] to an intensity between the light press intensity threshold IT L and the deep press intensity threshold IT L may be called a "light press" input. An increase in the characteristic intensity of the contact from an intensity below the deep press intensity threshold IT D to an intensity above the deep press intensity threshold IT D may be called a "deep press" input. An increase in the characteristic intensity of the contact from an intensity below the contact detection intensity threshold IT0 to an intensity between the contact detection intensity threshold IT0 and the light press intensity threshold IT D may be called the detection of contact on the touch surface. A decrease in the characteristic intensity of the contact from an intensity above the contact detection intensity threshold IT0 to an intensity below the contact detection intensity threshold IT0 may be called the detection of lift-off of the contact from the touch surface. In some embodiments, IT0 is zero. In some embodiments, IT0 is greater than zero. In some examples, a shaded circle or ellipse is used to represent the intensity of the contact on the touch sensing surface. In some examples, an unshaded circle or ellipse is used to represent each contact on the touch sensing surface without specifying the intensity of each contact. L
[0152] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a respective pressing input, or in response to detecting a respective pressing input that is performed with a respective contact (or contacts), where each pressing input is detected based at least in part on detecting an increase in the intensity of a contact (or contacts) that exceeds a pressing input intensity threshold. In some embodiments, each operation is performed in response to detecting an increase in the intensity of each contact that exceeds a pressing input intensity threshold (e.g., each operation is performed on the "downstroke" of each pressing input). In some embodiments, a pressing input includes an increase in the intensity of each contact that exceeds a pressing input intensity threshold and a subsequent decrease in the intensity of the contact that falls below the pressing input intensity threshold, and each operation is performed in response to detecting the subsequent decrease in the intensity of each contact that falls below the pressing input threshold (e.g., each operation is performed on the "upstroke" of each pressing input).
[0153] In some embodiments, the device employs intensity hysteresis to avoid spurious inputs sometimes referred to as "jitter", and the device defines or selects a hysteresis intensity threshold having a predefined relationship to the press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of each contact that exceeds the press input intensity threshold, and a subsequent decrease in the intensity of the contact that falls below the hysteresis intensity threshold corresponding to the press input intensity threshold, and each operation is performed in response to detecting a subsequent decrease in the intensity of each contact that falls below the hysteresis intensity threshold (e.g., each operation is performed on the "upstroke" of each press input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in the intensity of a contact from an intensity below the hysteresis intensity threshold to an intensity above the press input intensity threshold, and optionally, a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and each operation is performed in response to detecting the press input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, depending on the situation).
[0154] For ease of explanation, the description of an operation performed in response to a pressing input associated with a pressing input intensity threshold or in response to a gesture including the pressing input is optionally triggered in response to detecting an increase in the intensity of contact above the pressing input intensity threshold, an increase in the intensity of contact from an intensity below a hysteresis intensity threshold to an intensity above the pressing input intensity threshold, a decrease in the intensity of contact below the pressing input intensity threshold, or a decrease in the intensity of contact below a hysteresis intensity threshold corresponding to the pressing input intensity threshold. Further, in an example where an operation is described as being performed in response to detecting a decrease in the intensity of contact below the pressing input intensity threshold, the operation is optionally performed in response to detecting a decrease in the intensity of contact corresponding to and below a hysteresis intensity threshold lower than the pressing input intensity threshold. As described above, in some embodiments, the triggering of these responses also depends on time-based criteria being met (e.g., the delay time elapsing between the first intensity threshold being met and the second intensity threshold being met).
[0155] As used in this specification and the claims, the term "haptic output" refers to a physical displacement of the device relative to its previous position, a physical displacement of a component of the device (e.g., a touch-sensing surface) relative to another component of the device (e.g., the housing), or a displacement of a component relative to the center of mass of the device that will be detected by the user's sense of touch. For example, in a situation where the device or a component of the device is in contact with a touch-sensitive surface of the user (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or the component of the device. For example, the movement of a touch-sensing surface (e.g., a touch-sensing display or a trackpad) may optionally be interpreted by the user as a "down click" or "up click" of a physical actuator button. In some cases, the user may feel a tactile sensation such as a "down click" or "up click" even when there is no movement of the physical actuator button associated with the touch-sensing surface that has been physically pushed (e.g., displaced) by the user's action. As another example, the movement of a touch-sensing surface may optionally be interpreted or perceived by the user as the "roughness" of the touch-sensing surface, even if there is no change in the smoothness of the touch-sensing surface. Such interpretation of touch by the user depends on the user's individual sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a haptic output is described as corresponding to a particular sensory perception of the user (e.g., "up click", "down click", "roughness"), unless otherwise stated, the generated haptic output corresponds to a physical displacement of the device or a component of the device that produces the described sensory perception of a typical (or average) user.By providing haptic feedback to a user using tactile output, the operability of the device is improved, the user-device interface becomes more efficient (e.g., by assisting the user in providing appropriate input and reducing user errors when operating the device / interacting with the device), and in addition, power usage is reduced and the battery life of the device is improved by enabling the user to use the device more quickly and efficiently.
[0156] In some embodiments, the tactile output pattern specifies characteristics of the tactile output, such as the amplitude of the tactile output, the shape of the movement waveform of the tactile output, the frequency of the tactile output, and / or the duration of the tactile output.
[0157] When a haptic output having different haptic output patterns is generated by a device (e.g., via one or more haptic output generators that move a movable mass to generate the haptic output), the haptic output can cause different tactile sensations when the user holds or touches the device. When the user's sensation is based on the user's perception of the haptic output, most users are able to distinguish 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 different operations have been performed. Thus, in some situations, in a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment having virtual boundaries and virtual objects, an actual physical environment having physical boundaries and physical objects, and / or any combination of the above), a haptic output having a haptic output pattern designed, selected, and / or developed to simulate the characteristics (e.g., size, material, weight, stiffness, smoothness, etc.), behavior (e.g., vibration, displacement, acceleration, rotation, expansion, etc.), and / or interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.) of an object provides useful feedback to the user that reduces input errors and increases the efficiency of the user's operation of the device. Additionally, the haptic output is optionally generated to correspond to feedback unrelated to simulated physical characteristics such as input thresholds or object selections. In some situations, such haptic output provides useful feedback to the user that reduces input errors and increases the efficiency of the user's operation of the device.
[0158] In some embodiments, haptic output having a suitable haptic output pattern serves as a cue for the occurrence of a target event behind a scene within a user interface or within a device. Examples of target events include activation of affordances (e.g., physical buttons, virtual buttons, or toggle switches) provided on the device or within the user interface, success or failure of a requested operation, reaching or exceeding a boundary within the user interface, entering a new state, switching the input focus between objects, activating a new mode, reaching or exceeding an input threshold, detecting or recognizing the type of an input or gesture, and the like. In some embodiments, the haptic output is provided to serve as a warning or alert for an upcoming event or result that occurs in the near future, as long as a redirection or interrupt input is not detected in due course. The haptic output is also used in other contexts to improve the user experience, improve the accessibility of the device to users with visual or motor disabilities or other accessibility requirements, and / or improve the efficiency and functionality of the user interface and / or the device. The haptic output optionally includes an audio output and / or a change in the visual user interface, further enhancing the user's experience when the user interacts with the user interface and / or the device, facilitating better communication of information regarding the state of the user interface and / or the device, reducing input errors, and increasing the efficiency of the user's actions on the device.
[0159] Figures 4F - 4H provide a set of sample haptic output patterns that can be used individually or in combination, via any one or more of a number of transformations (e.g., modulation, amplification, truncation, etc.), to create suitable haptic feedback for various scenarios and various purposes, such as those mentioned or described above with respect to the user interfaces and methods discussed herein. This example of a palette of haptic outputs shows how a set of three waveforms and eight frequencies can be used to create an array of haptic output patterns. In addition to the haptic output patterns shown in these figures, for example, as shown, by varying the gain values for the haptic output patterns for full tap 80Hz, full tap 200Hz, mini tap 80Hz, mini tap 200Hz, micro tap 80Hz, and micro tap 200Hz of FIGS. 4I - 4K, each of these haptic output patterns is optionally adjusted in amplitude, and it is shown by different types having gains of 1.0, 0.75, 0.5, and 0.25. As shown in FIGS. 4I - 4K, by changing the gain of the haptic output pattern, the amplitude of the pattern is changed without changing the frequency of the pattern or the shape of the waveform. In some embodiments, since some haptic output generators are limited by how much force can be applied to the movable mass, changing the frequency of the haptic output pattern results in a lower amplitude, and thus the greater the frequency movement of the mass, the more constrained to a lower amplitude, ensuring that the acceleration required to create the waveform does not require a force outside the operating force range of the haptic output generator (e.g., the peak amplitudes of full taps at 230Hz, 270Hz, and 300Hz are lower than the amplitudes of full taps at 80Hz, 100Hz, 125Hz, and 200Hz).
[0160] Figures 4F to 4K show haptic output patterns having specific waveforms. The waveform of the haptic output pattern represents a pattern of physical displacement relative to the neutral position (e.g., xzero) with respect to the time when the movable mass passes through and generates a haptic output with that haptic output pattern. For example, the first set of haptic output patterns (e.g., the haptic output pattern of "full tap") shown in FIG. 4F each have a waveform including two complete cycles of vibration (e.g., vibration starting and ending at the neutral position and crossing the neutral position three times). The second set of haptic output patterns (e.g., the haptic output pattern of "mini tap") shown in FIG. 4G each have a waveform including one complete cycle of vibration (e.g., vibration starting and ending at the neutral position and crossing the neutral position once). The third set of haptic output patterns (e.g., the haptic output pattern of "micro tap") shown in FIG. 4H each have a waveform including half of one complete cycle of vibration (e.g., vibration starting and ending at the neutral position and not crossing the neutral position). The waveform of the haptic output pattern also includes a start buffer and an end buffer representing the gradual acceleration and deceleration of the movable mass at the start and end of the haptic output. The exemplary waveforms shown in FIGS. 4F to 4K include xmin and xmax values representing the maximum and minimum ranges of movement of the movable mass. For larger electronic devices having a larger movable mass, the minimum and maximum limits of the mass movement may be larger or smaller. The examples shown in FIGS. 4F to 4K illustrate the movement of the mass in one dimension, but the same principle may also apply to the movement of the movable mass in two or three dimensions.
[0161] As shown in FIGS. 4F - 4K, each haptic output pattern also has a corresponding characteristic frequency that affects the "pitch" of the tactile sensation felt by the user from the haptic output having that characteristic frequency. In the case of continuous haptic outputs, the characteristic frequency represents the number of cycles completed by the movable mass of the haptic output generator within a given period (e.g., cycles per second). In the case of individual haptic outputs, individual output signals (e.g., having 0.5, 1, or 2 cycles) are generated, and the characteristic frequency value specifies how fast the movable mass needs to move to generate the haptic output having that characteristic frequency. As shown in FIGS. 4F - 4H, for each type of haptic output (e.g., defined by each waveform such as full - tap, mini - tap, or micro - tap), higher frequency values correspond to faster movement(s) by the movable mass, and thus, generally, the time to complete the haptic output is shorter (e.g., including the start and end buffer times for the time to complete the number of cycles required for discrete haptic outputs). For example, a full - tap with a characteristic frequency of 80 Hz takes longer to complete than a full - tap with a characteristic frequency of 100 Hz (e.g., 35.4 ms vs. 28.3 ms in FIG. 4F). Additionally, for a given frequency, a haptic output having more cycles in its waveform at that frequency takes longer to complete than a haptic output having fewer cycles in its waveform at the same frequency. For example, a full - tap at 150 Hz takes longer to complete than a mini - tap at 150 Hz (e.g., 19.4 ms and 12.8 ms), and a mini - tap at 150 Hz takes longer to complete than a micro - tap at 150 Hz (e.g., 12.8 ms and 9.4 ms). However, for haptic output patterns of different frequencies, this regularity may not hold (e.g., a haptic output with more cycles but a higher frequency may take less time than a haptic output with fewer cycles but a lower frequency, and vice versa). For example, at 300 Hz, a full - tap takes the same amount of time as a mini - tap (e.g., 9.9 ms).
[0162] As shown in FIGS. 4F - 4K, the haptic output pattern also has a characteristic amplitude that affects the amount of energy contained in the haptic signal, i.e., the “strength” of the haptic sensation that can be felt by the user with the haptic output having that characteristic amplitude. In some embodiments, the characteristic amplitude of the haptic output pattern refers to an absolute value or a normalized value representing the maximum displacement of the movable mass from the neutral position when generating the haptic output. In some embodiments, the characteristic amplitude of the haptic output pattern can be adjusted by, for example, a fixed or dynamically determined gain factor (e.g., a value from 0 to 1), and / or a preset metric (e.g., an input - based metric and / or a user - interface - based metric), according to various conditions (e.g., customized based on the context and behavior of the user interface). In some embodiments, the input - based metric (e.g., an intensity change metric or an input speed metric) indicates a characteristic of the input (e.g., the rate of change of the characteristic intensity of contact in a press - down input during the input that triggers the generation of the haptic output, or the speed of movement of the contact on the touch - sensing surface). In some embodiments, the user - interface - based metric (e.g., a boundary - crossing speed metric) indicates a characteristic of a user - interface element during a change in the user interface that triggers the generation of the haptic output (e.g., the speed of movement of an element that crosses a hidden or visible boundary within the user interface). In some embodiments, the characteristic amplitude of the haptic output pattern may be modulated by an “envelope,” and the peaks of adjacent cycles may have different amplitudes. One of the above waveforms may be further modulated by multiplying by an envelope parameter that changes over time (e.g., from 0 to 1) so as to gradually adjust some of the amplitudes of the haptic output over time while the haptic output is being generated.
[0163] For illustrative purposes, only specific frequencies, amplitudes, and waveforms are represented by the sample haptic output patterns in FIGS. 4F - 4K, but haptic output patterns having other frequencies, amplitudes, and waveforms can also be used for similar purposes. For example, waveforms having 0.5 to 4 cycles can be used. Also, other frequencies in the range of 60 Hz to 400 Hz can be used. User Interface and Related Processes
[0164] Attention is directed to embodiments of a user interface (“UI”) and related processes that may be implemented on an electronic device such as a portable multifunctional device 100 or device 300, comprising a display, a touch sensing surface, and optionally one or more haptic output generators for generating haptic output and one or more sensors for detecting the intensity of contact with the touch sensing surface.
[0165] Figures 5A1 - 5A4 and 5B - 5AY illustrate examples of user interfaces for changing delivery preferences for future notifications of an event type according to some embodiments. The user interfaces in those figures are used to illustrate the processes described below, including the processes in Figures 7A - 7G, 8A - 8E, and 9A - 9E. For convenience of explanation, some embodiments are discussed with reference to operations executed on a device having a touch sensing display system 112. In such embodiments, the focus selector is optionally the contact of each finger or stylus, a representative point corresponding to the contact of each finger or stylus (e.g., the centroid of each contact or a point associated with each contact), or the centroid of two or more contacts detected on the touch sensing display system 112. However, similar operations are optionally executed on a device having a display 450 and a separate touch sensing surface 451 in response to detecting a contact on the touch sensing surface 451 while displaying the user interface shown in the figures on the display 450, together with the focus selector.
[0166] Figures 5A1 to 5A4 show the activation of a display (e.g., touch-sensing display 112) in response to a change in the orientation of device 100. When the display is activated, notifications received while the device was in the screen-off state are displayed. In some embodiments, the device uses one or more sensors (e.g., accelerometer, gyro, audio sensor, thermal sensor, and / or light sensor) to determine whether the orientation of the device has changed. For example, the device determines whether the device has been rotated beyond a threshold angle (e.g., rotated along the axis of the device such that the device is tilted from a position where the device is substantially horizontal to a position where the device is substantially vertical). In Figure 5A1, the device is in the screen-off state while being held flat in user's hand 5002 such that the display of the device is substantially horizontal. In Figure 5A2, the device is tilted such that the display is more vertical than in Figure 5A1. In Figure 5A2, the display is not activated because the tilt angle of the device has not increased beyond the threshold tilt angle. In Figure 5A3, the device is tilted such that the display is more vertical than in Figure 5A2. In Figure 5A3, the tilt angle of the device has increased beyond the threshold tilt angle, so the display transitions from the screen-off state to the screen-on state, and a wake screen user interface 5004 (e.g., an initial user interface displayed when the device transitions from the screen-off state to the screen-on state) is displayed by the display 112. In Figure 5A4, the display 112 is substantially vertical.
[0167] In Figure 5A4, a lock icon 5005 indicating that the device is locked is shown in the wake screen user interface 5004. In Figure 5B, the lock icon 5005 is replaced by an unlock icon 5007 indicating that the device has been unlocked (e.g., in response to receiving user authentication information such as the biometric information of the user of the device or the device passcode). The wake screen user interface 5004 in the locked mode optionally displays less information than the wake screen user interface 5004 displayed in the unlocked mode (e.g., displays an edited version of the notification).
[0168] Figure 5B shows a wake screen user interface 5004 according to some embodiments. The wake screen user interface 5004 displays notifications 5006, 5008, 5010, 5012, 5014, and 5016 corresponding to events (e.g., events that occurred while the device 100 was in the screen-off state). For example, notification 5006 corresponds to an event generated by an application with the application title "Social Media" as indicated by application identification information 5018. Notification 5006 also includes an icon 5020 corresponding to the social media application and a reception time display 5022.
[0169] Figures 5C - 5J show inputs for changing delivery preferences for future notifications of events from a social media application. The inputs for changing delivery preferences for future notifications include a swipe input in the social media notification 5006 to represent a set 5028 of notification controllers, as shown in Figures 5C - 5E; a tap input in an option controller 5030 of the set 5028 of notification controllers to represent a notification delivery preference controller menu 5038, as shown in Figures 5G - 5H; and a tap input in a controller 5040 of the delivery preference controller menu 5038, as shown in Figure 5I. The input in controller 5040 changes the delivery preference for future notifications of events from a social media application from a prominent delivery mode (e.g., where future notifications of events from the social media application are displayed on the wake screen user interface 5004) to an unobtrusive delivery display mode (e.g., where future notifications of events from the social media application are sent to the notification history without first being displayed on the wake screen user interface 5004, and as a result, an input is required to display the notification history to view the notifications).
[0170] Figures 5C through 5E show a left - swipe input in notification 5006 that represents a set 5028 of notification controllers corresponding to notification 5006. In Figure 5C, a contact 5024 is detected at a position on touch screen 112 corresponding to notification 5006. In Figures 5C through 5E, contact 5024 moves along a path indicated by arrow 5026. As contact 5024 moves leftward along the path indicated by arrow 5026, notification 5006 also moves leftward (as if "dragged" by contact 5024 when notification 5006 moves), representing a set 5028 of notification controllers as shown in Figure 5E. The set 5028 of notification controllers includes an option controller 5030 (for displaying a set of notification delivery preference controllers of, for example, a social media application), a view controller 5032 (for displaying an expanded view of notification 5006, for example), and a dismissal controller 5034 (for dismissing notification 5006, for example).
[0171] Figure 5G shows a tap input by contact 5030 at a position on touch screen 112 corresponding to option controller 5030. In response to the tap input, as shown in Figure 5H, notifications 5008 - 5016 are no longer displayed, and notification delivery preference controller menu 5038 is displayed in wake screen user interface 5004. Notification delivery preference controller menu 5038 includes a controller for adjusting delivery preferences regarding notifications from the social media application (since notification delivery preference controller menu 5038 was accessed via an input in notification 5006 of the social media application). Notification delivery preference controller menu 5038 includes a controller 5040 for changing the delivery preference for future notifications of events in the social media application to an unobtrusive delivery mode (for example, future notifications of events in the social media application are sent to the notification history when received), a controller 5042 for turning off future notifications from the social media application, a controller 5044 for displaying the notification settings user interface of the social media application, and a controller 5046 for hiding menu 5038. Notification delivery preference controller menu 5038 also includes application identification information 5048 and application icon 5050 corresponding to application identification information 5018 and application icon 5020 of notification 5006.
[0172] In Figure 5I, a tap input by contact 5052 is detected at a position on touch screen 112 corresponding to controller 5040 for changing the delivery preference for future notifications of events in the social media application to an unobtrusive delivery mode. In Figure 5J, in response to the input in controller 5040, notification delivery preference controller menu 5038 and notification 5006 are no longer displayed, and notifications 5008 - 5016 are redisplayed.
[0173] As described with respect to FIGS. 5C to 5J, as a result of an input to change the delivery preference for future notifications of events from a social media application to a delivery display mode that is less prominent, as described with respect to FIGS. 5J to 5O, the social media notifications received after the change in delivery preference are not displayed on the wake screen user interface 5004 until an input for displaying the notification history is provided.
[0174] From FIG. 5J to FIG. 5K, the current time 5054 is changing from 6:02 to 6:05. A new notification 5056 received at 6:04 is displayed on the wake screen user interface 5004. As shown in FIG. 5K, a new event of the social media application occurred at 6:05, but (since the delivery preference for event notifications from the social media application was changed to a less prominent mode so that the notifications are sent directly to the notification history, as described with reference to FIGS. 5B to 5I) the notification corresponding to the event is not displayed on the wake screen user interface 5004. From FIG. 5K to FIG. 5L, the current time 5054 is changing from 6:05 to 6:08.
[0175] Figures 5M - 5O show an upward swipe input on the wake screen user interface 5004 that represents a notification history. In Figures 5M and 5N, a contact 5058 with the touch screen 112 moves along a path indicated by an arrow 5060. As the contact 5058 moves upward along the path indicated by the arrow 5060, the notifications 5008 - 5016 and 5056 also move upward (as if, for example, the notifications are "dragged" by the contact 5058 as they move). In Figure 5O, the contact 5058 continues to move along the path indicated by the arrow 5060 such that the notification history 5062 appears on the wake screen 5004. The notification history 5062 includes a notification 5064 of a social media application event that occurred at 6:05, as shown in Figures 5O and 5P. The notification history 5062 also includes a notification 5068 of a received message within a message thread of a messaging application. The notification 5068 is aggregated with a notification 5066 of another received message in the message thread of the messaging application, as will be described in more detail below.
[0176] Figures 5Q - 5Y show inputs for changing delivery preferences for future notifications of events from a social media application. The inputs for changing delivery preferences for future notifications include a press input in the social media notification 5064 to present an expanded version of the notification 5064, as shown in Figures 5Q - 5S, an input in a controller 5074 displayed in the expanded version of the notification 5064, as shown in Figures 5T - 5U, and an input in a controller 5080 of a delivery preference controller menu 5078. The input in the controller changes the delivery preference for future notifications of events from a social media application from an unobtrusive delivery display mode to an obtrusive delivery mode.
[0177] Figures 5Q to 5S show the pressing input in notification 5064, which represents the expanded version of notification 5064. In Figure 5Q, a contact 5070 is detected at a position on the touch screen 112 corresponding to notification 5064. The characteristic intensity of the contact 5070 exceeds the contact detection intensity threshold level IT0 (as indicated by the intensity level meter 5001) and is below the hint intensity threshold IT H . In Figure 5R, the characteristic intensity of the contact 5070 increases and exceeds the hint intensity threshold IT H . As shown in Figures 5R to 5S, as the characteristic intensity of the contact 5070 increases and exceeds the hint intensity threshold level IT H , the background of the wake screen user interface 5004 becomes increasingly blurred. In Figure 5S, the characteristic intensity of the contact 5070 increases and exceeds the light pressing intensity threshold level IT L . The light pressing intensity threshold level IT LIn response to detecting an increase in the characteristic strength of contact 5070 exceeding, the expanded version of notification 5064 is displayed. In some embodiments, if additional notification information regarding the event indicated by the notification is available, the additional information is displayed in the expanded version of the notification in response to an input (e.g., a light press input) at the position corresponding to the notification. In FIG. 5S, an expanded version of notification 5064 including image 5072 is displayed, and notifications 5010 - 5016 and 5066 - 5068 are no longer displayed. Controller 5074 (for example, for displaying a set of notification delivery preference controllers for a social media application) is displayed in the expanded version of notification 5064. In some embodiments, an input (e.g., a tap input) at a position (e.g., away from controller 5074) of the expanded version of notification 5064 replaces the display of the wake screen user interface 5004 and the expanded view of notification 5064 with the display of the application corresponding to notification 5064 (e.g., a social media application). In some embodiments, an input (e.g., a tap input) at a position outside the expanded version of notification 5064 replaces the display of the expanded view of notification 5064 with notifications 5010 - 5016, the non-expanded version of notification 5064, and notifications 5066 - 5068 (e.g., returning to the previous view of the wake screen user interface as shown in FIG. 5Q).
[0178] Figure 5T shows a tap input by contact 5076 in controller 5074 of the expanded version of notification 5064. In response to the tap input, as shown in Figure 5U, a notification delivery preference controller menu 5078 is displayed on the wake screen user interface 5004. (The notification delivery preference controller menu 5078 is an example of a delivery preference controller menu having characteristics different from the notification delivery preference controller menu 5038 described with respect to Figure 5H. In some embodiments, in response to the input described with respect to Figure 5T, the notification delivery preference controller menu 5038 is displayed. It will be recognized that the notification delivery preference controller menus described herein may include various combinations of the features and / or controllers described with respect to menu 5038 or menu 5078).
[0179] The notification delivery preference controller menu 5078, as shown in FIG. 5U, includes a controller for adjusting delivery preferences regarding notifications from a social media application (since the notification delivery preference controller menu 5078 is accessed via an input in the notifications 5064 of the social media application). The notification delivery preference controller menu 5078 includes a controller 5080 for changing the delivery preference regarding future notifications of events of the social media application to a prominent delivery mode (e.g., future notifications of events of the social media application are displayed on the wake screen user interface 5004 upon receipt), a controller 5040 for changing the delivery preference regarding future notifications of events of the social media application to an unobtrusive delivery mode (e.g., future notifications of events of the social media application are sent to the notification history), a controller 5042 for turning off future notifications from the social media application, a controller 5044 for displaying the notification settings user interface of the social media application, and a controller 5046 for hiding the menu 5038. The notification delivery preference controller menu 5078 also includes a status marker 5082 for indicating the currently selected notification delivery preference, and an animated icon 5084 for indicating the currently selected notification delivery mode (which is the unobtrusive delivery mode in this example).
[0180] FIGS. 5U-5X show frames of the animation sequence of the animated icon 5084. The animated icon 5084 depicts a miniature version of the device 100, and the animation sequence indicates an input (indicated animatedly by the animated contact representation 5086) for accessing a notification (indicated animatedly by the animated notification representation 5088) within the notification history.
[0181] In FIG. 5X, a tap input by contact 5090 is detected at a position on touch screen 112 corresponding to controller 5080 for changing the notification delivery preference to a prominent delivery mode. In FIG. 5Y, in response to the input in controller 5080, status marker 5082 is displayed in controller 5080 to indicate that the currently selected notification delivery mode is the prominent delivery mode in which notifications from the social media application are first displayed on the wake screen. Animation icon 5092 is displayed to indicate the prominent delivery mode. FIGS. 5Y-5Z show frames of the animation sequence of animation icon 5092. The animation sequence shows that the screen-off state (shown in FIG. 5Y) transitions to the screen-on state (shown in FIG. 5Z) in which notification representation 5094 is shown in the wake screen user interface.
[0182] In some embodiments, the animated icon 5084 is displayed only when the currently selected notification delivery preference is for a delivery mode that is unobtrusive (as shown in FIGS. 5U - 5X), and the animated icon 5092 is displayed only when the currently selected notification delivery preference is for a delivery mode that is prominent (as shown in FIGS. 5Y - 5Z). In some embodiments, the animated icon 5084 is animated only when the currently selected notification delivery preference is for a delivery mode that is unobtrusive, and the animated icon 5092 is animated only when the currently selected notification delivery preference is for a delivery mode that is prominent. In some embodiments, the animated icons 5084 and 5092 are displayed simultaneously. In some embodiments, the animated icons 5084 and 5092 are animated simultaneously. In some embodiments, (e.g., to inform the user about an unselected delivery mode,) the animated icon 5084 is animated only when the currently selected notification delivery preference is for a delivery mode that is prominent, and the animated icon 5092 is animated only when the currently selected notification delivery preference is for a delivery mode that is unobtrusive.
[0183] In FIG. 5Z, a tap input by contact 5096 is detected at a location on the touch screen 112 corresponding to the controller 5080 for changing the notification delivery preference to an unobtrusive delivery mode. In FIG. 5AA, a tap input by contact 5098 is detected at a location on the touch screen 112 corresponding to the controller 5044 for displaying the notification settings user interface of the social media application.
[0184] FIGS. 5AB - 5AG show changing the delivery preference for future notifications of application events using the application notification settings user interface 5100.
[0185] In FIG. 5AB, in response to an input by contact 5098, the wake screen user interface 5004, the notification 5064, and the notification delivery preference controller menu 5078 are replaced by the display of the notification settings user interface 5100. The notification settings user interface 5100 includes an application identifier 5102 for indicating that the toggles displayed on the notification settings user interface 5100 control the settings of the social media application. The notification settings user interface 5100 includes a toggle 5104 for enabling / disabling the notifications of the application, a toggle 5106 for enabling / disabling showing the notifications of the application on the wake screen user interface 5004, a toggle 5108 for enabling / disabling showing the notifications of the application in the notification history, and a toggle 5110 for enabling / disabling the display of the notification banner while the device is in the screen-on state (e.g., while the user is operating the device).
[0186] Animation icons 5112, 5114, and 5116 respectively indicate the modes of prominent delivery, unobtrusive delivery, and notification banner delivery. Active mode indicators 5118, 5120, and 5122 respectively indicate the activation states of the modes of prominent delivery, unobtrusive delivery, and notification banner delivery. The check marks of the active mode indicators 5120 and 5122 respectively indicate that the modes of unobtrusive delivery and notification banner delivery are currently activated. FIGS. 5AB - 5AD show the frames of the animation sequences of the animation icons 5114 and 5116 respectively.
[0187] In FIG. 5AD, a tap input by contact 5124 is detected at a position on touch screen 112 corresponding to toggle 5106. The input by contact 5124 changes the delivery preference regarding future notifications of events. The delivery preference is changed from a mode in which application notifications are disabled (as indicated by the state of toggle 5106 in FIG. 5AD) from being shown on the wake screen user interface 5004 to a mode in which application notifications are enabled (as indicated by the state of toggle 5106 and the check mark of active mode indicator 5118 in FIG. 5AE) and shown on the wake screen user interface 5004. FIGS. 5AE - 5AF show frames of the animation sequences of animation icons 5112, 5114, and 5116, respectively.
[0188] In some embodiments, (as shown, for example, in FIGS. 5AB - 5AF,) animation icon 5112 is animated when the corresponding toggle 5106 is in an enabled state and not animated when the corresponding toggle 5106 is in a disabled state, animation icon 5114 is animated when the corresponding toggle 5108 is in an enabled state and not animated when toggle 5108 is in a disabled state, and animation icon 5116 is animated when the corresponding toggle 5110 is in an enabled state and not animated when toggle 5110 is in a disabled state. In some embodiments, all of animation icons 5112, 5114, and 5116 are animated, and notification settings user interface 5100 is displayed regardless of the state of the toggle corresponding to each animation icon.
[0189] From FIG. 5AF to FIG. 5AG, the current time 5054 changes from 6:08 to 6:10. In response to an input by contact 5124 as described with respect to FIG. 5AD, it is enabled to show a notification of an application on the wake screen user interface 5004. As a result, a new notification 5126 of an event received at 6:09 by the social media application is displayed on the wake screen user interface 5004 of FIG. 5AG.
[0190] FIGS. 5AH - 5AR show inputs for changing delivery preferences for future notifications of a subset of events from an application. For example, a news application may generate events from multiple news sources, and a user may desire to set different notification delivery preferences for different news sources. In some embodiments, the events corresponding to each news source are a subset of events from the news application.
[0191] FIG. 5AH shows a left - direction swipe input by contact 5128 (accompanied by, for example, a left - direction movement 5130) in notification 5010, representing a set 5132 of notification controllers corresponding to notification 5010. FIG. 5AI shows a tap input by contact 5138 in option controller 5134. In response to the tap input, notifications 5126, 5056, 5008, 5012, and 5014 are no longer displayed, and as shown in FIG. 5AJ, a notification delivery preference controller menu 5138 and a controller 5140 for hiding menu 5138 are displayed in the wake - screen user interface 5004. The notification delivery preference controller menu 5138 includes a controller for adjusting delivery preferences regarding one or more news sources of a news application. The notification delivery preference controller menu 5138 includes a currently selected source display 5142 indicating one or more news sources to which the change in delivery preference is applied. A V - shape 5144 is used to indicate a controller for displaying additional news sources. The notification delivery preference controller menu 5138 includes a controller 5146 for changing the delivery preference to an unobtrusive delivery mode (e.g., future notifications of events from one or more news sources are sent to the notification history), a controller 5148 for turning off future notifications from one or more news sources, and a controller 5150 for displaying a notification - setting user interface of one or more news sources. While the currently selected news source is "Unexpected event of the Habsburg family" as indicated by the currently selected source display 5142, selection of controller 5146 or 5148 changes the notification delivery preference regarding events from the news source "Unexpected event of the Habsburg family" rather than other news sources that are not currently selected.
[0192] In FIG. 5AK, a tap input by contact 5154 is detected at a position on touch screen 112 corresponding to V-shaped 5144 for displaying an additional news source. In FIG. 5AL, in response to the input in V-shaped 5144, notification delivery preference controller menu 5138 replaces the display of controllers 5146, 5148, and 5150 with the display of controller 5156 for selecting a first additional news source (“Local Daily”), controller 5158 for selecting a second additional news source (“The Urban Times”), and controller 5160 for selecting all news sources corresponding to the news application (e.g., “Unexpected Event of the Habsburg Family”, “Local Daily”, and “The Urban Times”). (For example, to indicate that the mode of notification delivery preference controller menu 5138 has changed from the display of controllers 5146, 5148, and 5150 for changing the delivery preference regarding future notifications of events from news sources to the display of controllers 5156, 5158, and 5160 for selecting one or more news sources) The orientation of V-shaped 5144 is changed. In some embodiments, in response to the input in controller 5141, the selected news source (“Unexpected Event of the Habsburg Family”) continues to be selected, and notification delivery preference controller menu 5138 as shown in FIG. 5AK is redisplayed.
[0193] In FIG. 5AM, a tap input by contact 5162 is detected at a position on the touch screen 112 corresponding to the controller 5160 for selecting all news sources. In FIG. 5AN, in response to an input in the controller 5160, the current selected source display 5142 of the notification delivery preference controller menu 5138 is changed from indicating "Unexpected event of the Habsburg family" as shown in FIG. 5AK to indicating "All news sources". (For example, to indicate that the mode of the notification delivery preference controller menu 5138 has been changed from the display of the controllers 5156, 5158, and 5160 for selecting one or more news sources to the redisplay of the controllers 5146, 5148, and 5150 for changing the delivery preference for future notifications of events from all news sources) The orientation of the V shape 5144 is changed.
[0194] In FIG. 5AO, a tap input by contact 5164 is detected at a position on the touch screen 112 corresponding to the controller 5148 for turning off future notifications from one or more news sources. The selection of the controller 5146 or 5148 while the currently selected news source is "All news sources" as indicated by the current selected source display 5142 changes the notification delivery preference for events from all news sources of the news application. In some embodiments, as a result of an input in the controller 5148 for turning off future notifications from all news sources, the previously received notifications 5010 from the news source "Unexpected event of the Habsburg family" and the news notifications 5012 from the news source "Local Daily" are not displayed when the wake screen user interface 5004 is subsequently displayed, as shown in FIG. 5AP.
[0195] Figures 5AQ - 5AS show inputs for changing delivery preferences regarding notifications corresponding to an event subset of a communication application. For example, a messaging application may generate events corresponding to messages received from various contacts and / or contact groups, and a user may wish to suppress notifications for messages within a conversation thread with a first contact while continuing to receive notifications for messages within a conversation thread with a second contact. In some embodiments, the events corresponding to a conversation thread are a subset of events from the messaging application.
[0196] In FIGS. 5AQ - 5AR, a notification delivery preference controller menu 5186 5AQ corresponding to the messaging application is displayed in response to an input in a message notification. For example, in FIG. 5AQ, an input by contact 5166 (e.g., a left - swipe input or a light - press input) is detected at a position on touch screen 112 corresponding to notification 5008, causing a controller for displaying a set of notification delivery preference controllers to be displayed, and in response to a subsequent input (e.g., a tap input) in the displayed controller, a notification delivery preference controller menu 5168 is displayed (as described, for example, with respect to FIGS. 5B - 5H or FIGS. 5R - 5U). The notification delivery preference controller menu 5168 includes a controller 5170 for changing the delivery preference regarding future notifications for messages within the conversation thread with Ursula to an unobtrusive delivery mode (e.g., where future notifications for messages within the conversation thread with Ursula are sent to the notification history), a controller 5172 for turning off future notifications within the conversation thread with Ursula, a controller 5044 for displaying the notification settings user interface of the messaging application, and a controller 5176 for hiding menu 5168. In some embodiments, changes to delivery preferences regarding one or more applications such as the messaging application are effective for a limited period (e.g., 1 hour, 1 day, 1 week, etc.).
[0197] Figure 5AR shows a tap input by contact 5178 at a position on touch screen 112 corresponding to controller 5172 for turning off future notifications within the conversation thread with Ursula. In response to the tap input, the wake screen user interface 5004 is redisplayed. In some embodiments, in response to an input at controller 5172 for turning off future notifications within a conversation thread with a contact (or as a result of an interaction with a notification), previously received notifications within the conversation thread with the contact are made not to be displayed. For example, in Figure 5AS, notifications 5126, 5056, and 5054 are displayed in the wake screen user interface 5004, and previously received notification 5008 within the conversation thread with Ursula is made not to be displayed in the wake screen user interface 5004.
[0198] From Figure 5AS to Figure 5AT, the current time 5054 changes from 6:10 to 6:12. A new notification from a message application indicating a message from contact Edwin is displayed. Since the notifications within the conversation thread with Ursula have been turned off by the input described with respect to Figure 5AR, notifications of messages within other conversation threads (e.g., messages from other contacts such as Edwin) continue to be displayed in the wake screen user interface 5004.
[0199] Figures 5AU - 5AY show inputs for displaying a cover sheet user interface 5190 including a notification history 5062.
[0200] In FIG. 5AU, an input by contact 5184 (e.g., an upward swipe input from the lower edge of the touch screen display 112) for hiding the wake screen user interface 5004 is detected. As contact 5184 moves along the path indicated by arrow 5185, the home screen user interface 5182 is displayed as shown in FIG. 5AV. In FIG. 5AW, an input by contact 5186 (e.g., a downward swipe input from the upper edge of the touch screen display 112) for displaying the cover sheet user interface 5190 is detected. As contact 5186 moves along the path indicated by arrow 5188, the cover sheet user interface 5190 is displayed as shown in FIG. 5AX.
[0201] In FIG. 5AX, the cover sheet user interface 5190 displays a notification history 5062 including notifications 5180, 5126, 5056, and 5014, as well as notifications 5064, 5066, and 5068. An input by contact 5192 (e.g., a vertical swipe input in which contact 5192 moves upward along the path indicated by arrow 5194) for scrolling the notifications displayed on the cover sheet user interface 5190 is detected. In response to the vertical swipe input, the notifications displayed on the cover sheet user interface 5184 move in the direction of the movement of the contact as shown in FIGS. 5AX to 5AY.
[0202] In some embodiments, the notification history 5062 is not displayed when the cover sheet user interface 5190 is first displayed, and the notification history 5062 appears on the cover sheet user interface in response to an upward swipe input on the cover sheet user interface (as opposed to an upward swipe input starting from the lower edge of the screen).
[0203] FIGS. 5AY to 5BU show examples of user interfaces for displaying aggregated notifications.
[0204] In Figure 5AY, the cover sheet user interface 5190 displays a notification history 5062 that includes notifications 5180, 5126, 5056, and 5014, as well as notifications 5064, 5066, and 5068. In Figures 5AY to 5AZ, the device 100 transitions from the screen-on state as shown in Figure 5AY to the screen-off state as shown in Figure 5AZ. For example, the transition occurs in response to an input to turn off the device's power, such as an input at button 206, or in response to a determination that a screen-off criterion (e.g., a criterion including a determination that the time elapsed since an input was received exceeds a threshold time) is satisfied. In Figures 5AZ to 5BA, the device 100 transitions from the screen-off state as shown in Figure 5AZ to the screen-on state as shown in Figure 5BA. For example, the transition occurs in response to an input to turn on the device's power, such as an input at button 206, or in response to a determination that a screen-on criterion (e.g., a criterion including a determination that a new notification has been received, or a determination that the device has been lifted and tilted beyond a pre-set tilt angle) is satisfied.
[0205] From Figure 5AY to Figure 5BA, the current time 5054 changes from 6:12 to 6:14. (For example, as shown in Figures 5AU to 5AV, the wake screen user interface 5004 is made non-displayed and the home screen user interface 5182 is displayed.) As a result of the activation of the device, before the transition from the screen-off state to the screen-on state (Figures 5AZ to 5BA), notifications 5180, 5126, 5056, and 5014 have been moved to the notification history and are not displayed on the wake screen user interface 5004 of Figure 5BA. Notifications 5196, 5198, and 5200 received at 6:14, 6:13, and 6:13 respectively are displayed on the wake screen user interface 5004.
[0206] In FIGS. 5BB and 5BC, a contact 5202 with the touch screen 112 moves along a path indicated by an arrow 5204. When the contact 5202 moves upward along a path indicated by an arrow 5060, notifications 5196-5200 also move upward (as if, for example, the notifications are "dragged" by the contact 5202 when the notifications move). In FIGS. 5BC-5BD, the contact 5202 continues to move along a path indicated by the arrow 5204 such that the notification history 5062 appears on the wake screen 5004.
[0207] In some embodiments, when the notification history 5062 includes a plurality of notifications of events from the same application (e.g., a social media application), the plurality of notifications are aggregated. For example, as shown in FIG. 5BD, when a notification 5126 of a social media application is moved to the notification history 5062, the notification 5126 of the social media application is aggregated with a previously existing notification 5064 (see FIG. 5AY) in the notification history 5062.
[0208] In some embodiments, when the notification history 5062 includes a plurality of notifications corresponding to a certain event subtype from an application (e.g., an event corresponding to a conversation thread of a messaging application), the plurality of notifications are aggregated. For example, as shown in FIG. 5BD, when a notification 5180 (of a message from the contact Edwin within the conversation thread with Madeline and Edwin) is moved to the notification history 5062, the notification 5180 is aggregated with previously existing notifications 5066 and 5068 (see FIG. 5AY) in the notification history 5062 (of messages from the contacts Madeline and Edwin within the conversation thread with Madeline and Edwin). As shown in FIGS. 5BC-5BD, a notification 5196 of a message from the contact Madeline within the conversation thread with Madeline and Edwin is not aggregated with the notifications 5066, 5068, and 5180 in the notification history 5062 (since the notification 5196 has not yet been moved to the notification history).
[0209] In FIGS. 5BD to 5BE, the device 100 transitions from the screen - on state as shown in FIG. 5BD to the screen - off state as shown in FIG. 5BE. In FIGS. 5BE to 5BF, the device 100 transitions from the screen - off state as shown in FIG. 5BE to the screen - on state as shown in FIG. 5BF.
[0210] From FIG. 5BD to FIG. 5BF, the current time 5054 changes from 6:14 to 6:17. In FIG. 5BF, the new notification 5206 received at 6:15 is displayed on the wake - screen user interface 5004.
[0211] In some embodiments, when the wake - screen user interface 5004 includes a plurality of notifications corresponding to an application event or an application event subtype (e.g., before receiving an input to display the notification history 5062 at the wake - screen user interface 5004), the plurality of notifications are aggregated at the wake - screen user interface 5004. For example, as shown in FIG. 5BF, when the wake - screen user interface 5004 includes the notification 5206 (of a message within the conversation thread with Madeline and Edwin), the notification 5206 (of a message within the conversation thread with Madeline and Edwin) is aggregated with the previously displayed notification 5196 (see FIG. 5BC) at the wake - screen user interface 5004.
[0212] In FIG. 5BG, an input by contact 5208 (e.g., an upward swipe input from the lower edge of the touch screen display 112) for hiding the wake screen user interface 5004 is detected. As the contact 5208 moves along the path indicated by the arrow 5210, the home screen user interface 5182 is displayed as shown in FIG. 5BH. In FIGS. 5BH to 5BI, the device 100 transitions from the screen-on state as shown in FIG. 5BH to the screen-off state as shown in FIG. 5BI. In FIGS. 5BI to 5BJ, the device 100 transitions from the screen-off state as shown in FIG. 5BI to the screen-on state as shown in FIG. 5BJ.
[0213] In FIG. 5BJ, in response to the transition to the screen-on state, a wake screen user interface 5004 is shown. (For example, as shown in FIGS. 5BG to 5BH, the wake screen user interface 5004 is hidden and the home screen user interface 5182 is displayed.) As a result of the activation of the device, before the transition from the screen-off state to the screen-on state (FIGS. 5BI to 5BJ), notifications 5196, 5206, 5198, and 5200 have been moved to the notification history 5062 and are not displayed in the wake screen user interface 5004 of FIG. 5BJ. By an input by contact 5212 (for example, a vertical swipe input in which contact 5212 moves upward along the path indicated by arrow 5214), the notification history 5062 appears in the wake screen user interface 5004. In response to the vertical swipe input, the notification history 5062 is shown in FIG. 5BK. In FIG. 5BK, as a result of notifications 5196 and 5206 (messages in the conversation thread of Madeline and Edwin) being moved to the notification history 5062, notifications 5196 and 5206 are aggregated with notifications 5180, 5068, and 5066 (see FIG. 5BD) that were previously displayed in the notification history 5062 (messages in the conversation thread with Madeline and Edwin). As a result of notification 5200 (from the podcast application) being moved to the notification history 5062, notification 5200 is aggregated with notification 5014 that was previously displayed in the notification history 5062 (from the podcast application). As a result of notification 5126 (from the social media application) being moved to the notification history 5062, notification 5126 is aggregated with notification 5064 that was previously displayed in the notification history 5062 (from the social media application).
[0214] FIGS. 5BL to 5BO show the set of notifications in the aggregated representation of the notifications and the inputs for re-aggregating the set of expanded notifications.
[0215] In FIG. 5BL, a tap input by contact 5218 is detected at a position corresponding to an aggregated representation of notifications including notifications 5066, 5068, 5180, 5196, and 5206. In response to the input by contact 5218, as shown in FIG. 5BM, a expanded version of the aggregated representation of the notifications is displayed. In FIG. 5BM, notifications 5206, 5196, 5180, and 5068 of the aggregated representation of the notifications are displayed separately. Notifications 5198, 5014, 5200, 5064, 5126, and 5056 are "pushed" downward by the expansion of the aggregated representation and are not displayed on the wake screen user interface 5004. A controller 5220 for re-aggregating the expanded version of the set of notifications and a controller 5221 for erasing all notifications within each set of the aggregated representation are displayed at positions corresponding to the expanded version of the set of notifications.
[0216] In FIG. 5BN, a tap input by contact 5222 is detected at a position corresponding to the controller 5220 for re-aggregating the expanded version of the set of notifications. In response to the input, an aggregated representation of the notifications including notifications 5066, 5068, 5180, 5196, and 5206 is redisplayed as shown in FIG. 5BO. Notifications 5198, 5014, 5200, 5064, 5126, and 5056 are also redisplayed on the wake screen user interface 5004 of FIG. 5BO.
[0217] FIGS. 5BP to 5BU show an input for expanding a set of notifications of the aggregated representation of the notifications, an input for scrolling the expanded set of notifications to reveal additional notifications within the aggregated representation of the notifications, and an input in a notification of the expanded set of notifications for displaying an expanded view of the notifications.
[0218] In FIG. 5BP, a tap input by contact 5224 is detected at a position corresponding to an aggregated representation of notifications including notifications 5066, 5068, 5180, 5196, and 5206. In response to the input by contact 5224, as shown in FIG. 5BQ, a expanded version of the aggregated representation of the notifications is displayed. In FIGS. 5BR-5BS, contact 5226 moves along a path indicated by arrow 5228. As contact 5226 moves upward along the path indicated by arrow 5228, notifications 5206, 5196, 5180, and 5068 also move upward (as if being "dragged" by contact 5226 when the notifications move), revealing notification 5066 of the set of expanded notifications corresponding to the aggregated representation. As shown in FIG. 5BS, in some embodiments, due to the movement of the contact, one or more notifications such as notification 5198 that were "pushed" downward by the expansion of the set of notifications are revealed.
[0219] In FIG. 5BS, contact 5230 (e.g., the same contact as contact 5226 or a separate contact detected after lift-off of contact 5226 from touch screen 112) is at a position on touch screen 112 corresponding to notification 5196. In FIG. 5BT, the characteristic intensity of contact 5230 is increasing above the hint intensity threshold IT H as indicated by intensity level meter 5001. As shown in FIGS. 5BT-5BU, as the characteristic intensity of contact 5230 increases above the hint intensity threshold level IT H , the background of wake screen user interface 5004 becomes increasingly blurred. In FIG. 5BU, the characteristic intensity of contact 5230 is increasing above the light press intensity threshold level IT L as indicated by intensity level meter 5001. The light press intensity threshold level IT LIn response to detecting an increase in the characteristic strength of contact 5230 that exceeds, a deployment version of notification 5196 is being displayed. In FIG. 5BU, the deployment version of notification 5196 includes messages 5232, 5234, 5236, 5238, and 5240 corresponding to notifications 5066, 5068, 5180, 5196, and 5206, respectively. While the deployment version of notification 5196 is being displayed, an input area 5242 including an input field, a messaging controller, and a keyboard is being displayed on the wake screen user interface 5004.
[0220] FIGS. 6A-6E illustrate examples of user interfaces for displaying aggregated notifications according to some embodiments. The user interfaces in those figures are used to illustrate the processes described below, including the processes in FIGS. 7A-7G, FIGS. 8A-8E, and FIGS. 9A-9E. For convenience of explanation, some of the embodiments are discussed with reference to operations performed on a device having a touch sensing display system 112. In such embodiments, the focus selector is optionally a representative point corresponding to each finger or stylus contact, the center of mass of each contact (e.g., the centroid of each contact or a point associated with each contact), or the center of mass of two or more contacts detected on the touch sensing display system 112. However, similar operations are optionally performed on a device having a display 450 and a separate touch sensing surface 451 in response to detecting a contact on the touch sensing surface 451 while the user interface shown in the figure is being displayed on the display 450 together with the focus selector.
[0221] Figures 6A-6D show prompts for adjusting notification settings according to some embodiments. For example, a prompt for adjusting notification settings regarding future notifications of an application is displayed according to a determination that the user's engagement with the application is below an engagement threshold level. Various examples of the prompts described with respect to FIGS. 6A-6D include different features. It will be recognized that various combinations of the features described with respect to FIGS. 6A-6D can be displayed in the prompt.
[0222] In FIG. 6A, a prompt 602 is displayed on the wake screen user interface 5004. The prompt 602 includes the display of a notification 604 corresponding to an event of a social media application. For example, the notification 604 is the most recently received notification of the social media application and / or the notification that triggered the display of the prompt 602. The prompt 602 also includes a controller 606 (e.g., a "maintain" button) for maintaining the current prominence setting regarding notifications of the social media application, a controller 608 (e.g., an "off" button) for turning off notifications of the social media application, and a controller 610 (e.g., a "customize" button) for displaying a notification settings user interface regarding the social media application (e.g., the notification settings user interface 5100 as shown in FIGS. 5AB).
[0223] Figure 6B shows a prompt 614 that includes the display of a notification 604 corresponding to an event of a social media application and the display of aggregated notifications 616 and 618 corresponding to events of a house simulator game application. The prompt 614 includes toggles 620 and 622 for the social media application. The input in the toggle 620 is used to enable / disable indicating future notifications corresponding to events from the social media application. The input in the toggle 622 is used to enable / disable sending future notifications corresponding to events from the social media application to a notification history 5062. The prompt 614 also includes toggles 624 and 626 for the house simulator game application. The input in the toggle 624 is used to enable / disable indicating future notifications corresponding to events from the house simulator game. The input in the toggle 626 is used to enable / disable sending future notifications corresponding to events from the house simulator game to the notification history 5062.
[0224] Figure 6C shows a prompt 628 that includes the display of a notification 604 of a social media application and the display of aggregated notifications 616 and 618 of a house simulator game application. The prompt 628 includes a controller 630 (e.g., a "maintain" button) for maintaining the current prominence setting for notifications of the social media application, a controller 632 (e.g., an "off" button) for turning off the notifications of the social media application, a controller 634 (e.g., a "maintain" button) for maintaining the current prominence setting for notifications of the house simulator game, and a controller 636 (e.g., an "off" button) for turning off the notifications of the house simulator game.
[0225] FIG. 6D shows a prompt 638 that includes a display of a notification 604 corresponding to an event of a social media application and displays of aggregated notifications 616 and 618 corresponding to events of a house simulator game application. The prompt 638 includes a controller 640 (e.g., a "maintain" button) for maintaining the current prominence setting for notifications of the social media application and maintaining the current prominence setting for notifications of the house simulator game, and a controller 642 (e.g., an "off" button) for turning off notifications of the social media application and turning off notifications of the house simulator game.
[0226] FIGS. 7A-7G are flow diagrams showing a method 700 for changing a delivery preference regarding a future notification of an event of a certain event type, according to some embodiments. The method 700 is executed on a device having a display generation component (e.g., a display, a projector, a head-up display, etc.) and one or more input devices (e.g., a touch screen display 112 that functions as both a display and a touch-sensitive surface). In some embodiments, the display generation component is the touch screen display 112, and the touch-sensitive surface is on or incorporated into the display. Some of the operations in the method 700 are optionally combined and / or the order of some of the operations is optionally changed.
[0227] The device detects (702) the occurrence of a first event of a first event type (e.g., while the display is off, while the wake screen user interface 5004 is being displayed, while the application user interface is being displayed, or while the home screen user interface 5182 is being displayed). In some embodiments, the event type corresponds to an application. In some embodiments, the event type corresponds to a subset or category of content within an application (e.g., a message group by the same sender, a message group within the same thread, news from the same news source, etc.). In some embodiments, the first event is an operating system event or an application event related to a change in the device state, receipt of data or content from an external source, or completion of a task, which is used by the operating system as a trigger and basis for generating and / or displaying a corresponding notification to the user outside of the application.
[0228] The device displays, via a display generation component (e.g., in response to detecting the occurrence of a first event of a first event type), a first notification corresponding to the first event type on each user interface of the device (704). For example, in FIG. 5B, a notification 5006 of a social media event is displayed (e.g., the event type of the event corresponding to notification 5006 is an event of a social media application). Notification 5008 is about a message event within the conversation thread with contact Ursula (e.g., the event type of the event corresponding to notification 5008 includes a message event of a message within the conversation thread with contact Ursula). In some embodiments, the notification is displayed as a banner or window overlaid on each user interface, or as an item of each user interface. In some embodiments, each user interface includes a wake screen user interface 5004 (as described with respect to FIGS. 5A1-5A4) that is displayed when the device switches from a display off state to a display on state, a lock screen user interface, an application user interface, a home screen user interface 5182 including a plurality of application launch icons (e.g., 416-446) corresponding to a plurality of applications, a cover sheet user interface 5190 (including, e.g., a notification center) that appears by swiping downward from the upper edge of the home screen / application / widget user interface, or a notification history interface 5062 that appears by swiping upward on the wake screen interface. In some embodiments, the cover sheet user interface 5190 and / or the notification center user interface have an appearance substantially similar to that of the wake screen user interface 5004. For example, elements such as the current time 5054, the current date, notifications, and / or other controllers are displayed in similar positions and / or with a similar appearance on the cover sheet user interface 5190 and the wake screen user interface 5004.In some embodiments, a controller for displaying a set of notification settings controllers (e.g., in a menu or a stand-alone settings user interface) is also displayed simultaneously with the first notification (e.g., the controller appears in response to an input at a location corresponding to the first notification, such as a leftward swipe input). For example, as shown in FIG. 5E, a leftward swipe input in the notification causes a set of notification controllers 5028 corresponding to the notification to appear, and as shown in FIG. 5T, a controller 5074 for displaying a set of notification delivery settings controllers is displayed in the expanded version of the notification.
[0229] While the first notification is being displayed on each user interface, the device detects (706) a first input directed to the first notification via an input device (e.g., an input including a horizontal swipe input as described with respect to FIGS. 5C-5E, and / or a tap input as described with respect to FIG. 5G, or an input including a light press input and / or a tap input as described with respect to FIGS. 5R-5S, or an input including a tap input as described with respect to FIG. 5T). For example, the first input is an input that meets controller display criteria (including, e.g., criteria satisfied according to a determination that the characteristic strength of the contact increases beyond a threshold strength level, and / or criteria satisfied according to a determination that the duration of the contact exceeds a threshold duration), or an input corresponding to a request to display a set of one or more notification delivery preference controllers (e.g., including a tap input or a press input in a controller (e.g., displayed adjacent to the notification)).
[0230] In response to the detection of the first input, the device displays one or more notification delivery preference controllers via a display generation component (e.g., on a control panel that overlays the currently displayed user interface and / or at a location corresponding to the first notification such as a location within or adjacent to the first notification) (708). For example, in response to an input as described with respect to FIGS. 5C-5G, a controller 5040 for changing the delivery preference for future notifications of an event of a certain event type to a less prominent delivery mode, a controller 5042 for turning off future notifications of an event of a certain event type, a controller 5044 for displaying the notification settings user interface of the application, and a controller 5046 for hiding the menu 5038 are included in the notification delivery preference controllers that are displayed in the notification delivery preference controller menu 5038.
[0231] While displaying one or more notification delivery preference controllers (e.g., simultaneously with the first notification on each user interface), the device detects a second input (e.g., an input by contact 5052 as described with respect to FIG. 5I, an input by contact 5090 as described with respect to FIG. 5X, an input by contact 5096 as described with respect to FIG. 5Z, an input by contact 5164 as described with respect to FIG. 5AO, or an input by contact 5178 as described with respect to FIG. 5AR) directed at a set of one or more notification delivery preference controllers via an input device (710). For example, the second input (e.g., including a selection input such as a tap input that selects one of the one or more notification delivery preference controllers) is an input that meets a set modification criterion (e.g., including a criterion that is met according to a determination that the duration between the touch down of the contact and the lift off of the contact is less than or equal to a tap time threshold).
[0232] In response to the detection of the second input, the device changes the delivery preference for future notifications of events of the first event type from a first delivery mode (e.g., a non-intrusive delivery mode or an intrusive delivery mode) to a second delivery mode different from the first delivery mode (e.g., a suppression mode, an intrusive delivery mode, or a non-intrusive delivery mode) (712). For example, in response to the input by contact 5052, the delivery preference for future notifications of events from a social media application changes from an intrusive delivery mode (e.g., notifications from the social media application are distributed to the notification history) to a non-intrusive delivery mode as discussed with respect to FIGS. 5B-5O.
[0233] After changing the delivery preference for future notifications of events of the first event type according to the second input, the device detects the occurrence of a second event of the first event type (e.g., a new social media post as indicated by the text "Notification received from social media application at 6:05 is not displayed on the wake screen" in FIG. 5K) (714).
[0234] In response to detecting the occurrence of a second event of a first event type (716), in accordance with a determination that a second delivery mode corresponds to a non-prominent delivery mode (e.g., a first notification is displayed on the wake screen user interface 5004 or the lock screen user interface in a prominent delivery mode, and a second input changes the delivery mode for the first notification type from a prominent delivery mode to a non-prominent delivery mode), the device adds a second notification corresponding to the second event to the notification history without first displaying the second notification on each user interface. In accordance with a determination that the second delivery mode corresponds to turning off notifications for the first event type (e.g., the first notification was displayed in the notification history 5062 in a non-prominent delivery mode or was displayed on the wake screen user interface 5004 in a prominent delivery mode, and a second input changes the delivery mode for the first notification type from a non-prominent delivery mode or a prominent delivery mode to a suppression mode), the device refrains from first displaying the second notification on each user interface (e.g., refrains from displaying the second notification in the notification history in a non-prominent delivery mode or refrains from displaying the second notification on the wake screen in a prominent delivery mode) and refrains from adding the second notification to the notification history (e.g., in a suppression mode where notifications for the first event type are turned off, notifications for the first event type are not displayed on the wake screen upon receipt and are not stored by the device for future user access (e.g., in the notification history)). In some embodiments, in a non-prominent mode for the first event type, notifications for the first event type are sent directly to the notification history (without first displaying it on the wake screen or lock screen), and the user must provide the necessary input on the wake screen or must lower the cover sheet to view the notification within the notification history on the wake screen or cover sheet.For example, after the delivery preference for future notifications of events in a social media application is changed to an unobtrusive delivery mode as described with respect to FIG. 5I, the notification 5064 of the social media application event that occurred at 6:05 is not displayed on the wake screen user interface 5004 until the notification history 5062 is accessed, as shown in FIGS. 5K - 5O.
[0235] In some embodiments, each event type is a topic (e.g., a news topic, a news source, the subject of a communication thread, a keyword within the subject of a communication thread), a source (e.g., a news source such as a news website), a content type (e.g., a record / list of shared content (e.g., a photo stream)), an aggregation (e.g., a memory) of related content generated by a device, or a folder. In some embodiments, each event type corresponds to a contact or a contact group (e.g., regarding an item of communication content such as a message, a missed call, a voicemail, or an email). In some embodiments, an application does not need to obtain user permission to deliver notifications (e.g., of one or more event types corresponding to the application) according to an unobtrusive delivery mode (e.g., the unobtrusive delivery mode is the default mode in which notifications of one or more event types corresponding to the application are delivered until the application obtains user permission to change the delivery mode or the user changes the delivery mode using a notification delivery preference controller). In some embodiments, notifications of one or more event types corresponding to an application are turned off until the application obtains user permission to change the notification mode.
[0236] By changing the delivery preference for future notifications of events of an event type in response to an input received while a notification of the event type is being displayed, the number of inputs required to change the delivery preference for future notifications of events of the event type is reduced. By reducing the number of inputs required to perform an operation, the operability of the device is improved, (for example, by enabling the user to change the delivery preference regarding notifications without requiring an input to access the settings user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device faster and more efficiently, the power consumption is reduced and the battery life of the device is improved.
[0237] In some embodiments, in response to detecting the occurrence of a second event of a first event type, the device displays (718) a second notification of the first event type on a wake screen user interface (e.g., wake screen user interface 5004) that is different from each user interface, according to a determination that the second delivery mode corresponds to a prominent delivery mode. For example, the first notification is displayed in a notification history 5062 that is accessible under a non-prominent delivery mode (e.g., accessible from wake screen user interface 5004 or cover sheet user interface 5190), and the second input changes the delivery mode for the first notification type from a non-prominent delivery mode to a prominent delivery mode. In some embodiments, the prominent delivery mode is a mode in which a notification corresponding to the first event type is displayed on the currently displayed user interface (e.g., while the device is in use) upon the occurrence of an event of the first event type, and / or a notification corresponding to the first event type is displayed when the wake screen user interface 5004 or lock screen is displayed after the occurrence of an event of the first event type. In some embodiments, the first notification is not initially displayed on the wake screen user interface 5004, and user input is required to view the first notification of each user interface after the first event occurs. The user input to view the first notification is, for example, a swipe up on the wake screen 5004 to call up the notification history user interface 5062 (e.g., to display the notification history 5062 as described with respect to FIGS. 5N-5O), or a swipe down on the home screen user interface 5182, desktop user interface, widget user interface, or another user interface displayed by the device (e.g., as described with respect to FIGS. 5AW-5AZ).In some embodiments, the second notification is displayed when the wake screen user interface 5004 is first displayed, and no user input is required to view the second notification on the wake screen user interface 5004. In some embodiments, the application must obtain permission from the user to display notifications in a prominent notification delivery mode. In response to input received while a notification of a certain event type is being displayed, by changing the delivery preference for future notifications of events of the event type, the number of inputs required to make future notifications more prominent is reduced. By reducing the number of inputs required to perform an operation, the operability of the device is improved, (e.g., by enabling the user to make future notifications of events of the event type more prominent without requiring input to access the settings user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0238] In some embodiments, each user interface includes a notification history (720) (e.g., each user interface is a notification user interface 5062 that is displayed in response to an upward swipe on the wake screen user interface 5004, or each user interface is a cover sheet user interface 5190 that is displayed in response to a downward swipe from the upper edge of the touch screen 112 detected while the home screen user interface 5182 or an application user interface is being displayed). In response to an input received while the notification history is being displayed, by changing the delivery preference for future notifications of an event of a certain event type to a prominent delivery mode, the number of inputs required to change the delivery preference for future notifications of an event of the event type is reduced. By reducing the number of inputs required to perform an operation, the operability of the device is improved, (e.g., by enabling the user to change the delivery preference for future notifications of an event of the event type without requiring an input to access the settings user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0239] In some embodiments, the device displays (722) a first notification of a first event type and a first notification of a second event type different from the first event type (e.g., the first notification of the second event type corresponds to the occurrence of a first event of a second event type different from the first event type) simultaneously on respective user interfaces (e.g., a notification history user interface, a wake screen, or a cover sheet user interface, etc.). For example, the first notification of the first event type is a notification 5006 of a social media application, and the first notification of the second event type is a notification 5014 of a podcast application. While the first notification of the first event type and the first notification of the second event type are being simultaneously displayed on respective user interfaces, the device detects (724) the occurrence of an event of the second event type (e.g., a second event of the second event type that occurred after the first event of the second event type). In accordance with a determination that no input for changing the delivery preference regarding future notifications of events of the second event type has been detected since the first notification of the second event type was displayed on the respective user interfaces, the device displays (726) a second notification of the event of the second event type according to the current delivery mode regarding notifications of the second event type (e.g., an unobtrusive delivery mode or an obtrusive delivery mode). For example, the notification 5014 of the podcast application was delivered according to an obtrusive delivery mode as shown in FIG. 5B, and the notification 5200 of the podcast application was also delivered according to an obtrusive delivery mode as shown in FIG. 5BA.Enable a user to change (or bypass a change to) a delivery preference for notifications of events of a certain event type, and deliver notifications according to a delivery mode indicated by the changed (or unchanged) delivery preference, thereby making the user-device interface more efficient and improving the operability of the device (e.g., by displaying notifications according to settings specified by the user, thereby reducing the time and / or number of inputs required to display desired notifications from prominent notifications while maintaining the possibility for the user to display less prominent notifications (e.g., in a notification history)). By enabling the user to use the device more quickly and efficiently, power consumption is reduced and the battery life of the device is improved.
[0240] In some embodiments, while the delivery preference for future notifications of events of the first event type corresponds to the second delivery mode, the device detects a third input (728) for displaying a notification settings user interface corresponding to the first event type (e.g., notification settings user interface 5100). In some embodiments, the third input is an input directed to a notification delivery preference controller (e.g., the controller displayed in notification delivery preference controller menu 5078). For example, the third input is an input at controller 5044 for displaying the notification settings user interface of a social media application, as described with respect to FIG. 5AA. In some embodiments, the third input is an input detected while a general notification settings user interface is being displayed (e.g., an input for displaying the notification settings user interface corresponding to an application). In some embodiments, the notification settings user interface (e.g., of an application) is displayed after a series of inputs including, for example, an input for unlocking the device, an input for displaying home screen user interface 5182, an input for navigating to a home screen user interface page including settings icon 446, an input for displaying a general settings user interface, and / or an input for displaying a general notification settings user interface. In response to detecting the third input, the device displays notification settings user interface 5100 corresponding to the first event type, which includes displaying an indication (e.g., text, an image, and / or a graphic with an animation displayed, and / or selectable controllers for selecting a preferred delivery mode) corresponding to the second delivery mode currently being selected in notification settings user interface 5100 (730). For example, in FIG. 5AB, active mode indicators 5118 and 5120, and toggles 5106 and 5108 indicate that the prominent delivery mode is not activated and the unobtrusive delivery mode is activated.In some embodiments, changes made in response to a second input are saved and reflected in the notification settings user interface 5100 without additional input from the user. For example, after a user provides an input to change the delivery preference for future notifications of events of a first event type from a first delivery mode to a second delivery mode, when navigating to the notification settings user interface, the notification settings user interface displays an indication that the second delivery mode is currently selected when the notification settings user interface is presented to the user. By displaying an indication of the currently selected delivery mode after changing the delivery preference to the second delivery mode, improved feedback indicating the current state of the device is provided. By providing improved feedback, the operability of the device is enhanced, (e.g., by helping the user understand the result of the input provided to change the delivery preference to the second delivery mode, by reducing user errors when interacting with the device,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, power consumption is reduced and the battery life of the device is improved.
[0241] In some embodiments, while a notification settings user interface corresponding to a first event type is being displayed (e.g., as a result of a third input to display a notification settings user interface corresponding to the first event type), the device detects an input directed to a delivery mode controller corresponding to each of a plurality of delivery modes (e.g., the delivery mode controller is each delivery mode controller of a plurality of delivery mode controllers corresponding to a plurality of delivery modes) (732). For example, while a notification settings user interface 5100 corresponding to an event of a social media application is being displayed, as shown in FIG. 5AD, an input directed to a delivery mode controller (e.g., a toggle 5106 for enabling / disabling showing an application notification in a wake screen user interface 5004) is detected. In response to detecting an input directed to the delivery mode controller (734), the device changes the delivery mode preference for future notifications of events of the first event type from the currently selected delivery mode (e.g., the second delivery mode) to each delivery mode, and the device displays each animation (e.g., of a controller and / or an image displayed at a position corresponding to the controller) indicating notification delivery under each delivery mode. In some embodiments, the animation indicates the delivery mode by indicating markers (e.g., to a display generation component and / or a representation of an application window) of the size of a notification representation, a movement path of the notification representation, a duration for which the notification representation is displayed, and / or whether the notification representation is displayed on a wake screen, whether it is displayed as a banner in the currently displayed user interface, and / or whether it is sent directly to a notification history. For example, in response to an input by a contact 5124 as described with respect to FIG. 5AD, the states of the toggle 5106 and the active mode indicator 5118 change from FIGS. 5AD - 5AE, and an animation sequence of an animation icon 5116 is started as shown in FIGS. 5AE - 5AF.In some embodiments, the notification animation continues while the notification option is selected and stops when the notification option is not selected. In some embodiments, the notification animation continues regardless of whether the notification option is selected. By displaying an animation indicating notification delivery according to the currently selected delivery mode, improved feedback indicating the state of the device is provided. By providing improved feedback, the operability of the device is improved, (e.g., by helping the user understand the results of the input provided to change the delivery preference to the delivery mode, by reducing user errors when interacting with the device, ) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device faster and more efficiently, the power consumption is reduced and the battery life of the device is improved.
[0242] In some embodiments, while each notification is being displayed (e.g., on the wake screen interface, the lock screen interface, or the notification history), the device receives a fourth input (e.g., a characteristic intensity of contact is a first intensity threshold (e.g., a light press intensity threshold IT) for calling the corresponding expanded version of each notification (e.g., the expanded version includes the content of each notification and additional content and / or control affordances that do not exist in each notification when each notification is not expanded). L) that exceeds the input or touch-and-hold input) is detected (736). For example, the fourth input is a light press input by contact 5070 at a position on the touch screen 112 corresponding to the notification 5064, as shown in FIGS. 5Q to 5S. In response to the detection of the fourth input, the device displays the expanded version of each notification (738), and the expanded version of each notification includes a controller for triggering the display of at least one of the notification delivery preference controllers. For example, in response to the fourth input as shown in FIGS. 5Q to 5S, in FIG. 5S, the expanded version of the notification 5064 is displayed. In some embodiments, the device detects a fifth input for triggering the display of at least one of the notification delivery preference controllers (740). For example, the fifth input is a tap input by contact 5076 at a position on the touch screen 112 corresponding to the controller 5074, as shown in FIG. 5T. In response to the fifth input, the device displays at least one of one or more notification delivery preference controllers (for example, at a position corresponding to the expanded version of each notification, such as within or adjacent to the expanded version of each notification) (including, for example, a controller for selecting from two or more notification delivery modes) (742). For example, in response to the fifth input as shown in FIG. 5T, the device includes a controller 5080 for changing the delivery preference for future notifications of a certain event type to a prominent delivery mode, a controller 5040 for changing the delivery preference for future notifications of a certain event type to an unobtrusive delivery mode, and a controller 5042 for turning off future notifications of a certain event type, and displays a notification delivery preference controller menu 5078. By displaying a delivery preference controller for changing the delivery preference for future notifications of an event of an event type in response to an input detected while the expanded version of the notification of the event type is being displayed, the number of inputs required to change the delivery preference for future notifications of an event of the event type is reduced.By reducing the number of inputs required to perform operations, the operability of the device is improved, (for example, by enabling the user to change the delivery preferences regarding notifications without requiring user input to access the settings user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device faster and more efficiently, the power consumption is reduced and the battery life of the device is improved.
[0243] In some embodiments, while at least one notification is being displayed (e.g., in the wake screen user interface 5004, the lock screen interface, or the notification history 5062), the device detects a sixth input directed to each notification (744). In response to the detection of the sixth input (746), the sixth input (e.g., a leftward swipe input) is determined by the notification controller display criteria (e.g., the determination that the contact moves along a substantially horizontal path by a distance exceeding a threshold distance (e.g., a leftward swipe), and / or the characteristic strength of the contact at the position corresponding to each notification is at a first strength threshold (e.g., a light press strength threshold IT L)In accordance with the determination that it exceeds and increases, the device includes criteria to be satisfied. In accordance with the determination that it is satisfied, the device displays at least one of one or more notification delivery preference controllers (for example, controllers 5040, 5042, and / or 5080). The sixth input is a notification selection criterion (for example, the sixth input is a tap input (for example, the duration between the touch down of the contact and the lift off of the contact is less than or equal to the tap time threshold, and the characteristic strength of the contact at the position corresponding to each notification does not increase beyond the first strength threshold), or a long press input (for example, the duration between the touch down of the contact and the lift off of the contact is longer than the tap time threshold, and the characteristic strength of the contact at the position corresponding to each notification does not increase beyond the first strength threshold)). In accordance with the determination that it is satisfied, the device stops each user interface and displays the user interface corresponding to each event type corresponding to each notification. For example, in accordance with the determination that the input directed to notification 5006 regarding an event from a social media notification satisfies the notification selection criterion, the user interface of the social media application is displayed. By determining whether to display the notification delivery preference controller or display the user interface corresponding to each event according to whether the input directed to the notification satisfies the notification controller display criterion, a plurality of different types of operations can be executed by the input directed to the notification. By enabling the execution of a plurality of different types of operations by the input directed to the notification, the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device faster and more efficiently, the power consumption is reduced and the battery life of the device is improved.
[0244] In some embodiments, each notification in a set of notifications displayed on each user interface has a corresponding priority assessment (748), and each user interface includes a prioritization controller (e.g., a “prioritize” button) (e.g., when the prioritization controller is selected, the device causes the future notifications that do not meet the prioritization criteria (e.g., each having a priority assessment less than the priority threshold) not to be displayed (e.g., not to be displayed on the wake screen, not to be displayed in the notification history, or not to be displayed at all), and causes the future notifications that meet the prioritization criteria (e.g., each having a priority assessment greater than or equal to the priority threshold) to be displayed). In some embodiments, while displaying a set of notifications on each user interface, the device detects a seventh input directed to the prioritization controller (750) (e.g., detects a tap input on the prioritization controller), and in response to the detection of the seventh input, the device activates the prioritization delivery mode (752). The device detects the occurrence of each event (754). In response to the detection of each event (756), (e.g., when an event is detected) according to the determination that the prioritization delivery mode is activated, the device determines whether each event meets the prioritization criteria (e.g., the notification corresponding to the event has a priority score greater than or equal to the priority threshold), and according to the determination that each event meets the prioritization criteria, the device displays a fourth notification corresponding to each event on each user interface (e.g., in a specified area of the user interface, such as the top of the list of displayed notifications). In some embodiments, according to the determination that each event does not meet the prioritization criteria, each notification is distributed to the notification history. In some embodiments, according to the determination that each event does not meet the prioritization criteria, the device refrains from displaying each notification on each interface and refrains from adding each notification to the notification history.In some embodiments, in accordance with a determination that each event does not meet a prioritization criterion, the device refrains from displaying each notification on each user interface. In some embodiments, in accordance with a determination that a prioritized delivery mode is not activated, the device delivers notifications according to each delivery mode corresponding to each event type of each event. By activating the prioritized delivery mode and delivering notifications according to the prioritization mode, the user-device interface becomes more efficient and the operability of the device is improved (e.g., by displaying notifications according to the prioritization settings indicated by the user, which reduces the number of inputs required to display desired notifications from the available notifications). By enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0245] In some embodiments, the device displays each user interface (758) in response to an input (e.g., a tap on the touch screen, movement of the device in a predetermined manner, movement of the device to a predetermined orientation, pressing of a button, etc.) that switches the device from a display-off state to a display-on state (e.g., wakes the device). For example, each user interface is a wake screen user interface 5004 that is displayed after the device has switched from a display-off state to a display-on state (e.g., as described with respect to FIGS. 5A2-5A3 or as described with respect to FIGS. 5AZ-5BA). While displaying each user interface (e.g., wake screen user interface 5004), the device detects a swipe input (e.g., an upward or downward swipe input) on each user interface (760). For example, the swipe input is an input as described with respect to FIGS. 5BB-5BD. In response to detecting the swipe input, the device displays a notification history (762) according to a determination that the swipe input on each user interface meets a notification history display criterion (e.g., the notification history display criterion requires (1) detection of movement of contact after reaching the end of a scrollable array of new notifications (e.g., the last new notification) in each user interface and / or (2) movement of contact continuing after reaching the end of the scrollable array to exceed a movement threshold amount in the current scroll direction) (e.g., the notifications currently displayed on each user interface are not saved in the notification history 5062 or not displayed at this point). In some embodiments, according to a determination that the swipe input does not meet the notification history display criterion, the device scrolls each user interface without displaying the notification history.By displaying a notification history in response to a swipe input (meeting the notification history display criteria) received while the wake screen user interface is being displayed without requiring further input, the operability of the device is improved, (for example, by enabling the user to access the notification history without requiring an input to navigate away from the wake screen user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0246] In some embodiments, the device displays each user interface (764) in response to an input that switches the device from a display-off state to a display-on state (e.g., wakes the device). While each user interface is being displayed, the device detects an input for hiding each user interface (e.g., hiding the wake screen user interface 5004 and displaying the home screen 5182, such as an upward swipe from the lower edge of the screen, pressing the home button, etc.), as well as an authentication input (e.g., biometric input such as face recognition input and / or fingerprint sensor input on the home button, or passcode input) (766). In response to hiding each user interface, the device displays a second user interface different from each user interface (e.g., the home screen user interface 5182 or an application user interface) (768). While the second user interface is being displayed, the device detects a swipe input on each user interface (e.g., an upward or downward swipe from the edge of the touch screen) (770). In response to detecting the swipe input, and according to a determination that the swipe input on each user interface meets the cover sheet display criteria, the device displays a cover sheet user interface (e.g., the cover sheet user interface 5190) that includes a notification history (e.g., the notification history 5062) (772) (e.g., any previously displayed notifications on each user interface are optionally already saved in the notification history 5062 at this point and are being displayed). For example, the cover sheet user interface 5190 that includes the notification history 5062 is displayed in response to a swipe input detected while the home screen user interface 5182 is being displayed (after the wake screen user interface 5004 has been hidden), as described with respect to FIGS. 5AU - 5AX.By displaying a notification history on a cover sheet user interface that becomes accessible after a wake screen user interface is made invisible, the number of inputs required to display the notification history is reduced. By reducing the number of inputs required to perform an operation, the operability of the device is improved, (e.g., by enabling the user to view the notification history without requiring an input to redisplay the wake screen user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0247] It should be understood that the particular order described for the operations in FIGS. 7A-7G is merely an example and is not intended to indicate that the described order is the only order in which the operations can be performed. One of ordinary skill in the art will recognize various ways to reorder the operations described herein. Additionally, note that the details of the other processes described herein with respect to the other methods described herein (e.g., methods 800 and 900) can also be applied in a similar manner to method 700 described above with respect to FIGS. 7A-7G. For example, the contacts, inputs, controllers, event types, delivery modes, intensity thresholds, and / or animations described above with reference to method 700 optionally have one or more of the characteristics of the contacts, inputs, controllers, event types, delivery modes, intensity thresholds, and / or animations described herein with reference to the other methods described herein (e.g., methods 800 and 900). For brevity, those details are not repeated here.
[0248] Figures 8A - 8E are flow diagrams showing a method 800 for displaying aggregated notifications, according to some embodiments. Method 800 is performed on an electronic device (e.g., device 300 (FIG. 3) or portable multifunctional device 100 (FIG. 1A)) having a display generation component and one or more input devices. In some embodiments, the display generation component is a touch screen display 112, where the touch sensing surface is on or incorporated into the display. Some operations of method 800 are optionally combined and / or the order of some operations is optionally changed.
[0249] The device has a plurality of notifications in a notification history (e.g., notification history 5062), the plurality of notifications including a first notification of a first event of a first event type (e.g., notification 5066 of an event of a conversation thread with contacts Edwin and Madeline as shown in FIG. 5AY) and a second notification of a second event of the first event type (e.g., notification 5068 of an event of a conversation thread with contacts Edwin and Madeline), the first notification and the second notification being aggregated in the notification history (e.g., when the notification history is displayed in a notification history user interface or a cover sheet user interface, the first and second notifications appear aggregated or shrunk (e.g., it is possible to fully view the content of only one of the two notifications or not fully view the content of either of the two notifications)), and the device detects (802) the occurrence of one or more additional events of the first event type. For example, in FIG. 5BD, notification 5068 is aggregated with notification 5066 (as shown by, e.g., partial overlap of notification 5066 by notification 5068).
[0250] In response to detecting the occurrence of a first additional event of the first event type, the device creates (804) a third notification of the first additional event of the first event type.
[0251] After creating the third notification of the first additional event of the first event type, the device receives, via an input device, a request (e.g., an input or device event to wake the device) to display the device's wake screen user interface (e.g., the wake screen user interface is an initial user interface that is displayed when the device switches from a display-off state to a display-on state (e.g., in response to a gesture or input to wake the device or in response to the arrival of a new notification)) (806).
[0252] In response to the request to display the device's wake screen user interface, the device displays, via a display generation component, a wake screen user interface with the third notification (808), and the third notification is displayed on the wake screen user interface without information regarding the first and second notifications. For example, in FIGS. 5AZ - 5BA, in response to the request to display the wake screen user interface 5004, the wake screen user interface 5004 is displayed with a notification 5196 of an event within the conversation threads with contacts Edwin and Madeline.
[0253] After the third notification is displayed on the wake screen user interface, the device receives, via an input device, a request to display a notification history (e.g., an upward swipe on the wake screen user interface to call the notification history user interface, or a downward swipe from the upper edge of the display detected when the home screen or application user interface is displayed) (810). For example, in FIGS. 5BB - 5BD, the notification history 5062 appears due to an upward swipe input by contact 5202.
[0254] In response to receiving a request to display a notification history (e.g., notification history 5062), the device displays (812) a notification history (e.g., notification history 5062) with an aggregated representation of a first notification and a second notification (e.g., the aggregated representation of notifications 5066 and 5068 in FIG. 5BD (notification 5180 is also aggregated)). In some embodiments, the aggregated representation includes only the content of one of the first and second notifications, partial content of both the first and second notifications, or an overview of the content of the first and second notifications (e.g., the aggregated representation is a stack of notifications of events of a first event type, with the most recent notification on top). By displaying an aggregated representation of notifications of a certain event type (e.g., after an additional notification of the event type is displayed on the wake screen so that notifications of an event type not yet sent to the notification history are not aggregated with notifications of the event type within the notification history) in the notification history user interface, a display of notifications of the event type is provided without disturbing the notification history user interface by the separate display of each notification. By displaying notifications without disturbing the notification history user interface, the operability of the device is improved, (e.g., by enabling the user to access in the notification history user interface notifications of an event type different from the event type of the aggregated notifications without the need for input to scroll through separate past notifications of the event type), the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0255] In some embodiments, in response to detecting the occurrence of a second additional event of a first event type (e.g., either before or after a third notification of a first additional event of the first event type is created and before the third notification is displayed on the wake screen user interface), the device creates (814) a fourth notification of the second additional event of the first event type. For example, notification 5206 corresponds to a second additional event within the conversation thread with contacts Edwin and Madeline.
[0256] In response to a request to display a device's wake screen user interface, the device displays a third notification and a aggregated fourth notification on the wake screen user interface (816). For example, in FIG. 5BF, notification 5206 is aggregated with notification 5196 when the wake screen user interface 5004 is displayed as shown in FIG. 5BF following a screen off state as shown in FIG. 5BE. By displaying an aggregated representation of notifications of a certain event type (e.g., after one or more additional notifications of the event type are displayed on the wake screen so that each notification of the event type is displayed separately before being aggregated with other notifications of the event type) on the wake screen user interface, the display of notifications of the event type is provided without disturbing the wake screen user interface by the simultaneous separate display of each notification. By displaying notifications without disturbing the wake screen user interface, the operability of the device is improved, (e.g., by enabling the user to access, within the wake screen user interface, notifications of an event type different from the event type of the aggregated notifications without the need for input to scroll through past separate notifications of the event type), the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0257] In some embodiments, after displaying a third notification on the wake screen user interface, the device detects an input (818) to hide the wake screen user interface. For example, in response to an input to display the home screen user interface or an application user interface, such as activation of the device's home button or a gesture on the touch-sensitive display (e.g., an upward swipe input from the lower edge of the touch screen 112 to display the home screen user interface 5182 as shown in FIGS. 5BG-5BH), the wake screen user interface is hidden. In response to an input to hide the wake screen user interface, the device stops the wake screen user interface (e.g., wake screen user interface 5004) and the third notification (e.g., notification 5196) (820). While the third notification meets the notification history display criteria (e.g., the third notification has not been explicitly dismissed by the user on the wake screen), the device detects an input to display the notification history (e.g., an upward swipe input on the re-displayed wake screen user interface 5004 as shown in FIGS. 5BJ-5BK) (822). In some embodiments, the input to display the notification history is an input as described, for example, with respect to operations 758-762 of method 700 (FIGS. 7A-7G) or as described with respect to operations 764-772. In response to detecting an input to display the notification history, the device displays a notification history with an aggregated representation of the third notification, the second notification, and the first notification (e.g., the third notification is added on top of a stack that includes the first and second notifications) (824). For example, in FIG. 5BK, the notification history 5062 is displayed by an aggregated representation of the third notification 5196, the second notification 5068, and the first notification 5066 (as well as notifications 5180 and 5206). By aggregating previously displayed notifications on the wake screen user interface with notifications of the same event type within the notification history user interface, a display of notifications of the event type is provided without disturbing the notification history user interface by a separate display of each notification.By presenting notifications without disturbing the notification history user interface, the device's operability is improved, (for example, by enabling the user to access within the notification history user interface notifications of an event type different from the event type of the aggregated notifications without the need for input to scroll through separate past notifications of the event type, ) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0258] In some embodiments, in accordance with a determination that a time difference meets a criterion (e.g., including a determination that a time difference between the time corresponding to the occurrence of an event represented by a third notification and the time corresponding to the occurrence of an event represented by a second notification exceeds a threshold duration, and / or a determination that the event represented by the third notification and the event represented by the second notification occurred on different days) in response to detection of an input for displaying a notification history, the device refrains from displaying a notification history with an aggregated representation of the third notification, the second notification, and the first notification, and the device displays the third notification in the notification history separately from the aggregated representation of the first notification and the second notification. In some embodiments, in accordance with a determination that the time difference does not meet the timing criterion (e.g., two events occurred on the same day, or the difference between the occurrences of two events is less than or equal to a threshold time), the device displays a notification history with an aggregated representation of the third notification, the second notification, and the first notification. By refraining from aggregating notifications in accordance with a determination that a time difference (e.g., between the occurrence of the most recent event of a certain event type and the occurrence of the next most recent event of the certain event type) between events corresponding to the notifications meets the timing criterion, the number of inputs required to view notifications of events that occurred during different periods (e.g., different days) is reduced. By reducing the number of inputs required to view notifications of events that occurred during different periods, the operability of the device is improved, (e.g., by enabling the user to view notifications received on different days separately without requiring an input to expand the aggregated representation of the notifications,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0259] In some embodiments, displaying each of the aggregated representations of the notifications (e.g., the aggregated representations of the notifications within the notification history 5062 such as the aggregated representation of the first notification and the second notification, or the aggregated representations of the notifications on the wake screen user interface 5004 such as the aggregated representation of the third notification and the fourth notification) includes displaying at least a portion of the content corresponding to the most recently created notification of each of the aggregated representations of the notifications (828) (e.g., while the aggregated representation of the first notification and the second notification is displayed, if the second notification was created more recently than the first notification, at least a portion of the content corresponding to the second notification is displayed). In some embodiments, the portion of the content includes identification information of the source of the communication (e.g., contact name, contact image, phone number, news source, etc.) and / or at least a portion of the communicated information (e.g., message content, news article title, news article content, voicemail recording, social media post content, social media comment content, calendar invitation information, calendar reservation information, etc.) of the communication (e.g., phone call, voicemail, message, social media post, news article, calendar invitation). For example, in an aggregated representation of the notifications including notifications 5066 and 5068 as shown in FIG. 5AY, the text of the message ("Let's get in together!"), the sender information ("Madeline"), the thread information ("To you and Edwin"), and the reception time ("3 hours ago") are the displayed content corresponding to the most recently created notification 5068 of the aggregated representation of the notifications. By displaying at least a portion of the content corresponding to the most recently created notification of the aggregated representation of the notifications, the number of inputs required to view the content of the most recently created notification is reduced.By reducing the number of inputs required for the content of the most recently created notifications (for example, by enabling the user to view the content of the notifications without requiring an input to access the content of the notification), the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0260] In some embodiments, each aggregated representation of notifications (for example, an aggregated representation of notifications within the notification history 5062, such as an aggregated representation of the first and second notifications, or an aggregated representation of notifications on the wake screen user interface 5004, such as an aggregated representation of the third and fourth notifications) includes summary information (for example, the contact of the communication event type, source identification information, number of purchases, number of calendar invitations, number of likes / retweets / mentions) including the number of notifications represented by each aggregated representation (830). For example, an aggregated representation of notifications including notifications 5066 and 5068 as shown in FIG. 5AY includes the number of notifications represented by the aggregated representation ("+1 from Edwin and others"). By displaying summary information including the number of notifications represented by the aggregated representation of the notifications, the number of inputs required to obtain the number is reduced. (For example, by enabling the user to view the summary information without requiring an input to expand the aggregated representation of the notifications to view the data of each notification,) By reducing the number of inputs required to obtain the number of aggregated representations of the notifications, the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0261] In some embodiments, each aggregated representation of the notifications (e.g., an aggregated representation of notifications within the notification history 5062 such as an aggregated representation of a first notification and a second notification, or an aggregated representation of notifications on the wake screen user interface 5004 such as an aggregated representation of a third notification and a fourth notification) includes a plurality of summary information indicators (832), and each summary information indicator of the plurality of summary information indicators corresponds to a respective category of the counted items corresponding to the content of the notification represented by each of the aggregated representations (e.g., likes and retweets are separately summarized in a set of aggregated notifications). By displaying summary information including a plurality of summary information indicators of the aggregated representation of the notifications, the number of inputs required to obtain the summary information is reduced. (For example, by enabling the user to view the plurality of summary information indicators without requiring an input to expand the aggregated representation of the notifications to view the data of each notification separately,) by reducing the number of inputs required to obtain the summary information of the aggregated representation of the notifications, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0262] In some embodiments, the device detects (834) an input (e.g., a tap input directed to the aggregated representation) for expanding each aggregated representation of the notifications (e.g., an aggregated representation of notifications within the notification history 5062 such as an aggregated representation of a first notification and a second notification, or an aggregated representation of notifications on the wake screen user interface 5004 such as an aggregated representation of a third notification and a fourth notification). For example, a tap input by contact 5218 for expanding an aggregated representation of notifications including notifications 5066, 5068, 5180, 5196, and 5206 is shown in FIG. 5BL.
[0263] In response to an input for expanding each of the aggregated representations, the device displays a expanded version of a set of notifications corresponding to each of the aggregated representations (836). For example, in FIG. 5BM, notifications 5206, 5196, 5180, and 5068 are displayed separately. In some embodiments, at least a portion of each of the aggregated representations of the notifications is displayed. In some embodiments, in response to an input for expanding each of the aggregated representations, one or more respective notifications not within the set of notifications corresponding to each of the aggregated representations move to different positions within the wake screen user interface (e.g., are "pushed" out by the expansion of the set of notifications). For example, at least one notification not within the set of notifications moves toward the lower edge of the wake screen user interface. In some embodiments, in response to an input for expanding each of the aggregated representations, one or more respective notifications not within the set of notifications corresponding to each of the aggregated representations are no longer displayed in the wake screen user interface (e.g., notification 5198 is not shown in FIG. 5BM because it was pushed out by the expansion of the expanded version of the set of notifications). In some embodiments, a controller for erasing all of the notifications within the aggregated representation set of each notification (e.g., controller 5221 as shown in FIG. 5BN) is displayed in response to an input for expanding each of the aggregated representations. By displaying an expanded version of the set of notifications corresponding to the aggregated representation of the notifications in response to an input for expanding the aggregated representation, the user is provided with the possibility of displaying the individual notifications of the aggregated set, or the notifications in an aggregated state that does not disrupt the user interface. By providing the user with the possibility of displaying the individual notifications of the aggregated set, or the notifications in an aggregated state that does not disrupt the user interface, the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0264] In some embodiments, while the expanded versions of the sets of notifications corresponding to each of the aggregated representations are being displayed, the device detects (838) an input for hiding the sets of notifications corresponding to each of the aggregated representations (e.g., an input directed to controller 5221 to dismiss all of the notifications of the aggregated representation set of each notification, or an input on the user interface (e.g., a vertical swipe)). In response to the input for hiding the sets of notifications corresponding to each of the aggregated representations, the device dismisses (840) the sets of notifications corresponding to each of the aggregated representations (e.g., if each of the aggregated representations is shown in the notification history, it deletes from the notification history, and if each of the aggregated representations is shown on the wake screen, it dismisses the notifications without saving them to the notification history). For example, in response to the input directed to controller 5221, notifications 5066, 5068, 5180, 5196, and 5206 (corresponding to the aggregated representation of the notifications) are dismissed. By dismissing the sets of notifications corresponding to the aggregated representation of the notifications in response to the input for hiding the set of notification representations, the number of inputs required to dismiss the set of notifications is reduced. By reducing the number of inputs required to perform an operation, the operability of the device is improved, (e.g., by enabling the user to dismiss multiple notifications without requiring an input to dismiss each notification independently, ) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0265] In some embodiments, while the expanded versions of the sets of notifications corresponding to each of the aggregated representations are being displayed, the device detects (842) an input directed to each notification of the set of notifications that meets the notification expansion criteria (e.g., the notification expansion criteria is a press input (e.g., the characteristic intensity of the contact is a first intensity threshold (e.g., a light press intensity threshold IT L) is satisfied by an input that increases above ()) or a touch-and-hold input. In response to detecting an input that satisfies the notification expansion criteria, the device displays the expanded version of each notification (844). For example, as shown in FIGS. 5BS to 5BU, in response to a light press input by contact 5230 directed to notification 5196, as shown in FIG. 5BU, the expanded version of notification 5196 is displayed. By displaying the expanded version of the notification in response to an input directed to the notification, an option to view the expanded version of the notification is provided without disturbing the user interface by additional controllers that are displayed to view the expanded version of the notification. By providing an option to view the expanded version of the notification without disturbing the user interface by additional controllers that are displayed to view the expanded version of the notification, the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device faster and more efficiently, the power consumption is reduced and the battery life of the device is improved.
[0266] In some embodiments, while a deployed version of a set of notifications corresponding to each of the aggregated representations is being displayed, the device detects an input (e.g., a tap input directed to a controller for re-aggregating the set of notifications) for re-aggregating the set of notifications (846). In response to the input for re-aggregating the set of notifications, the device re-displays an aggregated version of the set of notifications corresponding to each of the aggregated representations (848). For example, in FIGS. 5BN-5BO, in response to an input directed to controller 5220, the deployed version of the set of notifications shown in FIG. 5BN is re-aggregated as shown in FIG. 5BO. In some embodiments, after expanding the set of notifications, other notifications that were not displayed when the set of notifications was expanded are re-displayed. For example, notification 5198 is not displayed when the expanded set of notifications is displayed, as shown in FIG. 5BN. Notification 5198 is re-displayed in FIG. 5BO when the set of notifications is re-aggregated. By re-displaying an aggregated version of the set of notifications corresponding to the aggregated representation of the notifications in response to an input for re-aggregating the set of notifications, the user is provided with the possibility of displaying individual notifications of the aggregated set, or the notifications in an aggregated state that does not disrupt the user interface. By providing the user with the possibility of displaying individual notifications of the aggregated set, or the notifications in an aggregated state that does not disrupt the user interface, the operability of the device is improved, the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0267] In some embodiments, each of the first applications (e.g., a communication application and / or a news application) generates events of a plurality of distinct event types (850) (e.g., a single event type corresponds to all communications or articles (e.g., messages, phone calls, voicemails, and / or emails) from a contact, a contact group, or a source). A plurality of notifications in the notification history include a fifth notification corresponding to each event type of the first of the plurality of distinct event types, a sixth notification corresponding to each event type of the first event type, and a seventh notification corresponding to each event type of the second of the plurality of distinct event types (852). For example, a messaging application generates events of a plurality of distinct event types (e.g., each conversation thread is a distinct event type). In FIG. 5BO, notifications 5206, 5196, 5180, 5068, and notification 5066 are notifications of events of a first event type (events within the conversation thread with Madeline and Edwin), and notification 5198 is a notification of an event of a second event type (e.g., an event within the conversation thread with Neal). In response to detecting a request to display the notification history (854), the device displays an aggregated representation of the fifth and sixth notifications in the notification history, and the device displays the seventh notification in the notification history separately from the aggregated representation of the fifth and sixth notifications. For example, in the notification history 5062 shown in FIG. 5BO, an aggregated representation of notifications 5206, 5196, 5180, 5068, and 5066 (of a first type of event generated by the messaging application) is displayed, and separately from the aggregated representation of notifications 5206, 5196, 5180, 5068, and 5066, a notification 5198 (of a second type of event generated by the messaging application) is displayed. In some embodiments, a messaging application generates a first type of event (a message from a first contact) and a second type of event (a message from a second contact).In some embodiments, a news application generates a first type of event (e.g., an article from a first news source) and a second type of event (e.g., an article from a second news source). By providing different event types in a single application, communication notifications for different subcategories from the same application are presented separately (in an unaggregated state). In some embodiments, each second application (e.g., a calendar application, a transportation service application, or a payment application) generates events of a single event type. Separate from an aggregated representation of notifications for the second type of events generated by an application, by presenting notifications for the first type of events generated by the application, separate presentations of notifications for different types of events received by the application are provided without disturbing the notification history user interface by the separate presentation of each notification. By presenting notifications without disturbing the notification history user interface, device operability is improved, (e.g., by enabling the user to access notifications for different types of events generated by the application without the need for input to scroll each individual notification), the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, power usage is reduced and the battery life of the device is improved.
[0268] The specific order described for the operations in FIGS. 8A - 8E is merely an example and is not intended to indicate that the described order is the only order in which the operations can be performed. One of ordinary skill in the art will recognize various ways to re - order the operations described herein. Additionally, note that the details of the other processes described herein with respect to other methods (e.g., methods 700 and 900) described herein can also be applied in a similar manner to method 800 described above with respect to FIGS. 8A - 8E. For example, the contact, input, controller, event type, and / or intensity threshold described above with reference to method 800 optionally has one or more of the characteristics of the contact, input, controller, event type, and / or intensity threshold described herein with reference to other methods (e.g., methods 700 and 900) described herein. For brevity, those details are not repeated here.
[0269] FIGS. 9A - 9E are flow diagrams showing a method 900 for displaying a prompt for adjusting notification settings, according to some embodiments. Method 900 is performed in an electronic device (e.g., device 300 (FIG. 3) or portable multifunctional device 100 (FIG. 1A)) having a display generation component and one or more input devices. In some embodiments, the display generation component is a touch screen display 112, and the touch - sensing surface is on or incorporated into the display. Some of the operations of method 900 are optionally combined and / or the order of some of the operations is optionally changed.
[0270] The device displays (902), via a display generation component, a plurality of notifications of a plurality of different applications, including notifications of a first application (e.g., a social media application) and notifications of a second application (e.g., a home simulator game application), on a notification display user interface (e.g., a wake screen user interface 5004, a lock screen user interface, a cover sheet user interface 5190, or a notification history user interface). In some embodiments, at least some of the notifications are each displayed on the notification display user interface at different times.
[0271] The device detects (904), via an input device, a user interaction with the plurality of notifications, including requests to perform operations requested for the notifications (e.g., opening the corresponding application, responding to the notification without opening the corresponding application (e.g., using an input area 5242 displayed in an expanded version of the notification as shown in FIG. 5BU), and / or dismissing the notification).
[0272] The device responds (906) to the user interaction with the plurality of notifications by performing operations requested for one or more of the notifications (e.g., the arrival of the notifications occurs during a period when the user is normally operating the device (e.g., navigating to a plurality of different user interfaces and applications, turning the device on and off multiple times, etc.) and the user interaction with the plurality of notifications is monitored over a long period of time).
[0273] In some embodiments, the display, detection, and response operations are performed over a long period of time (e.g., hours, days, weeks, months, and / or the time during which a plurality of notifications of the first application and / or the second application have been displayed). For example, the period includes the time since the installation of each application or the time since the initialization / reset of the operating system.
[0274] The device displays (908), via a display generation component, a prompt (e.g., prompt 602 as shown in FIG. 6A, prompt 614 as shown in FIG. 6B, prompt 628 as shown in FIG. 6C, or prompt 638 as shown in FIG. 6D) for the user to adjust notification settings for one or more of a plurality of applications (e.g., after a long period). In some embodiments, the prompt is proactively displayed by the device based on pre-set interaction criteria that are satisfied by previous user interactions with a plurality of notifications without requiring a specific user request that prompts the prompt. Based on the user interaction with the plurality of notifications, in accordance with the determination that the user's engagement with the notifications of the first application is below the engagement threshold level and the user's engagement with the notifications of the second application is above the engagement threshold level, the device displays a proposal to lower the prominence of future notifications of the first application (e.g., change the delivery mode for the notifications of the first application from a prominent delivery mode to an unobtrusive delivery mode, from an unobtrusive delivery mode to a suppressed mode, or from a prominent delivery mode to a suppressed mode) without lowering the prominence of future notifications of the second application (e.g., without changing the delivery mode for the notifications of the second application from a prominent delivery mode to an unobtrusive delivery mode, from an unobtrusive delivery mode to a suppressed mode, or from a prominent delivery mode to a suppressed mode). For example, in accordance with the determination that the user's engagement with the notifications of a social media application is below the engagement threshold level (and the user's engagement with the notifications of a home simulator game application is above the engagement threshold level), the device displays prompt 602 including text indicating a proposal to review the notification settings and controllers 606, 608, and 610 for changing the notification settings of the social media application.Based on user interactions with multiple notifications, when it is determined that the user's engagement with the notifications of a second application falls below an engagement threshold level and the user's engagement with the notifications of a first application exceeds the engagement threshold level, the device displays a proposal to lower the prominence of future notifications of the second application without lowering the prominence of future notifications of the first application. For example, based on the determination that the user's engagement with the notifications of a home simulator game application falls below the engagement threshold level (and the user's engagement with the notifications of a social media application exceeds the engagement threshold level), the device displays a prompt similar to 602 but related to the home simulator application (e.g., including notification 616 instead of notification 604). In some embodiments, the prompt includes an explanation of the reason for the prompt (e.g., explanatory text 612). In some embodiments, based on the determination that the user's engagement with the notifications of the first application exceeds the engagement threshold level and the user's engagement with the notifications of the second application falls below the engagement threshold level, the prompt includes a proposal to increase the prominence of future notifications of the first application (e.g., changing the delivery mode for the notifications of the first application from a non-prominent delivery mode to a prominent delivery mode) without increasing the prominence of future notifications of the second application (e.g., without changing the delivery mode for the notifications of the second application from a non-prominent delivery mode to a prominent delivery mode). In some embodiments, based on the determination that the user's engagement with the notifications of the second application exceeds the engagement threshold level and the user's engagement with the notifications of the first application falls below the engagement threshold level, the prompt includes a proposal to increase the prominence of future notifications of the second application without increasing the prominence of future notifications of the first application. By displaying a prompt to adjust the notification settings of one or more applications in response to user interactions with the notifications, the number of inputs required to adjust the notification settings of the applications is reduced.By reducing the number of inputs required to adjust the notification settings of an application, the operability of the device is improved, (e.g., by enabling the user to change the notification settings of an application without requiring an input to access the settings user interface,) the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0275] In some embodiments, displaying a prompt includes simultaneously displaying a proposal to reduce the prominence of future notifications of a first application and a proposal to reduce the prominence of future notifications of a second application according to a determination that the user's engagement with the notifications of the first application falls below an engagement threshold level and the user's engagement with the notifications of the second application falls below the engagement threshold level, based on the user interaction with a plurality of notifications (910). For example, prompts 614, 628, and 638 are for adjusting both the notifications of a first application (social media) and the notifications of a second application (house simulator). In some embodiments, separate notification setting adjustment controllers are displayed for each of the first and second applications (e.g., in prompt 614, toggles 620 and 622 for social media and toggles 624 and 626 for the house simulator allow independent adjustment of settings for different applications). In some embodiments, the notification setting adjustment controllers displayed in the prompt enable simultaneous adjustment of settings for a plurality of applications. For example, an input in controller 642 (the "turn off" button) displayed in prompt 638 adjusts both the notification delivery preferences for the social media application and the notification delivery preferences for the house simulator game application. In some embodiments, the prompt aggregates proposals for adjusting the notifications of related applications (e.g., a social network application and a game application operating on a social network platform corresponding to the social network application). In some embodiments, the prompt aggregates proposals for adjusting the notifications of two completely unrelated applications. By displaying a prompt for adjusting the notification settings of one or more applications in response to user interaction with the notifications, the number of inputs required to adjust the notification settings of the applications is reduced.By reducing the number of inputs required to adjust the notification settings of an application, the operability of the device is improved, (e.g., by automatically prompting the user to change the notification settings of the application without requiring user input to access a controller for adjusting the notification settings), the user-device interface becomes more efficient, and in addition, by enabling the user to use the device more quickly and efficiently, the power consumption is reduced and the battery life of the device is improved.
[0276] In some embodiments, the prompt simultaneously displays (912) respective proposals (e.g., 612a, 612b in FIG. 6C) for reducing the prominence of future notifications of two independently operating applications (e.g., the first application is a mail application and the second application is a browser application, or the first application is a messaging application and the second application is a map application, etc.). In some embodiments, the independently operating applications refer to applications that do not share the same ownership, brand lineage, or data / content source. In response to user interaction with the notification, a prompt for adjusting the notification settings is displayed, and by simultaneously displaying proposals for reducing the prominence of two independently operating applications in the prompt, the number of inputs required to adjust the notification settings of one or more applications is reduced. By reducing the number of inputs required to...
Claims
1. 1. A device having a display generation component and one or more input devices, comprising: Detecting an occurrence of a first event of a first event type; displaying, via the display generation component, a first notification corresponding to the first event type on a user interface of each of the devices; detecting a first input directed to the first notification via the input device while the first notification is displayed on the respective user interface; displaying, via the display generation component, one or more notification delivery preference controllers in response to detecting the first input; detecting a second input directed to the set of one or more notification delivery preference controllers via the input device while displaying the one or more notification delivery preference controllers; responsive to detecting the second input, changing a delivery preference for future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode; detecting an occurrence of a second event of the first event type after modifying the delivery preference for future notifications of events of the first event type according to the second input; in response to detecting the occurrence of the second event of the first event type, pursuant to determining that the second delivery mode corresponds to a mode of unobtrusive delivery, adding a second notification corresponding to the second event to a notification history without first displaying the second notification in the respective user interface; refraining from displaying the second notification in the respective user interface and from adding the second notification to the notification history in response to determining that the second delivery mode corresponds to turning off notifications for the first event type; The method includes:
2. responsive to detecting the occurrence of the second event of the first event type, displaying the second notification of the first event type in a wake screen user interface distinct from the respective user interface in accordance with a determination that the second delivery mode corresponds to a mode of prominent delivery. The method of claim 1 , comprising:
3. The method of claim 2 , wherein the respective user interface includes the notification history.
4. the first notification of the first event type is displayed on the respective user interface simultaneously with a first notification of a second event type different from the first event type; detecting an occurrence of an event of the second event type while simultaneously displaying the first notification of the first event type and the first notification of the second event type in the respective user interfaces; in response to detecting the occurrence of the event of the second event type, and in response to a determination that an input for modifying a delivery preference for future notifications of events of the second event type has not been detected since displaying the first notification of the second event type in the respective user interface, displaying a second notification of the event of the second event type in accordance with a current delivery mode for notifications of the second event type; The method according to any one of claims 1 to 3, comprising:
5. detecting a third input to display a notification configuration user interface corresponding to the first event type while the delivery preferences for future notifications of events of the first event type correspond to the second delivery mode; In response to detecting the third input, displaying the notification setting user interface corresponding to the first event type, including displaying an indicia corresponding to a current selection of the second delivery mode in the notification setting user interface corresponding to the first event type; The method of any one of claims 1 to 4, comprising:
6. detecting an input directed to a delivery mode controller corresponding to each of a plurality of delivery modes while a notification setting user interface corresponding to the first event type is displayed; in response to detecting the input directed to the delivery mode controller; changing the delivery mode preference for future notifications of events of the first event type from a currently selected delivery mode to the respective delivery mode; displaying a respective animation illustrating notification delivery under said respective delivery modes; The method of any one of claims 1 to 5, comprising:
7. detecting a fourth input while each notification is being displayed to invoke a corresponding expanded version of said each notification; displaying the expanded version of the respective notification in response to detecting the fourth input, the expanded version of the respective notification including a controller for triggering display of at least one of the notification delivery preference controllers; detecting a fifth input directed to the controller for triggering an indication of the at least one of the notification delivery preference controllers; displaying the at least one of the one or more notification delivery preference controllers in response to the fifth input; The method of any one of claims 1 to 6, comprising:
8. detecting a sixth input directed toward the respective notification while the at least one notification is displayed; In response to detecting the sixth input, displaying at least one of the one or more notification delivery preference controllers in accordance with a determination that the sixth input satisfies a notification controller display criterion; and In response to a determination that the sixth input satisfies a notification selection criterion, Stopping displaying each of the user interfaces; displaying a user interface corresponding to each event type corresponding to each of the notifications; The method of any one of claims 1 to 7, comprising:
9. each notification in each of the sets of notifications displayed in the respective user interfaces having a corresponding priority rating; each of the user interfaces includes a prioritization controller; The method comprises: detecting a seventh input directed to the prioritization controller while displaying the set of notifications in the respective user interfaces; activating a prioritized delivery mode in response to detecting the seventh input; Detecting the occurrence of each event; In response to detecting each of said events, In response to determining that the prioritized delivery mode is activated, determining whether the respective event satisfies a prioritization criterion; and displaying a fourth notification corresponding to the respective event on the respective user interface in accordance with a determination that the respective event satisfies the prioritization criterion; refraining from displaying the respective notification in the respective user interface in response to a determination that the respective event does not satisfy the prioritization criteria; delivering notifications according to respective delivery modes corresponding to respective event types of the respective events in response to a determination that the prioritized delivery mode is not activated; The method of any one of claims 1 to 8, comprising:
10. the respective user interfaces are displayed in response to an input for switching the device from a display-off state to a display-on state; The method further comprising: detecting a swipe input on the respective user interface while displaying the respective user interface; In response to detecting the swipe input, displaying the notification history in accordance with a determination that the swipe input on the respective user interface satisfies a notification history display criterion; 10. The method of claim 1 , comprising:
11. the respective user interfaces are displayed in response to an input for switching the device from a display-off state to a display-on state; The method further comprising: detecting an input for hiding the respective user interface while displaying the respective user interface; displaying a second user interface different from each of the user interfaces in response to hiding the respective user interfaces; detecting a swipe input on the respective user interface while displaying the second user interface; in response to detecting the swipe input, displaying a coversheet including the notification history in accordance with a determination that the swipe input on the respective user interface satisfies a coversheet display criterion; The method of any one of claims 1 to 10, comprising:
12. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, the one or more programs being stored in a memory and configured to be executed by the one or more processors, the one or more programs comprising: Detecting an occurrence of a first event of a first event type; displaying, by the display generation component, a first notification corresponding to the first event type on a user interface of each of the devices; detecting a first input directed to the first notification via the input device while the first notification is displayed on the respective user interface; displaying, by the display generation component, one or more notification delivery preference controllers in response to detecting the first input; detecting a second input directed to the set of one or more notification delivery preference controllers via the input device while displaying the one or more notification delivery preference controllers; responsive to detecting the second input, changing a delivery preference for future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode; detecting an occurrence of a second event of the first event type after modifying the delivery preference for future notifications of events of the first event type in accordance with the second input; in response to detecting the occurrence of the second event of the first event type, pursuant to determining that the second delivery mode corresponds to a mode of unobtrusive delivery, adding a second notification corresponding to the second event to a notification history without first displaying the second notification in the respective user interface; in response to determining that the second delivery mode corresponds to turning off notifications for the first event type, refrain from displaying the second notification in the respective user interface and refrain from adding the second notification to the notification history. Electronic devices.
13. 1. A computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to: Detecting an occurrence of a first event of a first event type; displaying, via the display generation component, a first notification corresponding to the first event type on a user interface of each of the devices; detecting a first input directed to the first notification via the input device while the first notification is displayed on the respective user interface; responsive to detecting the first input, displaying, via the display generation component, one or more notification delivery preference controllers; detecting a second input directed to the set of one or more notification delivery preference controllers via the input device while displaying the one or more notification delivery preference controllers; responsive to detecting the second input, changing a delivery preference for future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode; detecting an occurrence of a second event of the first event type after modifying the delivery preferences for future notifications of events of the first event type in accordance with the second input; in response to detecting the occurrence of the second event of the first event type, pursuant to determining that the second delivery mode corresponds to a mode of unobtrusive delivery, adding a second notification corresponding to the second event to a notification history without first displaying the second notification in the respective user interface; refrain from displaying the second notification in the respective user interface and refrain from adding the second notification to the notification history in response to a determination that the second delivery mode corresponds to turning off notifications for the first event type. A computer-readable storage medium.
14. A display generating component; one or more input devices; means for detecting an occurrence of a first event of a first event type; means for displaying, via the display generation component, a first notification corresponding to the first event type on a user interface of each of the devices; means operable to detect a first input directed to the first notification via the input device while the first notification is displayed on the respective user interface; means for displaying, via the display generation component, one or more notification delivery preference controllers in response to detecting the first input; means operable to detect a second input directed to the set of one or more notification delivery preference controllers via the input device while displaying the one or more notification delivery preference controllers; means operable to change a delivery preference for future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode in response to detecting the second input; means operable to detect an occurrence of a second event of the first event type after modifying the delivery preference with respect to future notifications of events of the first event type in accordance with the second input; in response to detecting the occurrence of the second event of the first event type, enabling, in response to a determination that the second delivery mode corresponds to a mode of unobtrusive delivery, adding a second notification corresponding to the second event to a notification history without first displaying the second notification in the respective user interface; means for enabling, in response to a determination that the second delivery mode corresponds to turning off notifications for the first event type, to refrain from displaying the second notification in the respective user interface and to refrain from adding the second notification to the notification history; 1. An electronic device comprising:
15. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising: means for detecting an occurrence of a first event of a first event type; means for displaying, via the display generation component, a first notification corresponding to the first event type on a user interface of each of the devices; means operable to detect a first input directed to the first notification via the input device while the first notification is displayed on the respective user interface; means for displaying, via the display generation component, one or more notification delivery preference controllers in response to detecting the first input; means operable to detect a second input directed to the set of one or more notification delivery preference controllers via the input device while displaying the one or more notification delivery preference controllers; means operable to change a delivery preference for future notifications of events of the first event type from a first delivery mode to a second delivery mode different from the first delivery mode in response to detecting the second input; means operable to detect an occurrence of a second event of the first event type after modifying the delivery preference with respect to future notifications of events of the first event type in accordance with the second input; in response to detecting the occurrence of the second event of the first event type, enabling, in response to a determination that the second delivery mode corresponds to a mode of unobtrusive delivery, adding a second notification corresponding to the second event to a notification history without first displaying the second notification in the respective user interface; means for enabling, in response to a determination that the second delivery mode corresponds to turning off notifications for the first event type, to refrain from displaying the second notification in the respective user interface and to refrain from adding the second notification to the notification history; An information processing device comprising:
16. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, 12. An electronic device, comprising: one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 11.
17. A computer readable storage medium storing one or more programs comprising instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to perform the method of any one of claims 1 to 11.
18. A graphical user interface of an electronic device having a display generation component, one or more input devices, a memory, and one or more processors executing one or more programs stored in the memory, the graphical user interface comprising a user interface displayed according to the method of any one of claims 1 to 11.
19. A display generating component; one or more input devices; Means for carrying out the method according to any one of claims 1 to 11; 1. An electronic device comprising:
20. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising:
12. An information processing device comprising means for carrying out the method according to any one of claims 1 to 11.
21. 1. A method comprising:
1. A device having a display generation component and an input device, comprising: detecting an occurrence of one or more additional events of the first event type while the device has a plurality of notifications in the notification history, the plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, the first notification and the second notification being aggregated in the notification history; generating a third notification of the first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type; receiving, via the input device, a request to display a wake screen user interface of the device after creating the third notification of the first additional event of the first event type; displaying, via the display generation component, the wake screen user interface with the third notification, the third notification being displayed on the wake screen user interface without information regarding the first notification and the second notification, in response to the request to display the wake screen user interface for the device; receiving a request via the input device to view the notification history after the third notification is displayed on the wake screen user interface; displaying the notification history with an aggregated representation of the first notification and the second notification in response to receiving the request to display the notification history; The method includes:
22. generating a fourth notification of the second additional event of the first event type in response to detecting the occurrence of the second additional event of the first event type; in response to the request to display the wake screen user interface of the device, displaying the fourth notification aggregated with the third notification on the wake screen user interface; 22. The method of claim 21 , comprising:
23. detecting an input to hide the wake screen user interface after displaying the third notification on the wake screen user interface; ceasing display of the wake screen user interface and the third notification in response to the input to hide the wake screen user interface; detecting an input to display the notification history while the third notification satisfies a notification history display criterion; In response to detecting the input to display the notification history, displaying the notification history with an aggregated representation of the third notification, the second notification, and the first notification; 23. The method of claim 21 or 22, comprising:
24. in response to detecting the input to display the notification history, in response to a determination that the time difference satisfies a timing criterion; refraining from displaying the notification history with the aggregated representation of the third notification, the second notification, and the first notification; displaying the third notification in the notification history separately from the aggregated representation of the first notification and the second notification; 24. The method of claim 23, comprising:
25. 25. The method of claim 21, wherein displaying each of the aggregated representations of notifications comprises displaying at least a portion of content corresponding to a most recently created notification in each of the aggregated representations of notifications.
26. 26. The method of any one of claims 21 to 25, wherein each aggregated representation of notifications includes summary information including the number of notifications represented by each of the aggregated representations.
27. 27. The method of claim 21, wherein each aggregated representation of a notification comprises a plurality of summary information indicators, each summary information indicator of the plurality of summary information indicators corresponding to a respective category of counted items that corresponds to the content of the notification represented by each of the aggregated representations.
28. detecting an input for developing each of the aggregated representations of the notification; displaying an expanded version of a set of notifications corresponding to each of the aggregated representations in response to the input for expanding each of the aggregated representations; 28. The method of any one of claims 21 to 27, comprising:
29. detecting an input to hide the set of notifications corresponding to each of the aggregated representations while the expanded versions of the set of notifications corresponding to each of the aggregated representations are displayed; in response to the input for hiding the set of notifications corresponding to each of the aggregated representations, removing the set of notifications corresponding to each of the aggregated representations; 30. The method of claim 28, comprising:
30. detecting input directed at each notification of the set of notifications that meets a notification expansion criterion while the expanded versions of the set of notifications corresponding to each of the aggregated representations are displayed; responsive to detecting the input satisfying the notification expansion criteria, displaying the expanded version of the respective notification; 30. The method of claim 28, comprising:
31. detecting an input to re-aggregate the set of notifications while the expanded versions of the set of notifications corresponding to each of the aggregated representations are displayed; re-displaying aggregated versions of the set of notifications corresponding to each of the aggregated representations in response to the input for re-aggregating the set of notifications; 30. The method of claim 28, comprising:
32. a first respective application generating events of a plurality of distinct event types; The plurality of notifications in the notification history: a fifth notification corresponding to each of the first event types of the plurality of distinct event types; and a sixth notification corresponding to each of the first event types; and a seventh notification corresponding to each of a second event types of the plurality of distinct event types; in response to detecting the request to display the notification history, displaying an aggregated representation of the fifth notification and the sixth notification in the notification history; and displaying the seventh notification in the notification history separately from the aggregated representation of the fifth notification and the sixth notification; and 32. The method of any one of claims 21 to 31, comprising:
33. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: detecting an occurrence of one or more additional events of the first event type while the device has a plurality of notifications in the notification history, the plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, the first notification and the second notification being aggregated in the notification history; generating a third notification of the first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type; receiving, via the input device, a request to display a wake screen user interface of the device after creating the third notification of the first additional event of the first event type; displaying, via the display generation component, the wake screen user interface with the third notification, the third notification being displayed on the wake screen user interface without information regarding the first notification and the second notification, in response to the request to display the wake screen user interface for the device; receiving a request via the input device to view the notification history after the third notification is displayed on the wake screen user interface; responsive to receiving the request to display the notification history, displaying the notification history with an aggregated representation of the first notification and the second notification.
34. 1. A computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to: detecting an occurrence of one or more additional events of the first event type while the device has a plurality of notifications in the notification history, the plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, the first notification and the second notification being aggregated in the notification history; generating a third notification of the first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type; receiving, via the input device, a request to display a wake screen user interface of the device after creating the third notification of the first additional event of the first event type; in response to the request to display the wake screen user interface for the device, displaying, via the display generation component, the wake screen user interface with the third notification, the third notification being displayed on the wake screen user interface without information regarding the first notification and the second notification; receiving, via the input device, a request to display the notification history after the third notification is displayed on the wake screen user interface; responsive to receiving the request to display the notification history, displaying the notification history with an aggregated representation of the first notification and the second notification.
35. A display generating component; one or more input devices; means capable of detecting the occurrence of one or more additional events of the first event type while the device has a plurality of notifications in its notification history, the plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, the first notification and the second notification being aggregated in the notification history; means operable to generate a third notification of the first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type; means operable to receive, via the input device, a request to display a wake screen user interface of the device after creating the third notification of the first additional event of the first event type; means for displaying, in response to the request to display the wake screen user interface for the device, via the display generation component, the wake screen user interface with the third notification, the third notification being displayed on the wake screen user interface without information regarding the first notification and the second notification; means operable to receive, via the input device, a request to display the notification history after the third notification is displayed on the wake screen user interface; means operable, in response to receiving the request to display the notification history, to display the notification history with an aggregated representation of the first notification and the second notification; 1. An electronic device comprising:
36. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising: means capable of detecting the occurrence of one or more additional events of the first event type while the device has a plurality of notifications in its notification history, the plurality of notifications including a first notification of a first event of a first event type and a second notification of a second event of the first event type, the first notification and the second notification being aggregated in the notification history; means operable to generate a third notification of the first additional event of the first event type in response to detecting the occurrence of the first additional event of the first event type; means operable to receive, via the input device, a request to display a wake screen user interface of the device after creating the third notification of the first additional event of the first event type; means for displaying, in response to the request to display the wake screen user interface for the device, via the display generation component, the wake screen user interface with the third notification, the third notification being displayed on the wake screen user interface without information regarding the first notification and the second notification; means operable to receive, via the input device, a request to display the notification history after the third notification is displayed on the wake screen user interface; means operable, in response to receiving the request to display the notification history, to display the notification history with an aggregated representation of the first notification and the second notification; An information processing device comprising:
37. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, 33. An electronic device, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 21 to 32.
38. A computer readable storage medium storing one or more programs comprising instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to perform the method of any one of claims 21 to 32.
39. 33. A graphical user interface of an electronic device having a display generation component, one or more input devices, a memory, and one or more processors executing one or more programs stored in the memory, the graphical user interface comprising a user interface displayed according to the method of any one of claims 21 to 32.
40. A display generating component; one or more input devices; Means for carrying out the method according to any one of claims 21 to 32; 1. An electronic device comprising:
41. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising:
33. An information processing device comprising means for carrying out the method according to any one of claims 21 to 32.
42. 1. A device having a display generation component and an input device, comprising: displaying, via the display generation component, a plurality of notifications of a plurality of different applications in a notification display user interface, the plurality of notifications including a notification of a first application and a notification of a second application; detecting a user interaction with the plurality of notifications, including a request to perform a requested operation with respect to the notification, via the input device; responding to the user interaction with the plurality of notifications by performing the requested operation with respect to the one or more of the notifications; displaying, via the display generation component, a prompt for the user to adjust notification settings for one or more of the plurality of applications; pursuant to a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the first application is below an engagement threshold level and the user's engagement with the notifications of the second application is above the engagement threshold level, display a suggestion to reduce the prominence of future notifications of the first application without reducing the prominence of future notifications of the second application; displaying a suggestion to reduce the prominence of future notifications of the second application without reducing the prominence of future notifications of the first application in accordance with a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the second application is below the engagement threshold level and the user's engagement with the notifications of the first application is above the engagement threshold level; The method includes:
43. displaying the prompt, 43. The method of claim 42, comprising: pursuant to a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the first application is below the engagement threshold level and the user's engagement with the notifications of the second application is below the engagement threshold level, simultaneously displaying a suggestion to reduce the prominence of future notifications of the first application and a suggestion to reduce the prominence of future notifications of the second application.
44. 44. The method of claim 43, wherein the prompt simultaneously displays respective suggestions to reduce the prominence of future notifications of two independently operating applications.
45. the prompt includes a controller for rejecting each suggestion included in the prompt, the method comprising: detecting an input directed to the controller to reject the respective suggestion while the prompt is being displayed; refraining from reducing the prominence of future notifications of at least one of the first application or the second application in response to detecting the input directed to the controller to reject the respective suggestions; 45. The method of any one of claims 42 to 44, comprising:
46. and refraining from displaying future prompts including suggestions to reduce prominence of future notifications of the at least one of the first application or the second application in response to detecting the input directed to the controller to reject the respective suggestions.
46. The method of claim 45, comprising:
47. detecting user interaction via the input device with a plurality of prompts for the user to adjust notification settings for one or more of a plurality of applications; refraining from displaying future additional prompts for the user to adjust notification settings in accordance with a determination that the user's interaction with the plurality of prompts meets an opt-out criterion; and 47. The method of any one of claims 42 to 46, comprising:
48. The prompt includes a controller for displaying a notification setting user interface, the method comprising: detecting an input directed to the controller to display the notification configuration user interface while the prompt is being displayed; in response to detecting the input directed to the controller to display the notification configuration user interface; Stop displaying the prompt, displaying the notification setting user interface; 48. The method of any one of claims 42 to 47, comprising:
49. the prompt includes the controller for accepting each suggestion included in the prompt, and the method further comprises: detecting an input directed to the controller while the prompt is being displayed to accept the respective suggestion; detecting an occurrence of a first event corresponding to the first application after detecting the input directed to the controller to accept the respective proposal; in response to detecting the occurrence of the event corresponding to the first application, adding a first notification corresponding to the first event to a notification history without first displaying the first notification in the notification display user interface in accordance with a determination that the event is associated with a low prominence notification setting; displaying the first notification corresponding to the first event in the notification display user interface in accordance with a determination that the event is not associated with the low prominence notification setting; 49. The method of any one of claims 42 to 48, comprising:
50. The prompt includes a controller for accepting each suggestion included in the prompt, and the method further comprises: detecting an input directed to the controller while the prompt is being displayed to accept the respective suggestion; detecting an occurrence of a first event corresponding to the first application after detecting the input directed to the controller to accept the respective proposal; in response to detecting the occurrence of the first event corresponding to the first application, in response to determining that the first event is associated with the low prominence notification setting, displaying a first notification corresponding to the first event on the notification display user interface; generating a first non-visual alert having a first alert profile; in response to determining that the first event is not associated with the low prominence notification setting, displaying the first notification corresponding to the first event on the notification display user interface; generating a second non-visual alert having a second alert profile different from the first alert profile; 49. The method of any one of claims 42 to 48, comprising:
51. the prompt includes a controller for accepting each suggestion included in the prompt, the method comprising: detecting an input directed to the controller while the prompt is being displayed to accept the respective suggestion; detecting an occurrence of a first event corresponding to the first application after detecting the input directed to the controller to accept the respective proposal; in response to detecting the occurrence of the first event corresponding to the first application, refraining from displaying a notification corresponding to the first event in response to determining that the first event is associated with the low prominence setting; displaying the notification corresponding to the first event in accordance with a determination that the first event is not associated with the low prominence notification setting; and 49. The method of any one of claims 42 to 48, comprising:
52. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, The one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: displaying, via the display generation component, a plurality of notifications of a plurality of different applications in a notification display user interface, the plurality of notifications including a notification of a first application and a notification of a second application; detecting a user interaction with the plurality of notifications, including a request to perform a requested operation with respect to the notification, via the input device; responding to the user interaction with the plurality of notifications by performing the requested operation with respect to the one or more of the notifications; displaying, via the display generation component, a prompt for the user to adjust notification settings for one or more of the plurality of applications; pursuant to a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the first application is below an engagement threshold level and the user's engagement with the notifications of the second application is above the engagement threshold level, display a suggestion to reduce the prominence of future notifications of the first application without reducing the prominence of future notifications of the second application; pursuant to a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the second application is below the engagement threshold level and the user's engagement with the notifications of the first application is above the engagement threshold level, display a suggestion to reduce the prominence of future notifications of the second application without reducing the prominence of future notifications of the first application. Electronic devices.
53. 1. A computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to: displaying, via the display generating component, a plurality of notifications of a plurality of different applications in a notification display user interface, the plurality of notifications including a notification of a first application and a notification of a second application; detecting a user interaction with the plurality of notifications, including a request to perform a requested operation with respect to the notification, via the input device; responding to the user interaction with the plurality of notifications by performing the requested operation with respect to the one or more of the notifications; displaying, via the display generation component, a prompt for the user to adjust notification settings for one or more of the plurality of applications; pursuant to a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the first application is below an engagement threshold level and the user's engagement with the notifications of the second application is above the engagement threshold level, displaying a suggestion to reduce the prominence of future notifications of the first application without reducing the prominence of future notifications of the second application; in accordance with a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the second application is below the engagement threshold level and the user's engagement with the notifications of the first application is above the engagement threshold level, displaying a suggestion to reduce the prominence of future notifications of the second application without reducing the prominence of future notifications of the first application. A computer-readable storage medium.
54. A display generating component; one or more input devices; means for displaying, via the display generation component, a plurality of notifications of a plurality of different applications in a notification display user interface, the plurality of notifications including a notification of a first application and a notification of a second application; means for detecting user interaction with the plurality of notifications, including a request to perform a requested operation with respect to the notification, via the input device; means for responding to the user interaction with the plurality of notifications by performing the requested operation with respect to the one or more of the notifications; means for displaying, via the display generation component, a prompt for the user to adjust notification settings for one or more of the plurality of applications; means operable to display a suggestion to reduce the prominence of future notifications of the first application without reducing the prominence of future notifications of the second application in accordance with a determination based on the user interactions with the notifications that an engagement of the user with the notifications of the first application is below an engagement threshold level and that an engagement of the user with the notifications of the second application is above the engagement threshold level; means operable to display a suggestion to reduce the prominence of future notifications of the second application without reducing the prominence of future notifications of the first application in accordance with a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the second application is below the engagement threshold level and the user's engagement with the notifications of the first application is above the engagement threshold level; 1. An electronic device comprising:
55. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising: means for displaying, via the display generation component, a plurality of notifications of a plurality of different applications in a notification display user interface, the plurality of notifications including a notification of a first application and a notification of a second application; means for detecting user interaction with the plurality of notifications, including a request to perform a requested operation with respect to the notification, via the input device; means for responding to the user interaction with the plurality of notifications by performing the requested operation with respect to the one or more of the notifications; means for displaying, via the display generation component, a prompt for the user to adjust notification settings for one or more of the plurality of applications; means operable to display a suggestion to reduce the prominence of future notifications of the first application without reducing the prominence of future notifications of the second application in accordance with a determination based on the user interactions with the notifications that an engagement of the user with the notifications of the first application is below an engagement threshold level and that an engagement of the user with the notifications of the second application is above the engagement threshold level; means operable to display a suggestion to reduce the prominence of future notifications of the second application without reducing the prominence of future notifications of the first application in accordance with a determination based on the user interactions with the plurality of notifications that the user's engagement with the notifications of the second application is below the engagement threshold level and the user's engagement with the notifications of the first application is above the engagement threshold level; An information processing device comprising:
56. A display generating component; one or more input devices; one or more processors; Memory, and one or more programs, 52. An electronic device, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 42 to 51.
57. 52. A computer-readable storage medium storing one or more programs comprising instructions that, when executed by an electronic device having a display generating component and one or more input devices, cause the device to perform the method of any one of claims 42 to 51.
58. 52. A graphical user interface of an electronic device having a display generation component, one or more input devices, a memory, and one or more processors executing one or more programs stored in the memory, the graphical user interface comprising a user interface displayed according to the method of any one of claims 42 to 51.
59. A display generating component; one or more input devices; Means for carrying out the method according to any one of claims 42 to 51; 1. An electronic device comprising:
60. 1. An information processing apparatus for use in an electronic device having a display generation component and one or more input devices, comprising:
52. An information processing device comprising means for carrying out a method according to any one of claims 42 to 51.
Citation Information
Patent Citations
Method and system for browsing webpage content
CN102737053A
Group message display method and device
CN106202095A
System and method for processing message
JP2005228255A
Information processor, display control method, and program
JP2013117823A
Message-based dialog function operation method and mobile terminal for supporting the same
JP2013140594A