Icon animation based on detected activity

A machine can be configured to provide icon animation based on an activity detected by a device. The configured machine animates an icon displayed on a screen by detecting a current activity in which a user of the machine is engaged. The detecting of the current activity may be based on context data generated by a set of sensors within the machine. The machine selects an icon from a first set of icons based on the current activity of the user. Furthermore, the machine causes the selected icon from the first set of icons to be displayed with a visibly moving highlight on the screen, resulting in the screen displaying the selected icon within a second set of icons on the screen. The visibly moving highlight may be applied to at least the selected icon but fewer than all icons in the displayed second set of icons.

TECHNICAL FIELD

The subject matter disclosed herein generally relates to machines that are configured to process data. Specifically, the present disclosure addresses systems and methods to facilitate provision of a graphical user interface (GUI) with one or more icons.

BACKGROUND

Many machines (e.g., devices) communicate visual information to their users via one or more screens (e.g., light emitting display screens, projector screens, or heads-up displays). As an example of such a machine, a device (e.g., a portable hand-held device) may include a touch-sensitive screen (e.g., a touchscreen) that is configured to both display visual information and detect user input in the form of various touches (e.g., taps, double taps, drags, pinches, and reverse pinches).

A device with a touch-sensitive screen can be configured (e.g., programmed) to display one or more icons on a screen of the device. For example, the one or more icons may be superimposed over a background image on the screen. An icon may be operable (e.g., by a touch input provided by a user of the device) to activate, execute (e.g., launch), or otherwise access an application or a folder stored by the device. Generally, a folder is a data structure that contains one or more applications (e.g., as executable files), one or more sub-folders, or any suitable combination thereof. Accordingly, an icon may be an application icon that, for example, is operable to launch an application stored on the device, while another icon may be a folder icon that, for example, is operable to access a folder stored on the device.

DETAILED DESCRIPTION

Example methods and systems are directed to generating, providing, or otherwise facilitating icon animation based on detected activity, for example, within a GUI on a screen of a device. Examples merely typify possible variations. Unless explicitly stated otherwise, components (e.g., modules) and functions are optional and may be combined or subdivided, and operations may vary in sequence or be combined or subdivided. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of example embodiments. It will be evident to one skilled in the art, however, that the present subject matter may be practiced without these specific details.

A machine in the example form of a device can be configured (e.g., programmed by one or more software modules) to provide icon animation based on an activity (e.g., a current activity, such as a first current activity) being detected by the device (e.g., via data generated or otherwise gathered by one or more sensors). As configured, the device automatically selects an icon to be highlighted, displays the automatically selected icon on a screen of the device, and animates the automatically selected icon on the screen of the device, according to any one or more of the methodologies discussed herein. Furthermore, the device can be configured to continue activity detection such that, in response to another activity (e.g., a second current activity) being detected by the device, the device automatically selects another icon (e.g., a second icon) to be highlighted and highlights the newly selected icon on the screen of the device, according to any one or more the methodologies discussed herein.

In various example embodiments, the device includes a detection module (e.g., comprising one or more processors of the device) configured to detect a current activity in which a user of the device is engaged. The detecting of the current activity may be based on (e.g., responsive to) context data generated by a set of sensors within the device. The device also includes an icon module (e.g., comprising one or more processors of the device) configured to automatically select (e.g., choose, identify, specify or otherwise determine) a folder icon from a first set of folder icons based on the current activity of the user. Furthermore, the icon module is configured to cause the selected folder icon from the first set of folder icons to be displayed with a visibly moving highlight on a screen of the device, resulting in the screen of the device displaying the selected folder icon within a second set of folder icons being displayed by the screen. The visibly moving highlight may be applied to at least the selected folder icon but fewer than all folder icons in the displayed second set of folder icons. Generally, each folder icon in the displayed second set of folder icons corresponds to a different folder among a plurality of folders stored by the device. Moreover, each folder icon in the displayed second set of folder icons is typically operable to cause contents of its corresponding folder to be presented on the screen of the device.

For clarity, the discussion herein often focuses on animation of a folder icon (e.g., applying the visibly moving highlight to a folder icon). However, the methods and systems discussed herein are equally applicable to animation of an application icon (e.g., applying the visibly moving highlight to an application icon). Furthermore, the techniques discussed herein are additionally applicable to icons in general (e.g., an icon that is neither a folder icon nor an application icon).

FIG. 1is a network diagram illustrating a network environment100suitable for generating icon animation based on detected activity, according to some example embodiments. The network environment100includes a server machine110, a database115, and a device130(e.g., a user device), all communicatively coupled to each other via a network190. The server machine110may form all or part of a cloud118(e.g., a geographically distributed set of multiple machines configured to function as a single server), which may form all or part of a network-based system105(e.g., a cloud-based server system configured to provide one or more services to the device130). The server machine110and the device130may each be implemented in a computer system, in whole or in part, as described below with respect toFIG. 20.

Also shown inFIG. 1is a user132. The user132may be a human user (e.g., a human being), a machine user (e.g., a computer configured by a software program to interact with the device130), or any suitable combination thereof (e.g., a human assisted by a machine or a machine supervised by a human). The user132is not part of the network environment100, but is associated with the device130and may be a user of the device130. For example, the device130may be a desktop computer, a vehicle computer, a tablet computer, a navigational device, a portable media device, a smartphone, or a wearable device (e.g., a smart watch or smart glasses) belonging to the user132.

The network190may be any network that enables communication between or among machines, databases, and devices (e.g., the server machine110and the device130). Accordingly, the network190may be a wired network, a wireless network (e.g., a mobile or cellular network), or any suitable combination thereof. The network190may include one or more portions that constitute a private network, a public network (e.g., the Internet), or any suitable combination thereof. Accordingly, the network190may include one or more portions that incorporate a local area network (LAN), a wide area network (WAN), the Internet, a mobile telephone network (e.g., a cellular network), a wired telephone network (e.g., a plain old telephone system (POTS) network), a wireless data network (e.g., WiFi network or WiMax network), or any suitable combination thereof. Any one or more portions of the network190may communicate information via a transmission medium. As used herein, “transmission medium” refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software.

