Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CHANGING ICONS ON USER INPUT DEVICE
Document Type and Number:
WIPO Patent Application WO/2014/015198
Kind Code:
A1
Abstract:
Embodiments are disclosed that relate to pushable buttons comprising individually controllable display devices. For example, one disclosed embodiment provides a hand-held game controller comprising a body and a plurality of pushable buttons movably coupled to the body, each pushable button comprising a transparent cap and an individually controllable display device arranged behind the transparent cap such that the display device is viewable through the transparent cap. The hand-held game controller further comprises a controller configured to receive an input from an application requesting display of a first icon on a first display device of a first pushable button of the plurality of pushable buttons and a second icon on a second display device of a second button of the plurality of pushable buttons, and, in response, display the first icon on the first display device and display the second icon on the second display device.

Inventors:
ASHLEY BRYON (US)
MORRIS QUINTIN (US)
Application Number:
PCT/US2013/051169
Publication Date:
January 23, 2014
Filing Date:
July 18, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MICROSOFT CORP (US)
International Classes:
A63F13/06
Foreign References:
US20080092087A12008-04-17
US20030174072A12003-09-18
EP1025886A22000-08-09
US20090073126A12009-03-19
Download PDF:
Claims:
CLAIMS

1. A hand-held video game controller, comprising:

a body;

a plurality of pushable buttons movably coupled to the body, each pushable button comprising a transparent cap and an individually controllable display device arranged behind the transparent cap such that the display device is viewable through the transparent cap; and

a computing device configured to:

receive an input from an application requesting display of a first icon on a first display device of a first pushable button of the plurality of pushable buttons and a second icon on a second display device of a second button of the plurality of pushable buttons; and

in response, display the first icon on the first display device and display the second icon on the second display device.

2. The hand-held video game controller of claim 1, wherein each pushable button further comprises a support structure located behind the individually controllable display device to support the individually controllable display device against the transparent cap.

3. The hand-held video game controller of claim 2, wherein, for each pushable button, the support structure is retained within the pushable button by one or more retaining tabs.

4. The hand-held video game controller of claim 2, wherein, for each pushable button, the support structure is retained within the pushable button by an adhesive.

5. The hand-held video game controller of claim 2, wherein, for each pushable button, the support structure comprises one or more vias configured to accommodate one or more electrical connections to the individually controllable display.

6. The hand-held video game controller of claim 5, wherein the one or more vias are formed along one or more side portions of the support structure.

7. The hand-held video game controller of claim 1, wherein each pushable button of the plurality of pushable buttons comprises a single actuatable component.

8. The hand-held video game controller of claim 1, wherein each display device comprises an electronic paper display device, and wherein each display device is configured to display two or more predefined fixed icons.

9. The hand-held video game controller of claim 1, wherein each display device comprises an active matrix display, and wherein the controller is configured to provide image data to each active matrix display specifying an image to be displayed.

10. A method of operating a hand-held video game controller, the hand-held video game controller comprising a plurality of pushable buttons each having a transparent cap and an individually controllable display device arranged behind the transparent cap such that the display device is viewable through the transparent cap, a logic subsystem, and memory comprising code representing a plurality of predefined icons displayable on the individually controllable display devices, the method comprising:

receiving an input from a first application requesting display of a first predefined icon on a first display device of a first pushable button of the plurality of pushable buttons and a second predefined icon on a second display device of a second button of the plurality of pushable buttons;

in response, displaying the first predefined icon on the first display device, displaying the second predefined icon on the second display device, and displaying a default icon on a third display device of a third pushable button, thereby causing the first predefined icon to appear on the first pushable button, the second predefined icon to appear on the second pushable button, and the default icon to appear on the third pushable button;

detecting user actuation of the of the third pushable button;

receiving an input from the first application requesting display of a first dynamic icon on the third display device of the third pushable button; and

displaying the first dynamic icon on the third display device of the third pushable button.

Description:
CHANGING ICONS ON USER INPUT DEVICE

BACKGROUND

