Abstract:
A search engine discovers and indexes applications in a search index and receives queries from devices. The search engine is configured to obtain contextual data describing context associated with the devices and/or social networking data associated with one or more users of the devices. Based upon the contextual data and/or the social networking data, the search engine modifies the query and executes the query to identify applications. The search engine generates search results corresponding to the identified applications. The search engine also is configured to generate advertising relevant to the modified query, and to rank the search results in accordance with the query, the contextual data, and/or the social networking data. The ranked search results and the advertising are presented to the client as search results and/or in a web store format. Activity of the client and the search engine can be tracked and reported to authorized entities.
Abstract:
Concepts and technologies are described herein for supporting intelligent user interface interactions. Commands accepted by applications can be published or determined. Before or during access of the application, the commands can be presented at clients to indicate commands available for interfacing with the application. The commands can be presented with information indicating how the user interface and/or input device of the client may be used to execute the available commands. Input received from the client can be compared to the available commands to determine if the input matches an available command. Contextual data relating to the client, preferences, and/or other data also can be retrieved and analyzed to determine the intent of the client. The intent can be used to identify an intended command and to modify the input to match the intended command. The modified input can be transmitted to the application.
Abstract:
Concepts and technologies are described herein for interacting with contextual and task-focused computing environments. Tasks associated with applications are described by task data. Tasks and/or batches of tasks relevant to activities occurring at a client are identified, and a UI for presenting the tasks is generated. The UIs can include tasks and workflows corresponding to batches of tasks. Workflows can be executed, interrupted, and resumed on demand. Interrupted workflows are stored with data indicating progress, contextual information, UI information, and other information. The workflow is stored and/or shared. When execution of the workflow is resumed, the same or a different UI can be provided, based upon the device used to resume execution of the workflow. Thus, multiple devices and users can access workflows in parallel to provide collaborative task execution.
Abstract:
Concepts and technologies for creating and accessing room-based computing environments are disclosed. Resources are categorized and/or bundled into categories or bundles of resources. Resources are associated with the room-based computing environment and various data relating to the resources is stored, including data relating to permissions for accessing the resources. Upon detecting access of the room-based computing environment, a room engine can authenticate an entity associated with the access and determine what contents of the room-based computing environment are to be presented based upon the permissions information and/or other considerations. The environment is generated and presented to the entity via one or more user interfaces.
Abstract:
Concepts and technologies are described herein for contextual and task-focused computing. In some embodiments, a discovery engine analyzes application data describing applications, recognizes tasks associated with the applications, and stores task data identifying and describing the tasks. The task data is searchable by search engines, indexing and search services, and task engines configured to provide tasks to client devices operating alone or in a synchronized manner, the tasks being provided on-demand or based upon activity associated with the client devices. A task engine receives or obtains contextual data describing context associate with the client devices and/or social networking data associated with users of the client devices. Based upon the contextual data and/or the social networking data, the task engine identifies one or more relevant tasks and provides to the client devices information for accessing the relevant tasks, or packaged data corresponding to the relevant tasks.