A touch screen mobile device (e.g., a smartphone) uses a ‘lock screen’ to prevent accidental touches that otherwise may be detected by the device software when the device is not actively being used. The lock screen also appears when the device is initially turned on. The lock screen typically conveys the time, date, message notifications, and system status such as cellular signal strength and battery level.
Contemporary mobile devices allow a user to specify an image, sometimes referred to as ‘lock wallpaper’ that appears beneath the conveyed information when the device is in the lock screen state. For example, the lock wallpaper appears when the user first touches a button to get the device to light up the display screen after the screen has gone dark (timed out) due to inactivity. The lock wallpaper thus appears before the user sees his or her home screen of application icons (those that may appear above regular wallpaper).
In general, the lock wallpaper conveys little or no information other than possibly that the user has the correct device (and not a family member's or friend's similar or identical model of the device but having a different image, for example), and that the user needs to interact further to get to the user's applications for launching. However, this is limited and very basic information, and thus not particularly useful.
This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
Briefly, various aspects of the subject matter described herein are directed towards a technology by which lock wallpaper content (e.g., an image, video, animation and so forth) that appears when a device is in a lock state is automatically changed from displaying first lock wallpaper content to second, different lock wallpaper content. In one aspect, the device is configured with a component interface by which lock wallpaper information, corresponding to a current device context, is received. The lock wallpaper information specifies lock wallpaper content to display when the device is in the lock screen state. The device obtains the lock wallpaper content based on the lock wallpaper information, and outputs that content to a device display screen.
For example, the current context may correspond to a currently playing podcast, and the lock wallpaper information may comprise content and/or a reference to content within podcast metadata. The lock wallpaper information may correspond to one or more keywords within the podcast metadata, and/or one or more words recognized from speech of the currently playing podcast, with the device obtaining the content by requesting a keyword/word-based search.
The current context may correspond to a currently playing audio track, or an application program or service. The lock wallpaper information comprises content specified by the application program, e.g., audio-track related data for an audio track, and advertisement for another application program, and so forth.
In one aspect, the lock wallpaper content change occurs in response to an automatic change event. Example automatic change events include changing among lock wallpaper content obtained from a social network source content store, e.g., by a time-based event or by a social network notification received at the device. Time-based automatic change events may be used to change lock wallpaper content among a user's specified favorites, which may also be changed by detected gestures that generate automatic change events. Another source of active lock wallpaper comprises a remote source that adds content via an authorized entity, such as another person to whom automatic setting of the lock wallpaper has been delegated.
In one aspect, while the device is displaying lock wallpaper selected from a set of user-specified content at a user-defined change interval, the device may detect a user gesture and in response automatically change the device lock wallpaper. Based upon the gesture, other information displayed in conjunction with the lock wallpaper may be removed/faded out for a time. The other information may be restored/faded in when the device does not detect further user gesturing within a time interval.
Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
Various aspects of the technology described herein are generally directed towards a technology by which lock wallpaper (e.g., content comprising an image, video or animation) is automatically selected and displayed on the device screen. The lock wallpaper thus varies, such as based on a current device or software program context, or other automatic change event. The context may correspond to an application, or the current state of an application, including for a background application or service that is not running in the foreground (and thus typically does not have control of the display). For example, a currently running podcast that is recounting/analyzing a sporting event may have lock wallpaper that is related to that sporting event in some general or more specific way.
It should be understood that any of the examples herein are non-limiting. For example, while a touch-screen mobile device/smartphone are used as examples herein, at least some of the concepts described herein are applicable to a personal computer or the like. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and content display in general.
In one aspect, the active lock wallpaper mechanism 104 (and/or the component 102) includes an application programming interface (API) 106 or the like by which an application 108 (or service) may specify or request that the lock wallpaper be actively changed/output, such as based upon current context data or other automatic change event. Note that an “automatic” change event is in contrast to a user manually going to the device Settings menu and choosing a different image, as is currently done.
The application or service may be a first party program, or a third party program (e.g., from a different software vendor). Note that while a background application is one example application 108, the application may be a foreground application, such as one that is planning to relinquish control of the display screen 110, e.g., by moving to the background. A user interface also may be used to change the lock wallpaper, including via gesture detection as described below.
Note that for a user to see the lock wallpaper, the device need not actually be in a state in which the user needs to unlock the device with a PIN (personal identification number). This may happen, for example, because not all users use PINs, or because the timeout that locks the device may be longer than the screen inactivity timeout, whereby the user may resume activity and thereby reenergize the display before the device locks. Further, the lock wallpaper may be output anytime the operating system (e.g., the component 102) specifies that it be output. Thus, as used herein, “lock wallpaper” may appear on the screen even on an unlocked device.
As described below, the active lock wallpaper mechanism 104 may include selection logic 112 that determines what display content (e.g., a set of one or more images and/or videos) needs to be retrieved from local storage 114 and/or a remote data source 116 for outputting to the display as the lock wallpaper. The selection logic 112 is also configured to receive any lock-wallpaper related data (such as metadata and/or a reference to displayable content) from the application 108.
In one implementation, if more than one application or service is requesting that the active lock wallpaper mechanism 104 show different content, the selection logic 112 may include rules, priority data and so forth to resolve the conflict. For example, if one application or service wants a friend-related image set shown based upon its current context of having received a social networking notification from a friend, and another application or service wants to show a map based upon its current context of having current GPS coordinates, the map may be selected based upon an importance ranking, which may be user configurable.
The lock wallpaper component 102/active lock wallpaper mechanism 104 may decide when to enter the lock state to show the lock wallpaper, such as by using a conventional lock screen timeout mechanism. Alternatively, the application or service may request a time or specify an event to show the content, such as show the lock wallpaper right away, or when the application moves to the background or closes. As mentioned above, this may be independent of whether the screen is actually locked.
By way of example, consider that a background application or service is playing a podcast as started by a user. Instead of the conventional lock wallpaper, the background application 108 or service (or the selection logic 112) may direct the lock wallpaper mechanism 104 to output lock wallpaper (e.g., an image or video) that is related to the podcast.
In
As represented by step 210, the lock wallpaper remains selected during the podcast, unless the podcast changes the metadata (e.g., to show a different player during the baseball podcast), or the metadata specifies a change, e.g., switch to a different URL upon some change event, such as after a time duration. Step 212 represents the user ending the podcast, which in this example restores the lock wallpaper to the user-configured lock wallpaper (or device default if the user has not yet configured the lock wallpaper).
In this way, the current context of the podcast in the form of metadata that specifies content (
By way of another example, consider that a service or a background application comprises a background audio player. Instead of the conventional lock wallpaper, the background application may provide information to the active lock wallpaper mechanism that relates to the current audio track in some way (e.g., artist, title and/or album). The selection logic 112 may retrieve an image of the artist (or of the album cover, for example) from local storage or the remote data source, and display that content as the current lock wallpaper based upon the current context of that song being played. The active lock wallpaper mechanism may modify the image, such as by superimposing text over the image that indicates the artist, title and/or album data. Via an application interface call or the like, the audio player may change the wallpaper when desired, such as when the song changes.
Note that changes made to the social network's store of images, such as by friends or friends of friends, may provide the wallpaper as they may be successively, randomly or otherwise selected, that is, the lock wallpaper may show a set of images corresponding to the user's social networking graph. For example, the user may automatically see pictures of his or her brother's recent trip, which the brother shared openly with his friends via the social networking site.
Further, instead of, or in addition to regular or occasional wallpaper changes, the download may be triggered by a non-timed event, such as a social network notification from a friend. Upon such a notification, the image may be downloaded from a source of images related to that particular friend.
A web front end and/or web service is provided to allow a user to select other users that are allowed to update their wallpaper. Authentication may be handled via a social network, via Windows® Live IDs, or other unique identifiers sent via messaging.
At step 602, the user configures the device to allow one or more specified entities to perform remote configuration. This may include accessing the web front end and/or web service, (access is typically accomplished via the device, but may be done via another computer, provided that the user can correctly identify himself or herself), and also have the device set with this configuration setting.
At some other time, at steps 604 and 606, an authorized entity uploads an image or other content to a remote store 608, such as using a web page or an application and web service. At step 610, the phone accepts the image, e.g., by polling at an interval, or via a push/notification on demand.
Turning to another aspect,
As represented by step 710, the lock wallpaper may be changed automatically at a configurable interval, for example, or manually by the user gesturing to flip between images, including when the phone is locked. This allows the user to view and/or show off favorite photos or videos without even unlocking the phone. As part of configuration, settings are available where the user can choose how often the lock wallpaper is to switch. Based on this interval setting, the system automatically changes the wallpaper per the user's preference.
In one implementation, a photo and video library on the device maintains metadata for each item, including a flag that marks whether the item is among the user's ‘favorites’. Note that when the user tags images as favorites, the user can do so on the phone itself, or on another device before transferring the images to their phone. The metadata follows the image file, whereby the user can, for example, use a personal computer to select which images are the favorites, and copy them to the phone. The phone respects (which may be a user-configurable option) the favorites choices made on the personal computer, and uses those favorites as part (or all) of the rotating wallpaper set.
Tagging an image as a favorite initiates a flow whereby a copy is made, with the copy automatically centered/cropped to fit the dimensions of the full screen of the device. The copy may be stored in a location on the file system (e.g., the source store 744) where the copy is accessible for use in the rotating set (or randomly selected set) of wallpaper images.
As also represented at step 710 and further described in
While gesturing (step 802) and for a time thereafter, the text for the lock screen fades out at step 804 to allow enjoyment of the image or video. If the user stops gesturing to select a different image or video (step 806 and 808) for a determined length of time, the text fades back in at step 810 and the image that the user stopped on becomes the new wallpaper image. Automatic switching of the favorites may then resume.
With reference to
Components of the mobile device 900 may include, but are not limited to, a processing unit 905, system memory 910, and a bus 915 that couples various system components including the system memory 910 to the processing unit 905. The bus 915 may include any of several types of bus structures including a memory bus, memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures, and the like. The bus 915 allows data to be transmitted between various components of the mobile device 900.
The mobile device 900 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the mobile device 900 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, 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 includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk 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 the mobile device 900.
Communication media typically embodies 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 includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, Bluetooth®, Wireless USB, infrared, WiFi, WiMAX, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
The system memory 910 includes computer storage media in the form of volatile and/or nonvolatile memory and may include read only memory (ROM) and random access memory (RAM). On a mobile device such as a cell phone, operating system code 920 is sometimes included in ROM although, in other embodiments, this is not required. Similarly, application programs 925 are often placed in RAM although again, in other embodiments, application programs may be placed in ROM or in other computer-readable memory. The heap 930 provides memory for state associated with the operating system 920 and the application programs 925. For example, the operating system 920 and application programs 925 may store variables and data structures in the heap 930 during their operations.
The mobile device 900 may also include other removable/non-removable, volatile/nonvolatile memory. By way of example,
In some embodiments, the hard disk drive 936 may be connected in such a way as to be more permanently attached to the mobile device 900. For example, the hard disk drive 936 may be connected to an interface such as parallel advanced technology attachment (PATA), serial advanced technology attachment (SATA) or otherwise, which may be connected to the bus 915. In such embodiments, removing the hard drive may involve removing a cover of the mobile device 900 and removing screws or other fasteners that connect the hard drive 936 to support structures within the mobile device 900.
The removable memory devices 935-937 and their associated computer storage media, discussed above and illustrated in
A user may enter commands and information into the mobile device 900 through input devices such as a key pad 941 and the microphone 942. In some embodiments, the display 943 may be touch-sensitive screen and may allow a user to enter commands and information thereon. The key pad 941 and display 943 may be connected to the processing unit 905 through a user input interface 950 that is coupled to the bus 915, but may also be connected by other interface and bus structures, such as the communications module(s) 932 and wired port(s) 940. Motion detection 952 can be used to determine gestures made with the device 900.
A user may communicate with other users via speaking into the microphone 942 and via text messages that are entered on the key pad 941 or a touch sensitive display 943, for example. The audio unit 955 may provide electrical signals to drive the speaker 944 as well as receive and digitize audio signals received from the microphone 942.
The mobile device 900 may include a video unit 960 that provides signals to drive a camera 961. The video unit 960 may also receive images obtained by the camera 961 and provide these images to the processing unit 905 and/or memory included on the mobile device 900. The images obtained by the camera 961 may comprise video, one or more images that do not form a video, or some combination thereof.
The communication module(s) 932 may provide signals to and receive signals from one or more antenna(s) 965. One of the antenna(s) 965 may transmit and receive messages for a cell phone network. Another antenna may transmit and receive Bluetooth® messages. Yet another antenna (or a shared antenna) may transmit and receive network messages via a wireless Ethernet network standard.
Still further, an antenna provides location-based information, e.g., GPS signals to a GPS interface and mechanism 972. In turn, the GPS mechanism 972 makes available the corresponding GPS data (e.g., time and coordinates) for processing.
In some embodiments, a single antenna may be used to transmit and/or receive messages for more than one type of network. For example, a single antenna may transmit and receive voice and packet messages.
When operated in a networked environment, the mobile device 900 may connect to one or more remote devices. The remote devices may include a personal computer, a server, a router, a network PC, a cell phone, a media playback device, a peer device or other common network node, and typically includes many or all of the elements described above relative to the mobile device 900.
Aspects of the subject matter described herein 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 subject matter described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a mobile device. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. Aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Furthermore, although the term server may be used herein, it will be recognized that this term may also encompass a client, a set of one or more processes distributed on one or more computers, one or more stand-alone storage devices, a set of one or more other devices, a combination of one or more of the above, and the like.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.