[0001] User input devices, such as hand-held game controllers, include one or more input mechanisms for effecting control over a computing device or applications presented thereby. Input mechanisms, such as buttons and directional pads, may include generic, fixed markings to identify the input mechanisms.

SUMMARY

[0002] Embodiments are disclosed that relate to pushable buttons comprising individually controllable display devices. For example, one disclosed embodiment provides a hand-held game controller comprising a body and a plurality of pushable buttons movably coupled to the body, each pushable button comprising a transparent cap and an individually controllable display device arranged behind the transparent cap such that the display device is viewable through the transparent cap. The hand-held game controller further comprises a controller configured to receive an input from an application requesting display of a first icon on a first display device of a first pushable button of the plurality of pushable buttons and a second icon on a second display device of a second button of the plurality of pushable buttons, and, in response, display the first icon on the first display device and display the second icon on the second display device.

[0003] This Summary is provided to introduce a selection of 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 to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] FIG. 1 shows an embodiment of a hand-held video game controller in an example use environment.

[0005] FIG. 2 shows an example of an embodiment of a pushable button comprising an individually controllable display device.

[0006] FIG. 3 shows a top-view of an embodiment of a pushable button comprising an individually controllable display device.

[0007] FIG. 4-5 shows an example use case scenario for an embodiment of a handheld video game controller comprising a plurality of pushable buttons. [0008] FIG. 6 shows a process flow depicting an embodiment of a method of operating a hand-held video game controller.

[0009] FIG. 7 shows a non-limiting example of an embodiment of a computing device.

DETAILED DESCRIPTION

[0010] As mentioned above, an input device may include one or more input mechanisms (e.g., buttons, directional pads, triggers, etc.) that may be user-actuatable in order to effect control over a computing device and/or over applications presented thereby (e.g., video games). Said input mechanisms typically include one or more fixed markings, such as arrows, alphanumeric characters, symbols, etc., to identify the input mechanism.

[0011] In some instances, an input mechanism may not be utilized in a consistent manner, for example, for different applications. Instead, customized functionality may be defined by the computing device manufacturer, the application developer, the user, and/or other entity. For example, the "up" direction of a directional pad may effect forward motion of an on-screen character in a first set of applications, whereas the "up" direction may fire an on-screen weapon in a second set of applications. A user of an input device may rely on their own memory and/or may access on-screen help (e.g., a controller legend) in order to ascertain which input mechanism is associated with a given activity, function, weapon, ability, etc.

[0012] Accordingly, various embodiments are disclosed herein that relate to the display of context-specific icons on such input devices to allow the user to quickly glance at the controller to recall the assignments. In this way, a user may be able to quickly and accurately ascertain the functionality of a given input mechanism without referring to additional instructional materials (e.g., instruction manuals, etc.). Such a configuration may thus enable novice and experienced users alike to accurately and efficiently operate the input mechanism.

[0013] FIG. 1 shows an example use environment 100 comprising an embodiment of a hand-held video game controller 102. Controller 102 comprises body 104 configured to be held in one or both hands. In some embodiments, body 104 may be "hollow" such that body 104 forms one or more cavities in which other elements of controller 102, in whole or in part, are oriented.

[0014] Body 104 may be further configured to provide support and/or positioning for one or more input mechanisms. For example, controller 102 may include input mechanisms such as joystick 106 and/or buttons 108 movably coupled to body 104. These input mechanisms may be usable to effect control over computing device 110 and/or over applications presented thereby. Controller 102 may be used, for example, to control the motion of game character 112 of application 113 rendered by computing device 110 and displayed via display device 114. As such, controller 102 may further comprise a communication subsystem configured to provide unidirectional or bidirectional communication with computing device 110 to allow controller 102 to send control information to computing device 110 for controlling the computing device, and also to receive communications from the computing device 110. The control information sent to the computing device 110 may comprise, for example, state information regarding the current state of joystick 106 and/or buttons 108.

