Providing selected data through a locked display

Providing content and/or functionality through a display of a locked computing device. Configuration data defined by a user or application vendor identifies the content and/or functionality to be made available. Upon receipt of the content, the computing device modifies the received content based on the configuration data and provides the modified content to the user through the display of the locked computing device. The computing device also interacts with the user in accordance with the functionality identified by the configuration data. In some embodiments, notifications about voice mail or electronic mail messages are displayed to the user through a locked touch screen display. Responsive to a finger tap or other user input, additional yet limited information relating to the notifications is displayed.

BACKGROUND

Visual interfaces such as touch screens are available on most electronic devices, including mobile telephones with integrated personal digital assistant (PDA) features. The touch screens display graphics and text and enter commands to control the devices or to perform various other functions to execute operations on the device. Many screens, whether touch sensitive or not, automatically lock to prevent unintentional data entry.

However, when notifications about electronic mail messages or text messages are received by the device, the locked device prevents user interaction with the notifications until the user unlocks the device (e.g., after entering an unlock code). With existing systems, the user is unable to view, let alone interact with, the notifications with the device locked.

SUMMARY

Embodiments of the invention enable user interaction with content and/or functionality through a locked user interface of a computing device. Configuration data describing content to present to a user through a display of a locked computing device is defined. The computing device receives one or more content items while the computing device is locked. Based on the configuration data, the received content items are transformed. The transformed content items are provided to the user through the display of the locked computing device.

DETAILED DESCRIPTION

Referring to the figures, embodiments of the disclosure enable, at least, content and functionality to be selectively surfaced through a display108of a locked computing device102to improve the user experience with the computing device102. The content includes data for consumption by a user104as well as data corresponding to functionality available to the user104while the computing device102is locked. By selectively displaying information through the display108of the locked computing device102, the user104is able to view streams of notifications114and other content items112at a glance. By enabling selected functionality, the user104is able to interact with the locked computing device102without having to unlock the computing device102to manipulate the content items112or obtain additional information. Configuration data116specifies the content and functionality to be available through the display108of the locked computing device102.

Referring again toFIG. 1, an exemplary block diagram illustrates the computing device102delivering customized or otherwise modified content from content providers128to the user104. The computing device102includes at least a memory area110, the display108, and a processor106. The memory area110, or other computer-readable media, stores one or more of the content items112. The content items112are received by the computing device102while the computing device102is locked. The content items112include any data received by the computing device102from, for example, content providers128. In some embodiments, the content items112include notifications114relating to one or more of the following: an electronic mail message, a voice mail message, a text message, and a missed telephone call. In other embodiments, the content items112include news alerts, weather alerts, sports score updates, stock price alerts, transportation schedules (e.g., airline delays or train schedules), instant or chat messages, social networking updates, and the like.

The memory area110further stores the configuration data116. The configuration data116describes the content items112and/or functionality to present to the user104when the computing device102is locked. The configuration data116includes, for example, a file or metadata describing a characteristic, type, category, classification, or other descriptor of the content items112that are to be presented to the user104through the display108of the locked computing device102. The configuration data116may also identify particular applications or functions (e.g., within applications) that are available for execution by the user104through the display108of the locked computing device102. In general, the functionality available through the display108of the locked computing device102is a subset of the functionality available to the user104after the computing device102has been unlocked.

The configuration data116may be stored in one or more data structures of any form. The configuration data116may be plain text, encrypted, binary, or any other form. Additionally, the configuration data116may be organized into a hierarchy, with some criteria applying to one or more of the content items112, or to one or more of the application programs118available to the computing device102.

The configuration data116may be defined by the user104. In such embodiments, the user104identifies the particular functionality desired to be available through the display108of the locked computing device102. For example, the user104may drag-and-drop applications into a particular region of the display108to select those applications to be available when the computing device102is locked. The selected applications may act as a toolbar on the display108of the locked computing device102.

