The present specification relates generally to computing devices and more specifically relates to interfaces for application management in electronic devices.
Electronic devices continue apace to provide greater functionality. Some non-limiting examples are helpful. In terms of applications, email, calendaring, contact management are ubiquitous on mobile electronic devices, and a large number of enhanced applications beyond these core applications are also being offered.
An aspect of this specification provides a method for controlling a display of an electronic device to provide an application management interface comprising: receiving a set of installed application identifiers corresponding to all applications installed on an the electronic device; controlling the display to generate at least one a portion of the set of installed application identifiers; receiving a set of active application identifiers corresponding to all active applications currently executing on a processor of the electronic device; controlling the display to generate at least one a portion of the set of active application identifiers in conjunction with the at least one a portion of the set of installed application identifiers; and in response to an input, invoking an application corresponding to one of the installed application identifiers or one of the active application identifiers.
The method can further comprise: receiving navigation input; and controlling the display to navigate the at least one of the installed application identifiers or the at least one of the active application identifiers according to the navigation input.
The navigation input can comprise input representative of a selection of an affordance. The navigation input can comprise input representative of a swipe gesture.
Each of the active application identifiers can comprise a task window.
The task window can comprise a view that can be dynamically updated to display a current activity within an application corresponding to the task window.
The at least one of the installed application identifiers and the at least one of the active application identifiers can be displayed in an application window.
The at least one of the installed application identifiers can be displayed in a first application window and the at least one of the active application identifiers can be displayed in a second application window.
The first application window can comprise a sorting interface for sorting the at least one of the installed application identifiers into subsets.
The subsets can include at least one of (All, Games, Media, Social, and Favourites).
The method can further comprise: receiving an input representative of a command to close a first active application; and removing, from the second window, an active application identifier corresponding to the first active application.
The at least one of the installed application identifiers and the at least one of the active application identifiers can be generated in a carousel mode.
Each of the installed application identifiers comprises one of (icons and text names).
Another aspect of this specification provides an electronic device comprising: a display; and a processor configured to: receive installed application identifiers corresponding to all applications installed on the electronic device; control the display to generate at least one of the installed application identifiers; receive active application identifiers corresponding to all active applications; control the display to generate at least one of the active application identifiers in conjunction with the at least one of the installed application identifiers; and in response to an input, invoke an application corresponding to one of the installed application identifiers or one of the active application identifiers.
The processor can be further configured to: receive navigation input; and control the display to navigate the at least one of the installed application identifiers or the at least one of the active application identifiers according to the navigation input.
Another aspect of this specification provides a computer program product, for a portable electronic device comprising a processor and a display, the computer program product comprising a non-transitory computer-readable storage medium having a computer-readable program code adapted to be executedable on the processor to implement a method of controlling the display to provide an application management interface, the method comprising: receiving installed application identifiers corresponding to all applications installed on the electronic device; controlling the display to generate at least one of the installed application identifiers; receiving active application identifiers corresponding to all active applications; controlling the display to generate at least one of the active application identifiers in conjunction with the at least one of the installed application identifiers; and in response to an input, invoking an application corresponding to one of the installed application identifiers or one of the active application identifiers.
Referring now to
Referring to
Referring to
Processor 100 in turn is also configured to control display 58, speaker 66 and flash 72, also in accordance with different programming instructions and optionally responsive to different input receive from the input devices.
Processor 100 also connects to a network interface 112, which can be implemented in a present embodiment as a radio configured to communicate over a wireless link, although in variants device 50 can also include a network interface for communicating over a wired link. Network interface 112 can thus be generalized as a further input/output device that can be utilized by processor 100 to fulfill various programming instructions. It will be understood that interface 112 is configured to correspond with the network architecture that defines such a link. Present, commonly employed network architectures for such a link include, but are not limited to, Global System for Mobile communication (“GSM”), General Packet Relay Service (“GPRS”), Enhanced Data Rates for GSM Evolution (“EDGE”), 3 G, High Speed Packet Access (“HSPA”), Code Division Multiple Access (“CDMA”), Evolution-Data Optimized (“EVDO”), Institute of Electrical and Electronic Engineers (IEEE) standard 802.11 (Wifi), Bluetooth™ or any of their variants or successors. It is also contemplated each network interface 112 can include multiple radios to accommodate the different protocols that may be used to implement different types of links. In the specific, non-limiting example, interface 112 is configured to provide 3 G, Wifi and Bluetooth™ links.
As will become apparent further below, device 50 can be implemented with different configurations than described, omitting certain input devices or including extra input devices, and likewise omitting certain output devices or including extra input devices. For example,
Hereafter, further discussion relates to device 50a, but those skilled in the art will recognize that with appropriate modifications such discussion can also relate to device 50, or other variants of device 50a.
Referring to
Furthermore, device 50a is also configured to execute, using processor 100 and volatile storage 108, to execute menu application 124 and various ones of the other applications 126, as those other applications 126 are invoked for execution.
A non-limiting example of an interface for managing the various installed and executing applications is shown in
Menu application 124 comprises an installed application window 130 and an active application window 134. While window 130 and window 134 are shown as being framed, such framing is not necessary, and, if desired at all, other types of indications can be provided in order to distinguish window 130 from window 134, such as the use of shading or labels or combinations thereof.
In general terms, installed application window 130 provides a navigable interface of icons 126(i) for all other applications 126 that are installed on device 50a and therefore stored in non-volatile storage 104. Hereafter, the following nomenclature is used for icons 126(i): icon 126-1(i) is an icon corresponding to application 126-1; icon 126-2(i) is an icon corresponding to application 126-2; etc. Generically, an icon is referred to as icon 126(i), while collectively, icons are referred to as icons 126(i). Also hereafter, the term “installed applications” is to be understood to refer to applications 126 that are stored within non-volatile storage 104, irrespective of whether those applications 126 are actually executing on processor 100 or present within volatile storage 108. The icons for other applications 126 shown in installed application window 130 may be invoked from installed application window 130 for execution on processor 100.
Installed application window 130 also comprises a sorting interface 137 which can be used to select whether the entire set, or only certain grouped subsets, of icons 126(i) for installed other applications 126 will be displayed within installed application window 130. The sorting interface 137 (which is not required) shown in
Installed application window 130 also comprises a left-navigation affordance 138 and a right-navigation affordance 142 which may be selected to view, (in a carousel or non-carousel or other mode, as per configuration of device 50a), other icons 126(i) corresponding to installed applications 126 that are not presently within the view shown within installed applications window 130. In variations left-navigation affordance 138 and right-navigation affordance 142 can be eliminated, or supplemented, by configuring a touch screen version of pointing device 64 to respond to left or right “swipe” gestures. Other navigation interfaces will now occur to those skilled in the art.
Using pointing device 64 (or keyboard 62, if provided), other applications 126 can be activated from installed application window 130 by selecting any portion of display 58 that is bounded by the area of installed application window 130. For example, where pointing device 64 is a set of touch screen transducers overlaid on display 58, then depressing an area of display 58 that is bounded by the area of an icon, via a stylus or via a finger, will invoke a selected application 126 within installed application window 130. As another example, where pointing device 64 is a trackball or a touchpad, then pointing device 64 can be manipulated to move a cursor (or otherwise change the focus of a pointer on display 58) to select any portion of display 58 that is bounded by the area of installed application window 130, in order to invoke a selected application 126 within installed application window 130.
In general terms, active application window 134 provides a navigable interface of task windows 126(tw) for all other applications 126 that are currently executing on processor 100 of device 50a. Hereafter, the following nomenclature is used for task windows 126(tw): task window 126-1(tw) is a task window corresponding to application 126-1; task window 126-2(tw) is an icon corresponding to application 126-2(tw); etc. Generically, an individual task window is referred to as task window 126(tw), and collectively as task windows 126(tw). Also hereafter, the term “active applications” is to be understood to refer to applications 126 that are installed on device 50a and stored within non-volatile storage 104, but are also actually executing on processor 100. The task windows 126(tw) for other applications 126 shown in active application window 130 may be maximized so as to fully occupy the area of display 58, thereby closing menu application 124 or placing menu application 124 as a background application that is still active on processor 100 but not visible on display 58.
Active application window 134 also comprises a left-navigation affordance 146 and a right-navigation affordance 150 which may be selected to view, (in a carousel or non-carousel or other mode, as per configuration of device 50a), task windows 126(tw) corresponding to active applications 126 that are not presently within the view shown within active applications window 134. In variations left-navigation affordance 146 and right-navigation affordance 150 can be eliminated, or supplemented, by configuring a touch screen version of pointing device 64 to respond to left or right “swipe” gestures. Other navigation interfaces will now occur to those skilled in the art.
In a present implementation, each task window 126(tw) shows within that task window 126(tw) current activity within the corresponding application 126. For example, task window 126-1(tw) corresponds to the inbox of an email application 126-1 that is currently executing on processor 100. Accordingly, task window 126-1(tw) shows the current state of the inbox of email application 126-1. As new emails are received, the view within task window 126-1(tw) is dynamically updated to show the new emails. As another example, task window 126-2(tw) corresponds to a movie player application 126-2 that is currently playing a particular video file. The video file will continue to play (i.e. frames will advance) within task window 126-2(tw) as part of the normal execution of movie player application 126-2. As another example, task window 126-6(tw) corresponds to an instant messaging application 126-6 that is currently showing a particular active instant message conversation. As participants in the conversation continue to dialogue, the dialogue updates will continue to appear within task window 126-6(tw) as part of the normal execution of instant message application 126-6.
Referring now to
Block 305 comprises receiving installed application identifiers. The form of installed application identifiers is not particularly limited. However, installed application identifiers can be in the form of icons, or text names for applications, or combinations thereof. Other forms of installed application identifiers will occur to those skilled in the art. The installed application identifiers will correspond to all applications currently installed in device 50a as stored within non-volatile storage 104. In the example of
Block 310 comprises controlling the display to generate the installed application identifiers received at block 305. In the example of
Block 315 comprises receiving active application identifiers. The form of active application identifier is not particularly limited. However, application identifiers can be in the form of task windows, or icons, or text names for applications, or combinations thereof. Other forms of installed application identifiers will occur to those skilled in the art. The active application identifiers will correspond to all applications currently active on device 50a as executing on processor 100. In the example of
Block 320 comprises controlling the display to generate the active application identifiers received at block 315. In the example of
Block 325 is a wait block to determine if any input is received. Again, depending on the types of input devices available on configuration of device 50a, input may be received by any available input device, such as pointing device 64 or keyboard 62 if present.
Block 330 comprises determining if navigation input has been received. A “yes” determination leads to block 335. In the example of
Block 335 comprises controlling the display to navigate application identifiers according to the received navigation input. In the example of
A “no” determination at block 330 leads to block 340. Block 340 comprises determining if an invocation input has been received. An invocation input generally corresponds to any received instruction at processor 100 indicating that a particular application 126 corresponding to a particular installed application identifier (e.g. an icon 126(i)) is to be executed on processor 100, or that a particular application 126 corresponding to a particular active application identifier (e.g. a task window 126(tw)) is to be maximized or restored to full viewing on display 58. Such an invocation input may comprise, for example, a prolonged depression of an area of display 58 that matches a particular icon 126(i) or a particular task window 126(tw). Other gestures for providing an invocation input will occur to those skilled in the art, such as a “double tap” of an area of display 58 that matches a particular icon 126(i) or a particular task window 126(tw). As another example, where a keyboard 62 is provided, then the depression of the “enter” key (or other designated key) could correspond to an instruction to maximize the center-most task window 126(tw), which in the example of
Block 345 comprises invoking the selected application in accordance with the instruction received at block 340.
Block 350 is an exception block, to handle any types of input, or other events, that are not otherwise contemplated at block 330 or block 340. For example, while not shown in method 300, for ease of illustration, it is also contemplated that an input can be received which closes an active application so that it is no longer executing and is therefore removed from active application window 134. Thus, block 350 can be modified to accommodate closure of an active application 126 directly from within menu application 124. Likewise, block 350 can be modified so that an inactive application 126 can also be selected directly for deletion or uninstallation from installed application window 130.
To further emphasize the fact that different views for menu application 124 are contemplated,
Various advantages will now be apparent. Of note is that combined generation of views of active applications 126 with inactive applications 126 reduces the processing burden of constantly switching and hunting between views that show each application 126. Applications 126 which are executing can be seen, and more readily closed, in the event they are not required for execution. On devices with reduced processing, memory, display, and power resources, the careful management of active applications can drastically improve performance of such devices.
While the foregoing provides certain non-limiting exemplary embodiments, it should be understood that combinations, subsets, and variations of the foregoing are contemplated. For example, where installed application window 130 or active application window 134 may be laid out in other formats, including a grid format, where the area of display 58 accommodates.
The present specification claims priority from U.S. Provisional Patent Application 61/386,739 filed Sep. 27, 2010, the contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61386739 | Sep 2010 | US |