[0015] Although illustrated as a wireless connection, it will be appreciated that controller 102 may communicate with computing device 110 via a wireless connection, a wired connection, or a combination thereof. Wireless communication may be performed via infrared light, visible light, radio-frequency (e.g., 802.11 or mobile telephony), combinations thereof, or via any other suitable mechanism.

[0016] In addition to joystick 106 and/or buttons 108, controller 102 may further comprise one or more input mechanisms each comprising an individually controllable display device, embodiments of which are shown as pushable buttons 116. It will be appreciated that the term "pushable button" as used herein refers to any input mechanism configured to be user-actuatable by a pressing motion (e.g., via thumb or other finger) that causes movement of the button into a body of the controller to actuate an actuatable component.

[0017] Independently controllable displays may be configured to provide information, such as icons, to a user of controller 102 to convey the functionality provided by actuation of the corresponding pushable button. It will be appreciated that the term "icon" as used herein refers to any image, textual and/or graphical, displayed via an individually controllable display device. For example, buttons 116 may be configured to alternatively display alphanumeric icons 118 and graphical icons 120. Accordingly, during use of computing device 110 (e.g., during interaction with application 113), specific actions or activities (e.g., jump, crouch, run, change weapon, etc.) may be assigned to buttons 116, and corresponding icons may be displayed thereon. Further, upon the occurrence of user actuation of buttons 116 and/or upon the occurrence of various triggers (e.g., video game game play situations), the icons may be updated to reflect an updated state (e.g., updated functionality of the associated input mechanism). [0018] Controller 102 may further include one or more directional pads 122 each comprising an individually controllable display device and disposed on body 104 apart from pushable buttons 116. As with pushable buttons 116, directional pad 122 may be configured to display a variety of icons, including, but not limited to, directional icons 124 (e.g., arrows similar to "standard" directional pad markings), graphical icons 126 (e.g., "run" icon), and textual icons (e.g., international and/or extended character sets to facilitate user input of text).

[0019] In contrast to buttons 116, it will be appreciated that directional pad 122 may comprise a unitary body that is user-actuatable in a plurality of directions 123 (e.g., up, down, left, right, etc.). Accordingly, each of directions 123 may comprise a corresponding actuatable component in order to register user-actuation of the direction. Regardless of the number and orientation of the directions, directional pad 122 may comprise a monolithic transparent directional cap spanning the plurality of directions 123 such that a single directional pad display device may be utilized for the plurality of directions.

[0020] In some embodiments, the display device may be substantially coextensive with the directional cap (e.g., cross-shaped, etc.) such that the display device is disposed substantially within the transparent directional cap. In other embodiments, the display device may comprise a quadrilateral display area (e.g., 16:9 display, 4:3 display, square display, etc.) or other shape such that a portion of the display device is viewable through the directional cap while the remainder of the display device is obscured via the directional cap and/or the controller body. In such embodiments, the underside of the display device may be configured to interact with the plurality of actuatable components. In yet other embodiments, a plurality of individually controllable display devices (e.g., one display per direction 213) may be disposed beneath the transparent cap. It will be appreciated that directional pads may have various configurations without departing from the scope of the present disclosure.

[0021] In various embodiments, an input mechanism comprising an individually controllable display device may be configured to display any configuration and combination of "fixed" or "dynamic" icons. Fixed icons are predefined icons that may be included with controller 102 and/or computing device 110 (e.g., via one or more data structures within non-volatile memory). For example, each of pushable buttons may be configured to display one or more alphanumeric icons (e.g., icon 118) and/or one or more graphical icons (e.g., icon 120). Applications configured to interact with the individually controllable display devices (e.g., application 113) may therefore be capable of selecting and displaying one of said fixed icons on each individually controllable display device. It will be appreciated that fixed icons may have any suitable configuration, including, but not limited to, generic alphanumeric characters, generic images (e.g., media controls, etc.), and/or geometric shapes.

