Application display on a locked device

A user request to display an application while the device is locked is received. In response to this user request, one or more images generated by the application are obtained and displayed while the device is locked. Additionally, an indication of an application to be displayed upon resuming operation from a power-saving mode can be received, and an image generated by the application is displayed in response to resuming operation from the power-saving mode.

BACKGROUND

Mobile communications devices, such as wireless phones, have become increasingly commonplace. Due to their typically small size, such mobile communications devices can oftentimes be easily kept in a pocket, briefcase, purse, etc. Storing mobile communications devices in such locations can be problematic because the devices can be accidentally activated, causing unwanted actions to be performed by the devices. To prevent such accidental activation, some mobile communications devices can be locked by a user entering a particular key sequence, and then unlocked by the user entering another particular key sequence. When locked, the device typically accepts no inputs (except inputs to unlock the device), and displays some default or generic screen to the user. While such locking prevents accidental activation of the device, it is not without its problems. One such problem is that locking and unlocking the device can be a time-consuming and cumbersome process for the user, which can result in frustrating experiences when users are trying to use the mobile communications devices.

SUMMARY

In accordance with one or more aspects, a user request to display an application while the device is locked is received. In response to the user request to display the application while the device is locked, an image generated by the application is obtained and displayed while the device is locked.

In accordance with one or more aspects, an indication of an application to be displayed upon resuming operation from a power-saving mode is received. An image generated by the application is displayed in response to resuming operation from the power-saving mode.

DETAILED DESCRIPTION

Application display on a locked device is discussed herein. A user of a device can request, such as with a simple finger gesture, that a particular application be displayed while the device is locked. In response to the request, images generated by the application continue to be displayed while the device is locked. The images displayed can change as the application runs while the device is locked, allowing the user to continually view updates from the application despite the device being locked. Alternatively, the device can be locked and placed in a power-saving mode in which no images are displayed. Upon resuming from the power-saving mode, the device remains locked but is also displaying images generated by a particular application requested by the user.

FIG. 1illustrates an example mobile communications device100implementing the application display on a locked device in accordance with one or more embodiments. A mobile communications device refers to a communications device capable of sending and receiving communications, such as phone calls, text messages, messages including other content types, and so forth. Communications device100is referred to as being mobile because it is typically designed to be moved and used in different locations by users. Mobile communications device100can be a variety of different types of devices, such as a cellular phone, a satellite phone, other types of wireless phones, a handheld computer, a personal digital assistant (PDA), an audio and/or video playback device, a portable game device, an automotive computer, a dedicated messaging device, a netbook, and so forth. It is to be appreciated that mobile communications device100can include functionality in addition to being able to send and receive communications calls, such as calendar functionality, audio and/or video playback functionality, mapping or location-tracking functionality, and so forth. Although some discussions herein refer to the application display on a locked device being implemented on a mobile communications device, it is to be appreciated that the application display on a locked device can alternatively be implemented on other types of devices.

Mobile communications device100includes a shell module102, a screen104, and one or more applications106. Shell module102includes a user interface (UI) module112, an input module114, a communication module116, a power-save module118, a device lock module120, and a locked display module122. Each of modules102,112,114,116,118,120, and122can be implemented in software, firmware, hardware, or combinations thereof. When implemented in software or firmware, such a module includes one or more instructions that are executed by one or more processors or controllers of mobile communications device100.

Screen104is a display component of mobile communications device100. Screen104can be implemented in a variety of different manners, such as using liquid crystal display (LCD) technology, plasma screen technology, image projection technology, and so forth. Alternatively, rather than including screen104, mobile communications device100can generate one or more signals that are output to one or more other display devices which include screen104.

Shell module102includes one or more modules that manage communications, receive user inputs, display images, and so forth as discussed in more detail below. Applications106communicate with shell module102and provide various functionality. Applications106typically rely on shell module102to manage receiving of user inputs on behalf of the applications106, and displaying images generated by applications106on screen104. A variety of different types of applications can be included as applications106, such as productivity applications (e.g., spreadsheet applications, word processing applications), recreational applications (e.g., games), resource applications (e.g., databases, digital books), audio/video applications (e.g., digital cameras, digital video cameras, music playback programs), mapping or tracking applications, and so forth.