FIG. 2is a block diagram illustrating components of the device130configured to generate icon animation based on detected activity, according to some example embodiments. The device130is shown as including a detection module210, an icon module220, one or more applications250(e.g., software programs, mobile apps, or other executable applications), one or more sensors260, an operating system270, and a screen290(e.g., a touch-sensitive screen), all configured to communicate with each other (e.g., via a bus, shared memory, or a switch).

The detection module210may be configured to detect a current activity of the user132. In some example embodiments, the detection module210is or includes software that configures one or more of the processors299to detect the current activity of the user132. The icon module220may be configured to select an icon (e.g., a folder icon) based on the current activity of the user132and cause the selected icon to be displayed with an animated effect on the screen290. In certain example embodiments, the icon module220is or includes software that configures one or more the processors299to perform these operations. In some example embodiments, the detection module210may be referred to as an activity module (e.g., configured to detect a current activity of the user132).

As shown inFIG. 2, the detection module210and the icon module220may form all or part of an app200(e.g., a mobile app) that is stored (e.g., installed) on the device130(e.g., responsive to or otherwise as a result of data being received from the server machine110via the network190). Furthermore, one or more processors299(e.g., hardware processors, digital processors, or any suitable combination thereof) may be included (e.g., temporarily or permanently) in the app200, the detection module210, the icon module220, the applications250, the operating system270, or any suitable combination thereof.

The screen290may be or include a touch-sensitive screen (e.g., a touchscreen or other touch-detecting display component). The sensors260may be or include any type of data generating input component configured to detect information about the device130and its surrounding environment. Examples of such input components are discussed below with respect toFIG. 20.

Any one or more of the modules described herein may be implemented using hardware alone (e.g., one or more processors299) or a combination of hardware and software. For example, any module described herein may physically include an arrangement of one or more processors299(e.g., a subset of or among the one or more processors of the machine) configured to perform the operations described herein for that module. As another example, any module described herein may include software, hardware, or both, that configure an arrangement of one or more processors299(e.g., among the one or more processors of the machine) to perform the operations described herein for that module. Accordingly, different modules described herein may include and configure different arrangements of such processors299or a single arrangement of such processors299at different points in time. Moreover, any two or more modules described herein may be combined into a single module, and the functions described herein for a single module may be subdivided among multiple modules. Furthermore, according to various example embodiments, modules described herein as being implemented within a single machine, database, or device may be distributed across multiple machines, databases, or devices.

FIGS. 3-15are device diagrams illustrating the screen290of the device130and illustrating icons301,302,303,304,305,306,307,308,309,310,311, and312(e.g., folder icons, application icons, or any suitable combination thereof) with various icon animations that may be generated based on detected activity, according to some example embodiments. A finger of the user132is shown to indicate that touch-based input is detectable by the screen290, such that any icons displayed by the screen290are operable by the finger (e.g., to launch or otherwise access a corresponding folder or application).

InFIG. 3, the device130is depicted in the example form of a smart phone or tablet computer showing contents of the screen290. In the example embodiments shown inFIG. 3, the screen290is displaying the icons301-312, as well as portions of the background image300(e.g., portions not occluded by the icons301-312). According to some example embodiments, the icons301-312are superimposed over the background image300, while in other example embodiments, the icons301-312replace corresponding portions of the background image300such that the icons301-312visually appear to be superimposed over the background image300.

FIGS. 4 and 5together depict an icon animation applied to highlight the icon301, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 4 and 5(e.g., among a set of multiple appearances of the screen290). For example, the appearances may cyclically repeat with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). This may have the effect of causing the screen290to depict an animated pulsating aura on at least one outer boundary of the icon301. According to various example embodiments, this may be accomplished by modifying the icon301, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to the icon301based on (e.g., in response to) the icon301being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 6 and 7together depict the icon animation ofFIGS. 4 and 5being applied to the icon305, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 6 and 7(e.g., among the set of multiple appearances of the screen290). For example, the appearances may cyclically repeat a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as, 2 seconds). This may have the effect of causing the screen290to depict an animated pulsating aura on at least one outer boundary of the icon305. According to various example embodiments, this may be accomplished by modifying the icon305, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to (e.g., moved from the icon301to) the icon305based on (e.g., in response to) the icon305being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a second activity after the first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 8 and 9together depict another icon animation applied to highlight the icon301, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 8 and 9(e.g., among a set of multiple appearances of the screen290). For example, the appearances may cyclically repeat with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). This may have the effect of causing the screen290to depict animated bubbles emanating and rising from the icon301within a region of the background image300centered on the icon301. According to various example embodiments, this may be accomplished by modifying the icon301, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to the icon301based on (e.g., in response to) the icon301being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 10 and 11together depict the icon animation ofFIGS. 8 and 9being applied to the icon305, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 10 and 11(e.g., among the set of multiple appearances of the screen290). For example, the appearances may cyclically repeat with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). This may have the effect of causing the screen290to depict animated bubbles emanating and rising from the icon305within a region of the background image300centered on the icon305. According to various example embodiments, this may be accomplished by modifying the icon305, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to (e.g., moved from the icon301to) the icon305based on (e.g., in response to) the icon305being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a second activity after the first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 12 and 13together depict yet another icon animation applied to highlight the icon301, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 12 and 13(e.g., among a set of multiple appearances of the screen290). For example, the appearances may cyclically repeat with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). This may have the effect of causing the screen290to depict animated fish swimming around the icon301within a region of the background image300centered on the icon301. According to various example embodiments, this may be accomplished by modifying the icon301, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to the icon301based on (e.g., in response to) the icon301being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 14 and 15together depict the icon animation ofFIGS. 12 and 13being applied to the icon305, according to some example embodiments. The icon animation may periodically or otherwise repeatedly display the appearances of the screen290shown inFIGS. 14 and 15(e.g., among the set of multiple appearances of the screen290). For example, the appearances may cyclically repeat with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). This may have the effect of causing the screen290to depict animated fish swimming around the icon305within a region of the background image300centered on the icon305. According to various example embodiments, this may be accomplished by modifying the icon305, modifying the background image300(e.g., by adding one or more image sprites), or any suitable combination thereof. The icon animation may be applied to (e.g., moved from the icon301to) the icon305based on (e.g., in response to) the icon305being automatically selected (e.g., as a relevant icon, such as a most relevant icon) based on a current activity (e.g., a second activity after the first activity) of the user132being detected (e.g., based on an analysis of data gathered by the sensors260).