[0022] In other embodiments, icons may be "dynamic." Dynamic icons may be specific to one or more applications presented by computing device 110, and may enable application developers to provide custom icons suited for the particular digital experience (e.g., video game, media player, etc.). For example, in media player scenarios, one or more media functions may be presented to the user (e.g., playback controls, playlist controls, etc.) in order to provide a more customized and intuitive user experience. It will be appreciated that in such scenarios, there may exist any number and configuration of dynamic icons as provided by applications utilizing the controller 102.

[0023] Further, each of pushable buttons 116 may be configured to display one or more "default" icons. Said default icons may be displayed by one or more pushable buttons 116 upon startup of controller 102, during interaction with applications that do not support the individually controllable display devices, during interaction with applications that are not currently utilizing a given button, and/or in any other scenario where display of a fixed icon or a dynamic icon via pushable buttons 116 is not requested. For example, in some embodiments, a default icon may comprise an alphanumeric indicator (e.g., A, B, X, Y, etc.). In other embodiments, a default icon may comprise a blank image (i.e., all pixels on or all pixels off). It will be appreciated that these scenarios are presented for the purpose of example, and are not intended to be limiting in any manner.

[0024] Any suitable display technologies may be utilized to display icons as disclosed herein. For example, in the instance of fixed icons, as the set of fixed icons does not change over time, it may be advantageous to use a "segmented" display technology, such as electronic paper. In such scenarios, each of the fixed icons may be represented by activating/de-activating one or more display "segments." Further, to provide greater flexibility in providing dynamic icons, a pixel-based display technology (e.g., active matrix) may be used. It will be appreciated that these configurations are presented for the purpose of example, and that any suitable display technology may be utilized without departing from the scope of the present disclosure. Other example display technologies include, but are not limited to, liquid crystal displays, organic light emitting device displays, and projection displays. [0025] It will be appreciated that a game controller in accordance with

embodiments of the present disclosure may comprise any suitable combination and configuration of pushable buttons and individually controllable display devices, and that said individually controllable display devices maybe configured to display any

configuration of dynamic icons, fixed icons, and/or default icons. Further, the behavior (e.g., timing, update triggers, etc.) may be determined by the controller, a

communicatively coupled computing device (e.g., computing device 110), an application presented by the computing device (e.g., application 113), and/or any combination thereof.

[0026] Turning now to FIG. 2, a sectional view of an embodiment of a pushable button 200 comprising an individually controllable display device 202 is shown. Button 200 comprises transparent cap 204 configured to be actuated by the user. Although illustrated as comprising a convex top surface, it will be appreciated that transparent cap 204 may have any suitable configuration (e.g., concave, flat, angled, etc.) without departing from the scope of the present disclosure.

[0027] As illustrated, individually controllable display device 202 is disposed under transparent cap 204 such that display device 202 is viewable through the top of transparent cap 204. In order to support display device 202 against transparent cap 204, button 200 further comprises a support structure 206 located behind the individually controllable display device. Support structure 206 may take any suitable form and may be coupled to transparent cap 204 via any suitable mechanism or combination of

mechanisms. For example, as illustrated, transparent cap 204 may comprise one or more retaining tabs 208 disposed along the inner surface of the transparent cap and configured to interact with edge 210 of support structure 206. In some embodiments, tabs 208 may comprise plural discrete features formed on an inside surface of transparent cap 204, whereas in other embodiments, the inner surface of transparent cap 204 may comprise a substantially continuous feature (e.g., flange) configured to interact with edge 210 of support structure 206 instead of, or in addition to, retaining tabs 208. In other

embodiments, one or more tabs may be formed on support structure 206 for engagement with complementary features on transparent cap 204. In yet other embodiments, support structure 206 may be retained within transparent cap 204 via an adhesive.

[0028] Display device 202 may be further retained within the transparent cap 204 via any suitable mechanism or combination of mechanisms. In some embodiments, display device 202 may be retained via friction with transparent cap 204 and support structure 206. In other embodiments, display device 202 may be affixed to transparent cap 204 and/or support structure 206 via adhesive. In yet other embodiments, display device 202 may be mechanically coupled to transparent cap 204 and/or support structure 206 via one or more mechanical features (e.g., complimentary features, pressure fittings, screws, etc.).