Input module114receives user inputs from a user of mobile communications device100. User inputs can be provided in a variety of different manners, such as by pressing a particular portion of a touchpad or touchscreen of device100, or pressing one or more keys of a keypad or keyboard of device100. Touchscreen functionality can be provided using a variety of different technologies, such as through capacitive, surface acoustic wave, resistive, optical, strain gauge, dispersive signals, acoustic pulse, or other touchscreen technologies. The user input can also be provided in other manners, such as via audible inputs, other physical feedback input to the device (e.g., tapping any portion of device100or another action that can be recognized by a motion detection component of device100, such as shaking device100, rotating device100, etc.), and so forth.

UI module112generates, manages, and/or outputs a user interface for display on screen104. This user interface displays various information on screen104, and user inputs can be received by input module114as discussed above. UI module112can display, for example, messages sent by mobile communications device100to other devices, messages received by mobile communications device100from other devices, images generated by applications106, and so forth.

Communication module106manages receiving of communications from and sending of communications to other devices, including other mobile devices. Mobile communications device100can communicate with other devices using a variety of different technologies and protocols, such as cellular, satellite, and/or other technologies or protocols. The technologies or protocols can include wireless and/or wired technologies and protocols.

Communication module106supports one or more of a variety of different types of communications with other devices. One type of communication typically supported by communication module106is a voice call. This can include voice calls that are initiated by mobile communications device100(e.g., outgoing calls), as well as voice calls that are initiated by other devices (e.g., incoming calls). Alternatively, mobile communications device100can support other types of communications, and need not support voice calls.

Another type of communication supported by communication module106is a message, which refers to text messages or messages with other types of media such as images, video, audio, combinations of types of media, and so forth. Such messages can comply, for example, with the Short Message Service (SMS) communication protocol or the Multimedia Messaging Service (MMS) communication protocol. Various other types of communications can also be supported by communication module106, such as mobile instant messaging (mobile IM), email (electronic mail), and so forth.

Power-save module118manages power saving functionality for mobile communications device100. This functionality is typically designed to conserve one or more batteries powering device100. Power-save module118supports various power-saving modes implementing various power saving functionality, such as decreasing the brightness of screen104, turning off screen104, reducing the operating speed and/or power of a processor of device100, turning off one or more input/output components of device100, and so forth. Different types of power saving functionality can be implemented by power-save module118, and which power saving functionality is implemented at which times can vary. For example, power-save module118can be configured to enter a first power-saving mode by decreasing the brightness of screen104after a first amount of time has passed with no user input being received by module114, and to enter a second power-saving mode by turning off the screen104after a second amount of time has passed with no user input being received by module114.

Device lock module120manages the locking of mobile communications device100. Device100is locked to prevent accidental activation of the device. When device100is locked, module120prevents most inputs received by input module114from being acted upon by device120. This prevention can be performed in different manners, such as module120intercepting and ignoring such inputs, module120informing input module114to ignore such inputs, and so forth. When device100is locked, device lock module120monitors inputs received by input module114for a particular input. This particular input is, for example, activation or selection of a particular key or button, activation or selection of a particular key sequence or button sequence, inputting of a particular gesture, and so forth. This particular input is interpreted by device lock module120as a user request to unlock mobile communications device100.

In response to a user request to unlock mobile communications device100, device lock module120unlocks device100. When unlocked, module120no longer prevents inputs received by module114from being acted upon by device120. For example, module120can stop intercepting and ignoring such inputs, module120can inform input module114to no longer ignore such inputs, and so forth.

Locked display module122manages the display of images from an application106while mobile communications device100is locked. Rather than displaying a generic image on screen104when device100is locked, module122allows images generated by an application106to be displayed while device100is locked. As the application106runs and updates the images it displays, at least some of these updated images are displayed by module122on screen104.

In one or more embodiments, a user of mobile communications device100inputs a request via input module114for a particular application to be displayed while device100is locked. In response to such a request, locked display module122displays images generated by the particular application while device100is locked. The user request can be input in a variety of different manners via input module114. For example, the user request can be input by the user entering a gesture with his or her finger via a touchscreen or touchpad (e.g., a circle, the letter “Z”, etc.), by the user selecting a menu item (e.g., a “display when locked” menu item), by the user moving the device in a particular manner (e.g., rotating the device, tapping the device twice in quick succession, etc.), and so forth.