The configuration data116may also be defined by application developers126. In such embodiments, the application developer126of each application identifies the functionality that remains available to the user104when the computing device102becomes locked. The configuration data116in this example accompanies the installation or downloading of the application to the computing device102. The identified functionality may represent a default setting, and may be overridden by the user104in some embodiments.

The memory area110, or one or more computer-readable media, further stores computer-executable components for implementing aspects of the disclosure. Exemplary components include a profile component120, an interface component122, and a filter component124. These components are described below with reference toFIG. 3.

In general, the memory area110is associated with the computing device102. For example, inFIG. 1, the memory area110is within the computing device102. However, the memory area110or any of the data stored thereon may be associated with any server or other computer, local or remote from the computing device102(e.g., accessible via a network).

The display108includes any component for providing information to the user104. For example, the display108includes any capacitive display capable of sensing touch input from the user104or another object such as a stylus. While aspects of the invention are described with reference to the display108being a touch sensitive or touch screen display, embodiments of the invention are operable with any display. For example, aspects of the invention are operable with non-touch sensitive displays such as found on devices that have a full or partial keyboard available for data entry. In such examples, the computing device102locks by disabling the keyboard from being used as a user input selection device for the computing device102.

The processor106includes any quantity of processing units, and is programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor106or by multiple processors executing within the computing device102, or performed by a processor external to the computing device102(e.g., by a cloud service202such as inFIG. 2). In some embodiments, the processor106is programmed to execute instructions such as those illustrated in the figures (e.g.,FIG. 3).

While aspects of the invention are described with reference to the computing device102being a mobile computing device402such as a mobile telephone, embodiments of the invention are operable with any computing device. For example, aspects of the invention are operable with devices such as digital cameras, digital video cameras, laptop computers, gaming consoles (including handheld gaming consoles), portable music players, a personal digital assistant, an information appliance, and a personal communicator.

Some embodiments include the computing device102disconnected from a network. In such an embodiment, the content items112may include notifications114such as calendar or alarm alerts originating from the computing device102(e.g., not received from the network). Other embodiments contemplate the computing device102being connected to a network or cloud service202, whether the connection is continuous or sporadic (e.g., as available), such as illustrated inFIG. 2.

Referring next toFIG. 2, an exemplary block diagram illustrates the cloud service202providing modified content from content providers128to the computing device102of the user104. In the embodiment ofFIG. 2, some of the operations performed by the computing device102inFIG. 1are instead performed by the cloud service202. For example, the cloud service202defines the configuration data116, receives the content items112(e.g., from the content providers128), and filters the content items112. The cloud service202outputs the content items112, after processing, to the computing device102for presentation to the user104. Such an embodiment offloads the processing from the computing device102to the cloud service202to enable the computing device102to reduce the computational burden on the computing device102(e.g., improve response time, reduce power consumption, reduce heat generation) or reduce the hardware needs of the computing device102(e.g., less processing capability, less memory space, etc.).

Referring next toFIG. 3, an exemplary flow chart illustrates the modification of the content based on configuration data116associated with an application program118. The configuration data116is defined at302. The configuration data116describes content to present to the user104through the display108of the locked computing device102. Alternatively or in addition, the configuration data116is received from the user104or from the application developers126. The configuration data116includes, for example, identification of one or more of the following: the application program118associated with the content items112, a type of notification114associated with the content items112, a category of notification114associated with the content items112, and a keyword associated with the content items112.

One or more of the content items112are received or accessed at304while the computing device102is locked. The computing device102is locked such that full access to the capabilities of the computing device102is unavailable, user entry is disabled, or interaction by the user104with the computing device102is otherwise limited. In some embodiments, the locked computing device102may be unlocked through entry of one or more of the following: a code, a gesture, and a button press.

The received content items112are analyzed by transforming, altering, filtering, modifying, or the like at306based on the defined configuration data116. For example, if the received content items112have one or more data fields associated therewith, transforming the received content items112includes selecting one or more of the data fields for presentation based on the defined configuration data116. The selected data fields are then presented to the user104. Alternatively, the data within one or more of the data fields may be selected or modified for presentation to the user104.