[0029] As illustrated, button 200 is disposed within an opening of body 212 (e.g., body 104 of FIG. 1). Accordingly, upon user-actuation of transparent cap 204, button 200 is configured to move in a direction substantially perpendicular to body 212. In order to retain button 200 within the opening, the button may further comprise flange 214 configured to interact with an inner surface of body 212. In other embodiments, button 200 may comprise one or more discrete tabs configured to retain the button within the opening instead of, or in addition to, flange 214.

[0030] Button 200 further comprises actuatable component 216 coupled to board

218 (e.g., multi-layer printed circuit board) and configured to translate user actuation of the button into one or more representative analog and/or digital electrical signals.

Actuatable component 216 may comprise any suitable mechanism or combination of mechanisms, including, but not limited to, mechanical sensors (e.g., tactile switch, membrane switch, etc.), optical sensors (e.g., optical encoder, optical break sensor, etc.), magnetic sensors (e.g., magnetic reed switch), and/or capacitive sensors.

[0031] In some embodiments, button 200 may further comprise one or more mechanisms configured to mechanically couple actuatable component 216 and one or more of transparent cap 204, display device 202, and support structure 206. For example, in some embodiments, button 200 may comprise rod 220 configured to couple actuatable component 216 to support structure 206. In other embodiments, actuatable component 216 may be configured to interact directly with transparent cap 204 and/or support structure 206. For example, actuatable component 216 may be disposed below flange 214 such that user actuation of transparent cap 204 effects interaction between flange 214 and actuatable component 216. It will be appreciated that these configurations are presented for the purpose of example, and are not intended to be limiting in any manner.

[0032] Board 218 may be disposed within body 212 to provide structural and/or electrical interfaces for button 200. Board 218 may be further configured to electrically couple display device 202 to one or more electrical components (e.g., display controller, non-volatile memory, communication subsystem, etc.). Accordingly, display device 202 may comprise one or more electrical connections 222 (e.g., ribbon cable, flexible flat cable, etc.) to provide said coupling. Further, support structure 206 may comprise one or more vias 224 to accommodate electrical connections 222. As illustrated, via 224 may comprise an opening through a top portion of support structure 206. In some

embodiments, via 224 may further comprise one or more features extending below the top portion of support structure 206 and configured to at least partially enclose electrical connections 222. Said features may provide additional routing and support of electrical connections 222 within button 200, and may therefore decrease mechanical fatigue experienced by electrical connections 222 (e.g., via pinching, friction, etc.). Although via 224 is illustrated as being disposed through the top portion of support structure 206, it will be appreciated that vias 224 and electrical connections 222 may have any suitable configuration, examples of which are discussed in greater detail below with reference to FIG. 3.

[0033] Although the discussion of FIG. 2 is with reference to a single pushable button, it will be appreciated that the discussion is also applicable to the directional pads mentioned above, as button 200 may represent a single "direction" of the directional control pad. In other words, the directional pad may comprises a transparent directional pad cap (e.g., cap 204) and a directional pad display device (e.g., display device 202) located behind the transparent directional pad cap such that the directional pad display device is viewable through the transparent directional pad cap. Further, a directional pad support structure (e.g., support structure 206) may be included to support the directional pad display device against the transparent cap. As mentioned above, in contrast to an individual pushable button, a directional pad may comprise a single directional pad cap and a plurality of actuatable components (e.g., one actuatable component per "direction").

[0034] Turning now to FIG. 3, a top view of an embodiment of pushable button

200 comprising individually controllable display device 202 (illustrated as displaying an "X" icon) viewable through transparent cap 204 is shown. As described above, button 200 comprises support structure 206 retained within transparent cap 204, the support structure being configured to support display device 202 against transparent cap 204. Although button 200 is illustrated as being substantially circular, it will be appreciated that pushable buttons as disclosed herein may comprise any suitable shape without departing from the scope of the present disclosure.