FIGS. 16-19are flowcharts illustrating operations of the device130in performing a method1600of generating icon animation (e.g., one or more the icon animations depicted inFIGS. 4-15) based on detected activity, according to some example embodiments. Operations in the method1600may be performed by the device130, using modules described above with respect toFIG. 2. As shown inFIG. 16, the method1600includes operations1610,1620, and1630.

In operation1610, the detection module210detects a current activity (e.g., a first activity) in which the user132is currently engaged. In many situations, the user132is performing the current activity without actively using the device130(e.g., driving a car from a current location toward a destination location, working in an office, dining at a restaurant, waiting at an airport, or listening to music at a friend's house). The detection of the current activity may be performed by determining an expected, predicted, inferred, or most likely activity in which the user132is currently engaged. Moreover, this detection may be fully or partially based on context data generated by one or more of the sensors260within the device130. Such context data may be or include one or more types of sensor data gathered, determined, generated, or otherwise accessed by any of the sensors260(e.g., one or more indicators of location, orientation, altitude, acceleration, vibration, motion, temperature, light, sound, or any suitable combination thereof). In some example embodiments, the detection is further based on historical usage data stored by the device130(e.g., a log of activity data, such as a record of most frequently invoked applications among the applications250). In certain example embodiments, the detection is further based on a preference of the user132(e.g., stored by the device130in a user-created or automatically created user profile that corresponds to the user132).

In operation1620, the icon module220selects an icon (e.g., icon301, which may be a folder icon) from a first set of icons (e.g., folder icons) based on the current activity (e.g., the first activity) detected in operation1610. Some or all of the first set of icons may already be displayed on the screen290of the device130. For example, the icons301,302, and303(e.g., with or without additional icons that are displayed or not displayed on the screen290) may form all or part of the first set of icons. The selection of the icon (e.g., icon301) from the first set of icons may have the effect of designating the selected icon as an icon that is relevant (e.g., most relevant or most likely relevant), pertinent, linked, or otherwise appropriate for the detected current activity of the user132. Accordingly, performance of operation1620may have the effect of automatically (e.g., by a machine, such as the device130) and dynamically (e.g., in real time) identifying, selecting, choosing, specifying, or otherwise determining an icon (e.g., icon301) as the selected icon, based on (e.g., in response to) the current activity of the user132(e.g., as detected in operation1610).

In operation1630, the icon module220causes the selected icon (e.g., icon301) to be displayed on the screen290with an animation in the example form of a visibly moving highlight on, around, or near the selected icon. This may have the effect of applying the visibly moving highlight to the icon (e.g., icon301) that was designated as relevant, pertinent (e.g., most pertinent or most likely pertinent), linked, or otherwise appropriate (e.g., most appropriate or most likely appropriate) for the detected current activity of the user132. According to various example embodiments, the screen290displays the selected icon (e.g., icon301) among (e.g., within) a second set of icons (e.g., folder icons) on the screen290. For example, the icons301-312may constitute the second set of icons being displayed by the screen290.

In some example embodiments, the visibly moving highlight is applied to only the selected icon (e.g., icon301). However, in other example embodiments, the visibly moving highlight is applied to the selected icon and one or more additional icons (e.g., with a visibly different levels of intensity, for example, to indicate different levels of relevance, pertinence, linkage, or appropriateness). For example, the visibly moving highlight may be applied to at least the selected icon (e.g., icon301) but fewer than all of the icons in the displayed second set of folder icons (e.g., applied to less than all of the icons301-312).

As noted above, each icon in the displayed second set of icons may correspond to a different folder or application stored by the device130. For example, each folder icon may correspond to a different folder stored by the device130and may be operable to cause contents of its corresponding folder to be presented on the screen290of the device130. As another example, each application icon may correspond to a different application (e.g., one of the applications250) stored by the device130and may be operable to cause the corresponding application to be executed (e.g., launch) on the device130.

As shown inFIG. 17, various example embodiments of the method1600may include one or more of operations1720,1721,1730,1731,1732,1733,1734,1735, and1736. In some example embodiments, operation1720may be performed as part (e.g., a precursor task, a subroutine, or a portion) of operation1620, in which the icon module220selects the icon (e.g., icon301) from the first set of icons. In operation1720, the icon module220selects the icon from a subset of the icons301-312that are already displayed on the screen290of the device130. That is, the first set of icons (e.g., from which the icon301is selected in operation1620) may be a subset of the second set of icons (e.g., all of the icons displayed on the screen290). Accordingly, the selection of the icon (e.g., icon301) in operation1620may select the icon from those icons already displayed by the screen290(e.g., from among the icons301-312).

In alternative example embodiments, operation1721is performed instead of operation1720. Operation1721may be performed as part of operation1620, in which the icon module220selects the icon (e.g., icon301) from the first set of icons. In operation1721, the icon module220selects the icon from a superset of the icons301-312that are already displayed on the screen290of the device130. In other words, the first set of icons (e.g., from which the icon301is selected in operation1620) may be a superset of the second set of icons (e.g., all of the icons displayed on the screen290). Accordingly, the selection of the icon (e.g., icon301) in operation1620may select the icon from one or more icons that are not being displayed by the screen290(e.g., from icons other than the icons301-312).

In some example embodiments, the selected icon (e.g., icon301) is or includes an image stored by the device130(e.g., stored as an image file), and the animation for the icon is generated, in whole or in part, by animating the image of the selected icon. That is, the visibly moving highlight may animate the selected icon (e.g., icon301) by modifying the image of the selected icon. As depicted inFIG. 17, one or more of operations1730,1731,1732, and1733may be performed as part of operation1630, in which the icon module220causes the selected icon (e.g., icon301) to be displayed with the animation (e.g., the visibly moving highlight) on the screen290of the device130.

In operation1730, the icon module220accesses the image of the selected icon (e.g., an image file that represents the icon301). In operation1731, the image of the selected icon is modified by the icon module220. For example, the icon module220may modify one or more pixels of the image (e.g., by modifying the pixel's values for brightness, color hue, color saturation, transparency, layer, or any suitable combination thereof). In operation1732, the icon module220overwrites the stored image of the selected icon with the modified image from performance of operation1731.

In some example embodiments, the modifying and overwriting of the image (e.g., according to operations1731and1732) is performed periodically or otherwise repeatedly. For example, the image may be cyclically modified and overwritten on a continual basis with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). As shown inFIG. 17by operation1733, this may be accomplished by inserting a delay of 0.5 to 5 seconds (e.g., 0.5, 1, 2, 3, 4, or 5 seconds) into each cycle. This may have the effect of producing a pulsating, vibrating, quivering, or otherwise repeating effect that forms all or part of the visibly moving highlight being applied to the selected icon (e.g., icon301). For example, the repeated modifying of the image may cause the screen290to depict an animated pulsating aura (e.g., a shining glow that slowly varies in intensity over time) on at least one outer boundary (e.g., one or more outer boundaries or edges, up to all outer boundaries or edges) of the selected icon (e.g., icon301).

According to certain example embodiments, one or more of operations1734,1735, and1736may be performed as part of operation1731, in which the icon module220modifies the image of the selected icon (e.g., icon301). In operation1734, the icon module220modifies one or more pixel brightness values (e.g., brightness values of one or more pixels) within a perimeter portion of the image. The perimeter portion is a portion of the image that includes at least part of an edge (e.g., outer edge or outer boundary) of the image and in some implementations may include the entire perimeter (e.g., but not the center) of the image. Hence, the perimeter portion of the image may be referred to as an edge portion of the image. According to certain example embodiments, the modifying of the pixel brightness values in operation1734may be performed while maintaining a size of the image of the selected icon (e.g., icon301). That is, the overall dimensions (e.g., height and width) of the image may remain the same while the perimeter portion is being modified. In alternative example embodiments, the size of the image is not held constant, but is increased or decreased (e.g., in height, width, or both) during the modification of the image in operation1731.

In the example embodiments in which the size of the image is not held constant, operation1736may be performed by the icon module220to modify the size of the image of the selected icon (e.g., icon301). For example, the icon module220may adjust (e.g., increase or decrease) one or more dimensions of the image, such as, height, width, or both. Since the image may be cyclically modified and overwritten on a continual (e.g., ongoing) basis, repeated performance of operation1736may have the effect of causing the image to shrink and grow in a pulsating, vibrating, quivering, or otherwise repeating manner.

As shown inFIG. 18, various example embodiments of the method1600may include one or more of operations1830,1831,1832,1833,1834,1835,1836,1837, and1838. In some example embodiments, the animation for the selected icon (e.g., icon301) is generated, in whole or in part, by modifying the background image300(e.g., stored as an image file on the device130) that is being displayed on the screen290of the device130. That is, the visibly moving highlight may provide one or more animated effects around or near the selected icon by modifying the background image300. As depicted inFIG. 18, one or more of operations1830,1831,1832, and1833may be performed as part of operation1630, in which the icon module220causes the selected icon (e.g., icon301) to be displayed with the animation (e.g., the visibly moving highlight) on the screen290of the device130.

In operation1830, the icon module220accesses the background image300(e.g., an image file that defines the background image300). In operation1831, the background image300is modified by the icon module220. For example, the icon module220may modify one or more pixels of the background image300(e.g., by modifying the pixel's values for brightness, color hue, color saturation, transparency, layer, or any suitable combination thereof). In operation1832, the icon module220overwrites the stored version of the background image300with the modified version of the background image300from performance of operation1831.

In some example embodiments, the modifying and overwriting of the background image300(e.g., according to operations1831and1832) is performed periodically or otherwise repeatedly. For example, the background image300may be cyclically modified and overwritten on a continual basis with a period in the range of 0.5 seconds to 5 seconds (e.g., in the range of 1 second to 3 seconds, such as 2 seconds). As shown inFIG. 18by operation1833, this may be accomplished by inserting a delay of 0.5 to 5 seconds (e.g., 0.5, 1, 2, 3, 4, or 5 seconds) into each cycle. This may have the effect of producing a pulsating, vibrating, quivering, or otherwise repeating effect that forms all or part of the visibly moving highlight being applied to the selected icon (e.g., icon301).

According to certain example embodiments, one or more of operations1834,1835,1736,1836,1837, and1838may be performed as part of operation1831, in which the icon module220modifies the background image300. In operation1834, the icon module220modifies a region of the background image300. In example embodiments that include operation1834, the region is centered on the selected icon (e.g., centered on a reference point of icon301or centered on a location at which the icon301is located and displayed within the screen290). In some example embodiments, the region centered on a geometric centroid of an image of the selected icon (e.g., icon301).

In operation1835, the icon module220modifies the region of the background image300. However, in example embodiments that include operation1835, the region that visually appears to surround at least one boundary of the selected icon (e.g., one outer boundary or outer edge of an image of the icon301). Generally, the region includes one or more pixels of the background image300that are adjacent to at least one outer boundary (e.g., at least one outer edge) of an image of the selected icon (e.g., icon301). In some implementations, the region of the background image300encompasses the entire perimeter (e.g., all outer boundaries) of the image of the selected icon (e.g., icon301). For example, the region may extend a predetermined number of pixels away from the selected icon (e.g., 20, 50, or 100 pixels away from the image of the icon301), along one or more outer edges of the selected icon. As noted above, the selected icon may be superimposed over the background image300on the screen290.

As shown inFIG. 18, operation1836may be performed as part of operation1835. Although not drawn inFIG. 18for clarity, operation1836may also be performed as part of operation1834. In operation1836, the region of the background image300is modified by replacing one or more portions of the region with one or more sprite images (e.g., one or more image sprites). As used herein, a “sprite image” is a sub-image within an image (e.g., a small partial image included in a larger image).

In some example embodiments that include operation1836, a sprite image may depict a bubble (e.g., a circular or spherical bubble), and one or more of such sprite images may be included in the generated animation (e.g., the visibly moving highlight) to depict animated bubbles emanating and rising from the selected icon (e.g., icon301) within the region of the background image300.

In certain example embodiments that include operation1836, a sprite image may depict a fish (e.g., a photorealistic fish or a cartoon fish), and one or more of such sprite images may be included in the generated animation (e.g., the visibly moving highlight) to depict animated fish swimming within the region of the background image300.

In various example embodiments that include operation1836, one or more sprite images may depict colored lines, ripples (e.g., on a liquid surface), bubbles, fish, clouds, bees, butterflies, or other objects. Accordingly, such sprite images may be included in the generated animation (e.g., the visibly moving highlight) to depict any combination of such objects moving (e.g., swirling or dancing) within the region of the background image300.

Each of operations1834and1835may include one or more of operations1837and1838. In operation1837, which may be performed by the icon module220, the modifying of the region of the background image300includes modifying one or more pixel brightness values (e.g., brightness values of one or pixels) within the region of the background image300. In operation1838, which may also be performed by the icon module220, the modifying of the region of the background image300includes modifying one or more pixel color values (e.g., hue values, saturation values, or both, for one or more pixels) within the region of the background image300.

As shown inFIG. 19, various example embodiments of the method1600may include one or more of operations1910,1920, and1930. In the example embodiments depicted inFIG. 19, the detecting of the current activity in operation1610detects a first activity in which the user132is engaged approximately at or around the time operation1610is performed (e.g., starting to drive from a first location to a second location, such as when traveling from home to a restaurant or a workplace). Accordingly, the icon selected in operation1620(e.g., icon301) may be considered as a first selected icon that is determined by the icon module220to be relevant, pertinent, linked, or otherwise appropriate for the first activity. The device130may be configured to repeatedly (e.g., periodically or continuously) detect activities of the user132as these activities change over time and update screen290of the device130by shifting the generated animation (e.g., the visibly moving highlight) from icon to icon (e.g., from icon301to icon305), in response to new activities being detected. Thus, according to the example embodiments depicted inFIG. 19, operations1910,1920, and1930may be performed multiple times (e.g., in a cyclical, periodic, or otherwise repeated fashion).

In operation1910, the detection module210detects a second activity (e.g., as the current activity of the user132) in which the user132is currently engaged. This detection may be performed in a manner similar to that described above for operation1610, including any one or more of the details described above for operation1610. For example, the detection of the second activity may be performed by determining an expected, predicted, inferred, or most likely activity in which the user132is presently engaged approximately at or around the time operation1910is performed (e.g., finishing a drive from a first location to a second location, such as when approaching a restaurant or a workplace). As noted above, this detection may be fully or partially based on context data generated by one or more of the sensors260within the device130. In some example embodiments, the detection is further based on historical usage data stored by the device130(e.g., a log of activity data, such as a record of most frequently invoked applications among the applications250). In certain example embodiments, the detection is further based on a preference of the user132(e.g., stored by the device130in a user-created or automatically created user profile that corresponds to the user132).

In operation1920, the icon module220selects another icon (e.g., icon305, which may be a folder icon) from the first set of icons (e.g., folder icons) based on the second activity that was detected in operation1910. This selection may be performed in a manner similar to that described above for operation1620, including any one or more of the details described above for operation1620. For example, the selection of the icon (e.g., icon305) in operation1920may have the effect of designating the selected icon as a second selected icon that is relevant (e.g., most relevant or most likely relevant), pertinent, linked, or otherwise appropriate for the detected second activity of the user132. Accordingly, performance of operation1920may have the effect of automatically (e.g., by a machine, such as the device130) and dynamically (e.g., in real time) identifying, selecting, choosing, specifying, or otherwise determining an icon (e.g., icon305) as a second selected icon, based on (e.g., in response to) the second activity of the user132(e.g., as detected in operation1910).

In operation1930, the icon module220causes the second selected icon (e.g., icon305) to be displayed on the screen290with the generated animation (e.g., the visibly moving highlight) on, around, or near the second selected icon (e.g., icon305). Operation1930may be performed in a manner similar to that described above for operation1630, including any one or more of the details described above for operation1630. For example, performance of operation1930may have the effect of moving (e.g., shifting) the visibly moving highlight to the second selected icon (e.g., icon305) that was designated as relevant, pertinent, linked, or otherwise appropriate for the detected second activity of the user132.

In some example embodiments, operation1931is performed as part of operation1930. In other example embodiments, operation1932is performed as part of operation1930. In still other example embodiments, operation1933is performed as part of operation1930.

In operation1931, as part of causing the second selected icon (e.g., icon305) to be displayed with the generated animation (e.g., the visibly moving highlight) on the screen290, the icon module220removes the first selected icon (e.g., icon301) from the screen290. This may have the effect of indicating to the user132that the removed icon is not relevant, pertinent, linked, or otherwise appropriate for the detected second activity of the user132.

In operation1932, as part of causing the second selected icon (e.g., icon305) to be displayed with the generated animation (e.g., the visibly moving highlight) on the screen290, the icon module220removes the generated animation from the first selected folder icon (e.g., icon301). This may be performed by maintaining display of the first selected icon (e.g., icon301) but without the visibly moving highlight previously applied to the first selected icon (e.g., icon301).

In operation1933, as part of causing the second selected icon (e.g., icon305) to be displayed with the generated animation (e.g., the visibly moving highlight) on the screen290, the icon module220maintains display of the first selected icon (e.g., icon301) on the screen290of the device130. This may be performed with or without a reduction in the intensity of the generated animation (e.g., with and without a reduction in the intensity of the visibly moving highlight). These two situations are handled by operations1934and1935, either of which may be included as part of operation1933.

In operation1934, the intensity of the generated animation is maintained by the icon module220. This may have the effect of maintaining the display of the first selected icon (e.g., icon301) with the same visibly moving highlight that is being applied to the second selected icon (e.g., icon305) in operation1933. Accordingly, not only is the second selected icon (e.g., icon305) being animated (e.g., highlighted) based on the second activity of the user132, the previously selected icon (e.g., icon301) remains animated with the same animation (e.g., to indicate prior relevance, pertinence, linkage, or appropriateness).

In operation1935, the intensity of the generated animation is reduced by the icon module220. The reduction in intensity may include a reduction in pixel brightness values, a reduction in pixel color values (e.g., hue values, saturation values, or both), a reduction in frequency of repetition (e.g., an increase in repetition period), or any suitable combination thereof. Thus, the second selected icon (e.g., icon305) may be animated (e.g., highlighted) with a full intensity version of the visibly moving highlight, while the previously selected icon (e.g., icon301) remains animated somewhat, but with a reduced intensity version of the visibly moving highlight (e.g., to indicate prior or lessened relevance, pertinence, linkage, or appropriateness).

According to various example embodiments, one or more of the methodologies described herein may facilitate generating, providing, or otherwise facilitating icon animation based on detected activity, including generating and displaying various graphical elements for display on the screen290of the device130(e.g., as shown and described with respect toFIGS. 4-15). Thus, one or more of the methodologies described herein may facilitate quick and convenient identification of, and activation of, one or more icons relevant to a detected current activity of the user132. Moreover, one or more of the methodologies described herein may facilitate access to, and invocation of, one or more folders, applications, or both, from the screen290of the device130. Hence, one or more of the methodologies described herein may facilitate faster, simpler, more relevant, more convenient, and more satisfying usage of the device130compared to devices that lack the modules described herein or otherwise are unable to perform the methodologies described herein.

When these effects are considered in aggregate, one or more of the methodologies described herein may obviate a need for certain efforts or resources that otherwise would be involved in facilitating icon animation based on detected activity or facilitating the faster, simpler, more relevant, more convenient, and more satisfying usage of the device130. Efforts expended by a user in accessing and invoking applications on the device130may be reduced by use of (e.g., reliance upon) a machine (e.g., device130) that implements one or more of the methodologies described herein. Computing resources used by one or more machines, databases, or devices (e.g., within the network environment100) may similarly be reduced (e.g., compared to machines, databases, or devices that lack one or more the methodologies described herein). Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, and cooling capacity.

FIG. 20is a block diagram illustrating components of a machine2000, according to some example embodiments, able to read instructions2024from a machine-readable medium2022(e.g., a non-transitory machine-readable medium, a machine-readable storage medium, a computer-readable storage medium, or any suitable combination thereof) and perform any one or more of the methodologies discussed herein, in whole or in part. Specifically,FIG. 20shows the machine2000in the example form of a computer system (e.g., a computer) within which the instructions2024(e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine2000to perform any one or more of the methodologies discussed herein may be executed, in whole or in part.

The machine2000includes a processor2002(e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory2004, and a static memory2006, which are configured to communicate with each other via a bus2008. The processor2002may contain solid-state digital microcircuits (e.g., electronic, optical, or both) that are configurable, temporarily or permanently, by some or all of the instructions2024such that the processor2002is configurable to perform any one or more of the methodologies described herein, in whole or in part. For example, a set of one or more microcircuits of the processor2002may be configurable to execute one or more modules (e.g., software modules) described herein. In some example embodiments, the processor1102is a multicore CPU (e.g., a dual-core CPU, a quad-core CPU, or a 128-core CPU) within which each of multiple cores is a separate processor that is able to perform any one or more of the methodologies discussed herein, in whole or in part. Although the beneficial effects described herein may be provided by the machine2000with at least the processor2002, these same effects may be provided by a different kind of machine that contains no processors (e.g., a purely mechanical system, a purely hydraulic system, or a hybrid mechanical-hydraulic system), if such a processor-less machine is configured to perform one or more of the methodologies described herein.

The machine2000may further include a graphics display2010(e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, a cathode ray tube (CRT), or any other display capable of displaying graphics or video). The machine2000may also include an alphanumeric input device2012(e.g., a keyboard or keypad), a cursor control device2014(e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, an eye tracking device, or other pointing instrument), a storage unit2016, an audio generation device2018(e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and a network interface device2020.

The storage unit2016includes the machine-readable medium2022(e.g., a tangible and non-transitory machine-readable storage medium) on which are stored the instructions2024embodying any one or more of the methodologies or functions described herein. The instructions2024may also reside, completely or at least partially, within the main memory2004, within the processor2002(e.g., within the processor's cache memory), or both, before or during execution thereof by the machine2000. Accordingly, the main memory2004and the processor2002may be considered machine-readable media (e.g., tangible and non-transitory machine-readable media). The instructions2024may be transmitted or received over the network190via the network interface device2020. For example, the network interface device2020may communicate the instructions2024using any one or more transfer protocols (e.g., hypertext transfer protocol (HTTP)).

As used herein, the term “memory” refers to a machine-readable medium able to store data temporarily or permanently and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine-readable medium2022is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions. The term “machine-readable medium” shall also be taken to include any medium, or combination of multiple media, that is capable of storing the instructions2024for execution by the machine2000, such that the instructions2024, when executed by one or more processors of the machine2000(e.g., processor2002), cause the machine2000to perform any one or more of the methodologies described herein, in whole or in part. Accordingly, a “machine-readable medium” refers to a single storage apparatus or device, as well as cloud-based storage systems or storage networks that include multiple storage apparatus or devices. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, one or more tangible and non-transitory data repositories (e.g., data volumes) in the example form of a solid-state memory chip, an optical disc, a magnetic disc, or any suitable combination thereof. A “non-transitory” machine-readable medium, as used herein, specifically does not include propagating signals per se. In some example embodiments, the instructions2024for execution by the machine2000may be communicated by a carrier medium. Examples of such a carrier medium include a storage medium (e.g., a non-transitory machine-readable storage medium, such as a solid-state memory, being physically moved from one place to another place) and a transient medium (e.g., a propagating signal that communicates the instructions2024).

Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute software modules (e.g., code stored or otherwise embodied on a machine-readable medium or in a transmission medium), hardware modules, or any suitable combination thereof. A “hardware module” is a tangible (e.g., non-transitory) unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

Accordingly, the phrase “hardware module” should be understood to encompass a tangible entity, and such a tangible entity may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a CPU configured by software to become a special-purpose processor, the CPU may be configured as respectively different special-purpose processors (e.g., each included in a different hardware module) at different times. Software (e.g., a software module) may accordingly configure one or more processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.

The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. Accordingly, the operations described herein may be at least partially processor-implemented, since a processor is an example of hardware. For example, at least some operations of any method may be performed by one or more processor-implemented modules. As used herein, “processor-implemented module” refers to a hardware module in which the hardware includes one or more processors. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).

The performance of certain operations may be distributed among the one or more processors, whether residing only within a single machine or deployed across a number of machines. In some example embodiments, the one or more processors or hardware modules (e.g., processor-implemented modules) may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or hardware modules may be distributed across a number of geographic locations.

The following enumerated embodiments describe various example embodiments of methods, machine-readable media, and systems (e.g., a device or other machine) discussed herein.

A first embodiment provides a method comprising:by a detection module comprising one or more processors of a device, detecting a current activity in which a user of the device is engaged, the detecting of the current activity being based on context data generated by a set of sensors within the device; andby an icon module comprising one or more processors of the device:selecting a folder icon from a first set of folder icons based on the current activity of the user; andcausing the selected folder icon from the first set of folder icons to be displayed with a visibly moving highlight on a screen of the device, the screen of the device displaying the selected folder icon within a second set of folder icons being displayed by the screen, the visibly moving highlight being applied to at least the selected folder icon but fewer than all folder icons in the displayed second set of folder icons, each folder icon in the displayed second set of folder icons corresponding to a different folder among a plurality of folders stored by the device, each folder icon in the displayed second set of folder icons being operable to cause contents of its corresponding folder to be presented on the screen of the device.

A second embodiment provides a method according to the first embodiment, wherein:the first set of folder icons from which the folder icon is selected based on the current activity of the user is a subset of the second set of folder icons being displayed by the screen; andthe selecting of the folder icon selects a folder icon that is being displayed by the screen.

A third embodiment provides a method according to the first embodiment, wherein:the first set of folder icons from which the folder icon is selected based on the current activity of the user is a superset of the second set of folder icons being displayed by the screen; andthe selecting of the folder icon selects a folder icon that is not being displayed by the screen.

A fourth embodiment provides a method according to any of the first through third embodiments, wherein:the selected folder icon includes an image stored by the device;the visibly moving highlight animates the selected folder icon; andthe causing of the selected folder icon to be displayed with the visibly moving highlight on the screen of the device includes, cyclically:accessing the image of the selected folder icon;modifying the image of the selected folder icon; andoverwriting the image of the selected folder icon.

A fifth embodiment provides a method according to the fourth embodiment, wherein:the modifying of the image of the selected folder icon is performed periodically with a period in the range of 0.5 seconds to 5 seconds.

A sixth embodiment provides a method according to the fourth embodiment or the fifth embodiment, wherein:the modifying of the image of the selected folder icon includes modifying brightness values of pixels within a perimeter portion of the selected folder icon while maintaining a size of the image of the selected folder icon, the perimeter portion including at least one outer boundary of the select folder icon.

A seventh embodiment provides a method according to any of the fourth through sixth embodiments, wherein:the modifying of the image of the selected folder icon includes modifying color values of pixels within a perimeter portion of the selected folder icon while maintaining a size of the image of the selected folder icon, the perimeter portion including at least one outer boundary of the selected folder icon.

An eighth embodiment provides a method according any of the fourth through seventh embodiments, wherein:the modifying of the image of the selected folder icon includes modifying a size of the image of the selected folder icon.

A ninth embodiment provides a method according to any of the first through eighth embodiments, wherein:the screen of the device displays the second set of folder icons superimposed over a background image stored by the device;the visibly moving highlight animates the background image; andthe causing of the selected folder icon to be displayed with the visibly moving highlight on the screen of the device includes, cyclically:accessing the background image stored by the device;modifying the background image; andoverwriting the background image on the device.

A tenth embodiment provides a method according to the ninth embodiment, wherein:the modifying of the background image is performed periodically with a period in the range of 0.5 seconds to 5 seconds.

An eleventh embodiment provides a method according to the ninth embodiment or the tenth embodiment, wherein:the modifying the background image modifies a region of the background image, the modified region of the background image being centered on a location on the screen at which the selected folder icon is displayed.

A twelfth embodiment provides a method according to any of the ninth through eleventh embodiments, wherein:the modifying of the background image includes modifying a region of the background image, the modified region visually appearing to surround at least one outer boundary of the selected folder icon superimposed over the background image.

A thirteenth embodiment provides a method according to the twelfth embodiment, wherein:the modifying of the region of the background image includes modifying brightness values of pixels within the region that visually appears to surround at least one outer boundary of the selected folder icon.

A fourteenth embodiment provides a method according to the twelfth embodiment or the thirteenth embodiment, wherein:the modifying of the region of the background image includes modifying color values of pixels within the region that visually appears to surround at least one outer boundary of the selected folder icon.

A fifteenth embodiment provides a method according to any of the first through fourteenth embodiments, wherein:the detecting of the current activity detects a first activity, and the selected folder icon is a first selected folder icon determined by the icon module to be relevant to the first activity; andthe method further comprises:by the detection module, detecting a second activity in which the user is engaged after cessation of the first activity, the detecting of the second activity being based on further context data generated by the set of sensors within the device;by the icon module, selecting a second folder icons from the first set of folder icons based on the second activity of the user; andby the icon module, causing the second selected folder icon to be displayed with the visibly moving highlight on the screen.

A sixteenth embodiment provides a method according to the fifteenth embodiment, wherein:the causing of the second selected folder icon to be displayed with the visibly moving highlight on the screen includes maintaining display of the first selected folder icon on the screen with the visibly moving highlight.

A seventeenth embodiment provides a method according to the fifteenth embodiment, wherein:the causing of the second selected folder icon to be displayed with the visibly moving highlight on the screen includes maintaining display of the first selected folder icon on the screen but with a reduced intensity version of the visibly moving highlight, the reduced intensity version being reduced in at least one of brightness values, color saturation values, or frequency of repetition relative to the visibly moving highlight applied to the second selected folder icon.

An eighteenth embodiment provides a method according to the fifteenth embodiment, wherein:the causing of the second selected folder icon to be displayed with the visibly moving highlight on the screen includes maintaining display of the first selected folder icon on the screen but without the visibly moving highlight.

A nineteenth embodiment provides a method according to the fifteenth embodiment, wherein:the causing of the second selected folder icon to be displayed with the visibly moving highlight on the screen includes removing the first selected folder icon from the screen.

A twentieth embodiment provides a machine-readable medium (e.g., a non-transitory machine-readable storage medium) comprising instructions that, when executed by one or more processors of a device, cause the device to perform operations comprising:by a detection module comprising one or more processors of a device, detecting a current activity in which a user of the device is engaged, the detecting of the current activity being based on context data generated by a set of sensors within the device; andby an icon module comprising one or more processors of the device:selecting a folder icon from a first set of folder icons based on the current activity of the user; andcausing the selected folder icon from the first set of folder icons to be displayed with a visibly moving highlight on a screen of the device, the screen of the device displaying the selected folder icon within a second set of folder icons being displayed by the screen, the visibly moving highlight being applied to at least the selected folder icon but fewer than all folder icons in the displayed second set of folder icons, each folder icon in the displayed second set of folder icons corresponding to a different folder among a plurality of folders stored by the device, each folder icon in the displayed second set of folder icons being operable to cause contents of its corresponding folder to be presented on the screen of the device.

A twenty first embodiment provides a machine-readable medium according to the twentieth embodiment, wherein:the causing of the selected folder icon to be displayed with the visibly moving highlight on the screen of the device includes at least one of:repeatedly modifying pixels that form at least one outer edge of an image of the selected folder icon, orrepeatedly modifying pixels of a background image over which the image of the selected folder icon appears superimposed, the modified pixels of the background image being adjacent to at least one outer edge of the image of the selected folder icon.

A twenty second embodiment provides a machine-readable medium according to the twenty first embodiment, wherein:the repeated modifying of the pixels causes the screen to depict an animated pulsating aura on at least one outer boundary of the selected folder icon.

A twenty third embodiment provides a machine-readable medium according to the any of the twentieth through twenty second embodiments, wherein:the causing of the selected folder icon to be displayed with the visibly moving highlight on the screen of the device includesrepeatedly modifying a background image over which the image of the selected folder icon is superimposed, the background image being modified by replacing portions of the background image in a region centered on the selected folder icon with sprite images.

A twenty fourth embodiment provides a machine-readable medium according to the twenty third embodiment, wherein:the sprite images that replace the portions of the background image cause the screen to depict animated bubbles emanating and rising from the selected folder icon within the region centered on the selected folder icon.

A twenty fifth embodiment provides a machine-readable medium according to the twenty third embodiment or the twenty fourth embodiment, wherein:the sprite images that replace the portions of the background image cause the screen to depict animated fish swimming within the region centered on the selected folder icon.

A twenty sixth embodiment provides a device comprising:a detection module comprising one or more processors of the device and configured to detect a current activity in which a user of the device is engaged, the detecting of the current activity being based on context data generated by a set of sensors within the device; andan icon module comprising one or more processors of the device and configured to:select a folder icon from a first set of folder icons based on the current activity of the user; andcause the selected folder icon from the first set of folder icons to be displayed with a visibly moving highlight on a screen of the device, the screen of the device displaying the selected folder icon within a second set of folder icons being displayed by the screen, the visibly moving highlight being applied to at least the selected folder icon but fewer than all folder icons in the displayed second set of folder icons, each folder icon in the displayed second set of folder icons corresponding to a different folder among a plurality of folders stored by the device, each folder icon in the displayed second set of folder icons being operable to cause contents of its corresponding folder to be presented on the screen of the device.

A twenty seventh embodiment provides a carrier medium carrying machine-readable instructions for controlling a machine to carry out the method of any one of the previously described embodiments.