One or more different applications106can be run on mobile communications device100, including running multiple applications106concurrently. Multiple applications106can be run concurrently on device100in a variety of different conventional manners. The multiple applications typically have a depth ordering, with applications being viewed as running at particular depths or Z-orders. Which application is at which depth or level changes based on user requests to use the applications, such as more recently requested applications being a higher level than less recently requested applications. The top-level application of applications106can change, and is typically the application that is currently being used (or was most recently used or selected) by the user. This top-level application at any particular time is also typically the application that is being displayed on screen104at that particular time.

In one or more embodiments, locked display module122displays images generated by the top-level application106at the time the user request for a particular application to be displayed while device100is received. Accordingly, the user can easily request that a particular application be displayed while device100is locked by having that particular application be the top-level application, and then entering the request for the application to be displayed while device100is locked.

FIG. 2is a diagram illustrating an example screen display of a mobile communications device in accordance with one or more embodiments. InFIG. 2, a screen200is displayed having a header portion202and an application display portion204. Images generated by an application running on the mobile communications device are displayed in application display portion204, while information describing those applications and/or the operation of the mobile communications device is displayed in header portion202. For example, header portion202can include a name of the application being displayed in portion204(“Map”), one or more vertical bars indicating the strength of a wireless signal being received by the mobile communications device, and a current time. It is to be appreciated, however, that different and/or additional information can be displayed in header portion202.

In the example ofFIG. 2, the application running on the mobile communications device is a map application that displays the current location of the mobile communications device on a map. Various streets are illustrated in display portion204, along with an arrow and large dot to identify the current location of the mobile communications device. The current location of the mobile communications device can be determined in a variety of different manners, such as based on Global Positioning System (GPS) signals received by the mobile communications device, based on signals or information received from cellular towers or other wireless base stations, and so forth. It is to be appreciated that the map application is an example, and that alternatively images generated by other applications can alternatively be displayed in display portion204.

FIG. 2illustrates an example of a user request being entered by a user with a gesture of his or her finger. The gesture illustrated inFIG. 2is a large “Z” shape, which is illustrated as broken line210. The input of this “Z” shape is interpreted by locked display module122ofFIG. 1as a user request for a particular application to be displayed while the mobile communications device is locked. The particular application is the application being displayed when the gesture is made, which is the map application inFIG. 2.

FIG. 3is a diagram illustrating another example screen display of a mobile communications device in accordance with one or more embodiments. InFIG. 3, screen200is displayed having a header portion202and an application display portion204as discussed above with reference toFIG. 2. However,FIG. 3illustrates an example of a user request being entered by a user selection of a menu item.

InFIG. 3, a menu310is displayed including various menu items from which the user can select. Menu310can be displayed in response to a variety of different commands, such as user selection of a “menu” button or key, the user entering a particular gesture with his or her finger and/or providing physical feedback to the mobile communications device in a particular manner, and so forth. Menu310includes a “display when locked” menu item, which can be selected by the user. The user can select menu items in a variety of different manners, such as by touching the displayed menu item with his or her finger, navigating the menu items using directional buttons and pressing a “select” or “ok” button when the menu item is highlighted, and so forth. The user selection of the “display when locked” menu item is interpreted by locked display module122ofFIG. 1as a user request for a particular application to be displayed while the mobile communications device is locked. The particular application is the application being displayed when the menu item selection is made, which is the map application inFIG. 3.

Returning toFIG. 1, mobile communications device100can be locked at some time after a user request for a particular application to be displayed while device100is locked is received. Device100can be locked in response to a user request, or alternatively in response to some other action or event (e.g., after a particular amount of time of no user input being received by device100). In one or more embodiments, the user request for a particular application to be displayed while device100is locked is also a request to lock device100, although alternatively the request to lock device100can be a separate user input.