[0035] As mentioned above, support structure 206 may comprise one or more vias to accommodate electrical connections to display device 202. Such vias may be disposed through the top portion of the support structure, as illustrated at 224. As mentioned above, such embodiments may further comprise one or more features extending below the top portion in order to provide additional routing. Alternatively, such vias also may be formed along one or more side portions of the support structure such that the one or more electrical connections are disposed between the support structure and transparent cap, as illustrated at 226. In such embodiments, via 226 may further comprise one or more elements configured to at least partially enclose the electrical connections. The electrical connections may be disposed freely within via 226 and/or may be mechanically coupled thereto via one or more mechanisms (e.g., tabs, loops, adhesive, etc.). It will be

appreciated that pushable buttons may comprise any combination and configuration of vias to accommodate the one or more electrical connections of the individually

controllable display device without departing from the scope of the present disclosure.

[0036] FIGS. 4 and 5 show a plurality of pushable buttons 400 displaying various icons (e.g., icons for a first-person combat video game). First, as shown in the example of FIG. 4, first pushable button 402 of the plurality of pushable buttons 400 is displaying icon 404, illustrated as a default "X" icon. In response to actuation of button 402 by a user (e.g., via thumb 406), button 402 may be configured to display an icon different than icon 404. FIG. 5 shows pushable buttons 400 after user actuation of button 402. As illustrated, button 402 is displaying icon 408 in the form of a grenade. As such, further actuation of button 402 may result in use of a grenade by an in-game character. Although the icon change of FIGS. 4 and 5 is presented with respect to user-actuation of a button during interaction with a video game, it will be appreciated that that a change in display state for one or more of the individually controllable displays may be effected by any mechanism (e.g., user actuation, change in application state, change in computing device state, etc.) and that icons may be presented for any suitable user experience (e.g., media player, etc.) without departing from the scope of the present disclosure.

[0037] Turning now to FIG. 6, a flow diagram depicting an embodiment of a method 600 of operating a hand-held video game controller (e.g., controller 102) is shown. At 602, method 600 comprises receiving an input from an application (e.g., application 113) requesting display of a first icon on a first display device of a first pushable button of a plurality of pushable buttons and a second icon on a second display device of a second button of the plurality of pushable buttons. As mentioned above, icons displayed by each individually controllable display device may comprise fixed icons 604 and/or dynamic icons 606 in any combination and configuration.

[0038] In some scenarios (e.g., dynamic icon scenarios), it will be appreciated that the custom icon image data may be provided by the application and/or computing device in communication with the controller. As such, method 600 may further comprise, at 608, providing image data (e.g., pixel array or other suitable data structure) to each display specifying an image to be displayed. In some embodiments, said image data may be provided to the controller, and thus stored by the controller, upon initialization of the computing device and/or the application. In other embodiments, the image data may be dynamically provided.

[0039] At 610, method 600 further comprises, in response, displaying the first icon on the first display device and display the second icon on the second display device, thereby causing the first icon to appear on the first pushable button and the second icon to appear on the second pushable button. As mentioned above, in some embodiments, pushable buttons comprising an individually controllable display device may be configured to display one or more "default" icons (e.g., generic text, generic images, blank image, etc.). Default icons may be displayed, for example, when no fixed or dynamic icon has been requested for a given pushable button. As such, method 600 may further comprise, at 612, displaying a default icon on a third display device of a third pushable button, thereby causing the default icon to appear on the third pushable button.

[0040] As mentioned above, the icons displayed on the individually controllable display devices may be updated upon user input, upon change in application state, upon change in computing device state, and/or according to any other suitable trigger or combination of triggers. Accordingly, at 614, method 600 further may further comprise detecting user actuation of the third pushable button. Method 600 may further comprise, at 616, receiving an input from the first application requesting display of a first dynamic icon on the third display device of the third pushable button. At 618, method 600 may further comprise displaying the third icon on the third display device of the third pushable button.

[0041] The above described methods and processes may be tied to a computing system including one or more computers. In particular, the methods and processes described herein may be implemented as a computer application, computer service, computer API, computer library, and/or other computer program product.

