CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation of and claims priority to U.S. application Ser. No. 11/939,739, filed on Nov. 14, 2007, entitled “Magic Wand”, the entirety of which is incorporated herein by reference.
BACKGROUNDThere has long been an imaginative current flowing in popular culture relating to magic, which has recently culminated in the Harry Potter phenomenon. Given the widespread commercial success of Harry Potter books and feature films, as well the many predecessors in the fantasy genre such as The Lord of the Rings, Dungeons and Dragons, etc., it is readily apparent that a number of communities or demographic segments are enamored with the idea of magic. Discounting the aforementioned communities, even the most pragmatic individual would have trouble arguing against the merits or utility of, say, a magic wand that actually worked to control or communicate with objects or components in an associated nearby environment.
Conventionally, a number of devices exist that are intended to operate or control objects in the environment, even some that are specifically intended to leverage, simulate, or promote the appearance of magic. However, systems or devices in this technological area as well as even much broader market segments aimed at, say, consumer devices in general often suffer from a variety of difficulties that stem from two market-driving factors that are distinct and sometimes at odds with one another. In particular, consumers want devices that have a very rich feature set. On the other hand, consumers also want devices that are small, convenient (e.g., to carry), and easy to use.
Miniaturization of electronic devices has reached the point where significant computing power can be delivered in devices smaller than a matchbook. Hence, miniaturization is no longer the primary technological bottleneck for meeting the demands of consumers. Rather, the challenges are increasingly leaning toward the user interface of such devices. For example, technology exists for building a full-featured cellular phone (or other device) that is no larger than a given user's thumb, yet packing a keypad and display in such a device is all but impossible. Even devices that are not so small, but desire to provide multifunctional features can suffer from a related difficulty. In particular, packing a lot of features into a single device generally increases the complexity of use.
To avoid such difficulties, conventional devices that are intended to operate or control numerous environmental components simplify the user-interface, which reduces the feature set; or have highly complex operational requirements that make the device very difficult to use.
SUMMARYThe following presents a simplified summary of the claimed subject matter in order to provide a basic understanding of some aspects of the claimed subject matter. This summary is not an extensive overview of the claimed subject matter. It is intended to neither identify key or critical elements of the claimed subject matter nor delineate the scope of the claimed subject matter. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
The subject matter disclosed and claimed herein, in one aspect thereof, comprises an architecture that can facilitate rich interaction with and/or management of environmental components included in an environment. At least a portion of the architecture can be included in a housing that can be referred to as (and can but need not resemble) a wand. The architecture can include a variety of I/O components such as keys/keypad, navigation buttons, lights, switches, displays, speakers, microphones, transmitters/receives, or substantially any other suitable component found in or related to conventional user-interfaces.
The architecture can also include or be operatively coupled to a set of sensors such as accelerometers, gyroscopes, cameras, range-finders, biometric sensors and so on. One or more sensor can be utilized to determine an orientation of the wand, wherein the orientation can relate to or include the position of the wand, the direction of focus of the wand (or a targeted environmental component) as well as a gesture or recent trajectory of the wand. Based upon the orientation of the wand, the architecture can determine a suitable instruction, which can be transmitted to the targeted environmental component and result in a change in the state of the targeted environmental component.
In addition, to, e.g., provide very rich features without necessarily scaling up the size or complexity of the user interface in proportion, the architecture can provide an advisor component that can be configured to provide guidance in connection with the orientation or other suitable aspects. The advisor component can present the guidance to a user of the wand in the form of an avatar, that can be updatable, configurable, and/or selectable and can in some cases control or relate to the set of available features.
The following description and the annexed drawings set forth in detail certain illustrative aspects of the claimed subject matter. These aspects are indicative, however, of but a few of the various ways in which the principles of the claimed subject matter may be employed and the claimed subject matter is intended to include all such aspects and their equivalents. Other advantages and distinguishing features of the claimed subject matter will become apparent from the following detailed description of the claimed subject matter when considered in conjunction with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a block diagram of a system that can facilitate rich interaction with and/or management of environmental components included in an environment.
FIG. 2 illustrates a block diagram of various examples of components fromset108.
FIG. 3 depicts a block diagram of a variety of exampleenvironmental components120.
FIG. 4 illustrates a block diagram of several examples ofsensor124.
FIG. 5 is a block diagram of various examples in connection withguidance134.
FIG. 6 depicts a block diagram of a system that can facilitate 3-D modeling of an environment and/or utilize holographic displays in order to provide rich interaction with components in an environment.
FIG. 7 depicts a block diagram of a system that can aid with various inferences.
FIG. 8 is an exemplary flow chart of procedures that define a method for facilitating robust interactions with and/or management of environmental components.
FIG. 9 illustrates an exemplary flow chart of procedures that define a method for providing additional features in connection with the orientation, instruction, or guidance.
FIG. 10 depicts an exemplary flow chart of procedures defining a method for modeling the environment and/or providing holographic presentation for facilitating richer interactions.
FIG. 11 illustrates a block diagram of a computer operable to execute the disclosed architecture.
FIG. 12 illustrates a schematic block diagram of an exemplary computing environment.
DETAILED DESCRIPTIONThe claimed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the claimed subject matter.
As used in this application, the terms “component,” “module,” “system,” or the like can, but need not, refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component might be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
As used herein, the terms “infer” or “inference” generally refer to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic-that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
Referring now to the drawing, with reference initially toFIG. 1,system100 that can facilitate rich interaction with and/or management of environmental components included in an environment is depicted. Generally,system100 can includehousing102, which can be comprised of substantially any suitable material and can be substantially any suitable shape or design. Housing102 can be shaped to resemble a wand, a remote control, a fob, etc. and is generally intended to be a handheld object. Housing102 can include any suitable ergonomic or aesthetic feature as well asface104 that can represent a designated side or salient feature ofhousing102 that can be indicative of pointing to or targeting objects. In accordance therewith,housing102 can include a pointing aid or reference such as a laser or LED pointing mechanism. It is to be appreciated that all or portions of components described herein can be included internally or mounted uponhousing102. However, such need not be the case in all situations as in certain cases some components can be and, in fact, might be required to be disparate fromhousing102.
System100 can also includecommunication component106 that can manage set108 of I/O components, which can includeinput component110,output component112 as well as substantially any number of individual I/O component(s)114. It should be noted thatinput component110 andoutput component112 are distinguished from other I/O components114 merely as a matter of form to provide more explicit references to these individual components. Set108 of I/O components will typically reside within or uponhousing102, however, in some cases will be remote fromhousing102. A variety of example components fromset108 of I/O components are provided in connection withFIG. 2, which can be referenced briefly along sideFIG. 1 to provide concrete examples, but not necessarily to limit the scope of the claimed subject matter.
Turning now toFIG. 2, various examples of components fromset108 are expressly illustrated. As a first example, denoted byreference numeral202, set108 of I/O components can include a key, a button, a switch, a keypad, a keyboard or the like. Such component(s)202 are usually included with or features ofhousing102 and will typically be input component(s)110, but can in some cases be or have aspects associated withoutput component112 such as in the case where, e.g., key202 has an associated light or LED to, e.g., indicate when key202 is depressed. Another example fromset108 can bedisplay204.Display204 can be substantially any suitable form factor and can provide one or both textual or graphical output.Display204 can also be included withhousing102 and will often be anoutput device112, but can have features ofinput device110 such as in the case of a display that is responsive to touch or optical input (e.g., from a lightpen).
Other example components ofset108 can includespeaker206 that can provide audio outputs ormicrophone208 that can receive audio inputs.Speaker206 andmicrophone208 can be included inhousing102, but can in some cases be remote fromhousing102 such as part of a headset or other wearable device (not shown), potentially worn by a possessor ofhousing102. In addition, set108 can also includereceiver210 ortransmitter212 that can be, respectively, configured to receive or to transmit data or signals in one or more suitable protocols or formats, including but not limited to Near Field Communication (NFC), WiFi (IEEE 802.11x specifications), Bluetooth (IEEE 802.15.x specifications), Radio Frequency Identification (RFID), infrared, Universal Serial Bus (USB), FireWire (IEEE 1394 specification), etc.
Resuming the discussion ofFIG. 1, thecommunication component106 can be configured to receiveinput116 by way of input component110 (e.g., key202,microphone208, receiver210) and to transmitinstruction118 by way of output component112 (e.g., transmitter212).Instruction118 can be configured to update a state of one or more environmental component(s)1201-120M, wherein the one or more environmental component(s)1201-120Mcan be configured to receiveinstruction118 and to update the state in accordance withinstruction118. It should be understood that environmental component(s)1201-120Mcan include substantially any number, M, of suitable components and/or devices in an environment, wherein the environment can be defined as an area, room, or space. In certain cases, the environment can be limited to an area within a certain range ofhousing102, wherein the range can be predetermined, predefined, ad hoc, and/or based upon a particular wireless protocol, standard, or format. Additionally or alternatively, the environment or range can be based upon bounds of a geometric model or a locale or a range of other components/devices described herein (see e.g.,FIG. 6). It should be appreciated that environment components1201-120Mcan be referred to collectively or individually by environment component(s)120, even though eachenvironment component120 can have unique or distinguishing features that differentiate from otherenvironmental components120. Numerous examples of suitableenvironmental components120 can be found with reference toFIG. 3.
While still referring toFIG. 1, but referring as well toFIG. 3, a variety of exampleenvironmental components120 are illustrated in order to provide concrete examples, but not necessarily to limit the scope of the appended claims. In accordance therewith, examples ofenvironmental component120 can includelights302, whereininstruction118 can be a command to turnlights302 on/off, dim/brightenlights302, change the color/frequency oflights302, change a timer setting, and so forth. Another example,environmental component120 can bethermostat304.Instruction118 directed tothermostat304 can be, e.g., a command to raise/lower a temperature or other setting or preference, a command to switch on a fan/heater/heat pump/air conditioner, etc.
Additionally,game console306 orcomputer308 can be examples ofenvironmental components120, as can components of or associated in some fashion withgame console306 orcomputer308 such as computer-based controllers (e.g., controller310) or a user-interface (e.g., interface310). In one aspect, housing102 (or associated components) can simulate, supplement, and/or supplant an existing game controller forgame console306. Likewise,housing102 can provide additional inputs tocomputer308 such as operating a mouse input or cursor. It is to be appreciated that in some cases, the foregoing might require special components to be present onconsole306 orcomputer308 such as, e.g., controller/interface310. However in other situations, such need not necessarily be the case, which is described in additional detail infra.
In addition, exampleenvironmental component120 can include aspects of systems (e.g., system100) described herein (e.g.,housing102 and associated components or “wand”) as well as similar devices as indicated byreference numeral312. For example, it is noteworthy to mention thatdevice312 exists in the environment (and often is a basis for defining the environment), and such can be considered for many purposes of this disclosure to be one ofenvironmental components120. Moreover,instruction118 can facilitate opening a communication session with othersimilar devices312. Hence, the wand can communicate in a manner similar to a cellular phone or walkie-talkie with other wands. In addition a variety of other types of information can be exchanged between two wands such as, e.g., messages, media, codes, or substantially any other suitable content/data.
Continuing the discussion ofFIG. 1,system100 can further includepresence component122 that can employ set124 of sensors1241-124N(referred to herein either collectively or individually as sensor(s)124, while appreciating that eachsensor124 can have traits that materially distinguish from other sensors124). In particular, one or more sensor(s)124 can be employed to, inter alia, determineorientation126 ofhousing102. However, it should be appreciated that set124 can include one or more sensor(s)124 that do not relate toorientation126, but relate instead to, e.g., acquisition or determination of other suitable data. It should be understood thatpresence component122 or another component described herein can also employ all or potions ofsensors124, even those that do not directly relate toorientation126. Examples of both types ofsensor124 can be found with reference toFIG. 4, which can be referenced in tandem withFIG. 1.
Referring briefly now toFIG. 4, several illustrative, but not necessarily limiting, examples ofsensor124 are depicted. Initially, it should be appreciated that, as withset108 of I/O components, all or a subset ofsensors124 described herein can be onboard with respect tohousing102, and in some cases such might be required. In certain situations, however, there exists the potential that one or more sensor(s)124 might be, or might be required to be, remote fromhousing102 as well.
Oneexample sensor124 can beaccelerometer402.Accelerometer402 is usually included inhousing102 and can be employed to determine motion, acceleration, and/or specific external force with respect tohousing102, which can be a factor in determiningorientation126. Similarly,housing102 can includegyroscope404 as anotherexample sensor124 for use in connection withorientation126.Gyroscope404 can be utilized to determine a change in angle or an angular rate of change ofhousing102.
Anexample sensor124 related toorientation126 that can be included in, as well as remote from,housing102 can be camera406 (or other optical device such as a laser-based, LED-based, or certain optical range finders etc.). Whilecamera406 can exist inhousing102 and can be employed to aid in determination of orientation126 (e.g., imaging objects and employing object recognition techniques to ascertain relative position/orientation), one ormore cameras406 can also be remote fromhousing102 and employed to, e.g., image and/or identifyhousing102 and determine a position (or aspects of orientation126) ofhousing102 relative to other components described herein as further detailed in connection withFIG. 6.
Oneexample sensor124 largely unrelated toorientation126 but that can be included inhousing102 isbiometric sensor408.Biometric sensor408 can obtain a biometric from a possessor ofhousing102 in order to, inter alia, determine an identity of the possessor as well as certain emotional states of the possessor such as a level of excitement, anxiety, and so forth. While biometric data comes in many varieties, ashousing102 is typically a handheld object, the biometric obtained bysensor408 will generally pertain to hand-based biometrics such as, e.g., fingerprints, grip configurations, hand geometry, or the like. However, it should be appreciated that ashousing102 can have associated components such as wearable devices (e.g., headsets, ear/eye pieces . . . ) other types of biometrics such as facial-based biometrics (e.g., thermograms, retinas, iris, earlobes, forehead) or behavioral biometrics (e.g., signature, voice, gait, gestures) can be obtain, potentially bybiometric sensor408 that is remote fromhousing102. Further, aspects relating to data obtained bybiometric sensor408 are described infra.
In addition, for the sake of form and consistency, it should be appreciated that set124 can also includereceiver410 ortransmitter412 that can facilitate propagation of data or information described herein. For example, sensors (e.g.,406,408) that are remote fromhousing102 might communicate withhousing102 by way ofsensors410,412. Additionally or alternatively, it should be appreciated thatsensors410,412 can be identical to, include, or be components of example I/O components210,212 described in connection withFIG. 2 supra.
Continuing the description ofFIG. 1, recallpresence component122 can employ one ormore sensors124 to determineorientation126 ofhousing102. In more detail,orientation126 can relate to 3-D space and can be one or more of a position ofhousing102; a focus, direction, or target128 offace104; or a gesture, wherein the gesture can be a recent trajectory ofhousing102. As an introduction to other discussion infra, target128 (e.g., an object or component pointed to by a particular surface of face104) will in many circumstances be one or more environmental component(s)120. Furthermore, it should be appreciated that as gestures can be applicable toorientation126,presence component122 can maintain a history of or other state information relating toorientation126, wherein the history or other state information can be saved to a data store (not shown) for later access or recall.
In addition,system100 can includecommand component130 that can determineinstruction118 based at least in part uponorientation126. In accordance with an aspect of the claimed subjectmatter command component130 can further employinput116 in order to determineinstruction118. In more detail and/or to provide additional context, consider the following scenario.
Housing102 is pointed at (e.g., a designated feature or surface offace104 is directed at) a lamp (e.g., lights302). Accordingly, the lamp can be selected astarget128 ofhousing102 and/orface104, which can be determined bypresence component122 based uponorientation126. Selection oftarget128 can be automatic based solely upon the focus offace104; based upon a time interval such as focusing on the lamp for, say, 2 seconds selects the lamp astarget128; or based uponinput116 such as focusing on the lamp and pressing aparticular button202. Given the foregoing, the lamp can now be actively managed or controlled by way ofinstruction118, which can be determined bycommand component130 based at least uponorientation126 and transmitted bycommunication component106.
For example, the lamp can be switched on/off by, e.g., pressing aparticular button202. As another example, the lamp can be dimmed or brightened based upon a change inorientation126 such as lowering or raisingface104. Similarly,lamp126 can change colors (or traverse a frequency spectrum) by rotatinghousing102 axially and/or by apossessor twisting housing102 one direction or the other.
Appreciably, asinstruction118 can apply to a wide variety of devices, potentially including any environmental component120 (which can includehousing102 or components thereof), the available set ofpotential instructions118 can be virtually limitless in size. Accordingly, a set ofpotential orientations126 and/orinputs116 necessary to prompt eachpotential instruction118 can be likewise virtually limitless, which, in conventional multifunctional or multimodal devices, can lead to several common difficulties, including, (1) complexity of use is generally proportional to the available features (e.g., the more features provided, the more difficult use becomes); and (2) available features are generally rigidly constrained by the form factor of a user-interface (e.g., small display or few input mechanisms equate to fewer features).
One potentially unforeseen benefit of the claimed subject matter can be mitigation of one or both of the aforementioned difficulties. In accordance therewith and to other related ends,system100 can also includeadvisor component132 that can provideguidance134 in connection withorientation118. Furthermoreadvisor component132 can also provideguidance134 with respect toinput116. Hence,guidance134 provided byadvisor component132 can range from how to movehousing102 to create a desired result to which buttons orkeys202 and/or when these should be pressed, etc. (e.g., input116) in order to create the desired result, as well as numerous other items, many of which are characterized inFIG. 5, which will be reference shortly before returning to discussion ofFIG. 1.
However, before turning toFIG. 5, it should be appreciated that in order to provideguidance134, advisor component can facilitate (e.g., by way ofcommunication component106 and/or one or more components fromset108 of I/O components) articulation or display ofguidance134. Articulation ofguidance134 can be verbal and provided by way ofspeaker206, potentially mitigating the need for a large form factor display. Articulation or display ofguidance134 can also be text-based provided by way ofdisplay204. In addition, articulation or display ofguidance134 can be visual and also provided by way ofdisplay204 or by way ofinterface310 associated with one or moreenvironmental components120.
According to one aspect of the claimed subject matter,advisor component132 can provideguidance134 by way ofavatar136.Avatar136 can include a distinct persona that can influence one or more of appearance ofavatar136, character ofavatar136, personality ofavatar136, behavior ofavatar136, speech-related aspects ofavatar136 such as inflection, accent, brogue, choice of dialogue, and so on. In addition,avatar136 can affect what features are available to a possessor ofhousing102.
For example, it is readily apparent that the claimed subject matter can be potentially beneficial in many ways. In one case, the claimed subject matter can appeal to the imagination of a child by leveraging qualities of a magical device, while in another case, the claimed subject matter can appeal to the sensibilities of an elderly person, the disabled, or infirm due to the many potential conveniences provided. Of course, other appealing characteristics exist, but the two cited examples: two potential possessors ofhousing102, one young and one elderly serve as natural examples to illustrate additional features of the claimed subject matter.
As one illustration, the child might select the professor orwizard avatar136, whereas the elderly person, say, the child's grandmother, might selectavatar136 that is reminiscent of Jimmy Stewart but switch to John Wayne for applications when a no-nonsense style is desired. Moreover, given thathousing102 can include or be operatively coupled tobiometric sensor408, the possessor, grandmother, child, or another party, can be determined automatically (e.g., by presence component122) upon contact with housing102 (or another component) in a manner suitable to obtain appropriate biometric information. Thus, the appropriate avatar136 (as well as other suitable settings or preferences) can be selected and/or activated automatically upon identification of the possessor, and potentially changed based upon the possessor's emotional state, which can also be obtained by way ofbiometric sensor408.
It should be understood thatadvisor component132 can be updateable, configurable, and/or selectable, and such modifications can be automatic or periodic as well as manually performed. Such modifications can be accomplished by way of, e.g., connecting to a remote data store potentially by way of the Internet or another network or wide area network (WAN), which can be facilitated bycomponents210,212. Moreover, according to an aspect of the claimed subject matter, at least one ofavatar136 or the available features are selectable based uponattachable module138 that can be interfaced withhousing102 by way of one or more port(s)140. For completeness it can be noted that port(s)140 can be operatively coupled to or components of receiver/transmitter210,212 to facilitate wired-based communication.
As indicated supra,guidance134 can be articulated or displayed and, further, that such can be provided byavatar136, which can be presentable by way of an audio output, a text-based output, a video output or display, holographic (detailed infra) output or display as well as any suitable combination thereof. Additional aspects in connection withavatar136 andattachable module138 can be found with reference toFIG. 5 and the associated text below. Further aspects relating to holographic features are covered inFIG. 6.
Referring now toFIG. 5, various examples in connection withguidance134 are provided in order to introduce additional context but not necessarily to limit the scope of the appended claims to only the provided examples. In particular,guidance134 can relate to target128 as well as asuitable orientation126 to achievetarget128 as denoted byreference numeral502. Additionally,guidance134 can relate toinstruction118 or asuitable orientation126 to facilitate a desiredinstruction118 as indicated byreference numeral504.
Moreover,guidance134 can come in the form ofaudio506 such asverbal guidance134 or be text-based or visual-based as indicated byreference numeral508. Furthermore, all or portions ofguidance134 can be presented byavatar136 and accessibility to certain features or tocertain avatars136 can depend upon couplingattachable module138 tohousing102. In more detail, consider the following.
A possessor ofhousing102 aims face104 at a lamp.Audio guidance506 can be constructed byadvisor component132 and presented byavatar136 in the specific avatar's own style or context. For example, “Your focus is the lamp. Press the red button to target this object.” Or, similarly, “Please speak your target,” to which a possessor ofhousing102 can indicate “the lamp,” which can beinput116 provided bymicrophone208, followed byaudio guidance506, “Your target is the lamp. Press the red button to switch the lamp on.” Likewise,audio guidance506 can continue in the following manner. “Move the tip of the wand [e.g., face104 of housing102] up or down as you would a fishing pole to brighten or dim the lamp.” Or, “twist the wand in one direction as though you are tightening or loosening a screw to change the color of the lamp.” Appreciably,guidance134 can be descriptive and based somewhat upon the character of possessor (e.g., “as though you are tightening or loosening a screw” vs. “rotate housing axially”).
Likewise, text orvisual guidance508 can be presented byavatar136 and can be displayed bydisplay204,interface310, and/or can be holographic, which is further detailed in connection withFIG. 6. Additionally, a type ofguidance136 provided as well as features orinstructions118 available can depend uponattachable module138. For example, management or interaction withlights302 may require afirst module138 to be coupled tohousing102, while management or interaction withgame console306 might require asecond module138. As another example, a certain combination ofmodules138 can yield access to aparticular avatar136. The modules can be solely utility-driven, or in some cases be aesthetic and/or thematic as well, such as fashioned to resemble bold geometric shapes or shapes that allude to magic characteristics, or shapes indicative of the environmental component(s)120 that can be managed or interacted with thatparticular module138. Appreciably, module(s)138 can be utilized for permission-based access to certain features oravatars136, as canbiometric sensor408.
Referring now toFIG. 6,system600 is depicted that can facilitate 3-D modeling of an environment and/or utilize holographic displays in order to provide rich interaction with components in an environment. In general,system600 can includecommunication component106 that can manage set108 of I/O components and can be configured to receiveinput116 and to transmitinstruction118. In accordance with the descriptions herein,communication component106 can be operatively coupled toholographic display component602.Holographic display component602 can be configured to displayholograph604 substantially near to one ofhousing102 orenvironmental component120 that serves astarget128 offace104. In either case,holographic display component602 can be embedded inhousing102 or be a remote component
As introduced supra,holograph604 can be associated withguidance134. Accordingly,holograph604 can be a representation ofavatar136 or, e.g., a data display associated withinstruction118. It should be appreciated that by utilizingholograph604 to facilitateguidance134, a large form factor display can be unnecessary to provide a wealth of information, potentially mitigating certain difficulties associated with conventional devices or systems. To provide additional context, consider for a moment the ensuing examples.
Possessor executesorientation126 sufficient to targetthermostat304. Possessor desires to modify a setting ofthermostat304 from 68 degrees to 72 degrees. While this can be accomplished in a manner similar to that described supra in connection with changing the brightness/intensity oflight302, e.g., by raising or loweringface104 to update a setting, potentially accompanied by an explanation (e.g., guidance134), which can be audio, visual, or text-based, and can be presented by way ofavatar136, other features can exist as well. For example, upon targetingthermostat304,holographic display component602 can produce a holographic interface or data display that, e.g., hoversnearby thermostat304. The display can indicate in potentially large numerals that the current setting is for 68 degrees, and, possibly as possessor tiltshousing102 upward, the display can update, cycling through 69, 70, and so on to 72 degrees, where possessor is satisfied. Such can be useful given that unlike the example provided in connection with the lamp, which has visual indicia (e.g., the readily apparent brightness) to provide feedback to possessor,thermostat304 may not otherwise have such visual indicia, and thus, it may be difficult for possessor to know how far to tilt housing to reach the desired setting. Utilizingholograph604 can mitigate such a difficulty, as well as provide numerous other features and/or allow instruction(s)118 (or associated orientation(s)126) to be more intuitive.
Appreciable, the holographic data display/interface can beinterface310. While described supra, it is perhaps more understandable to note here that interface310 can be associated with one or moreenvironmental components120, but need not necessarily be provided by or even managed or controlled bysuch component120. It should be understood that a similar holographic data display/interface can be presented in connection with substantially anyenvironmental component120, and is not necessarily limited to merelythermostat304. Moreover,holograph604 can be presented by way of, e.g., an eyepiece associated withhousing102 worn by possessor. Additionally, it should be underscored thatholograph604 can also be a representation ofavatar136 illustrating visual depictions ofguidance134.
In addition to the foregoing,system600 can further includemodeling component606 that can also be coupled tocommunication component106.Modeling component606 can construct 3-Dgeometric model608 of the environment, which can, e.g., aid or in some cases facilitate many of the features or aspects described herein such as, e.g., determining aspects oforientation126,target128,environment components120, and so forth.
In accordance with an aspect of the claimed subject matter,modeling component606 can employ at least twocameras406 fromset124 of sensors in order to determine a 3-D position610 ofhousing102.Position610 can relate to a position inmodel608, andposition610 ofhousing102 can be an element oforientation126 with other elements provided by, e.g.,accelerometer402,gyroscope404, and so on. 3-D model608 can include all or portions of suitableenvironmental component120, and can be in some cases constructed on the fly based upon a corporeal location ofhousing102. For example,modeling component606 can broadcast a request and await acknowledgments from suitableenvironmental components120 to construct the members of 3-D model308. Subsequent data (or accompanying the acknowledgment), that includes location data or data that can be utilized to determine location can be employed to populated 3-D model608 with the members at the proper locations.
With reference now toFIG. 7,system700 that can aid with various determinations or inferences is depicted. Typically,system700 can includepresence component122,command component130, andadvisor component132, which in addition to or in connection with what has been described supra, can also make various inferences or intelligent determinations. For example,presence component122 can intelligently determinetarget128, as in some cases target128 may not be precisely and/or accurately indicated. Furthermore,presence component122 can also intelligently determine or establish levels of confidence in connection with a gesture or other aspects oforientation126. In many cases, aparticular orientation126 will be defined to produce aparticular instruction118, however, in other cases,instruction118 can be inferred based upon similarities to gestures forother target128 components. For example, a gesture that dimslights302 might not be expressly coded to work with other devices, yet the same gesture with, say,thermostat304 targeted might function in a similar manner based upon intelligent inferences bycommand component130. In addition,advisor component132 can intelligently determine identity or emotional states based upon all relevant data sets include that provided bybiometric sensor408.
In addition,system700 can also includeintelligence component702 that can provide for or aid in various inferences or determinations. It is to be appreciated thatintelligence component702 can be operatively coupled to all or some of the aforementioned components. Additionally or alternatively, all or portions ofintelligence component702 can be included in one or more of thecomponents122,130,132. Moreover,intelligence component702 will typically have access to all or portions of data sets described herein, such asdata store704, and can furthermore utilize previously determined or inferred data.
Accordingly, in order to provide for or aid in the numerous inferences described herein,intelligence component702 can examine the entirety or a subset of the data available and can provide for reasoning about or infer states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data.
Such inference can result in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification (explicitly and/or implicitly trained) schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action in connection with the claimed subject matter.
A classifier can be a function that maps an input attribute vector, x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to a class, that is, f(x)=confidence(class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, where the hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches include, e.g., naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
FIGS. 8,9, and10 illustrate various methodologies in accordance with the claimed subject matter. While, for purposes of simplicity of explanation, the methodologies are shown and described as a series of acts, it is to be understood and appreciated that the claimed subject matter is not limited by the order of acts, as some acts may occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the claimed subject matter. Additionally, it should be further appreciated that the methodologies disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
With reference now toFIG. 8,exemplary method800 for facilitating robust interactions with and/or management of environmental components is illustrated. Generally, atreference numeral802, an input can be received from an input component included in a set of I/O components. Appreciably, the set of I/O components can include components such as a key, a button, a switch, a keypad, a keyboard, a monitor, a display, a speaker, a microphone, a receiver, a transmitter, etc., and the input component can be substantially any suitable component from the set as well as certain other suitable components not expressly enumerated.
Atreference numeral804, an instruction can be transmitted to an environmental component by way of an output component included in the set of I/O components. Likewise, the output component can be substantially any suitable component from the set as well as other suitable components even if not explicitly listed in the examples provided. The instruction can be or include a command, initialization data, verification data, authentication data, as well as other appropriate data sets or subsets.
Atreference numeral806, the instruction can be determined or inferred based at least in part upon an orientation of the housing. The orientation can be associated with a position of the housing, a direction, focus, or target of the housing, or a gesture associated with the housing. Based at least upon such data (as well as other potentially relevant data), the instruction can be determined or inferred, in some cases based upon intelligence-based machine learning techniques.
Atreference numeral808, guidance in connection with at least one of the orientation or the instruction can be provided. The guidance can be provided in various forms or formats, which can include verbal or textual articulation as well as visual display of the guidance. Accordingly, explanations of suitable orientations to accomplish a particular instruction, for example, can be presented in one or more formats and/or in a manner that can reduce, minimize, or mitigate the need for a complicated user interface in connection with comprehensive features.
Referring toFIG. 9,exemplary method900 for providing additional features in connection with the orientation, instruction, or guidance is depicted. For example, atreference numeral902, the orientation can be employed to determine a target environmental component. In general, the target environmental device will be one that is the focus of the housing or an associated face, surface, salient feature. However, such need not always be the case, as the target can be selected in advance such that subsequent changes in the focus (or other potential changes in orientation) do not unnecessarily select other target components.
Atreference numeral904, state information associated with the orientation of the housing can be maintained in order to determine a gesture. For example, the state information can include a recent history of the orientation of the housing which can essentially record the motion of the housing. Atreference numeral906, the input received in connection withact802 can be utilized for determining the instruction. Accordingly, in addition to utilizing the orientation, various input such as pressing a particular key or button (e.g., input) can be used in unison with determining the appropriate instruction to transmit.
Atreference numeral908, a state of the environmental component can be updated based upon the instruction. For example, the environmental component can receive the instruction and respond by changing state. For example, a lamp can change from an “off” state to an “on” state based upon the instruction as can a setting of a thermostat, a position of a cursor, a volume of a stereo and so on and so forth.
Atreference numeral910, an avatar can be presented in connection with the guidance provided atact810. In accordance therewith, the avatar can be the medium by which the guidance is articulated or displayed. For example, the avatar can be the speaker for articulated guidance or be a performer in visually displayed guidance. It is to be appreciated that the avatar can include a distinguishing personality or character (or traits thereof) and, in connection withreference numeral912, can, along with an instruction set of available instructions or an orientation set of allowable and/or identifiable orientations, be updated to, e.g., provide newer, more useful, or more tailored data sets and/or a larger repertoire of available features.
With reference now toFIG. 10,method1000 for modeling the environment and/or providing holographic presentation for facilitating richer interactions is illustrated. Generally, atreference numeral1002, a holographic data display or interface can be presented. The holographic interface/display can be presented substantially near to a targeted environmental component and can provide beneficial feedback, visual indicia, intuitive instruction or explanation, navigation or control features, or the like.
Atreference numeral1004, a holographic representation of the avatar can be displayed. The holographic avatar can be presented substantially near to the housing or the targeted element and can provide visual guidance in connection with orientation as well as an associated or desired instruction or with the targeted environmental component. It should be appreciated and understood that the holographs displayed atacts1002,1004 be virtual in nature and can be presented by way of an eyepiece/headset associated with the housing.
Atreference numeral1006, a 3-D model of an environment proximal to the housing can be generated. The 3-D model can include the set of environmental components in respective positions that correspond to corporeal locations of the environmental components. The 3-D model can be generated on the fly and can adapt to various environments, environment types, or changes in location and/or transportation of the housing. Atreference numeral1008, two or more cameras from the set of I/O components can be employed for determining a 3-D position of the housing. The cameras can also be employed for determining or aiding in the determination of the orientation described at act706.
Referring now toFIG. 11, there is illustrated a block diagram of an exemplary computer system operable to execute the disclosed architecture. In order to provide additional context for various aspects of the claimed subject matter,FIG. 11 and the following discussion are intended to provide a brief, general description of asuitable computing environment1100 in which the various aspects of the claimed subject matter can be implemented. Additionally, while the claimed subject matter described above may be suitable for application in the general context of computer-executable instructions that may run on one or more computers, those skilled in the art will recognize that the claimed subject matter also can be implemented in combination with other program modules and/or as a combination of hardware and software.
Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
The illustrated aspects of the claimed subject matter may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
A computer typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media can include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
With reference again toFIG. 11, theexemplary environment1100 for implementing various aspects of the claimed subject matter includes acomputer1102, thecomputer1102 including aprocessing unit1104, asystem memory1106 and asystem bus1108. Thesystem bus1108 couples to system components including, but not limited to, thesystem memory1106 to theprocessing unit1104. Theprocessing unit1104 can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures may also be employed as theprocessing unit1104.
Thesystem bus1108 can be any of several types of bus structure that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. Thesystem memory1106 includes read-only memory (ROM)1110 and random access memory (RAM)1112. A basic input/output system (BIOS) is stored in anon-volatile memory1110 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within thecomputer1102, such as during start-up. TheRAM1112 can also include a high-speed RAM such as static RAM for caching data.
Thecomputer1102 further includes an internal hard disk drive (HDD)1114 (e.g., EIDE, SATA), which internalhard disk drive1114 may also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD)1116, (e.g., to read from or write to a removable diskette1118) and anoptical disk drive1120, (e.g., reading a CD-ROM disk1122 or, to read from or write to other high capacity optical media such as the DVD). Thehard disk drive1114,magnetic disk drive1116 andoptical disk drive1120 can be connected to thesystem bus1108 by a harddisk drive interface1124, a magneticdisk drive interface1126 and anoptical drive interface1128, respectively. Theinterface1124 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE1394 interface technologies. Other external drive connection technologies are within contemplation of the subject matter claimed herein.
The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For thecomputer1102, the drives and media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, that any such media may contain computer-executable instructions for performing the methods of the claimed subject matter.
A number of program modules can be stored in the drives andRAM1112, including anoperating system1130, one ormore application programs1132,other program modules1134 andprogram data1136. All or portions of the operating system, applications, modules, and/or data can also be cached in theRAM1112. It is appreciated that the claimed subject matter can be implemented with various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into thecomputer1102 through one or more wired/wireless input devices, e.g., akeyboard1138 and a pointing device, such as amouse1140. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, touch screen, or the like. These and other input devices are often connected to theprocessing unit1104 through aninput device interface1142 that is coupled to thesystem bus1108, but can be connected by other interfaces, such as a parallel port, an IEEE1394 serial port, a game port, a USB port, an IR interface, etc.
Amonitor1144 or other type of display device is also connected to thesystem bus1108 via an interface, such as avideo adapter1146. In addition to themonitor1144, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.
Thecomputer1102 may operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s)1148. The remote computer(s)1148 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to thecomputer1102, although, for purposes of brevity, only a memory/storage device1150 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN)1152 and/or larger networks, e.g., a wide area network (WAN)1154. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, thecomputer1102 is connected to thelocal network1152 through a wired and/or wireless communication network interface oradapter1156. Theadapter1156 may facilitate wired or wireless communication to theLAN1152, which may also include a wireless access point disposed thereon for communicating with thewireless adapter1156.
When used in a WAN networking environment, thecomputer1102 can include amodem1158, or is connected to a communications server on theWAN1154, or has other means for establishing communications over theWAN1154, such as by way of the Internet. Themodem1158, which can be internal or external and a wired or wireless device, is connected to thesystem bus1108 via theserial port interface1142. In a networked environment, program modules depicted relative to thecomputer1102, or portions thereof, can be stored in the remote memory/storage device1150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
Thecomputer1102 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This includes at least Wi-Fi and Bluetooth™ wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
Wi-Fi, or Wireless Fidelity, allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE802.11 (a, b, g, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE802.3 or Ethernet). Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11b) or 54 Mbps (802.11a) data rate, for example, or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic “10BaseT” wired Ethernet networks used in many offices.
Referring now toFIG. 12, there is illustrated a schematic block diagram of an exemplary computer compilation system operable to execute the disclosed architecture. Thesystem1200 includes one or more client(s)1202. The client(s)1202 can be hardware and/or software (e.g., threads, processes, computing devices). The client(s)1202 can house cookie(s) and/or associated contextual information by employing the claimed subject matter, for example.
Thesystem1200 also includes one or more server(s)1204. The server(s)1204 can also be hardware and/or software (e.g., threads, processes, computing devices). Theservers1204 can house threads to perform transformations by employing the claimed subject matter, for example. One possible communication between aclient1202 and aserver1204 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The data packet may include a cookie and/or associated contextual information, for example. Thesystem1200 includes a communication framework1206 (e.g., a global communication network such as the Internet) that can be employed to facilitate communications between the client(s)1202 and the server(s)1204.
Communications can be facilitated via a wired (including optical fiber) and/or wireless technology. The client(s)1202 are operatively connected to one or more client data store(s)1208 that can be employed to store information local to the client(s)1202 (e.g., cookie(s) and/or associated contextual information). Similarly, the server(s)1204 are operatively connected to one or more server data store(s)1210 that can be employed to store information local to theservers1204.
What has been described above includes examples of the various embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the embodiments, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the detailed description is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the embodiments. In this regard, it will also be recognized that the embodiments includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods.
In addition, while a particular feature may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” and “including” and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”