Additionally, in response to a request for an application to be displayed while device100is locked, locked display module122prevents the power saving functionality provided by power-save module118from entering a power-saving mode. In one or more embodiments, locked display module122notifies power-save module118that module118should cease its power saving functionality. In response to such a notification, power-save module118ceases performing its power saving functionality, such as decreasing the brightness of screen104and/or turning off screen104, by not entering power-saving modes. This cessation of the power saving functionality continues until power-save module118is notified to resume its power saving functionality (e.g., by device lock module120in response to device100being unlocked).

Alternatively, rather than not entering a power-saving mode, power-save module118can alter its entering a power-saving mode. This alteration can include not entering certain power-saving modes and/or changing the time of when certain power-saving modes are entered. For example, power-save module118may normally enter a first power-saving mode by decreasing the brightness of screen104after a first amount of time of no user input being received, and then enter a second power-saving mode by turning off screen104after a second amount of time of no user input being received. Power-save module118can alter this functionality to not enter the first power-saving mode, but may still enter the second-power saving mode after a particular amount of time of no user input being received (which may be the same amount of time as the second amount of time, or alternatively may be a longer or shorter amount of time).

Whether to enter and/or when to enter a power-saving mode can be determined in different manners. In one or more embodiments, power-save module118is configured with an indication of when (and whether) to enter particular power-saving modes in response to a notification to cease power saving functionality received from locked display module122. Alternatively, an indication of when (and whether) to enter particular power-saving modes can be provided by locked display module122and/or the application106to be displayed while device100is locked.

Alternatively, locked display module122can determine when (and whether) device100is to enter particular power-saving modes in other manners. For example, locked display module122can intercept commands issued by power-save module118, such as commands to turn off screen104, commands to reduce the brightness of screen104, and so forth. These intercepted commands can be deleted (so that they are not performed) and/or altered by locked display module122.

Locked display module122displays images generated by a particular application106while device100is locked, and can display these images in a variety of different manners. In one or more embodiments, the particular application106continues to run while device100is locked, generating images for display as if device100were not locked. Locked display module122provides these images to a display driver associated with screen104in a same manner as when device100is not locked, which displays the images as if device100were not locked.

Alternatively, locked display module122can display images generated by a particular application106in other manners. For example, the particular application106can continue to run and generate images for display while device100is locked, but locked display module122does not provide all of these images to the display driver associated with screen104. Rather, locked display module122selects images at regular or irregular intervals (e.g., every ten or fifteen seconds, every minute, etc.), and provides those selected images to the display driver associated with screen104. These intervals can vary based on application106. For example, it may be desirable to have more frequent updates for an application106that is a mapping application than for an application106that is a stock quote application.

Whether images generated by an application106are displayed as if device100were not locked, or whether images generated by an application106are displayed at some other interval, application106need have no knowledge that device100is locked. Rather, application106continues running until receiving a notification from shell102to cease running.

Alternatively, application106can be notified (e.g., by locked display module122) that device100is locked, and in response the behavior of application106can be altered. For example, application106can invoke a method of an application programming interface (API) exposed by locked display module122to provide module122with images to be displayed while device106is locked. Module122receives these images and provides the received images to the display driver associated with screen104. The particular images generates for display while device106is locked, and the frequency with which those particular images are generated, is determined by the application106.

Regardless of the manner in which locked display module122displays images generated by application106while device100is locked, user inputs to application106are prevented because device100is locked. Thus, the user is able to continue to see the images generated or otherwise output by application106, but is not able to provide inputs to application106until device100is unlocked.

FIG. 4is a diagram illustrating an example screen display of a locked mobile communications device in accordance with one or more embodiments. InFIG. 4, screen400is displayed having a header portion402and an application display portion404, analogous to header portion202and application display portion402ofFIG. 2. As shown inFIG. 4, an image from the map application is displayed in display portion404even though the device is locked.

Screen400also includes a lock button406. Lock button406can be displayed in application display portion404by locked display module122or alternatively another module or application. For example, locked display module122can generate an overlay that is lock button406and provide the overlay along with the image from the map application to the display driver associated with screen400. Alternatively, lock button406can be displayed elsewhere, such as in header portion402.

Lock button406signifies to a user of the mobile communications device that the mobile communications device is currently locked. Lock button406can be selected by the user in a variety of different manners to request that the mobile communications device be unlocked, such as by pressing lock button406, tapping lock button406a particular number of times in rapid succession, pressing and sliding lock button406to the left or right, and so forth. Such a request to unlock the device is typically followed by user entry of particular character or number sequence, or some other code or pattern, to unlock the device.