[0042] FIG. 7 schematically shows a nonlimiting computing system 700 that may perform one or more of the above described methods and processes. Controller 102 and computing device 110 are non-limiting examples of computing system 700. Computing system 700 is shown in simplified form. It is to be understood that virtually any computer architecture may be used without departing from the scope of this disclosure. In different embodiments, computing system 700 may take the form of a mainframe computer, server computer, desktop computer, laptop computer, tablet computer, home entertainment computer, network computing device, mobile computing device, mobile communication device, gaming device, user input device, etc.

[0043] Computing system 700 includes a logic subsystem 702 and a data-holding subsystem 704. Computing system 700 may optionally include a display subsystem 706, communication subsystem 708, and/or other components not shown in FIG. 7. Computing system 700 may also optionally include user input devices such as keyboards, mice, game controllers, cameras, microphones, and/or touch screens, for example.

[0044] Logic subsystem 702 may include one or more physical devices configured to execute one or more instructions. For example, the logic subsystem may be configured to execute one or more instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result.

[0045] The logic subsystem may include one or more processors that are configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic subsystem may be single core or multicore, and the programs executed thereon may be configured for parallel or distributed processing. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located and/or configured for coordinated processing. One or more aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.

[0046] Data-holding subsystem 704 may include one or more physical, non- transitory, devices configured to hold data and/or instructions executable by the logic subsystem to implement the herein described methods and processes. When such methods and processes are implemented, the state of data-holding subsystem 704 may be transformed (e.g., to hold different data).

[0047] Data-holding subsystem 704 may include removable media and/or built-in devices. Data-holding subsystem 704 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others. Data-holding subsystem 704 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable. In some embodiments, logic subsystem 702 and data-holding subsystem 704 may be integrated into one or more common devices, such as an application specific integrated circuit or a system on a chip.

[0048] FIG. 7 also shows an aspect of the data-holding subsystem in the form of removable computer-readable storage media 710 which may be used to store and/or transfer data and/or instructions executable to implement the herein described methods and processes. Removable computer-readable storage media 710 may take the form of CDs, DVDs, HD-DVDs, Blu-Ray Discs, EEPROMs, and/or floppy disks, among others.

[0049] It is to be appreciated that data-holding subsystem 704 includes one or more physical, non-transitory devices. In contrast, in some embodiments aspects of the instructions described herein may be propagated in a transitory fashion by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for at least a finite duration. Furthermore, data and/or other forms of information pertaining to the present disclosure may be propagated by a pure signal.

[0050] The terms "application," "program," and the like may be used to describe an aspect of computing system 700 that is implemented to perform one or more particular functions. In some cases, such an application and/or program may be instantiated via logic subsystem 702 executing instructions held by data-holding subsystem 704. It is to be understood that different applications and/or programs may be instantiated from the same service, code block, object, library, routine, API, function, etc. Likewise, the same application and/or programs may be instantiated by different services, code blocks, objects, routines, APIs, functions, etc. The terms application and/or program are meant to encompass individual or groups of executable files, data files, libraries, drivers, scripts, etc.

[0051] When included, display subsystem 706 may be used to present a visual representation of data held by data-holding subsystem 704. As the herein described methods and processes change the data held by the data-holding subsystem, and thus transform the state of the data-holding subsystem, the state of display subsystem 706 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 706 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 702 and/or data- holding subsystem 704 in a shared enclosure, or such display devices may be peripheral display devices. [0052] When included, communication subsystem 708 may be configured to communicatively couple computing system 700 with one or more other computing devices. Communication subsystem 708 may include wired and/or wireless

communication devices compatible with one or more different communication protocols. As nonlimiting examples, the communication subsystem may be configured for communication via a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, etc. In some embodiments, the communication subsystem may allow computing system 700 to send and/or receive messages to and/or from other devices via a network such as the Internet.

[0053] It is to be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of the above-described processes may be changed.

[0054] The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.