The specification relates generally to portable electronic devices, and specifically to a method and apparatus for managing processing resources in a portable electronic device.
Applications running in the background on a portable electronic device drain processing resources causing the portable electronic device to appear sluggish and cause a battery in the portable electronic device to run down.
Implementations are described with reference to the following figures, in which:
An aspect of the specification provides a method for managing processing resources in a portable electronic device comprising a processing unit interconnected with a display device, a memory device and an input device, the processing unit processing a plurality of applications in the background such that the plurality of applications are initially not viewable on the display device, the method comprising: controlling an area of the display device to provide a banner region comprising device state data, the area of the display device enabled to receive focus using the input device; while the focus is in the banner region, receiving first input data, and responsively controlling the display device to provide in the banner region an indication of the first application, the indication of the first application replacing the device state data; and, receiving further input data while the indication of the first application is provided in the banner region and, in response, at least one of: bringing the first application to the foreground by controlling the display device to provide a representation of the first application; and closing the first application such that resources used by the processing unit are reduced.
The method of can further comprise: prior to receiving the further input data, successively receiving next input data similar to the first input data, and for each set of the next input data received, providing a next indication of a next application of the plurality of applications, the next indication replacing a previous indication of a previous application of the plurality of applications; and once the further input data is received, at least one of: bringing a present application associated with a presently provided indication provided in the banner region to the foreground by controlling the display device to provide a representation of the present application; and closing the present application such that the resources used by the processing unit are reduced.
Responsively controlling the display device to provide in the banner region an indication of the first application can comprise: controlling circuitry in the area of the display device to cause the device state data to move towards a first lateral edge of the display device; and, controlling the circuitry to cause the indication to appear from a second lateral edge of the display device, the second lateral edge opposite the first lateral edge.
Bringing the first application to the foreground by controlling the display device to provide a representation of the first application can comprise: controlling circuitry of the display device to cause the representation to scroll from the banner region to a bottom edge of the display device. The method can further comprise receiving additional input data causing the first application to be sent to the background and responsively controlling the circuitry to cause the representation to scroll to the banner region.
The method can further comprise removing the banner region from the display device after receiving the further input data.
The banner region can be removed from the display device after a given time period such that next input data similar to the first input data can be received during the given time period causing a next indication of a next application of the plurality of applications to be provided in the banner region so that the next application can be at least one of brought to the foreground and closed, a representation of the next application replacing the representation of the first application when the next application is brought to the foreground.
The input device can comprise at least one of a touch screen device and a pointing device and the first input data can comprise at least one of: data received from the touch screen device indicative that a lateral swipe has occurred in the area of the display device; and data received from the pointing device indicative that a lateral actuation has occurred at the pointing device.
The indication of the first application can comprise at least one an icon indicative of the first application and text indicative of the first application.
Another aspect of the specification provides a portable electronic device comprising: a processing unit interconnected with a display device, a memory device and an input device, the processing unit processing a plurality of applications in the background such that the plurality of applications are initially not viewable on the display device, the processing unit enabled to: control an area of the display device to provide a banner region comprising device state data, the area of the display device enabled to receive focus using the input device; while the focus is in the banner region, receiving first input data, responsively control the display device to provide in the banner region an indication of the first application, the indication of the first application replacing the device state data; and, receive further input data while the indication of the first application is provided in the banner region and, in response, at least one of: bringing the first application to the foreground by controlling the display device to provide a representation of the first application; and closing the first application such that resources used by the processing unit are reduced.
The processing unit can be further enabled to: prior to receiving the further input data, successively receive next input data similar to the first input data, and for each set of the next input data received, provide a next indication of a next application of the plurality of applications, the next indication replacing a previous indication of a previous application of the plurality of applications; and once the further input data is received, at least one of: bring a present application associated with a presently provided indication provided in the banner region to the foreground by controlling the display device to provide a representation of the present application; and close the present application such that the resources used by the processing unit are reduced.
To responsively control the display device to provide in the banner region an indication of the first application, the processing unit can be further enabled to: control circuitry in the area of the display device to cause the device state data to move towards a first lateral edge of the display device; and, control the circuitry to cause the indication to appear from a second lateral edge of the display device, the second lateral edge opposite the first lateral edge.
To bring the first application to the foreground by controlling the display device to provide a representation of the first application, the processing unit can be further enabled to: control circuitry of the display device to cause the representation to scroll from the banner region to a bottom edge of the display device. The processing unit can be further enabled to receive additional input data causing the first application to be sent to the background and responsively control the circuitry to cause the representation to scroll to the banner region.
The processing unit can be further enabled to remove the banner region from the display device after receiving the further input data.
The banner region can be removed from the display device after a given time period such that next input data similar to the first input data can be received during the given time period causing a next indication of a next application of the plurality of applications to be provided in the banner region so that the next application can be at least one of brought to the foreground and closed, a representation of the next application replacing the representation of the first application when the next application is brought to the foreground.
The input device can comprise at least one of a touch screen device and a pointing device and the first input data can comprise at least one of: data received from the touch screen device indicative that a lateral swipe has occurred in the area of the display device; and data received from the pointing device indicative that a lateral actuation has occurred at the pointing device.
The indication of the first application can comprise at least one an icon indicative of the first application and text indicative of the first application.
A further aspect of the specification provides a computer program product, comprising a computer usable medium having a computer readable program code adapted to be executed to implement a method for managing processing resources in a portable electronic device comprising a processing unit interconnected with a display device, a memory device and an input device, the processing unit processing a plurality of applications in the background such that the plurality of applications are initially not viewable on the display device, the method comprising: controlling an area of the display device to provide a banner region comprising device state data, the area of the display device enabled to receive focus using the input device; while the focus is in the banner region, receiving first input data, and responsively controlling the display device to provide in the banner region an indication of the first application, the indication of the first application replacing the device state data; and, receiving further input data while the indication of the first application is provided in the banner region and, in response, at least one of: bringing the first application to the foreground by controlling the display device to provide a representation of the first application; and closing the first application such that resources used by the processing unit are reduced.
Device 101 can further comprise an application 136 for managing processing resources. Application 136 can be stored in memory 124 and processed by processing unit 120. In particular processing of application 136 enables device 101 to at least one of: bring a given application 135 to the foreground such that the given application 135 is viewable at display 126; and close the given application 135 to reduce resources used by processing unit 120, as will be described below.
In general, device 101 comprises any suitable portable electronic device for processing applications 135, 136, including but not limited to any suitable combination of portable computing devices, mobile computing devices, laptop computing devices, portable electronic devices, mobile electronic devices, PDAs (personal digital assistants), cellphones, smartphones and the like. Other suitable portable electronic devices are within the scope of present implementations.
Processing unit 120 comprises any suitable processor, or combination of processors, including but not limited to a microprocessor, a central processing unit (CPU) and the like. Other suitable processing units are within the scope of present implementations.
Memory 124 can comprise any suitable memory device, including but not limited to any suitable one of, or combination of, volatile memory, non-volatile memory, random access memory (RAM), read-only memory (ROM), hard drive, optical drive, flash memory, magnetic computer storage devices (e.g. hard disks, floppy disks, and magnetic tape), optical discs, and the like. Other suitable memory devices are within the scope of present implementations. In particular, memory device 124 is enabled to store applications 135, 136.
Input device 125 is generally enabled to receive input data, and can comprise any suitable combination of input devices, including but not limited to a keyboard, a keypad, a pointing device, a mouse, a track wheel, a trackball, a touchpad, a touch screen and the like. Other suitable input devices are within the scope of present implementations.
Display device 126 comprises circuitry 139 for generating representations of data, for example a representation 140 of applications 135, 136, as will be described below. Display device 126 can include any suitable one of or combination of CRT (cathode ray tube) and/or flat panel displays (e.g. LCD (liquid crystal display), plasma, OLED (organic light emitting diode), capacitive or resistive touchscreens, and the like). Circuitry 139 can include any suitable combination of circuitry for controlling the CRT and/or flat panel displays etc., including but not limited to display buffers, transistors, electron beam controllers, LCD cells, plasmas cells, phosphors etc. In particular, display device 126 and circuitry 139 can be controlled by processing unit 120 to generate representation 140.
In particular, attention is directed to
In implementations depicted in
Communication interface 129, when present, comprises any suitable communication interface, or combination of communication interfaces. In particular communication interface 129 is enabled to communicate with via a network (not depicted), the network being wired and/or wireless as desired. Accordingly, communication interface 129 (which will also be referred to as interface 129 hereafter) is enabled to communicate according to any suitable protocol which is compatible with the network, including but not limited to wired protocols, USB (universal serial bus) protocols, serial cable protocols, wireless protocols, cell-phone protocols, wireless data protocols, Bluetooth protocols, NFC (near field communication) protocols and/or a combination, or the like. In some implementations, interface 129 can be enabled to communicate with remote computing devices (e.g. servers, other computing devices, other mobile electronic devices, etc.), via any suitable communication network according to any suitable protocol, including but not limited to packet based protocols, Internet protocols, analog protocols, PSTN (public switched telephone network) protocols, WiFi protocols, WiMax protocols and the like, and/or a combination. Other suitable communication interfaces and/or protocols are within the scope of present implementations.
Attention is now directed to
In particular, it is appreciated that method 300 can be carried out at device 101 by processing application 136, and that application 136 can comprise method 300. It is yet further appreciated that each of the steps of method 300 are performed by processing unit 120.
At 301, area 230 of display 126 is controlled to provide a banner region comprising device state data. For example, attention is directed to
Returning to
However, at 303, when focus is determined to be on banner region 401, focus on banner region 401 can be optionally visually indicated using any suitable method: for example, as depicted in
Again returning to
For example, when input device 125 comprises a touch screen device, the input data of 305 can comprise data received from the touch screen device indicative that a swipe has occurred in area 230 of display 126, for example a lateral swipe (i.e. from one side to the other side of display 126, across area 230). When input device 125 comprises a pointing device, the input data of 305 can comprise data received from pointing device indicative that a lateral actuation has occurred at the pointing device, e.g. substantially equivalent to a lateral swipe received from a touch screen.
For example, attention is directed to
It is appreciated, however, that while a lateral swipe and a lateral sliding animation is provided in exemplary implementations, the method of replacing device state data 402 with indication 602 in banner region 401 is substantially non-limiting. For example the swipe could be in any suitable direction and/or the swipe could be replaced with a tap and/or click sequence, or the equivalent, using input device 125. Further the sliding animation could be replaced with device state data 402 fading into indication 602 and/or indication 602 replacing device state data 402 step wise and/or abruptly. Indeed, any suitable combination of suitable input data types and suitable replacement methods are within the scope of present implementations.
It is yet further appreciated that indication 602 can comprise at least one an icon indicative of first application 135a (e.g. an icon representative of an envelope or any other suitable icon indicative of a message application) and text indicative of first application 135a (e.g. “Message”, or any other suitable text).
Returning to
It is further appreciated that a decision occurs at 309 as to whether or not receipt of further data has occurred, the further data indicative that a present application 135 associated with a currently provided indication in banner region 401 is to be at least one of: brought to the foreground; and closed, as will be described below.
For example
Repetition of steps 305 to 309 can continue indefinitely, cycling through applications 135 (i.e. the subset of applications 135 that are running in the background) until further input data is received at 309. In some instances, a swipe in a direction opposite arrows 601, 801 (i.e. left to right) cause an indication of a previous application 135 to be provided. Further, when an indication of a last application 135N is reached and another swipe is detected, then application 136 can cycle back to first application 135a.
In any event, further data can comprise any suitable data indicative that a present application 135 associated with a presently provided indication, for example indication 802 in
In exemplary implementations depicted in
As appreciated from
In some implementations, further input data can trigger application 135b to close (e.g. 313 in method 300).
In yet further implementations, a first type of further input data can cause application 135b to be brought to the foreground, while a second type of further input data can cause application 135b to close. For example, the swipe represented by arrow 1001 can cause application 135b to be brought to the foreground and a double tap on indicator 802 can cause the associated application 135b to close. However, any combination of further input data is within the scope of present implementations.
Attention is now directed to
It is further appreciated that the order in which indications of applications 135 are provided in 307 of method 300 is generally non-limiting as 305-309 are repeated. For example, indications of applications 135 can be provided in the order in which applications 135 were initially processed, alphabetical order, an order of priority and/or any other suitable order. In some implementations, processing unit 120 can generate a list of applications 135 (e.g. a list of suitable identifiers of applications 135) (and/or update the list as applications 135 are opened or closed) and provide the indications of applications 135 by processing the list.
It is yet further appreciated that while method 300 was described with reference to application 135a as a first application and application 135b as a second application, the order in which indications of applications 135 are provided is generally non-limiting.
It is further appreciated that banner region 401 can be removed from display 126 after receiving further input data, for example at 311 of method 300, as depicted in
In yet further implementations, banner region 401 can be removed from display 126 after a given time period (e.g. a few seconds or any other suitable time period) such that even though the representation of a current application 135 has been generated, next input data similar to the input data represented by arrows 601, 801, can be received during the given time period (e.g. further swipes occur in banner region 401). This causes a next indication of a next application 135 of the plurality of applications 135 to be provided in banner region 401. Hence, a next application 135 can be at least one of brought to the foreground and closed, a representation of a next application 135 replacing a representation of the currently displayed application 135 when the next application 135 is brought to the foreground. The currently displayed application 135 is sent to the background. Hence, rather than scroll through indications of applications 135, the representations of applications 135 can be scrolled through and their functionality accessed.
Indeed, in some implementations, the representations of applications 135 can be provided along with associated indications in banner region 401 such that the representations of applications 135 can be scrolled through rather than just the associated indications.
Indeed, it is appreciated that any suitable method of scrolling through the applications using banner region 401 is within the scope of present implementations.
It is yet further appreciated that while method 300 was described with reference to indication 602 of application 135a replacing device state data 402 and indication 802 of application 135b replacing indication 802, before application 135b is brought to the foreground, method 300 can be described with reference to a first application 135 being brought to the foreground and/or closed. For example, method 300 can comprise (with reference to device 101):
controlling area 230 of display device 126 to provide banner region 401 comprising device state data 402, area 230 of display device 126 enabled to receive focus using input device 125 (e.g. 301 of method 300);
while focus is in banner region 401, receiving first input data, and responsively controlling display device 126 to provide in banner region 401 an indication of a first application 135, indication of first application 135 replacing device state data 402 (e.g. 303 to 307 of method 300); and,
receiving further input data while indication of first application 135 is provided in banner region 401 (e.g. 309 of method 300) and, in response, at least one of:
bringing first application 135 to the foreground by controlling display device 126 to provide a representation of first application 135 (e.g. 311 of method 300); and
closing first application 135 such that resources used by processing unit 120 are reduced (e.g. 313 of method 300).
In addition, when more than one application 135 is running in the background, method 300 can further comprise:
prior to receiving further input data, successively receiving next input data similar to first input data, and for each set of next input data received, providing a next indication of a next application of plurality of applications 135, next indication replacing a previous indication of a previous application 135 of the plurality of applications 135; and
once further input data is received, at least one of:
bringing a present application 135 associated with a presently provided indication provided in banner region 401 to the foreground by controlling display 126 to provide a representation of the present application 135; and
closing the present application 135 such that resources used by processing unit are reduced.
In some implementations, in addition to applications 135 being run in the background, indications of commonly used applications (that may or may not be running in the background) can be provided at 307 of method 300. For example, device 101 can be provisioned with a list of applications that are appreciated to be commonly used, and indications of these commonly used applications can be scrolled through in banner region 401 in addition to applications 135 that are being processed in the background.
In any case, by providing an easy and convenient method to access and close applications being run in the background of a portable electronic device, the performance of the portable electronic device can be improved and the battery life of the portable electronic device extended.
Those skilled in the art will appreciate that in some implementations, the functionality of device 101 can be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components. In other implementations, the functionality of device 101 can be achieved using a computing apparatus that has access to a code memory (not shown) which stores computer-readable program code for operation of the computing apparatus. The computer-readable program code could be stored on a computer readable storage medium which is fixed, tangible and readable directly by these components, (e.g., removable diskette, CD-ROM, ROM, fixed disk, USB drive). Alternatively, the computer-readable program code could be stored remotely but transmittable to these components via a modem or other interface device connected to a network (including, without limitation, the Internet) over a transmission medium. The transmission medium can be either a non-wireless medium (e.g., optical and/or digital and/or analog communications lines) or a wireless medium (e.g., microwave, infrared, free-space optical or other transmission schemes) or a combination thereof.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
Persons skilled in the art will appreciate that there are yet more alternative implementations and modifications possible for implementing the implementations, and that the above implementations and examples are only illustrations of one or more implementations. The scope, therefore, is only to be limited by the claims appended hereto.
Number | Name | Date | Kind |
---|---|---|---|
5544358 | Capps et al. | Aug 1996 | A |
20060020904 | Aaltonen et al. | Jan 2006 | A1 |
20070229518 | Kii et al. | Oct 2007 | A1 |
20070238489 | Scott | Oct 2007 | A1 |
20080092054 | Bhumkar et al. | Apr 2008 | A1 |
20080195961 | Bae et al. | Aug 2008 | A1 |
20110252375 | Chaudhri | Oct 2011 | A1 |
20110252381 | Chaudhri | Oct 2011 | A1 |
Number | Date | Country |
---|---|---|
1 748 630 | Jan 2007 | EP |
1 777 611 | Apr 2007 | EP |
1956473 | Aug 2008 | EP |
1 976 240 | Oct 2008 | EP |
2136290 | Dec 2009 | EP |
0210893 | Feb 2002 | WO |
2008132536 | Nov 2008 | WO |
Entry |
---|
Comparing samrtphone Uls—The Status bar published on Feb. 4, 2010 http://usersarehuman.wordpress.com/2010/02/04/comparing-smartphone-u is-the-status-bar. |
Comparing Smartphone Uls: the Status Bar http://usersarehumans.wordpress.com/2010/02/04/comparing-smartphone-uis-the-status-bar/Downloaded on Dec. 1, 2010. |
Google Nexus One Review by Brad Linder Downloaded on Oct. 26, 2010. |
BB Task Switcher http://advice.cio.com/al—sacco/blackberry—tips—tricks—escape—as—app—switcher—free—up—convenience—key Downloaded on Dec. 1, 2010. |
Windows “Alt-Tab” http://en-wikipedia.org/wiki/Alt-Tab Downloaded on Dec. 2, 2010. |
Android Developers Click on Status bar notification switch to task in current state? Published Aug. 16, 2009. |
Kirikae iPhone Task Switcher 1 “Kirikae Review for iphone via cydia” [http://www.youtube.com/watch?v=DKMpaqQdFPU&feature=related] Sep. 10, 2009 (included on disc attached). |
Kirikae iPhone Task Switcher 1 “Backgrounder Kirikae on iphone” [http://www.youtube.com/watch?v=vEYyFfic9DI] Oct. 3, 2009 (included on disc attached). |
PalmPre WebOS Palm pre multitasking [http://www.youtube.com/watch?v=POrGiwdyQ4E ] Jul. 3, 2009 (included on disc attached). |
“ProSwitcher for iPhone” [http://www.precentral.net/proswitcher-brings-webos-style-multitasking-jailbroken-iphones] Dec. 13, 2009 (embedded video included on disc attached). |
Android Task Switcher [http://www.androidapps.com/t/task-switcher] Nov. 11, 2009 (embedded video included on disc attached). |
European Patent Application No. 10186796.8 Search Report dated Mar. 14, 2011. |
Number | Date | Country | |
---|---|---|---|
20120088552 A1 | Apr 2012 | US |