FIG. 5is a diagram illustrating another example screen display of a locked mobile communications device in accordance with one or more embodiments. InFIG. 5, screen400is displayed having a header portion402, an application display portion404, and a lock button406as discussed above with reference toFIG. 4.

InFIG. 5, however, the image displayed in application display portion404is different than the image illustrated inFIG. 4. This change in images displayed in portion404is a result of a different image being generated by the map application being displayed in portion404while the map application is running.

Thus, as can be seen in the examples ofFIGS. 4 and 5, screen400displays images generated by the map application in application display portion404. These images are displayed even though the mobile communications device is locked. These images also change over time as new images are generated by the map application as the map application runs while the mobile communications device is locked.

Additionally, it can be seen from the discussions herein that the application display on a locked device techniques allow a user to quickly and easily identify an application to be displayed while the mobile communications device is locked. For example, the user can simply enter on a touchscreen a particular gesture with his or her figure while the desired application is being displayed, and that desired application becomes the application displayed while the device is locked. Thus, the user can have his or her device locked and at the same time be able to continue to monitor the application and see images generated by the application. The user is able to see these images without needing to repeatedly unlock the device, check the application, and relock the device.

Returning toFIG. 1, locked display module122displays images generated by an application106while device100is locked in response to a user request for a particular application to be displayed while device100is locked. It should be noted that device100can still be locked in a more traditional manner, such as in response to a user request for a traditional locking of device100, after a particular amount of time has elapsed with no user input, and so forth. In such situations, a generic image is displayed to the user while screen104is turned on and device100is locked. This generic image, however, is not based on images generated by application106while device100is locked.

Additionally, as discussed above situations can arise where power-save module118enters a power-saving mode (e.g., turns off screen104) while mobile communications device100is locked. In one or more embodiments, locked display module122displays images generated by an application106after device100resumes operation from the power-saving mode (e.g., after screen104is turned back on by power-save module118). The particular application106whose generated images are displayed by locked display module122can be determined in different manners. For example, the particular application106whose generated images are displayed by locked display module122can be the application for which a user request for a particular application to be displayed while device100is locked is received. By way of another example, the particular application106whose generated images are displayed by locked display module122can be the top-level application at the time device100is locked (or enters a power-saving mode). By way of yet another example, the particular application106whose generated images are displayed by locked display module122can be a user-specified application identified in a user configuration or parameter setting. It should be noted that locked display module122can display images generated by an application when resuming from a power-saving mode regardless of whether a user request for a particular application to be displayed while device100is locked is received.

Locked display module122can determine when device100has resumed operation from a power-saving mode in a variety of different manners. In one or more embodiments, power-save module118notifies locked display module122that device100has resumed operation from a power-saving mode. Alternatively, locked display module122can determine when device100has resumed operation from a power-saving mode, such as intercepting commands issued by power-save module118, identifying settings or state of other components or modules of device100(e.g., identifying whether screen104is turned on), and so forth.

For example, a user request for a particular application to be displayed while device100is locked can be received. Device100is subsequently locked, and after a particular amount of time device100enters a power-saving mode by power-save module118turning off screen104. Device100can subsequently resume operation from the power-saving mode, such as in response to a user input being received via input module114, by power-save module118turning back on screen104. Device100is still locked, but locked display module122displays images generated by the particular application106.

By way of another example, no user request for a particular application to be displayed while device100is locked may be received. Device100is subsequently locked and a generic image is displayed on screen104. After a particular amount of time device100enters a power-saving mode by power-save module118turning off screen104. Device100can subsequently resume operation from the power-saving mode, such as in response to a user input being received via input module114, by power-save module118turning back on screen104. Device100is still locked, but locked display module122displays images generated by the particular application106rather than the generic image.