The transformed content items112are provided to the user104through the display108of the locked computing device102at308. In embodiments in which a subset of the content items112are selected for presentation such as when the transforming operation includes filtering the content items112, only the filtered content items112are presented to the user104.

In some embodiments, the content items112are associated with one or more application programs118. When provided to the user104at308, the content items112may be provided using the associated application program118. Similarly, when the user104interacts with the provided content items112(e.g., selects one or more of the content items112), the computing device102may unlock and automatically execute the application program118associated with the selected content items112.

The computing device102may also display representations of the application programs118associated with the received content items112as a toolbar or other grouping. The representations include, for example, text or images (e.g., icons) corresponding to the application programs118.

Further, the computing device102may enable a subset of functionality of each of the application programs118associated with the presented content items112, as defined by the configuration data116. The subset of functionality is enabled through the display108of the locked computing device102. The user104interacts with the application programs118via the presented content items112in accordance with the enabled subset of functionality.

For example, if an electronic mail message is received (e.g., the content item112), the transformation at306may include selecting a sender field and a time stamp field to present to the user104. The user104is then able to view the name or address of the person that sent the message, along with the time the message was sent. If the configuration data116specifies that limited functionality of a mail application is available, the user104may be able to view the subject field of the message without unlocking the computing device102. However, in this example, if the user104wants to view the body of the message, the user104selects an icon on the display108corresponding to the mail application. Responsive to the selection, the computing device102is unlocked and the mail application is executed to present the body of the message to the user104(or present a list of the messages received by the mail application).

In some embodiments, the operations identified inFIG. 3are embodied as computer-executable components or modules. In the example ofFIG. 2, the components include the profile component120, the interface component122, and the filter component124. The profile component120receives the configuration data116and stores the configuration data116in a data structure associated with the application program118. The configuration data116describes content and functionality to present to the user104through the display108of the locked computing device102. The interface component122receives the content items112while the computing device102is locked. The filter component124modifies the content items112received by the interface component122based on the configuration data116received by the profile component120. In some embodiments, the filter component124identifies one or more of the content items112associated with a particular category, as specified by the configuration data116. Example categories include electronic mail messages, voice mail messages, text messages, or any other type or kind of notification114or data received by the computing device102.

The filter component124may also select the content items112having criteria specified by the configuration data116. For example, the criteria may specify that only content items112originating from a particular content provider128(e.g., a particular friend of the user104) be displayed through the display108of the locked computing device102. In such an example, a parent in a business meeting defines, in the configuration data116, that only content items112(e.g., calls, messages, etc.) from a child of the parent are to be displayed when the computing device102is locked.

The interface component122provides the modified content items112to the user104through the display108of the locked computing device102. The filter component124enables the user104to interact with the provided content items112according to the functionality described by the configuration data116.

Referring next toFIG. 4, an exemplary block diagram illustrates the mobile computing device402identifying a quantity of received notifications114to the user104. In the exemplary user interface ofFIG. 4, the mobile computing device402includes a touch sensitive display, and the mobile computing device402has been locked. For example, the mobile computing device402may be locked, for example, after an explicit command from the user104or after expiration of a predefined period of time.

When the user104presses the power button or performs another input to wake up the mobile computing device402, the interface inFIG. 4is displayed. A lock symbol indicates that data entry or other interaction with the mobile computing device402is limited. However, the value “6” displayed near the lock symbol indicates that the user104has received six new notifications114or other content items112. The display108also presents other data such as the date, time, signal strength, battery indicator, etc.

Referring next toFIG. 5, an exemplary block diagram illustrates the mobile computing device402displaying icons corresponding to application programs118having notifications114. Continuing with the example ofFIG. 4, the user104desires to view information about the six new content items112received. The user104taps, for example, with a finger or stylus on the touch sensitive display, the lock symbol or anywhere else on the display108. Several icons are then displayed, each corresponding to the application program118that has received a new content item112. If there are more icons to display than can be displayed in the available display area, the user104can scroll through the list of icons. A quantity of the new content items112for each of the application programs118is displayed near each icon. In this example, the first application program118has three new content items112, while the other three application programs118each have one new content item112.

