System and method for displaying notifications received from multiple applications
By introducing notification modules and API interfaces in electronic devices, we can monitor and manage notifications from multiple applications and provide customized display methods, which solves the problem of user notification management complexity in multi-application environments and improves notification access Efficiency and intuitiveness.
Patent Information
- Application Number
- CN202411414680.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2011-06-05
- Filing Date
- 2012-06-05
- Publication Date
- 2025-01-10
AI Technical Summary
In existing electronic devices, when processing notifications generated by multiple applications, users access and manage notifications become complex and inefficient, lacking an intuitive way to instantly access and organize notifications.
A system and method are designed to use the notification module to connect with the application programming interface (API) to monitor notifications from multiple applications and provide customized notification display methods when the device is locked or unlocked, including pull-down options and notification centers , allowing users to gather and manage notifications.
Improves the efficiency and intuitiveness of user access and management notifications. Through the design of notification centers and flags, users can easily view and process notifications from different applications, enhancing the user experience of the device.
Smart Images

Figure CN119292722A_ABST
Abstract
Description
[0001] Information about divisional applications
[0002] This application is a divisional application of the original Chinese invention patent application entitled “System and method for displaying notifications received from multiple applications”. The application number of the original application is 201280027281.9; the application date of the original application is June 5, 2012; the priority date of the original invention patent application is June 5, 2011. Technical Field
[0003] The disclosed embodiments relate generally to electronic devices, and more particularly to electronic devices that display notifications received from multiple applications. Background Art
[0004] Today's portable electronic devices are capable of integrating multiple functionalities. These devices are capable of running multiple applications. In particular, some of these applications can generate triggering events that can result in the display of notifications.
[0005] Because electronic devices may include many applications, the potential for application-based notifications can become cumbersome and unwieldy, particularly if the user is required to individually access each application to view application-specific notifications. Therefore, what is needed is a more efficient and intuitive method of organizing notifications and providing users with instant access to these notifications. Summary of the invention
[0006] Systems and methods for displaying notifications received from multiple applications are disclosed. An electronic device may have a touch-sensitive input / output ("I / O") device (e.g., a touch screen) equipped with a graphical user interface ("GUI"), one or more processors, memory, and one or more modules, programs, or instruction sets stored in the memory for performing multiple functions.
[0007] In particular, the electronic device may include a notification module that can interface with one or more application programming interfaces ("APIs") to generate various types of notifications while the device is in a locked state or unlocked state. In addition, the notification module may provide options for customizing notification settings.
[0008] In some embodiments, the notification module can monitor notifications received from multiple applications. In response to receiving the notification, the notification module can control the manner in which the notification is displayed when the electronic device is operating in a locked or unlocked state. In some embodiments, the electronic device can allow a user to customize how notifications are displayed when the device is in a locked and / or unlocked state.
[0009] In some embodiments, when the device is operating in a locked state, the notification module may display a drop-down option that allows the user to view previously received notifications. In some embodiments, the notification module may aggregate received notifications and may provide the aggregated notifications as multiple panes in the notification center. Thus, each pane of the notification center may be associated with a different application. In addition, the notification module may display a flag corresponding to one or more notifications received from different applications.
[0010] One or more APIs interfaced with the notification module may be in an environment where the calling program code interacts with another program code being called through one or more interfaces. Various function calls, messages, or other types of invocations (which may further include various parameters) may be transmitted between the calling program and the code being called via the API. In addition, the API may provide the calling program code with the ability to use data types or classes defined in the API and implemented in the called program code.
[0011] At least some embodiments include an environment in which a calling software component interacts with a called software component via an API. A method for operating via the API in the environment includes transmitting one or more function calls, messages, and / or other types of invocations or parameters via the API. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above aspects and advantages and other aspects and advantages of the present invention will become more apparent upon consideration of the following detailed description in conjunction with the accompanying drawings; like reference characters refer to like parts throughout the accompanying drawings, and wherein:
[0013] Figure 1 and Figure 2 is a block diagram of an electronic device configured in accordance with various embodiments of the present invention;
[0014] Figure 3 and Figure 4 is a block diagram of an application programming interface ("API") architecture according to various embodiments of the present invention;
[0015] Figure 5 is a display screen associated with a main screen of an electronic device according to various embodiments of the present invention;
[0016] FIG. 6A to FIG. 6E is a display screen associated with an illustrative notification center according to various embodiments of the present invention;
[0017] FIG. 6F to FIG. 6H is a display screen associated with an illustrative notification center according to various embodiments of the present invention;
[0018] 7A to 7Eis a display screen associated with illustrative flags according to various embodiments of the present invention;
[0019] FIG. 8A to FIG. 8F is a display screen associated with displaying a notification when the electronic device is operating in a locked state according to various embodiments of the present invention;
[0020] 9A to 9F is a display screen associated with a customized notification setting according to various embodiments of the present invention;
[0021] FIG. 10A to FIG. 10C is a display screen associated with notifications according to various embodiments of the present invention;
[0022] Fig.11 is a flow chart of an illustrative process for displaying drop-down options in response to receiving a plurality of notifications according to various embodiments of the present invention;
[0023] Fig.12 is a flowchart of an illustrative process for displaying a notification center according to various embodiments of the present invention;
[0024] Fig.13 is a flow chart of an illustrative process for providing flags according to various embodiments of the present invention;
[0025] Fig.14 is a flow chart of an illustrative process for providing notification settings according to various embodiments of the invention. DETAILED DESCRIPTION
[0026] Systems and methods are provided for displaying notifications received from multiple applications.
[0027] Figure 1 A block diagram of an electronic device 100 is illustrated that includes a touch I / O device 102 that can receive touch input for interacting with a computing system 104 via a wired or wireless communication channel 106. The touch I / O device 102 can be used to provide user input to the computing system 104 in place of or in conjunction with other input devices such as a keyboard, mouse, etc. One or more touch I / O devices 102 can be used to provide user input to the computing system 104. The touch I / O device 102 can be an integral part of the computing system 104 (e.g., a touch screen on a laptop computer), or can be separate from the computing system 104.
[0028] The touch I / O device 102 may include a touch-sensitive panel that is fully or partially transparent, translucent, non-transparent, opaque, or any combination thereof. The touch I / O device 102 may be embodied as a touch screen, a touch pad, a touch screen that functions as a touch pad (e.g., a touch screen that replaces a touch pad of a laptop computer), a touch screen or a touch pad that is combined or incorporated with any other input device (e.g., a touch screen or a touch pad that is arranged on a keyboard), or any multi-dimensional object having a touch-sensitive surface for receiving touch input.
[0029] In one example, a touch I / O device 102 embodied as a touch screen may include a transparent and / or translucent touch-sensitive panel partially or completely positioned on at least a portion of a display. According to this embodiment, the touch I / O device 102 is used to display graphical data transmitted from the computing system 104 (and / or another source), and also to receive user input. In other embodiments, the touch I / O device 102 may be embodied as an integrated touch screen, in which the touch-sensitive component / device is integrated with the display component / device. In other embodiments, the touch screen may be used as a supplemental or additional display screen for displaying supplemental graphical data or the same graphical data as the main display, and for receiving touch input.
[0030] The touch I / O device 102 may be configured to detect the location of one or more touches or near-touches on the device 102 based on capacitance, resistance, optics, acoustics, inductance, mechanics, chemical measurements, or any phenomenon that can be measured with respect to the occurrence of one or more touches or near-touches near the device 102. Software, hardware, firmware, or any combination thereof may be used to process the measurements of the detected touches in order to identify and track one or more gestures. A gesture may correspond to a stationary or non-stationary, single or multiple touches or near-touches on the touch I / O device 102. A gesture may be performed by moving one or more fingers or other objects in a particular manner on the touch I / O device 102, such as tapping, pressing, shaking, swiping, twisting, changing direction, pressing with varying pressure, etc., substantially simultaneously, continuously, successively. A gesture may be characterized as, but not limited to, pinching, sliding, wiping, rotating, flexing, dragging, or tapping, etc., between or with any other one or more fingers. A single gesture may be performed with one or more hands, by one or more users, or any combination thereof.
[0031] The computing system 104 can use the graphic data to drive the display to display a graphical user interface (GUI). The GUI can be configured for touch input via the touch I / O device 102. The touch I / O device 102 embodied as a touch screen can display the GUI. Alternatively, the GUI can be displayed on a display separate from the touch I / O device 102. The GUI may include graphical elements displayed at specific locations within the interface. The graphical elements may include, but are not limited to, a variety of displayed virtual input devices, including virtual rollers, virtual keyboards, virtual knobs, virtual buttons, any virtual UI, etc. The user can perform gestures at one or more specific locations on the touch I / O device 102 that can be associated with the graphical elements of the GUI. In other embodiments, the user can perform gestures at one or more locations independent of the location of the graphical elements of the GUI. The gestures performed on the touch I / O device 102 can directly or indirectly manipulate, control, modify, move, start or generally affect the graphical elements within the GUI-such as, all or part of a cursor, icon, media file, list, text, image, etc. For example, in the case of a touch screen, the user can interact directly with the graphical element by performing gestures on the graphical element on the touch screen. Alternatively, the touchpad generally provides indirect interaction. Gestures may also affect GUI elements that are not displayed (e.g., causing a user interface to appear), or may affect other actions within the computing system 104 (e.g., affecting the state or mode of a GUI, application, or operating system). Gestures may be performed on the touch I / O device 102 in conjunction with a displayed cursor, or may not be performed in this way. For example, when a gesture is performed on a touchpad, a cursor (or pointer) may be displayed on a display screen or touch screen, and the cursor may be controlled via touch input on the touchpad to interact with graphical objects on the display screen. In other embodiments where gestures are performed directly on the touch screen, the user may interact directly with objects on the touch screen with or without a cursor or pointer being displayed on the touch screen.
[0032] Feedback may be provided to the user via the communication channel 106 in response to or based on a touch or near-touch on the touch I / O device 102. The feedback may be transmitted optically, mechanically, electrically, olfactorily, acoustically, or any combination thereof, and may be transmitted in a variable or non-variable manner.
[0033] Attention now turns to embodiments of the system architecture that may be embodied within any portable or non-portable device, including but not limited to a communication device (e.g., a mobile phone, a smart phone), a multimedia device (e.g., an MP3 player, a television, a radio), a portable or handheld computer (e.g., a tablet computer, a netbook, a laptop computer), a desktop computer, an all-in-one desktop computer, a peripheral device, or any other system or device that may be suitable for inclusion in the system architecture 2000, including combinations of two or more of these types of devices. Figure 2 2 is a block diagram of one embodiment of a system 200, wherein the system 200 may include one or more computer-readable media 201, a processing system 204, an input / output (I / O) subsystem 206, a radio frequency (RF) circuit 208, and an audio circuit 210. These components may be coupled by one or more communication buses or signal lines 203. The system 200 may be coupled to the electronic device 100 ( Figure 1 ) is the same as or similar to it.
[0034] You should understand that Figure 2 The architecture shown in is merely one example architecture of system 200, and system 200 may have more or fewer components than shown, or a different configuration of components. Figure 2 The various components shown in the drawings can be implemented in hardware, software, firmware, or any combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0035] RF circuit 208 is used to send and receive information to one or more other devices via a wireless link or network, and includes well-known circuits for performing this function. RF circuit 208 and audio circuit 210 can be coupled to processing system 204 via peripheral interface 216. Interface 216 may include various known components for establishing and maintaining communication between peripherals and processing system 204. Audio circuit 210 may be coupled to audio speaker 250 and microphone 252, and includes known circuits for processing voice signals received from interface 216 to enable a user to communicate with other users in real time. In some embodiments, audio circuit 210 includes a headphone jack (not shown).
[0036] The peripheral interface 216 can couple the input peripherals and output peripherals of the system to the processor 218 and the computer-readable medium 201. One or more processors 218 can communicate with one or more computer-readable media 201 via the controller 220. The computer-readable medium 201 can be any device or medium that can store code and / or data for use by one or more processors 218. The medium 201 may include a memory hierarchy, including but not limited to cache, main memory, and auxiliary memory. The memory hierarchy may be implemented using any combination of the following: RAM (e.g., SRAM, DRAM, DDRAM), ROM, FLASH, magnetic and / or optical storage devices such as disk drives, tapes, CDs (compact disks), and DVDs (digital video disks). The medium 201 may also include a transmission medium for transmitting information-bearing signals (which may or may not be modulated onto a carrier) indicating computer instructions or data. For example, the transmission medium may include a communication network, including but not limited to the Internet (also known as the World Wide Web), one or more intranets, local area networks (LANs), wide area networks (WLANs), storage area networks (SANs), metropolitan area networks (MANs), and the like.
[0037] One or more processors 218 can run various software components stored in the medium 201 to perform various functions of the system 200. In some embodiments, the software components include an operating system 222, a communication module (or instruction set) 224, a touch processing module (or instruction set) 226, a graphics module (or instruction set) 228, one or more applications (or instruction sets) 230, and a notification module 238. Each of the applications and these modules described above corresponds to a set of instructions for performing one or more of the above functions and the methods described in this application (e.g., computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not need to be implemented as separate software programs, processes, or modules, and therefore, various subsets of these modules can be combined or otherwise rearranged in various embodiments. In some embodiments, the medium 201 can store a subset of the modules and data structures indicated above. In addition, the medium 201 can store additional modules and data structures not described above.
[0038] The operating system 222 may include various processes, instruction sets, software components and / or drivers for controlling and managing general system tasks (eg, memory management, storage device control, power management, etc.) and supporting communications between various hardware and software components.
[0039] Communications module 224 supports communications with other devices through one or more external ports 236 or via RF circuitry 208 , and includes various software components for processing data received from RF circuitry 208 and / or external ports 236 .
[0040] The graphics module 228 may include various known software components for rendering, animating, and displaying graphical objects on a display surface. In embodiments where the touch I / O device 212 is a touch-sensitive display (e.g., a touch screen), the graphics module 2028 includes components for rendering, displaying, and animating objects on the touch-sensitive display.
[0041] The one or more applications 230 may include any application installed on the system 200, including but not limited to: a browser, an address book, a contact book, email, instant messaging, word processing, keyboard emulation, widgets, JAVA-enabled applications, encryption, digital rights management, voice recognition, voice replication, location determination capabilities (such as those provided by a global positioning system (GPS)), a music player, etc.
[0042] The touch processing module 226 includes various software components for performing various tasks associated with the touch I / O device 212, including, but not limited to, receiving and processing touch input received from the I / O device 212 via the touch I / O device controller 232. For example, the touch processing module 226 may also include software components for performing tasks associated with other I / O devices 214. That is, the touch processing module 226 may receive and process input received from the I / O device 214 via the other I / O controller 234.
[0043] The system 200 may also include a notification module 238 for executing the Figures 5 to 14 The notification module 238 may be used at least to monitor notifications received from multiple applications (e.g., multiple applications on the system 200, or data providers that transmit data to the system 200). For example, the notification module 238 may receive notifications from both non-third-party applications and third-party applications. In addition, the notification module 238 may receive push-based notifications, trigger-based notifications, and / or other types of personal notifications.
[0044] In response to receiving notifications, notification module 238 may control the manner in which notifications are displayed when system 200 is operating in a locked state or an unlocked state. For example, when system 200 is operating in a locked state, notification module 238 may display notifications in a banner and control the manner in which these notifications are displayed. As another example, notification module 238 may aggregate received notifications and may provide the aggregated notifications as multiple panes in a notification center. Thus, each pane may be associated with a different application. In some embodiments, notification module 238 may allow a user to customize how notifications are displayed on system 200.
[0045] In the locked state, the system 200 may restrict the user's access to certain features. For example, in the locked state, the user may not be able to activate various device features such as making a phone call or entering an email. In other words, the locked state is intended to prevent unintentional access to the system 200. When the system 200 is in the unlocked state, the user has full access to all features of the system.
[0046] In addition, the notification module 238 can provide a data provider with a specific type of data formatting, which in turn can allow the data provider to send specific notifications to various users. Those skilled in the art will appreciate that any suitable type of formatting can also be used. For example, in order to display a notification on the system 200, the notification module 238 can require the data provider to specify a title (e.g., the user's name), a subtitle (e.g., a subtitle of the incoming message or reminder), and a body (e.g., the body of the message).
[0047] The notification module 238 may also interface with the touch processing module 226 to receive user input. Additionally, the notification module 238 may interface with the graphics module 228 to display various graphical objects on the display. The notification module 238 may be embodied in hardware, software, firmware, or any combination thereof. Although the notification module 238 is shown as residing within the medium 201, all or part of the module 238 may be embodied within other components within the system 200, or entirely embodied as a separate component within the system 200.
[0048] The I / O subsystem 206 is coupled to the touch I / O device 212 and one or more other I / O devices 214 for controlling or executing various functions. The touch I / O device 212 communicates with the processing system 204 via the touch I / O device controller 232, which includes various components for processing user touch input (e.g., scanning hardware). One or more other input controllers 234 receive electrical signals from / send electrical signals to other I / O devices 214. Other I / O devices 214 may include physical buttons, dials, slider switches, joysticks, keyboards, touchpads, additional display screens, or any combination thereof.
[0049] If the touch I / O device 212 is embodied as a touch screen, it displays visual output to the user in the GUI. The visual output may include text, graphics, video, and any combination thereof. Some or all of the visual output may correspond to user interface objects. The touch I / O device 212 forms a touch-sensitive surface that accepts touch input from the user. The touch I / O device 212 and the touch screen controller 232 (together with any associated modules and / or instruction sets in the medium 201) detect and track touch or near touch (and any movement or release of the touch) on the touch I / O device 212, and convert the detected touch input into interaction with a graphical object (such as, one or more user interface objects). In the case where the device 212 is embodied as a touch screen, the user can interact directly with the graphical objects displayed on the touch screen. Alternatively, in the case where the device 212 is embodied as a touch device (e.g., a touch pad) other than a touch screen, the user can interact indirectly with the graphical objects displayed on a separate display screen embodied as the I / O device 214.
[0050] Touch I / O device 212 may be similar to the multi-touch sensitive surfaces described in U.S. Pat. Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is incorporated herein by reference.
[0051] In an embodiment where the touch I / O device 212 is a touch screen, the touch screen may use LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, OLED (organic LED) or OEL (organic electroluminescence), but other display technologies may also be used in other embodiments.
[0052] Feedback may be provided by the touch I / O device 212 based on the user's touch input and one or more states of the displayed object and / or computing system. Feedback may be transmitted optically (e.g., a light signal or a displayed image), mechanically (e.g., tactile feedback, touch feedback, force feedback, etc.), electrically (e.g., electrical stimulation), olfactory, acoustically (e.g., a beep, etc.), or in any combination thereof, and may be transmitted in a variable or non-variable manner.
[0053] The system 200 may also include a power supply system 244 for powering the various hardware components and may include a power management system, one or more power supplies, a charging system, a power fault detection circuit, a power converter or inverter, a power status indicator, and any other components typically associated with power generation, management, and distribution in a portable device.
[0054] In some implementations, peripheral interface 216, one or more processors 218, and memory controller 220 can be implemented on a single chip, such as in processing system 204. In some other implementations, they can be implemented on separate chips.
[0055] The notification module 238 can interface with one or more application programming interfaces ("APIs") to provide a notification center that can generate various types of notifications when the system 200 is in a locked state or unlocked state. In addition, the notification module 238 can provide multiple settings for customizing the notification center.
[0056] An API is an interface implemented by a program code component or a hardware component (hereinafter referred to as an "API-implementing component") that allows different program code components or hardware components (hereinafter referred to as "API-calling components") to access and use one or more functions, methods, procedures, data structures, classes and / or other services provided by the API-implementing component. The API may define one or more parameters passed between the API-calling component and the API-implementing component.
[0057] An API allows developers of API-calling components (which may be third-party developers) to utilize specified features provided by an API-implementing component. There may be one API-calling component or there may be more than one such component. An API may be a source code interface provided by a computer system or a program library in order to support service requests from an application. An operating system (OS) may have multiple APIs to allow applications running on the OS to call one or more of those APIs, and a service (such as a program library) may have multiple APIs to allow applications using the service to call one or more of those APIs. An API may be specified in a programming language that is interpreted or compiled when building an application.
[0058] In some embodiments, an API-implementing component may provide more than one API, each of which provides a different overview of the functionality implemented by the API-implementing component, or has different aspects of accessing different aspects of the functionality. For example, one API of the API-implementing component may provide a first set of functions and may be exposed to third-party developers, and another API of the API-implementing component may be hidden (not exposed) and provide a subset of the first set of functions, and also provide another set of functions, such as test functions or debugging functions that are not among the first set of functions. In other embodiments, the API-implementing component itself may call one or more other components via the underlying API, and thus act as both an API-calling component and an API-implementing component.
[0059] The API defines the language and parameters used by the API-calling component when accessing and using the specified features of the API-implementing component. For example, the API-calling component accesses the specified features of the API-implementing component through one or more API calls or invocations exposed by the API (e.g., embodied by function calls or method calls), and uses parameters to pass data and control information via the API calls or invocations. The API-implementing component may return a value through the API in response to an API call from the API-calling component. Although the API defines the syntax and results of the API call (e.g., how to call the API call and what the API call does), the API may not reveal how the API call implements the function specified by the API call. Each API call is transmitted via one or more application programming interfaces between the caller (API-calling component) and the API-implementing component. Transmitting an API call may include issuing, initiating, invoking, calling, receiving, returning, or responding to a function call or message; in other words, the transmission may describe the action of the API-calling component or the API-implementing component. Function calls or other invocations of the API may send or receive one or more parameters through parameter lists or other structures. A parameter can be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or a pointer to a function or method, or another way of referencing data or other items to be passed via an API.
[0060] In addition, data types or classes may be provided by the API and implemented by the API-implementing component. Therefore, the API-calling component may declare variables of these types or classes, use pointers to these types or classes, use or instantiate constant values of these types or classes by using the definitions provided in the API.
[0061] In general, an API can be used to access services or data provided by an API-implementation component, or to initiate the execution of an operation or calculation provided by an API-implementation component. For example, an API-implementation component and an API-calling component can each be any one of an operating system, a library, a device driver, an API, an application, or other modules (it should be understood that the API-implementation component and the API-calling component can be modules of the same or different types). In some cases, the API-implementation component can be at least partially embodied in firmware, microcode, or other hardware logic. In some embodiments, an API can allow a client program to use services provided by a software development kit (SDK) library. In other embodiments, an application or other client program can use an API provided by an application framework. In these embodiments, an application or client program can incorporate calls to functions or methods provided by the SDK and provided by the API, or use data types or objects defined in the SDK or provided by the API. In these embodiments, an application framework can provide a main event loop for a program that responds to various events defined by the framework. The API allows an application to specify events and responses to events using an application framework. In some implementations, API calls may report to an application the capabilities or status of a hardware device, including information related to aspects such as input capabilities and status, output capabilities and status, processing capabilities, power status, storage capabilities and status, communication capabilities, etc., and the API may be implemented in part by firmware, microcode, or other low-level logic executed in part on a hardware component.
[0062] The API-calling component can be a local component (e.g., on the same data processing system as the API-implementing component) or a remote component that communicates with the API-implementing component via an API over a network (e.g., on a different data processing system than the API-implementing component). It should be understood that an API-implementing component can also act as an API-calling component (e.g., it can make API calls to an API exposed by a different API-implementing component), and an API-calling component can also act as an API-implementing component by implementing an API exposed to a different API-calling component.
[0063] The API may allow multiple API-calling components written in different programming languages to communicate with the API-implementing component (thus, the API may include features for translating calls and returns between the API-implementing component and the API-calling component); however, the API may be implemented in the form of a specific programming language. In one embodiment, the API-calling component may call APIs from different providers, such as a set of APIs from an OS provider, and another set of APIs from a plug-in provider, and yet another set of APIs from yet another provider (e.g., a provider of a software library) or a creator of yet another set of APIs.
[0064] Figure 3 3 is a block diagram illustrating an exemplary API architecture 300 that may be used in some embodiments of the present invention. Figure 3 As shown in , API architecture 300 includes an API-implementing component 302 (e.g., an operating system, library, device driver, API, application, software, or other module) that implements an API 304. API 304 specifies one or more functions, methods, classes, objects, protocols, data structures, formats, and / or other features of API-implementing component 302 that can be used by API-calling component 306. API 304 can specify at least one calling convention that specifies how functions in API-implementing component 302 receive parameters from API-calling component 306 and how the functions return results to API-calling component 306. API-calling component 306 (e.g., an operating system, library, device driver, API, application, software, or other module) makes API calls through API 304 to access and use features of API-implementing component 302 specified by API 304. API-implementing component 302 can return a value to API-calling component 306 through API 304 in response to the API call.
[0065] It should be appreciated that API-implementing component 302 may include additional functions, methods, classes, data structures, and / or other features that are not specified by API 304 and are not available to API-calling component 306. It should be appreciated that API-calling component 306 may be located on the same system as API-implementing component 302, or may be located remotely and access API-implementing component 302 using API 304 over a network. Figure 3 A single API-calling component 306 is illustrated as interacting with the API 304 , but it should be understood that other API-calling components written in a different language than the API-calling component 306 (or the same language) may also use the API 304 .
[0066] API-implementing component 302, API 304, and API-calling component 306 may be stored in a machine-readable medium, which includes any mechanism for storing information in a form that can be read by a machine (e.g., a computer or other data processing system). For example, machine-readable media include magnetic disks, optical disks, random access memory; read-only memory, flash memory devices, etc.
[0067] exist Figure 4 In an example implementation of a (software stack), an application may make calls to service A or service B using several service APIs, and to an operating system (OS) using several OS APIs. Service A and service B may make calls to the OS using several OS APIs.
[0068] Note that Service 2 has two APIs, one of which (Service 2 API 1) receives calls from Application 1 and returns values to Application 1, and the other (Service 2 API 2) receives calls from Application 2 and returns values to Application 2. Service 1 (e.g., may be a software library) makes calls to OS API 1 and receives returned values from OS API 1, and Service 2 (e.g., may be a software library) makes calls to both OS API 1 and OS API 2 and receives returned values from both OS API 1 and OS API 2. Application 2 makes calls to OS API 2 and receives returned values from OS API 2.
[0069] As discussed above, the notification module of the electronic device (e.g., Figure 2 The notification module 238 of the device may control the manner in which notifications are received from applications and then provided to the user. For example, the notification module may aggregate notifications received from different applications and may provide the aggregated notifications as a series of panes (or lists) in the notification center. Thus, by accessing the notification center, the user may view a list of recently received notifications. In some cases, the notification center may only be accessible when the electronic device is operating in an unlocked state.
[0070] Any suitable method may be used to access the notification center. For example, a user may access the notification center by pressing a button on an electronic device. As another example, when an electronic device (e.g., Figure 1 The electronic device 100 or Figure 2 When the system 200 is a device that executes a set of predetermined functions on the device through a touch screen and / or a touch pad (e.g., touch I / O device 212), the user can call up the notification center by contacting or touching a graphic on the touch screen.
[0071] For example, now refer to Figure 5 , the figure shows a display screen 500 of the main screen of the electronic device. The display screen 500 can be connected to Figure 2 The display screen 500 may be the same as or may be dockable with the touch I / O device 212. The display screen 500 may include a plurality of selectable icons 502.
[0072] The notification module may be configured to accept multiple gestures for invoking the notification center. For example, a user may perform a general swipe gesture by quickly flicking one or more fingers in a downward motion from the top of screen 500. As another example, a user may slowly drag one or more fingers from the top of screen 500 downward.
[0073] The notification module can detect a slide or drag made by the user in a specific area of the screen, for example, a 20-pixel area at the top of the screen 500. Specifically, once the notification module detects movement in a plurality of pixels within the 20-pixel area, the notification module can start displaying the notification center.
[0074] In some embodiments, the notification module may display the notification center in the same manner regardless of how the user invokes the notification center. In other embodiments, the notification module may respond differently depending on the gesture performed by the user. For example, if the user performs a general sliding gesture, the notification module may immediately pull the notification center down to the bottom of the screen 500. If the user instead slowly drags one or more fingers downward, the notification module may pull down the notification center on the screen 500 in real time.
[0075] In some cases, a visual indication may be displayed on the top of display screen 500 to indicate the presence of a notification center. In other embodiments (and as shown in display screen 500), there may be no visual indication of the presence of a notification center. Thus, the user may be prevented from being annoyed when using the electronic device, and valuable space on the screen may be saved.
[0076] Those skilled in the art will appreciate that the notification center may be accessed from any suitable portion of the display screen 500 (e.g., the right side, left side, or bottom of the display screen 500) in addition to the top of the display screen 500. In addition, the notification module may allow the user to specify which portion of the display screen 500 is to be used to access the notification center.
[0077] Those skilled in the art will also appreciate that although Figure 5 The home screen is shown, but the notification center can be called at any suitable time. In particular, the notification center can also be called when the device is displaying a specific application.
[0078] Now turn to FIG. 6A to FIG. 6E , the figure shows a display screen of a notification center on an electronic device. Those skilled in the art will appreciate that although FIG. 6A to FIG. 6E In the example, the notification center is displayed when the electronic device is operated in portrait mode, but the notification center can also be displayed when the electronic device is operated in landscape mode.
[0079] First turn Fig. 6A In response to the user dragging one or more fingers downward from the top of the display screen 600, the notification module can pull the notification center 602 down toward the bottom of the display screen 600. The notification center 602 can include a tab 604 located at the bottom of the notification center 602.
[0080] In some cases, in order to remove notification center 602 from display screen 600, the user may need to drag notification center 602 upward and away from display screen 600. Those skilled in the art will appreciate that any other suitable method may also be used to remove notification center 602 from display screen 600 (e.g., by pressing a home button or an on / off button).
[0081] Next turn Figure 6B , display screen 606 shows notification center 602 pulled all the way to the bottom of screen 606. Notification center 602 may include one or more panes, each of which may include widgets representing different applications on the electronic device. For example, notification center 602 may include weather pane 608, stock pane 610, social network pane 612, and mail pane 614.
[0082] Notification center 602 may be scrollable, such that a user may touch and drag notification center 602 up and down to view fewer or additional notifications. In some implementations, only certain portions of notification center 602 may be scrollable. As a result, one or more panes may remain fixed (e.g., weather pane 608 and stock pane 610), while other panes may be scrollable.
[0083] The weather pane 608 can display the weather for the current location of the electronic device. Alternatively, the weather pane 608 can display the weather for any default location specified by the user. The user can touch the weather pane 608 to open the weather application on the device. In addition, the user can slide the weather pane 608 left or right to view the weather in other cities.
[0084] Stock pane 610 may include a scrollable stock ticker that, for example, scrolls from right to left independently of any user interaction. The user may be able to drag stock pane 610 left or right to view other hidden or partially displayed stocks. In some cases, the user may select any of the individual stock tickers by touching the ticker (e.g., one of stock tickers 617-619). In response to the user's selection, the notification module may open a stock widget. The stock widget may be contextually based on the selected stock ticker (e.g., the stock widget may display detailed stock information corresponding to the selected company).
[0085] The user can select (eg, touch) any pane in the notification center 602 to access the application associated with the pane. For example, in response to the user selecting the social network pane 612, the notification module can provide the user with a social network application.
[0086] Each of panes 608-614 may be associated with an option to allow a user to manually clear notifications from that pane. For example, button 616 may allow a user to clear notifications for pane 612 from notification center 602. Specifically, in response to a user selecting button 616, notification module may display a "CLEAR" button (e.g., button 616 may roll over, expand, and / or transform into a "CLEAR" button). If the user then selects the "CLEAR" button, the user may manually remove one or more notifications from notification center 602.
[0087] In some cases, button 616 may allow the user to clear all notifications in a particular pane (or application). As a result, the corresponding pane may be removed from notification center 602. However, once a new notification for the application is received, the pane corresponding to the application may be displayed again in notification center 602. Those skilled in the art will appreciate that although the notifications have been removed from notification center 602, they are still accessible from the application that generated the notification. Therefore, if the user wishes to view notifications that have been cleared from notification center 602, he can view them by accessing the corresponding application.
[0088] Some panes, such as pane 612 and pane 614, may have an associated list of one or more notifications. For example, social network pane 612 has list 613 showing one notification, and email pane 614 shows list 615 showing two email notifications. Any suitable number of notifications may be listed as part of an associated list. Each displayed notification may be selected, and upon selection, the notification is presented in the application corresponding to its pane. For example, if the user selects the first email notification in list 615, the email is opened in the mail application for viewing.
[0089] The panes with associated lists may be vertically scrollable (e.g., a user may scroll from one pane to the next to view the lists associated with each pane). Such panes are in contrast to the horizontally scrollable panes 608 and 610. A user may scroll from list-associated pane to list-associated pane while panes such as panes 608 and 610 remain in place. Thus, at any given moment, a user may scroll horizontally through panes 608 and 610, or vertically through list-associated panes.
[0090] Reference now Figure 6C, display screen 620 shows notification center 602, which may include calendar pane 622. Calendar pane 622 may display a list of notifications (e.g., upcoming events) in the user's calendar for a predetermined time period (e.g., for the next 24 hours). In some cases, calendar pane 622 can organize the upcoming events in chronological order. For example, the most recent upcoming event may be displayed at the top of the notification list, followed by the next upcoming event, and so on. Alternatively, the most recent upcoming event may be displayed at the bottom of the notification list.
[0091] Calendar pane 622 can be adjusted in real time while events are ongoing. Figure 6C As shown in , notification 621 may include text 623 indicating that the event "Yoga" started 40 minutes ago. The notification module may continue to update text 623 while the event is ongoing.
[0092] In some embodiments, the user may specify a predetermined number of notifications to be displayed for each application. Thus, if the number of notifications that can be displayed exceeds the predetermined number of notifications, the notification module may automatically clear the notifications from the calendar pane 622. Fig.9E and Fig.9F The notification setting for specifying the predetermined number of notifications is described in more detail.
[0093] like Figure 6C As shown in , the predetermined number of notifications can be set to 5. Therefore, when a new notification is received, the notification module can automatically remove the notification currently being displayed in the calendar pane 622. For example, now turn to Fig.6D , when a new notification 626 is received from the calendar application, the notification module can add the new notification 626 to the top of the calendar pane 622. Then, because the number of notifications that can be displayed exceeds the predetermined number of notifications, the notification module can remove the notification 628 from the calendar pane 622. In some cases, the notification 628 can be associated with an event that has a latest start time compared to other events displayed in the calendar pane 622. Finally, once another notification is cleared from the calendar pane 622 (e.g., the notification 626 has been completed or has been dismissed), the notification 628 can be added back to the calendar pane 622.
[0094] Once a calendar event has expired, one or more notifications corresponding to the event may be automatically removed from calendar pane 622. For example, if a "yoga" event lasts for 1 hour, notifications 621 corresponding to "yoga" may be removed once the event has been completed. Figure 6C ) clears the calendar pane 622. For example, Fig. 6EAs shown in , once the “yoga” event has expired, the notification module can automatically remove notification 621 from notification center 602. In addition to removing notification 621, the notification module can add a new notification 632 to calendar pane 622.
[0095] Those skilled in the art will appreciate that FIG. 6A to FIG. 6E The panes included are merely illustrative. Thus, any suitable pane associated with one or more applications on the device may be included in notification center 602. In some cases, notification center 602 may include notifications that are displayed when the device is operating in a locked state. FIG. 8A to FIG. 8F These types of notifications are described in more detail.
[0096] Reference now FIG. 6F to FIG. 6H , several illustrative display screens show the display of the notification center when the user is actively engaged in a third-party application such as a game. Fig. 6F In the example, display 640 shows an active third-party application (such as a game). According to an embodiment of the present invention, a user can access the notification center while participating in an active third-party application. The user can first slide his finger downward from the top of the screen to open the notification center. Figure 6G Tab 654 is displayed in screen 650 to access the notification center. Figure 6H 660, when tab 654 is displayed, the user can then place a finger on tab 654 and drag it downward to reveal notification center 622. If the user drags tab 654 all the way to the bottom of screen 660, notification center 662 will be fully displayed.
[0097] In some embodiments, when the electronic device is operating in an unlocked state, the notification module can display one or more flags that can correspond to notifications received from different applications. The notification module can display the flags, for example, by rotating the flags onto the display screen.
[0098] If the user does not select the flag after a predetermined time (e.g., 5 seconds or 6 seconds) has passed, the notification module can remove the flag from the display screen. For example, the flag can be rotated out of the display screen. Alternatively, the user can push the flag away by sliding the flag or pushing the flag.
[0099] In some embodiments, if two or more flags are received by the notification module at approximately the same time, the flags may be rotated into the display screen at approximately the same time. That is, multiple flags may be rotated into the display screen simultaneously. Alternatively, to minimize annoyance to the user, the notification module may stagger the display of the flags so that only one flag is provided at any given time.
[0100] Those skilled in the art will appreciate that any suitable visual method may be used to display the flag. For example, the flag may roll across, flip up or down, or float into the display screen. Additionally, the flag may be removed from the display screen with similar functionality. The notification module may allow the user to specify the manner in which the flag may be displayed and / or removed.
[0101] In some cases, if the user ignores or removes the flag without accessing the flag, the notification module can send a notification to the notification center (e.g., FIG. 6A to FIG. 6E The notification center 602 of the notification center 602 of the user's device may add a notification associated with the flag. As a result, when the user later chooses to view the notification center, the notification center may provide the user with an accumulation of all notifications that have not yet been accessed by the user.
[0102] Now turn to 7A to 7E , which shows display screens of different types of banners that can be displayed on an electronic device. Those skilled in the art will appreciate that the banner can be displayed at any suitable time while the device is operating in an unlocked state (e.g., when the device is displaying a home screen or displaying a particular application). For example, the banner can be displayed while the user is playing a video game, visiting a website, modifying system settings, watching a movie, etc. Those skilled in the art will appreciate that although 7A to 7E The middle flag is displayed when the electronic device is operating in portrait mode, but the flag can also be displayed when the electronic device is operating in landscape mode. Those skilled in the art will also understand that the flag can be displayed in any suitable part of the display screen (e.g., right, left, top, or bottom). In addition, the notification module can allow the user to specify which part of the display screen the flag can appear.
[0103] First reference Fig. 7A , a display screen 700 is shown that may include a banner 702. The banner 702 may represent a recently received notification (e.g., a text message received from a user's contact). Fig. 7A As shown in , banner 702 may be displayed while a user is playing a video game.
[0104] Banner 702 may include icon 704, text 706, and media 708. Icon 704 may indicate the type of application that generated the notification. Text 706 may include contact information and / or one or more portions of a received text message. In some cases, text 706 may be a truncated version of the full text of the message (e.g., text 706 may include a portion of the text or email body). Media 708 may be embedded media associated with the text message (e.g., a photo of a contact or a media file attached to a text message).
[0105] In some implementations, the notification module can detect when a user has selected flag 702 (e.g., by touching flag 702). In response to the user's selection, the notification module can present the associated notification in the application that generated the notification. For example, in response to the user selecting flag 702, the notification module can display a specific text message corresponding to flag 702 in a text messaging application.
[0106] In some implementations, the user can drag the flag 702 downward to view other notifications that are also associated with the application. Alternatively, in response to the user dragging the flag 702 downward, the notification module can display a notification center. For example, the notification module can display a portion of the notification center that includes an application panel associated with the flag 702. As another example, the notification module can display a portion of the notification center centered around the text message itself.
[0107] Now turn to Figure 7B , a display screen 710 is shown that may include a banner 710. Banner 710 may include media 712, which may be a video attached to the notification. Those skilled in the art will appreciate that media 712 may display any suitable media, such as, for example, images, videos, sound files, maps, electronic business cards, etc.
[0108] Additionally, the banner 710 may include text 713, which may indicate that the notification is associated with multiple images and videos, but not with any text. Specifically, the text 713 may indicate that there are 2 more attachments in addition to the media 712. Thus, the text 713 may change based on the number of attachments not displayed in the banner 710.
[0109] Figure 7C Display screen 716 is shown, which may include a banner 718. Banner 718 may include a map 720, which may be generated based on the notification associated with the map URL. For example, map 720 may be a local map of the vicinity of the location associated with the map URL. In addition, map 720 may include a marker pin placed at a specific location associated with the map URL (e.g., the location of a restaurant or theater).
[0110] Now turn to Fig.7D , a display screen 722 including a flag 724 is shown. The flag 724 may be a merge flag. That is, the flag 724 may include information about multiple notifications that have been queued for a particular application. For example, Fig.7D As shown in FIG. 7 , flag 724 indicates that there are 7 new email notifications for the mail application.
[0111] The notification module may also use any other method to generate the merged flag. For example, the notification module may detect whether two or more notifications are associated with at least one common parameter (e.g., a particular topic). In response to detecting that the two or more notifications are associated with the at least one common parameter, the notification module may append the two or more notifications into a single message within the merged flag. As another example, the notification module may condense (e.g., summarize) the two or more notifications into a single message within the merged flag.
[0112] In some cases, the notification module can display multiple merged flags (e.g., a group of flags) at the same time, where each flag can display a single message. The flag can indicate that there are new notifications queued for multiple applications.
[0113] The notification module may also provide a flag based on the occurrence of one or more triggering events (e.g., one or more time-based or location-based triggering events). For example, when the notification module receives a notification associated with a time-based triggering event (e.g., a reminder to perform a task at a specific time), the notification module may display a flag associated with the event when the event starts or at a predetermined time before the event starts.
[0114] As another example, in response to receiving a notification associated with a location-based trigger event (e.g., a reminder to buy milk at a grocery store), the notification module can display a flag associated with the event when the electronic device is detected to be at the grocery store location. In some embodiments, these alert flags can include a "SNOOZE" button that allows the user to stop the alert for a predetermined period of time.
[0115] The flag displayed on the electronic device may be non-intrusive. That is, the flag may not interfere with the user's access to the overlying controls on the display screen. For example, now referring to Fig. 7E , a display screen 726 is shown that may include a flag 728. The flag 728 may be overlaid on a "NOTIFICATIONS" button 730. Since the flag 728 is a non-intrusive flag, the user can still press the "NOTIFICATIONS" button 730 when the flag is directly over the "NOTIFICATIONS" button 730. In some embodiments, one or more visual indicators may also be displayed, which may indicate to the user that the "NOTIFICATIONS" button 730 is still selectable despite the overlay of the flag 728.
[0116] In some embodiments, the notification module can control the manner in which notifications are displayed when the electronic device is operating in a locked state (e.g., when the electronic device is not in use). Specifically, when the device is operating in a locked state, one or more notifications can be received from different applications. Specifically, the electronic device can receive one or more push events (e.g., phone calls, voicemails, emails, or third-party push events) or device reminders (e.g., reminders or alarms).
[0117] In response to receiving the notification, the electronic device can wake up (e.g., the processor can wake up the graphics module), and the notification module can display the received notification on the display screen. In some cases, the notification can be displayed as a large format notification. Now turn to FIG. 8A to FIG. 8F , which shows a display screen of different types of notifications that may be displayed while an electronic device is operating in a locked state.
[0118] First turn Fig. 8A , a display screen 800 is shown that may include a notification 802. The notification 802 may be displayed after receiving a notification from a third-party application while the electronic device is operating in a locked state. Specifically, the notification 802 may include an icon 804, which may indicate the application that generated the notification 802. In addition, the notification 802 may include text 806, which may provide associated text or portions of the text received from the application.
[0119] In response to viewing notification 802, the user may choose to go directly to the message associated with notification 802. For example, the user may access notification 802 by tapping and holding notification 802. In response to the user's action, the notification module may display a slider on the display screen (e.g., by animating notification 802) (e.g., by flipping notification 802 to a back view). For example, now referring to Figure 8B , display screen 808 may include a slider 810 that may be embedded as a component on the back of notification 802. A user may activate slider 810 by dragging slider button 812 in a particular direction (e.g., to the right).
[0120] Once the notification module detects that the slider 810 has been activated, the notification module can directly unlock the electronic device. After unlocking the electronic device, the notification module can present a specific notification to the user in the application that generated the notification. In some cases, even if the electronic device receives multiple notifications from a specific application, the notification module can bypass these notifications and present the specific notification specifically requested by the user.
[0121] Reference now Figure 8C, a display screen 814 is shown that may include a notification 816. The notification 816 may be displayed in response to an image text message received by the electronic device. Specifically, the notification 816 may include an embedded image 818. In addition, the notification 816 may include text 819, which may provide the identity of the person who sent the text message. In addition, the notification 816 may include text 820, which may be text accompanying the image. Figure 8C As shown in , image 818 may be highlighted in notification 816 (eg, image 818 may be enlarged relative to text 819 and text 820 ).
[0122] Similar to Fig. 8A and Figure 8B If the user chooses to access notification 816 (e.g., by tapping and holding notification 816), the notification module can display a slider. If the user then activates the slider by dragging it, the notification module can unlock the device and provide image 818 directly to the user (e.g., displaying image 818 in an image view of a chat application).
[0123] Those skilled in the art will appreciate that the notification module can display any one or more appropriate types of media in a notification. For example, a notification can include one or more sounds, one or more electronic business cards, one or more videos, and one or more map URLs (e.g., the notification module can display a map of the location of the URL). In addition, similar to a merged flag, the notification module can display information associated with multiple notifications queued for a particular application in a single notification.
[0124] In addition, notifications may be displayed in response to one or more triggering events (e.g., time-based or location-based triggering events). For example, in response to receiving a notification associated with a location-based triggering event, the notification module may display a notification associated with the event once it detects that the electronic device is located at the location of the triggering event.
[0125] As another example, when the notification module receives a notification associated with a time-based trigger event, the notification module may display the notification associated with the event at the start of the event or at a predetermined time before the start of the event. Fig.8D , a display screen 822 with a notification 824 is shown. The notification 824 may include text 826, which may indicate that the notification 824 is displayed in response to a time-based trigger event (e.g., an alarm). In addition, the text 826 may provide a description of the alarm.
[0126] Notification 824 may also include a “stop alarm” button 828. In response to the user selecting the “stop alarm” button 828, the notification module may stop the alarm for a predetermined period of time. As a result of this function, the user is able to control the alarm without unlocking the electronic device.
[0127] Display 800( Fig. 8A )、808( Figure 8B )、814( Figure 8C ) and 822( Fig.8D ) may include a drop-down option 830 that may be located above the displayed notification. Those skilled in the art will appreciate that although FIG. 8A to FIG. 8D In the figure, the drop-down option 830 is shown as being above the notification, and the drop-down option 830 may also be located at any suitable position in the display screen (e.g., the left side, right side, or bottom of the display screen). In addition, if the electronic device is in sleep mode, the user may be able to view the drop-down option 830 by pressing a button on the electronic device (e.g., an on / off and / or home button).
[0128] The pull-down option 830 may allow the user to view previously received notifications (eg, all notifications received while the electronic device is operating in a locked state). The user may select the pull-down option 830 by dragging the option 830 in a downward motion on the screen.
[0129] Reference now Fig. 8E , display screen 832 shows a notification list 834, which can be a list of previously received notifications. Specifically, when each notification in the notification list 834 is initially received, the notification can be displayed as a large format notification (e.g., as FIG. 8A to FIG. 8D However, because the user did not respond to the notification, the notification is then added as a single element to the notification list 834. In some embodiments, the instance of the notification initially displayed in the locked mode may be larger than when the same notification is shown in the notification list 834. For example, notification 802 ( Figure 8B )、816( Figure 8C ) and 824( Fig.8D ) may be respectively larger than elements 835, 837, and 838. That is, elements 835, 837, and 838 can be displayed in a small format.
[0130] Individual elements of the notification list 834 may be stacked on top of each other. For example, the notification module may display multiple text messages received by the electronic device as a single element in the notification list 834.
[0131] In some implementations, notification list 834 may be arranged based on the time each notification was received (e.g., based on chronological order). That is, the most recently received notification may be appended to the top of notification list 834. Alternatively, the most recently received notification may be appended to the bottom of notification list 834. For example, Fig. 8E As shown in , notification list 834 is arranged in chronological order, with the most recent notification at the top of list 834.
[0132] In other embodiments, the notification list 834 may be arranged based on user-selected parameters. For example, the user may specify which application's notifications should appear first, second, third, and so on. Based on the parameters selected by the user, the notification module may sort the received notifications. For example, the notifications corresponding to each application may be grouped together first, and then the applications may be arranged in a predetermined order. For example, notifications corresponding to voicemails may be listed first, notifications corresponding to emails may be listed second, and notifications corresponding to text messages may be listed third, and so on. This will be combined with Fig. 9B The user's selection of the manner in which notification list 834 is arranged is described in more detail.
[0133] The notification list 834 may be scrollable. Specifically, the area 836 of the display screen 832 may be made scrollable so that the notification list 834 may move up or down when a user slides or drags a portion of the area 830. As a result, the notification list 834 may be able to display a large number of notifications (e.g., all notifications received when the device is operating in a locked state). In some embodiments, the notification list may be automatically displayed regardless of whether the drop-down option 830 is displayed and manipulated by the user.
[0134] Additionally, each notification in notification list 834 may be individually accessible. For example, each notification may be associated with its own slider. Similar to the discussion above, a user may select to access a notification in notification list 834 by tapping and holding the notification. For example, a user may tap and hold notification 838, and in response to the user's action, the notification may display a slider in notification list 834 (e.g., by flipping notification 838 to a back view).
[0135] Now turn to Fig.8F , display screen 840 shows notification list 834 with a back view of notification 838. Specifically, notification 838 may include a slider 842. Similar to slider 810 ( Figure 8B ), the slider 842 can be an embedded component in the notification 838. The user can activate the slider 842 by dragging the slider button 844 in one direction (e.g., to the right of the display screen 840).
[0136] Once the user activates slider 842, the notification module can detect that slider 844 has been activated, and the module can unlock the electronic device. After the device is unlocked, the notification module can present a specific notification in the application that generates the notification.
[0137] In some embodiments, the user may choose to unlock the device. For example, the user may unlock the device by pressing a button (e.g., an on / off and / or home button) or sliding an “unlock” slider 846. In response to the user's action, the notification module may display a notification center (e.g., similar to a notification icon) on the display screen. FIG. 6A to FIG. 6E In other embodiments, in response to the user unlocking the device, the notification module may not display the notification center until the user explicitly calls up the notification center. In some embodiments, the "unlock" slider 846 (or other user input unlock area) may include context-sensitive text that changes based on when the notification is received. For example, if an email is received and displayed in the notification list 834, the text may state "Slide to read". As another example, if an alert notification is received, the text may state "Slide to view".
[0138] In some cases, the notification module may allow the user to specify privacy settings. Thus, if the user chooses to turn on privacy settings, one or more notifications or notification types (e.g., notifications associated with text messages) received while the electronic device is in a locked state will not be displayed while the device remains in that state. Then, once the user chooses to unlock the device, the notification module may display one or more flags (e.g., similar to 7A to 7E Received notifications are displayed in the flags in the .
[0139] As discussed above, since users may have different preferences for how they want notifications to be displayed, electronic devices may allow users to customize notification settings. Specifically, users may be able to customize notification settings for locked states (e.g., notifications) and unlocked states (e.g., notification center and flags).
[0140] Return to reference Figure 5 , display screen 500 may include a “SETTING” option 504. Specifically, a user may select the “SETTING” option 504 to change one or more settings of the electronic device. Therefore, in response to the user selecting the “SETTING” option 504, the electronic device may provide a display screen that allows the user to change system settings. For example, now turning to 9A to 9F , a display screen associated with customized notification settings is shown.
[0141] First reference Fig. 9A , the figure shows that the display screen 900 includes a setting list 902, which can be displayed when the user selects the "settings" option 504 ( Figure 5 ) is displayed after the setting list 902 may include a “Notification” option 904. The user may select the “Notification” option 904 to access and modify one or more notification settings (e.g., by tapping on the “Notification” option 904).
[0142] In response to detecting that the user has selected the "Notification" option 904, the electronic device may provide one or more notification settings on the display screen. These notification settings may allow the user to change one or more flag options or notification center options (e.g., when the electronic device is in a locked state) or one or more notification options (e.g., when the electronic device is in an unlocked state). For example, referring to Fig. 9B , a display screen 906 is shown, which may include multiple notification settings.
[0143] For example, display screen 906 may include manual sorting option 908 and automatic sorting option 910. Sorting options 908 and 910 are user-selected parameters that may, for example, specify the order of the notifications in a list such as a notification list (e.g., Fig. 8E and Fig.8F The order in which notifications are displayed in one or more contexts such as notification list 814).
[0144] If the user selects the sort option 908, the notification module (e.g., Figure 2 The notification module 238 of the present invention may allow the user (e.g., provide the user with an option) to manually specify the order in which information is displayed in the notification list. That is, the user may specify which application's notifications should appear first, second, and so on. Based on the user's selection of the sorting option 906, the notification module may sort the received notifications based on the order specified by the user.
[0145] In some embodiments, the order in which the applications are sorted may correspond to the order in which the applications are listed in the "In Notification Center" group 911. In other embodiments, the electronic device may display a different display screen (not shown) that may allow the user to specify the order in which the applications are sorted.
[0146] Once the notification module has sorted the notifications in the groups based on the corresponding applications, the notifications may be assigned a predetermined order for each group. For example, for each group, the notification module may arrange the associated notifications based on the time each notification was received (e.g., based on a chronological order). Those skilled in the art will appreciate that any other predetermined order may be used instead.
[0147] In contrast, if the user selects sort option 910, the notification module may assign a predetermined order for displaying notifications in the notification list. Specifically, the notification module may arrange the received notifications based on the time each notification was received (e.g., based on a chronological order). That is, the most recently received notification may be appended to the top (or bottom) of the notification list. If a newer notification is received, the top notification in the notification list may be pushed down.
[0148] Display screen 906 may also include option 912, which may allow the user to specify which notifications to display in the notification center (e.g., FIG. 6A to FIG. 6E As shown in display screen 906, options 912 may include multiple interactive lists (e.g., "in notification center" group 911 and "not in notification center" group 913). Notifications for applications included in "in notification center" group 911 are displayed in the notification center. In contrast, notifications for applications included in "not in notification center" group 913 are excluded from the notification center.
[0149] The user can specify which applications to include in the notification center by using any suitable method. For example, the user can manually adjust the options 912 by selecting the "EDIT" option 914. In response to the user selecting the "EDIT" option 914, the electronic device can provide a display screen that allows the user to manually move applications into and out of groups 911 and 913.
[0150] Now turn to Fig. 9C , in response to the user selecting the “Edit” option 914 ( Fig. 9B ) is selected and display screen 920 is shown. As shown in display screen 920, the user can move each of options 912 into or out of the “in notification center” group 911 and the “not in notification center” group 913. For example, the user can tap option 922 and drag it from the “not in notification center” group 913 to the “in notification center” group 911.
[0151] Fig.9D Display screen 924 is shown. It may be displayed after option 922 has been moved to the bottom of “in notification center” group 911. In some cases, the order in which the applications are arranged in “in notification center” group 911 may represent the order in which the application panes will be displayed in the notification center. For example, based on Fig.9D In the "In Notification Center" group 911 of FIG. 1 , the notification center may include a weather panel at the top, followed by a mail panel, and so on. Accordingly, the user can adjust the order in which the app panes are displayed in the app center by moving each of the options 922, 926, 928, or 930 up or down (e.g., by tapping and dragging each option).
[0152] Once the user has completed editing the application to be displayed in the notification center, the user can select the "DONE" option 932. After the user's selection, the electronic device can return to the same Fig. 9B A display screen similar to display screen 906.
[0153] As another example, the user can specify which applications to display in the notification center by tapping an option in option 912. Fig. 9B , the user may select the “Mail” option 916. In response to the user's selection, the electronic device may provide a detailed view of display options for the “Mail” application.
[0154] Now turn to Fig.9E , display screen 940 may provide a detailed view of display options for the “Mail” application. Display screen 940 may include a switch 941 that may allow a user to specify whether notifications received from the “Mail” application are included in the notification center. Specifically, if the user sets switch 941 to “on”, notifications received from the “Mail” application will be displayed in the notification center. Conversely, if the user sets switch 941 to “off”, notifications received from the “Mail” application will not be displayed in the notification center.
[0155] If notifications from an application have been selected to be included in the notification center, the user may specify a predetermined number of notifications to be displayed for the application by selecting the “Show” option 942 .
[0156] Reference now Fig.9F , the electronic device may provide a display screen 950, which may be displayed in response to the user selecting the "show" option 942. Display screen 950 may include a list of options 952, wherein each option of the list may allow the user to specify a different number of notifications to be displayed for the application in the notification center (e.g., 1, 5, or 10 notifications). For example, in response to the user selecting option 954, an application pane corresponding to the mail application (e.g., Figure 6B The application pane 614 of the application window can display up to 10 notifications. In some cases, based on the update frequency, the predetermined number of notifications can be set to a higher number for some applications (e.g., email or social networking applications) and can be set to a lower number for other applications (e.g., weather applications).
[0157] Those skilled in the art will appreciate that the options provided in option list 952 are merely illustrative. Specifically, the electronic device may alternatively provide one or more options that allow the user to specify any predetermined number (e.g., 1, 5, 10, 20 or more items, etc.) of notifications.
[0158] Based on a predetermined number of notifications, the notification module can automatically clear notifications from the application pane when the number of displayable notifications exceeds a predetermined number (e.g., Figure 6C and 6D ). Because the notification module can automatically remove one or more notifications that exceed a predetermined number of notifications, the notification module can provide a concise presentation of notifications in the notification center. In addition, since the user does not have to clear the notifications from the notification center (e.g., by selecting Figure 6B button 616), so this method is very convenient for users.
[0159] Review reference Fig.9E , display screen 940 may also include option 943, which may allow the user to select when the electronic device is operating in a locked state (e.g., FIG. 8A to FIG. 8B In some embodiments, the user may choose to add option 943. That is, option 943 may have a default state of "off" so that notifications received when the device is in a locked state are not displayed until the device is switched to an unlocked state.
[0160] This setting may be advantageous because it allows the user to customize the display of notifications based on privacy considerations. For example, the user may not want new email messages to appear on the display screen when the device is operating in a locked state. However, once the user unlocks the device, the user may want to be able to see received emails by calling up the notification center or through one or more flags. However, if the user chooses to set option 943 to "on", the notification module may immediately display new notifications received when the device is in a locked state.
[0161] Option 944 may allow the user to specify how to display notifications when the electronic device is operating in an unlocked state. For example, option 944 may include “None” option 945, “Flag” option 946, and “Reminder” option 947.
[0162] In response to the user selecting the “None” option 945, the notification module may disable visual notifications for the particular application. However, the notifications may still be displayed in the notification center. Alternatively, in response to the user selecting the “Flag” option 946, the notification module may display the received notifications as one or more flags on the display screen (e.g., 7A to 7E For example, if a particular application transmits an important but frequently generated notification, the user may select the “Flag” option 946 .
[0163] In response to the user selecting the “Remind” option 947 , the notification module may display the received notification as a message requiring a response from the user (eg, the user is required to select a “Dismiss” option or a “View” option depending on the type of application).
[0164] Display screen 940 may also include a “badge app icon” option 948, which may indicate whether to display an application artwork corresponding to a received notification within the banner. For example, if the “badge app icon” option 948 is set to “on,” the notification module may display an icon representing the application that generated the notification (e.g., Fig. 7A In contrast, if the "logo application icon" is set to "off", the notification module will not display the icon corresponding to the application in the banner. Those skilled in the art will appreciate that the "logo application icon" can support the notification module to add any other visual decoration to the banner in addition to or instead of the picture of the application.
[0165] “Sound” option 949 may indicate whether sound is supported when notifications for an app are received. If “Sound” option 949 is set to “Off,” no sound will be played when notifications for an app are received. Conversely, if “Sound” option 949 is set to “On,” the notification may play an audio reminder when a new notification for an app is received. As a result, even if “None” option 945 is selected for a particular app (e.g., no visual notification), the user may still hear an audio reminder when a new notification for that app is received. As a result of hearing the audio reminder, the user may later choose to call up the notification center to access the notification. Those skilled in the art will appreciate that 9A to 9F The notification settings discussed in are merely exemplary, and any other suitable notification settings may be made customizable.
[0166] As discussed above, the notification module can be implemented on any suitable electronic device. For example, the notification module can be implemented on a computer with a large display and / or a touch screen (e.g., Figure 2 In such embodiments, the notification center may not fill the entire screen as it does on smaller devices.
[0167] For example, turning FIG. 10A to FIG. 10C , the figure shows a display screen of an electronic device with a large display. First, refer to Fig. 10A , display screen 1000 shows that notification center 1002 does not fill the entire display screen 1000.
[0168] Additionally, for devices with large displays, the notification module can display a visual indication when the notification center does not include any new notifications. Fig. 10B As shown in the display screen 1004 of , the notification module can indicate that the notification center 1002 does not currently contain new notifications. Those skilled in the art will appreciate that such an indication can also be provided on an electronic device with a smaller display.
[0169] Reference now Fig. 10C , display 1006 shows the types of notifications that can be displayed when the electronic device with a large screen is in both a locked state and a landscape mode. FIG. 8A to FIG. 8F , a new notification received is not first displayed on the display screen as a larger single notification. Instead, the new notification is displayed in a scrollable notification list 1008. Therefore, the notification module may not be required to display information such as FIG. 8A to FIG. 8D A drop-down option such as drop-down option 830 of . Those skilled in the art will appreciate that notification list 1008 can be displayed in a similar manner when the device is in portrait mode.
[0170] Those skilled in the art will appreciate that each notification in notification list 1008 may be displayed in a manner similar to that in notification list 834 ( Fig. 8E and Fig.8F ) in the notification. In addition, those skilled in the art will appreciate that FIG. 10A to FIG. 10C The display screen shown in is only one embodiment of the notification center. Therefore, the notification module implemented on the electronic device with a large display can display the notification in any suitable manner (e.g., similar to the FIG. 6A to FIG. 6E , 7A to 7E , FIG. 8A to FIG. 8F as well as 9A to 9F (the method of providing notification in the ).
[0171] Now turn to Figures 11 to 14 , a flowchart of an illustrative process according to various embodiments of the present invention is shown. These processes can be performed by an electronic device (e.g., Figure 1 Device 100 or Figure 2 For example, Figures 11 to 14 At least some steps in the process may be performed by a notification module (e.g., Figure 2 In addition, those skilled in the art will appreciate that some steps may be performed in conjunction with a touch processing module (e.g., Figure 2 ) and / or a graphics module (e.g., Figure 2 Graphics module 228) to execute.
[0172] First turn Fig.11 , a process 1100 of displaying a drop-down option in response to receiving a plurality of notifications is shown. The process 1100 may begin at step 1102, and at step 1104, a notification module may receive a plurality of notifications from at least one application.
[0173] Then, in step 1106, the notification module may detect that the electronic device is operating in a locked state. Continuing to step 1108, the notification module may provide a drop-down option associated with a plurality of notifications (eg, FIG. 8A to FIG. 8DIn addition, the notification module can also provide notifications on the display screen (e.g., Fig. 8A and Figure 8B Notice 802, Figure 8C 816, or Fig.8D Notifications 824), where the displayed notifications may be the most recently received notifications.
[0174] After providing the drop-down option, process 1100 may move to step 1110. In step 1110, the notification module may determine that the user has selected the drop-down option. Then, in step 1112, the notification module may provide the user with a list of multiple notifications (e.g., Fig. 8E and Fig.8F The process 1100 may then end at step 1114.
[0175] Now turn to Fig.12 , a process 1200 of displaying a notification center is shown. Process 1200 may start at step 1202, and at step 1204, a notification module may receive a plurality of notifications, wherein the plurality of notifications may include at least one of a push-based notification (e.g., a notification from a third party or a third-party application) and a trigger-based notification (e.g., an alarm or reminder).
[0176] Then, in step 1206 , the notification module can detect that the electronic device is in an unlocked state. After detecting that the device is in an unlocked state, process 1200 can move to step 1208 .
[0177] In step 1208, the notification module can detect that the user has chosen to access the notification center. For example, the notification module can detect that the user has performed a general swipe gesture (e.g., by quickly flicking one or more fingers in a downward motion from the top of the display screen). As another example, the notification module can detect that the user has slowly dragged one or more fingers downward from the top of the display screen.
[0178] Continuing with step 1210, the notification module can display a notification center, wherein the notification center can include multiple panes associated with multiple notifications (e.g., Figure 6B The process 1200 may then end at step 1212.
[0179] Reference now Fig.13 , a flow chart of an illustrative process 1300 for providing a flag is shown. Process 1300 may begin at step 1302, and in step 1304, a notification module may receive a notification from at least one application. In step 1306, the notification module may detect that the electronic device is in an unlocked state.
[0180] Continuing to step 1308, the notification module may provide a banner associated with the notification, wherein the banner allows the user to access at least one control that overlaps with the banner. Fig. 7E As shown in FIG. 13 , the notification module may provide a banner 728 that overlaps a “Notify” button 730. However, the notification module may nonetheless allow the user to access the “Notify” button 730. After providing the banner, process 1300 may end at step 1310.
[0181] Reference now Fig.14 , a flowchart of an illustrative process 1400 for providing notification settings is shown. Process 1400 may begin at step 1402, and at step 1404, the notification module may provide options for modifying settings for device notifications (e.g., Fig. 9A Then, in step 1406, the notification module can detect that the user has selected this option.
[0182] Continuing to step 1408, the notification module may provide a plurality of notification settings, wherein the plurality of notification settings may include options associated with one or more of the following: a notification order option (e.g., Fig. 9B Option 912), notification number option (e.g., Fig.9F 952) and reminder style options (e.g., Fig.9E The process 1400 may then end at step 1410.
[0183] It should be understood that Figures 11 to 14 The processes 1100, 1200, 1300 and 1400 are merely illustrative. Any steps may be removed, modified or combined, and any additional steps may be added without departing from the scope of the present invention.
[0184] The described embodiments of the present invention are presented for purposes of illustration and not limitation.
Claims
1. A method comprising: At an electronic device having a display: displaying, via the display, a first notification having a first appearance, wherein the first notification corresponds to an application; detecting a first input beginning at a corresponding location on the display other than a location of the first notification; and In response to detecting the first input, a second notification having a second appearance different from the first appearance is displayed via the display, wherein the second notification corresponds to the first notification.
2. The method according to claim 1, further comprising: In response to detecting the first input, ceasing to display the first notification having the first appearance.
3. The method according to any one of claims 1-2, wherein the first input comprises a sliding input.
4. The method of any one of claims 1-2, wherein the first input comprises a substantially vertical movement.
5. The method according to any one of claims 1 to 2, wherein: The first appearance corresponds to a first notification size; and The second appearance corresponds to a second notification size, wherein the second notification size is smaller than the first notification size. 6 . The method of claim 1 , wherein the second notification having the second appearance is closer to a top edge of the display than the first notification having the first appearance.
7. The method according to any one of claims 1 to 2, wherein: The first notification having the first appearance includes a first representation of image data; and The second notification having the second appearance includes a second representation of the image data, the second representation of the image data having a size different than a size of the first representation of the image data.
8. The method according to any one of claims 1 to 2, wherein: The first notification having the first appearance includes a first representation of audio media; and The second notification having the second appearance includes a second representation of the audio media that is different from the first representation of the audio media.
9. The method according to any one of claims 1-2, further comprising: detecting a second input corresponding to the second notification having the second appearance; and In response to detecting the second input corresponding to the second notification having the second appearance, displaying a user interface corresponding to the second notification in the application corresponding to the first notification.
10. The method of any one of claims 1-2, wherein displaying the first notification having the first appearance comprises: One or more affordances corresponding to the application are displayed.
11. The method according to claim 10, further comprising: While the electronic device is in a locked state: detecting a third input corresponding to the one or more affordances; and In response to detecting the third input corresponding to the one or more enable indications, performing a corresponding operation corresponding to the first notification.
12. An electronic device comprising: one or more processors; as well as A memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1-11.
13. A computer-readable storage medium storing one or more programs, wherein the one or more programs are configured to be executed by one or more processors of an electronic device, and the one or more programs include instructions for executing the method according to any one of claims 1-11.
14. An electronic device comprising: Apparatus for performing the method according to any one of claims 1-11.
15. A computer program product, comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for executing the method according to any one of claims 1-11.
16. A method comprising: At an electronic device having a display: Detecting that the electronic device is in a locked state; receiving a first notification from an application on the electronic device; Displaying the first notification on the display of the electronic device, wherein the displayed first notification is selectable; detecting a user selection of the first notification; as well as While the electronic device remains in the locked state, an operation is performed based on the user selection.
17. The method of claim 16, wherein the first notification includes a stop alarm button, and the operation includes stopping the alarm for a predetermined time.
18. The method of any one of claims 16-17, wherein the first notification comprises at least one embedded image.
19. The method of any one of claims 16-17, wherein the first notification is displayed in response to a time-based triggering event.
20. The method of any one of claims 16-17, wherein the application is a third party application.
21. The method according to any one of claims 16-17, further comprising: upon detecting the user selection of the first notification, animating the first notification to display a slider; Detect that the user has activated a slider.
22. The method according to any one of claims 16-17, further comprising: Display drop-down options; detecting that a user has selected the drop-down option; as well as A notification list is displayed, wherein the notification list includes a list of previously received notifications, wherein the lists of previously received notifications are stacked on top of each other.
23. The method according to claim 22, further comprising: receiving a second notification; displaying the second notification; detecting that the user has not selected the second notification; as well as The second notification is added to the notification list.
24. An electronic device comprising: one or more processors; as well as A memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 17-23.
25. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, wherein the one or more programs include instructions for executing a method according to any one of claims 17-23.
26. An electronic device comprising: Apparatus for performing the method according to any one of claims 17-23.
27. A computer program product, comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 17-23.
28. A method comprising: At an electronic device having a display: providing, on the display, an option for modifying notification settings for the electronic device; detecting that a user has selected said option; Provides a list of apps with notification settings; detecting that a user has selected an application from the application list; as well as A plurality of notification settings are provided for the selected application.
29. The method of claim 28, wherein the plurality of notification settings include at least one option for specifying whether notifications received from the selected application are included in a notification center.
30. The method of any of claims 28-29, wherein the plurality of notification settings includes at least one option for specifying a predetermined number of notifications to be displayed for the selected application.
31. The method of any one of claims 28-29, wherein the plurality of notification settings include at least one option for selecting whether to display notifications associated with the selected application when the electronic device is operating in a locked state.
32. The method of any one of claims 28-29, wherein the plurality of notification settings includes at least one option for specifying how notifications are to be displayed when the electronic device is operating in an unlocked state.
33. The method of any of claims 28-29, wherein the plurality of notification settings includes at least one option for specifying whether to display a selected drawing of the application in a banner corresponding to a notification received for the application.
34. The method of any one of claims 28-29, wherein the plurality of notification settings include at least one option for specifying whether sound is supported when a notification for the selected application is received.
35. The method according to any one of claims 28-29, further comprising: receiving a user selection of an automatic mode for specifying an order in which notifications are displayed; as well as Assigns a predetermined order for displaying notifications in a list of notifications.
36. The method of claim 35, wherein the predetermined order is based on a time of receipt of the notifications.
37. The method according to any one of claims 28-29, further comprising: receiving a user selection of a manual mode for specifying an order in which notifications are displayed; providing the user with an option to specify an order in which notifications are displayed in a list of notifications; as well as The received notifications are sorted based on the order.
38. An electronic device comprising: one or more processors; as well as A memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 28-37.
39. A computer-readable storage medium storing one or more programs, wherein the one or more programs are configured to be executed by one or more processors of an electronic device, and the one or more programs include instructions for executing a method according to any one of claims 28-37.
40. An electronic device comprising: Apparatus for performing the method according to any one of claims 28-37.
41. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 28-37.
42. A method comprising: At an electronic device having a display: Receive notifications from the Calendar app; as well as The list of notifications is displayed in a calendar pane of a notification center on the display, wherein the list of notifications includes upcoming events for a predetermined time period.
43. The method of claim 42, wherein the upcoming events are organized in chronological order.
44. The method of any one of claims 42-43, wherein the calendar pane is adjusted in real time while an event among the upcoming events is ongoing.
45. The method according to any one of claims 42-43, further comprising: detecting a predetermined number of notifications to be displayed for the calendar application; detecting whether the number of notifications in the list of notifications exceeds the predetermined number of notifications; as well as In response to detecting that the number of notifications in the list of notifications exceeds the predetermined number of notifications, at least one notification is automatically cleared from the calendar pane.
46. The method according to any one of claims 42-43, further comprising: Detection of upcoming events has expired; as well as At least one notification associated with the upcoming event is automatically removed from the list of notifications in the calendar pane.
47. An electronic device comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 42-46.
48. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for executing a method according to any one of claims 42-46.
49. An electronic device comprising: Apparatus for performing the method according to any one of claims 42-46.
50. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 42-46.
51. A method comprising: At an electronic device having a display: Receive multiple notifications; Detecting that the electronic device is in an unlocked state; Detect that the user has chosen to access the notification center; displaying the notification center, wherein the notification center includes a plurality of panes associated with the plurality of notifications; as well as An option is provided for a first pane of the plurality of panes and for a second pane of the plurality of panes to allow the user to manually clear at least one notification from the respective panes.
52. The method of claim 51 , wherein detecting that the user has chosen to access the notification center comprises: It is detected that the user has performed a gesture from the top of the display toward the bottom of the display.
53. The method of any one of claims 51-52, wherein displaying the notification center comprises: Pull down the notification center from the top to the bottom of the display.
54. The method according to any one of claims 51-52, further comprising: providing options for modifying settings for the notification center; detecting that the user has selected the option; as well as Provides multiple notification settings.
55. The method according to any one of claims 51-52, further comprising: Automatic removal of the at least one notification from the notification center is provided after a calendar event corresponding to the at least one notification has expired.
56. The method according to any one of claims 51-52, further comprising: detecting a user selection of one of the displayed panes; as well as The application associated with the pane selected by the user is opened.
57. The method according to any one of claims 51-52, wherein the plurality of notifications include at least one of a push-based notification and a trigger-based notification, wherein the trigger-based notification is a time-based notification or a location-based notification.
58. An electronic device comprising: one or more processors; as well as A memory storing one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 51-57.
59. A computer-readable storage medium storing one or more programs, wherein the one or more programs are configured to be executed by one or more processors of an electronic device, and the one or more programs include instructions for executing a method according to any one of claims 51-57.
60. An electronic device comprising: Apparatus for performing the method according to any one of claims 51-57.
61. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 51-57.
62. A method comprising: At an electronic device having a display: receiving a plurality of notifications, wherein the plurality of notifications comprises at least one of a push-based notification and a trigger-based notification; Detecting that the electronic device is operating in an unlocked state; Detect that the user has chosen to access the notification center; as well as The notification center is displayed, wherein the notification center includes a plurality of panes associated with the plurality of notifications.
63. The method of claim 62, further comprising: Pull down the notification center to the bottom of the display.
64. The method of any one of claims 62-63, wherein detecting that the user has chosen to access the notification center further comprises: It is detected that the user has flicked or dragged at least one finger from the top of the display.
65. The method according to any one of claims 62-63, further comprising: An option is provided for each of the plurality of panes, wherein the option allows the user to manually clear at least one notification from the pane.
66. The method according to any one of claims 62-63, further comprising: providing options for modifying settings for the notification center; detecting that a user has selected said option; as well as Provides multiple notification settings.
67. The method according to any one of claims 62-63, further comprising: Automatic removal of the at least one notification from the notification center is provided after a calendar event corresponding to the at least one notification has expired.
68. An electronic device comprising: one or more processors; as well as A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for performing a method according to any one of claims 62-67.
69. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for executing a method according to any one of claims 62-67.
70. An electronic device comprising: Apparatus for performing the method according to any one of claims 62-67.
71. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for performing the method according to any one of claims 62-67.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Method and apparatus for integrating manual input
US6323846B1
Multi-touch system and method for emulating modifier keys via fingertip chords
US6570557B1
System and method for recognizing touch typing under limited tactile feedback conditions
US6677932B1