Additionally, in one or more embodiments a user of device100can elect to opt out of having a particular one or more applications displayed while device100is locked. This allows the user to prevent images from being displayed by an application that may display images that include sensitive data (e.g., confidential work emails) or other images that the user desires not to be displayed. The user can select these particular one or more applications in a variety of manners, such as entering a particular gesture while the application is the top-level application, selecting a menu item while the application is the top-level application, accessing a configuration menu or window of the application, and so forth. Alternatively, all applications can default to being opted out of being displayed while device100is locked, and the user can elect to opt in to having a particular one or more applications displayed while device100is locked. The user can select these particular one or more applications in a variety of manners, such as entering a particular gesture while the application is the top-level application, selecting a menu item while the application is the top-level application, accessing a configuration menu or window of the application, and so forth.

FIG. 6is a flowchart illustrating an example process600for application display on a locked device in accordance with one or more embodiments. Process600is carried out by a device, such as mobile communications device100ofFIG. 1, and can be implemented in software, firmware, hardware, or combinations thereof. Process600is an example process for application display on a locked device; additional discussions of application display on a locked device are included herein with reference to different figures.

In process600, a user request to display an application while the device is locked is received (act602). This user request can be received in a variety of different manners, such as input of a user gesture, selection of a menu item, and so forth.

In response to the user request received in act602, an image generated by the application is obtained (act604) and displayed (act606). This image is obtained and displayed while the device is locked as discussed above. Acts604and606can be repeated multiple times, allowing multiple images generated by an application to be displayed while the device is locked as discussed above. Acts604and606can be repeated until a user request to unlock the device is received, or another module (e.g., power-save module118) indicates to cease displaying the images.

FIG. 7is a flowchart illustrating another example process700for application display on a locked device in accordance with one or more embodiments. Process700is carried out by a device, such as mobile communications device100ofFIG. 1, and can be implemented in software, firmware, hardware, or combinations thereof. Process700is an example process for application display on a locked device; additional discussions of application display on a locked device are included herein with reference to different figures.

In process700, an indication of an application to be displayed after resuming from a power-saving mode is received (act702). This indication can be received in a variety of different manners as discussed above, such as a configuration setting input by the user.

After the device has entered a power-saving mode, a determination is made that the device has resumed operation from the power-saving mode (act704). This determination can be made in a variety of manners, such as in response to a notification from a power-save module (e.g., module118ofFIG. 1) that the device has resumed from the power-saving mode.

In response to the device resuming operation from the power-saving mode, an image generated by the application is displayed (act706). This application is the application for which the indication was received in act702, and the image generated by the application is generated after the device resumes operation from the power-saving mode. Accordingly, the image generated is a current output or image of the application when the device resumes operation form the power-saving mode. Additionally, multiple images from this application can be displayed while the device remains locked, as discussed above. The display of such images can continue until a user request to unlock the device is received, or another module (e.g., power-save module118) indicates to cease displaying the images.

FIG. 8illustrates an example computing device800that can be configured to implement the application display on a locked device in accordance with one or more embodiments. Computing device800can be, for example, mobile communications device100ofFIG. 1.

Computing device800includes one or more processors or processing units802, one or more computer readable media804which can include one or more memory and/or storage components806, one or more input/output (I/O) devices808, and a bus810that allows the various components and devices to communicate with one another. Computer readable media804and/or one or more I/O devices808can be included as part of, or alternatively may be coupled to, computing device800. Bus810represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or local bus, and so forth using a variety of different bus architectures. Bus810can include wired and/or wireless buses.

Memory/storage component806represents one or more computer storage media. Component806can include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). Component806can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a Flash memory drive, a removable hard drive, an optical disk, and so forth).

The techniques discussed herein can be implemented in software, with instructions being executed by one or more processing units802. It is to be appreciated that different instructions can be stored in different components of computing device800, such as in a processing unit802, in various cache memories of a processing unit802, in other cache memories of device800(not shown), on other computer readable media, and so forth. Additionally, it is to be appreciated that the location where instructions are stored in computing device800can change over time.

One or more input/output devices808allow a user to enter commands and information to computing device800, and also allows information to be presented to the user and/or other components or devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, and so forth.

“Computer storage media” include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.

Generally, any of the functions or techniques described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “component” as used herein generally represent software, firmware, hardware, or combinations thereof. In the case of a software implementation, the module or component represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, further description of which may be found with reference toFIG. 8. The features of the application display on a locked device techniques described herein are platform-independent, meaning that the techniques can be implemented on a variety of commercial computing platforms having a variety of processors.