In many arenas, disparate tools are used to achieve desired goals. Often, the disparate nature of such tools creates inefficiencies. Nevertheless, use of disparate tools is often necessitated due to changing needs and changing conditions.
For a more complete understanding of various examples, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
Various examples described below provide for a context-aware platform which allows for a seamless experience for a user. The user may be a person, an organization or a machine, such as a robot. The seamless experience may be achieved by, for example, providing an integrated ecosystem which automatically uses a variety of tools. For example, for an individual with a particular occupation, the example context-aware platform may provide a seamless experience through integration of the user's task list, calendar, contact list, location and other resources, as well as various services, such as turn-by-turn navigation. In one example, the platform includes an experience device having one or more experience modules, each of which correspond to a particular application, such as a user's occupation or a robot's purpose. Additionally, the example platform may include a package device having one or more packages which are accessed by the various experience modules. The packages may, in turn, access various information from a user or other resources and may call various services, as described in greater detail below. As a result, the user may be provided with a seamless experience with little or no input from the user.
As noted above, in many fields, disparate tools are used to achieve desired goals. Often, the disparate nature of such tools creates inefficiencies. Nevertheless, use of disparate tools is often necessitated due to changing needs and changing conditions. For example, in the case of a person going through a day, various tools may be used to achieve desired functions. Depending on the context, information from one tool may be used to manually provide an input to another tool. For example, a calendar may be used to determine the next appointment. Information from the calendar may be used to determine the address of the next appointment. The address may, in turn, be used as input into the navigation system of a car for directions. The example systems described herein provide for a context-aware platform for an integrated solution to reduce or eliminate such inefficiencies. Further, in various examples, experiences and packages may be created to provide an ecosystem for accommodating various environments and functionalities.
Referring first to
Each experience 112a-c in the set of experiences may access one or more packages 122a-c in a set of packages on the package device 120. In various examples, each package 122a-cperforms a designated function on behalf of an experience 112a-c. In this regard, each package 122a-c may access various devices 130 or services 140 to perform its function. For example, one example package 122a may perform a location-based function, such as providing turn-by-turn directions. In this example, the package 122a may access a mobile device of a user to obtain the current location of the user. The package 122a may further obtain an address of a destination from, for example, a contact list of the user or from the experience calling the package 122a. The package 122a may then access a service, such as a map service, to obtain the turn-by-turn directions to the destination and return the directions to the calling experience. Various other packages may provide various other functions, some examples of which are described below.
As noted above, the context-aware platform 100 may include access to various devices 130 and services 140. In addition to a user's mobile device, the devices 130 may include additional devices, including devices that are associated with the user or the user's mobile device. For example, the devices 130 may include devices connected to the mobile device (e.g., Bluetooth-connected peripherals), such as wearable devices including smart glasses, heart-rate sensors, or other such devices. Other devices may be associated with the user, such as a navigation system of the user's car. In some examples, the various packages 122a-c may use data collected by the devices. In one example, a package 122b may be provided to provide facial recognition service based on data collected by a camera or a video camera of a user device, such as smart glasses.
In various examples, the services 140 accessed by the packages 122a-c may include a variety of services. As noted above, one package may access a service for turn-by-turn directions, and another package may access a service for facial recognition. Other services may be provided for a specific experience 112a-c. For example, an experience directed for a particular occupation, such as a probation officer, may access a service provided by the probation service, such as a case management service. In this regard, a package 122a-c may access the case management service to identify the next case on a task list for the user (e.g., a probation officer). Various other devices and services are possible and are contemplated within the scope of the present disclosure.
As noted above, the packages 122a-c may access various devices and services to, for example, obtain data or other information. In many cases, multiple devices or services may offer the desired data or information. In this regard, the example context-aware platform of
Referring now to
In various examples, the experience device 110 communicates with the user's main device 230 to provide information to the user and, if needed, to obtain telemetry information from the user's device, for example. Similarly, the package device 120 may also communicate with the user's main device 230 to, for example, obtain information that may be needed to perform the function of a particular package. In this regard, the experience device 110 and/or the package device 120 may also access, through the user's main device, other devices that may be connected to the user's main device 230. The other devices, such as devices 232-238, may include wearable devices (e.g., smart glasses), sensors (e.g., heart-rate monitors) and navigation systems (e.g., a navigation system of the user's car), for example, In addition to the user's main device 230 and other devices 232-238 accessible through the user's main device 230, the experience device 110 and the package device 120 may also access other devices not shown in
Further, as described above with reference to
Referring now to
In various examples, developers may be provided with a standard set of packages which may be used to develop new experiences. In this regard, the developers may be provided with a set of common packages, such as the packages 332-342 described above, along with a list of inputs, outputs and application program interfaces (APIs) for each package. The developers may then provide customized experiences, such as the probation officer experience described above, which may include calls to the various packages. Such providing of common packages, inputs, outputs and APIs may encourage and facilitate the creation of additional experiences, thereby furthering and enhancing the context-aware ecosystem.
Referring now to
Upon receiving the identity of the next case, the experience may call a contacts package 440 to obtain, for example, the residential address or workplace address of the probationer, as indicated by arrows “C” of
The probation officer experience 420 may automatically, without input from the probation officer, obtain and provide turn-by-turn directions to the probation officer to the address of the probationer. As illustrated in
The experience may then monitor the probation officer's mobile device for the current location. Once the current location indicates that the probation officer is near the address of the probationer, the experience may call a video package 460, as indicated by the arrow “G” of
Upon initiation of the capture of video or still images, the experience 420 may call a facial recognition package 470. The facial recognition package 470 may perform facial recognition of each face captured on a frame and perform a comparison to, for example, a probation system database. If a match is detected to a face in the database, the facial recognition package 470 may return the match to the experience, as indicated by the arrows “H”, and the experience 420 may provide an indication to the probation officer that a match has been detected, as indicated by the arrow “I” of
When the experience determines that the task associated with the current probationer is complete, the experience 420 may call the tasks package 430 again to access the case management database and identify the next case. Thus, the experience 420 provide the probation officer 410 with a seamless and integrated experience.
Referring now to
Upon identification of the package, the experience calls the identified package (block 520). As described above, the various packages may access a variety of devices and/or services (block 530) and return a result of information to the experience. For certain packages, the experience may communicate with the user. For example, in the probation officer example described above, when the turn-by-turn package provides directions to the experience, the directions are provided to the probation officer. In other cases, the experience does not need to communicate with the user and may simply proceed to calling the next package.
Thus, at block 540, the experience determines whether there is a need to communicate with the user. If the determination is made that communication to the user is needed, the experience communicates the information to the user (block 550). In some examples, the experience may reformulate the information for more convenient or aesthetically pleasing presentation on the user device prior to communicating the information to the user. If the determinate is made that communication to the user is not needed, the experience proceeds to block 510 and identifies the next package to be called.
It is noted that upon identifying the next package to be called, the experience may not immediately call the next package. For example, in the probation officer example, the experience may determine that the video package 460 is to be called next as soon as the turn-by-turn directions are provided to the probation officer. However, the video package 460 may not be called until the probation officer's location is within a proximity threshold, for example. Thus, during that time, the experience may simply monitor the status of the probation officer.
Thus, various examples of the context-aware platform described herein can provide a seamless experience to the user with little or no input from the user. The experience may continuously monitor and identify the next package to be called based on the monitored status of the user. Further, various experiences can be provided for various industries, professions or lifestyles, and additional experiences may be provided by developers. The fixed set of packages may be accessible by all experiences, and additional packages may be provide for particular experiences. Thus, an eco-system for the experiences may be provided.
The various examples set forth herein are described in terms of example block diagrams, flow charts and other illustrations. Those skilled in the art will appreciate that the illustrated examples and their various alternatives can be implemented without confinement to the illustrated examples. For example, block diagrams and their accompanying description should not be construed as mandating a particular architecture or configuration.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/041602 | 6/9/2014 | WO | 00 |