The mobile computing device402inFIG. 5is still locked. The user104reviews the icons indicating new incoming content items112(e.g., notifications114) in different categories such as messaging, missed calls, voice mail, texts and third party services. However, the user104may tap (e.g., double-tap, slide left, slide right, flick the icon, or perform another input gesture) on one of the icons to unlock the mobile computing device402and be taken to the application program118corresponding to the selected icon. At this point, full interaction with the application program118is enabled. In such embodiments, the user104does not explicitly unlock the mobile computing device402, but rather the unlock operation and the execution of the application program118occur responsive to the gesture or command from the user104. In other embodiments, the user104is directed to an unlock screen (e.g., PIN input screen) responsive to the input gesture from the user104to receive the unlock PIN from the user104before allowing the user104to fully access the application program118.

Without fully unlocking the mobile computing device402, however, the user104may be able to interact in a limited way with the displayed icons. The available limited interaction is defined in the configuration data116. For example, while the mobile computing device402is still locked in the example ofFIG. 5, the user104may obtain additional information about some of the content items112as described next with reference toFIG. 6.

Referring next toFIG. 6, an exemplary block diagram illustrates the mobile computing device402displaying the icons corresponding to application programs118along with a brief summary of the notifications114associated with one of the application programs118. In the example ofFIG. 6, the mobile computing device402is still locked. However, the user104has tapped or otherwise selected the first icon. For example, the user104may flick the icon in a particular direction. In response, additional information about the three new content items112is displayed. In this example, the sender and date/time of each of the content items112is displayed. However, in other embodiments, different or additional information may be displayed responsive to the selection by the user104. For example, the mobile computing device402may display the subject line of each message, or only display the content items112that match the criteria defined by the configuration data116(e.g., only display messages received within the last ten minutes, or only display messages from a particular sender).

In the examples ofFIG. 4,FIG. 5, andFIG. 6, the icons or other representations of the content items112have slider functionality. In the touch sensitive display embodiment, the user104touches one of the icons, and drags the icon to the left or right (or up or down) to perform an operation (e.g., reveal additional information, as specified by the configuration data116).

In some embodiments, some of the content items112are displayed as full-screen notifications114rather than smaller icons. For example, content items112such as incoming calls or calendar appointment reminders are displayed full-screen. Such content items112may, however, offer user interaction similar to that of other, smaller icons. For example, the full-screen notifications114may be sliders that the user104can drag to reveal additional information. In the alarm example, one slider allows the user104to “snooze,” while another slider allows the user104to “ignore” the alarm.

The user104, the application developers126, or other entities may customize various aspects of the presentation of the content items112to the user104. Such customization may be stored in, for example, the configuration data116. The customization includes, but is not limited to, one or more of the following: clock features, text font, text size, contrast, shadows, other artwork on the display108, input keypad, or other dialogs. For example, the icons may be displayed as fish, rocks, or other objects, and there may be different layouts for portrait and landscape orientation of the mobile computing device402.

In some embodiments, the content items112are received by the computing device102. The content items112are routed internally in the computing device102to a router for handling incoming content items112. A database or other data structure is updated with information describing the receipt of the content items112. A service listens for updates to the database. Upon detection of the content items112, a device registry is updated. A component implementing the lock screen listens for the updates to the device registry. Upon detection of an update to the device registry, the component updates the display of the locked computing device102with the received content items112.

Exemplary Operating Environment

By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Combinations of each of the above storage media and communication media elements are also included within the scope of computer readable media.

Although described in connection with an exemplary computing system environment, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.

Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.

Aspects of the invention transform a general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.

The embodiments illustrated and described herein as well as embodiments not specifically described herein but within the scope of aspects of the invention constitute exemplary means for selectively presenting content to the user104through the locked display of the mobile computing device402, and exemplary means for customizing, per application program118, the presentation of content to the user104through the locked display of the mobile computing device402.