As network communications among multiple computing devices have become ubiquitous, the quantity of information available via such network communications has increased exponentially. For example, the ubiquitous Internet and World Wide Web comprise information sourced by a vast array of entities throughout the world, including corporations, universities, individuals and the like. Such information is often marked, or “tagged”, in such a manner that it can be found, identified and indexed by services known as “search engines”. Even information that is not optimized for search engine indexing can still be located by services, associated with search engines, which seek out information available through network communications with other computing devices and enable a search engine to index such information for subsequent retrieval.
Due to the sheer volume of information available to computing devices through network communications with other computing devices, users increasingly turn to search engines to find the information they seek. Search engines typically enable users to search for any topic and receive, from this vast volume of information, identifications of specific information that is responsive to, or associated with, the users' queries, often presented in order of relevance or importance to the user. To sort through the vast amounts of information that is available, and timely provide useful responses to users' queries, search engines employ a myriad of mechanisms to optimize the identification and retrieval of responsive and associated information.
Unfortunately, search engines are, by definition, reactive entities in that they only provide information in response to an initial action seeking such information in the first place. Simply put, if a user does not realize that they are lacking specific information that may be of benefit to them, then all of the information that is available through the search engine will remain unused by such a user, and, thereby will not be of any benefit to that user.
In one embodiment, application programs presenting content to users can also provide an identification of entities that are associated with such content, an identification of tasks associated with those entities, or combinations thereof. In such a manner, application programs can enable users to efficiently perform tasks that such users were likely interested in performing, and can enable users to efficiently obtain information regarding entities that such users were also likely interested in.
In another embodiment, the presentation of associated entity and task information can be through a dedicated menu, icon, or other like dedicated user interface element to which a user can direct action when the user seeks the information presented by such an element.
In a further embodiment, the presentation of associated entity and task information can be through a separate screen, or other like separate user interface context, which the user can invoke when the user seeks the information presented in such a separate user interface context.
In a still further embodiment, entities and associated tasks can be selected for presentation not only based on a user's current context, such as the information currently being presented to the user, but can also be based on information the user is requesting for subsequent presentation. In such an embodiment, identifications of entities and tasks can be provided to the user through the user input mechanisms that the user is utilizing to request information for subsequent presentation such as, for example, textual input user interface mechanisms.
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.
Additional features and advantages will be made apparent from the following detailed description that proceeds with reference to the accompanying drawings.
The following detailed description may be best understood when taken in conjunction with the accompanying drawings, of which:
The following descriptions are directed to user interfaces and associated mechanisms through which a user can be provided with information regarding entities and tasks that are associated with the user's current context, which includes the content currently being presented to a user. Services associated with a search engine database can identify entities and associated tasks. A user's context, such as the content currently being presented to a user, content previously presented to the user, and other information about the user, can be utilized to identify one or more entities and one or more associated tasks that may be relevant to the user's current context. Entities and tasks that are associated with the user's current context can be presented to such a user through a dedicated menu, icon, or other like dedicated user interface elements to which the user can direct action when the user desires to receive information regarding such entities and tasks. Alternatively, or in addition, entities and tasks can be presented to a user through a separate user interface context, such as a separate screen, which the user can invoke when the user desires to receive entity and task information. A user's context can also include information regarding future content that will be presented to the user, such as content the user has requested, or is in the process of requesting. In such an instance, entities and tasks associated with the user context including such content that will be presented to the user in the future, can be presented to the user via the same user interface mechanisms that the user is utilizing to request such content, such as, for example, textual input user interface mechanisms.
For purposes of illustration, the techniques described herein make reference to existing and known application user interface contexts, such as user interfaces typically presented by Web browsers. Also for purposes of illustration, the techniques described herein make reference to existing and known protocols and languages, such as the ubiquitous HyperText Transfer Protocol (HTTP) and the equally ubiquitous HyperText Markup Language (HTML). Such references, however, are strictly exemplary and are not intended to limit the mechanisms described to the specific examples provided. Indeed, the techniques described are applicable to any application user interface including, for example, lifestyle and/or entertainment applications, such as audio and/or video presentation applications and electronic book readers, and other content consuming and presentation applications.
Although not required, the description below will be in the general context of computer-executable instructions, such as program modules, being executed by a computing device. More specifically, the description will reference acts and symbolic representations of operations that are performed by one or more computing devices or peripherals, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by a processing unit of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in memory, which reconfigures or otherwise alters the operation of the computing device or peripherals in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations that have particular properties defined by the format of the data.
Generally, program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the computing devices need not be limited to conventional personal computers, and include other computing configurations, including hand-held devices, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Similarly, the computing devices need not be limited to stand-alone computing devices, as the mechanisms may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Turning to
Both the client computing device 110 and the mobile client computing device 120 are shown as comprising information browsing applications and lifestyle/entertainment applications to illustrate that the mechanisms described below are equally applicable to mobile computing devices, including laptop computing devices, tablet computing devices, smartphone computing devices, and other like mobile computing devices, as well as to the ubiquitous desktop computing devices. The client computing device 110 is shown as comprising an information browsing application 111 and the lifestyle/entertainment application 112. Similarly, the mobile client computing device 120 is illustrated as comprising an information browsing application 121 and a lifestyle/entertainment application 122. For purposes of the descriptions below, references to the information browsing application 111 executing on the client computing device 110 are intended to be equally applicable to the information browsing application 121 executing on the mobile client computing device 120, and vice versa. Similarly, for purposes of the descriptions below, references to the lifestyle/entertainment application 112 executing on the client computing device 110 are meant to be equally applicable to the lifestyle/entertainment application 122 executing on the mobile client computing device 120, and vice versa.
In one embodiment, the information browsing application 111, or the information browsing application 121, can be the ubiquitous web browser that can retrieve and display information in the form of websites that are hosted by web servers communicationally coupled to the network 190. However, as indicated previously, the mechanisms described below are not limited to World Wide Web-based environments. Thus, for example, information browsing applications, such as the information browsing applications 111 and 121, can be other types of information browsing applications including, for example, e-book readers, universal document format readers, or even content creation applications, such as word processors, spreadsheets, presentation applications, and e-mail applications.
Similarly, the descriptions below are equally applicable to lifestyle/entertainment applications, such as the lifestyle/entertainment application 112 executing on the client computing device 110 and the lifestyle/entertainment application 122 executing on the mobile client computing device 120. Lifestyle/entertainment applications can include applications for playing audio and video content, game applications, applications directed to controlling other electronic devices, such as digital video recorders, digital picture frames, and other like electronic devices, special-interest applications and other like applications.
In one embodiment, information browsing applications and lifestyle/entertainment applications can access information from other computing devices that are communicationally coupled to the network 190, such as, for example, the hosted content 131 that is provided by the server computing device 130. In one common example, the hosted content 131 can be a webpage of a website that is hosted by the server computing device 130. The information browsing applications 111 and 121 can, as indicated previously, be web browser applications, which can request the webpage and then, in accordance with the webpage content received from the server computing device 130, render such a webpage for display on the client computing device 110 and the mobile computing device 120, respectively. In another common example, the hosted content 131 can be an online “store” or other like digital construct, that can be accessed by an audio/video application, or other like lifestyle/entertainment application, to purchase audio and/or video content to be consumed by the user of a client computing device.
Although illustrated as such in the exemplary system 100 of
In one embodiment, one or more search engine computing devices, such as the search engine computing device 150, can comprise a search engine database 151 that can comprise information collected from content that is accessible via the network 190, such as, for example, the hosted content 131 that is provided by the server computing device 130. Such a search engine database 151 can be referenced to identify entities. For example, as illustrated in the exemplary system 100 of
The entity information obtained by the entity detector 141, and the tasks related to those entities that are identified by the related task generator 142, can be utilized to supplement the information presented to users by information browsing applications, lifestyle/entertainment applications and other application programs that present information to users. In one embodiment, the content being presented to a user can be provided to a server computing device such as, for example, the related tasks computing device 140, and such a server computing device can identify one or more entities within the content being presented to the user, or otherwise relevant to such content, and can communicate those entities, and tasks related to those entities, to the application presenting content to the user. In another embodiment, information regarding entities and related tasks can be obtained by the application presenting content to a user, such as by requesting such information from one or more server computing devices. The communications 171 and 172, illustrated in the exemplary system 100 of
Turning to
The entities and tasks associated with content can also be associated by virtue of the context in which such content is presented. For example, if the content being presented in the content presentation area 212 is a webpage, then it is likely that the user of the mobile computing device generating the exemplary user interface 201 visited a prior webpage from which the user was linked to the webpage currently being shown in the content presentation area 212. Such a browsing history, or listing of prior webpages visited by the user, can be part of a current user context. Thus, for example, if the content being presented in the content presentation area 212 is a webpage describing a mattress, and the current user context indicates that the user had, immediately previously, browsed a series of webpages describing a particular hotel, and was directed to the mattress webpage by one of the hotel webpages, such as, for example, a webpage listing that brand of mattress as an attribute of the rooms of the hotel, then, in such a context, the hotel, as an entity, can be associated with the mattress webpage while, in other user contexts, the hotel would not be associated with the mattress webpage.
In one embodiment, to present entities and tasks to a user, the exemplary user interface 201 can comprise a user interface element 220 to which the user can direct action, such as a selection action, a hover action, or other like user action, in order to invoke the presentation of entities and tasks. For example, within the exemplary user interface 201, if the user were to direct user action to the user interface element 220, a drop-down menu 221, or other like user interface element, can be presented which can list entities, tasks, or combinations thereof. In the specific context of a mobile computing device, user action directed to the user interface element 220 can be a tap or other like touch-based user interface action.
As will be recognized by those skilled in the art, mobile computing devices such as, for example, tablet computing devices and smartphone computing devices, often comprise smaller display areas than the ubiquitous desktop computing device and, due to the nature of their use, it is often desirable to avoid clutter within such smaller display areas and to present information within such smaller display areas in a limited manner such that the user can quickly consume such presented information. Thus, as an example, the drop-down menu 221 of the exemplary user interface 201 comprises only a few tasks associated with entities that were deemed to be associated with the user context, which can include the content that is being presented in the content presentation area 212. One such task is the exemplary call task 231 by which a user can utilize the mobile computing device to call a phone number that is associated with an entity that was deemed to be associated with the user context. For example, returning to the above example of a hotel webpage, if the content being presented in the content presentation area 212 is a webpage of a hotel, than the call task 231 can enable the user to call that hotel by selecting such a task. More specifically, in such an example, the hotel, as an entity, can have been identified to be associated with the hotel webpage being presented in the content presentation area 212, and such a hotel entity can have had one or more tasks associated with it such as, for example, a task directed to calling the phone number associated with such a hotel entity. Additional information can have indicated that the hotel entity was the most significant, or one of the most significant, entities associated with the user context, and, with respect to the hotel entity, the call task was the most significant, or one of the most significant, tasks associated with such an entity. Consequently, exemplary user interface 201 can, in such an example, present the call task 231 as the foremost, or topmost, task presented in the drop-down menu 221.
Another example of a task that can be associated with an entity can be a social networking task, such as the social networking task 232, that can enable a user to obtain information regarding the entity from individuals that the user trusts, or with which the user is otherwise connected such as, for example, individuals to which the user is connected via one or more social networking services. Thus, in the exemplary user interface 201, the drop-down menu 221 can include the social networking task 232 that the user can select to read, for example, reviews or comments from individuals deemed to be associated with such user. In one example, at least one individual, such as the individual named “Rob” in the example illustrated in
The drop-down menu 221 can include as many tasks as can be meaningfully conveyed to the user without burdening the user. Thus, for example, the drop-down menu 221 illustrated in
In another embodiment, as a greater amount of space is available within which to display information, a hierarchical approach can be utilized. For example, the exemplary user interface 202 illustrates a user interface that can be presented by a desktop computing device, a laptop computing device, or other like personal computing device. As will be recognized by those skilled in the art, the exemplary user interface 202 can comprise a taskbar area 242 and a desktop area 241 on which can be displayed one or more “windows”, or other like, self-contained user interface structures, such as the window 250. The window 250 can comprise a window control area 251 through which aspect and attributes of the window can be controlled, although such is orthogonal to the mechanisms described herein and is illustrated only for the sake of providing visual context. The application rendering the content within the window 250 can be an application capable of utilizing a tab motif to enable a user to more easily navigate between different content and, as such, is shown as comprising a tab area 252. Like the window control area 251, the tab area 252 is orthogonal to the mechanisms described herein and is illustrated only for the sake of providing visual context. Like the toolbar area 211 of the exemplary user interface 201, the exemplary user interface 202 can comprise a corresponding toolbar area 253 that can reflect the greater visual space allotted for the presentation of such a toolbar. Additionally, the window 250 can comprise a content presentation area 255, which is exemplarily shown in
The toolbar area 253 can comprise a user interface element 260 that can be analogous to the user interface element 220 described in detail above. In particular, the user interface element 260 can, like the user interface element 220, provide the user with information regarding entities and related tasks when the user directs user action to the user interface element 260. User action directed to the user interface element 260 can be a hover action, whereby the user positions a graphical cursor over the user interface element 260 for an extended period of time, a selection action, whereby the user depresses a mouse button, presses on a trackpad, or performs another action signifying a selection user action, a double-click user action, or other like user actions.
In one embodiment, unlike the drop-down menu 221, which can be simplified and more limited due to the constraints and usage scenarios of the computing device on which it is presented, the drop-down menus presented in response to user action directed to the user interface element 260 can present a greater amount of information including, for example, presenting it in a hierarchical format such that selections in one drop-down menu result in the presentation of a subsequent drop-down menu. For example, as shown in
As indicated previously, in one embodiment, multiple entities can be determined to be associated with a user context, which, as also indicated previously, can include the content currently being presented in a content presentation there, such as the content presentation area 255. Consequently, the tasks presented in the drop-down menu 280, which is presented as a result of user action directed to the tasks selection 272 in the drop-down menu 270, can be tasks that are associated with multiple different entities. Thus, among the exemplary tasks shown in the drop-down menu 280 of
Another mechanism by which, in one embodiment, the entities with which tasks are associated can be identified is through another, subsequent, hierarchical drop-down menu. For example, the drop-down menu 280 that is shown in exemplary interface 202 can include a reserve task 284 that can be applicable to multiple entities such as, for example, a hotel entity 291 and restaurant entities 292 and 293 that can, for example, be restaurants within that hotel. Thus, in one embodiment, a user action directed to the reserve task 284 in the drop-down menu 280 can result in a further, hierarchical drop-down menu 290 that can present the entities 291, 292 and 293, and enable the user to select which entity they wish to make a reservation with. Other, similar hierarchical drop-down menus can be presented to the user upon selection of one or more of the call task 281, the buy task 282 or the social network task 283.
In another embodiment, additional entity and task information, such as in a hierarchical structure, can be presented in a separate user interface context. Returning to the exemplary user interface 201, as indicated, such exemplary user interface can be displayed on a mobile computing device, such as a tablet computing device or a smartphone computing device. As will be recognized by those skilled in the art, such mobile computing devices often rely upon touch input, and can often accept “multi-touch” input, whereby the user provides input by simultaneously pressing two or more of their fingers down upon a touch sensitive surface and performing an action, such as bringing their fingers closer together, spreading their fingers further apart, or sliding their fingers in a particular direction. Thus, as an example, if a user were to apply a multitouch gesture to the exemplary user interface 201, such as, for example, a swipe gesture 228, whereby the user slides two or more fingers simultaneously in a left or right direction, a different user interface context, such as the exemplary user interface 203 can be presented. In such an embodiment, the user interface 203 can replace the user interface 201, as a result of the swipe gesture 228, and can display, in the hierarchical format 299, information regarding entities and tasks that are found to be associated with the user context that includes the content being presented in the content presentation area 212. Optionally, another gesture, such as the swipe gesture 229 in an opposite direction as the swipe gesture 228 can cause the exemplary user interface 201 to be returned, and exemplary user interface 203 to no longer be displayed. In such a manner, a greater amount of entity and task information can be displayed than could otherwise be displayed in, for example, the drop-down menu 221.
Turning to
In one embodiment, such existing mechanisms for providing the user with suggestions or for pre-filling in information for the user can be leveraged to also provide to the user information regarding entities and tasks that are associated with the user context. For example, as illustrated in the exemplary user interface 301, the previously described toolbar area 211 can comprise a resource locator area 310 in which the user can enter information to direct the application to the subsequent set of content that the user desires to have displayed to them in the content presentation area 212. Additionally, and as also illustrated in
To provide a specific example for purposes of further enumerating the embodiments illustrated by the exemplary user interface 301, if the user had entered a URL of a restaurant's website in the resource locator area 310, the drop-down menu 311 can include suggestions for specific webpages of that restaurant, such as webpages that might comprise a menu of the restaurant, its location and hours, or a background of its chef. Such specific webpages can be suggested in a traditional manner in the drop-down menu 311, and are represented by the suggestions 331, 332 and 333 that are illustrated in the exemplary user interface 301, shown in
In the illustrative example provided, the content being presented in the content presentation area 212 need not necessarily be associated with the restaurant and can be simply another webpage that the user was browsing. As can be seen, therefore, the user context upon which a determination of associated tasks and entities can be based can include not only content that the user is currently being presented, or has previously been presented, but can also include content that is yet to be presented to the user but that is predicted to be presented to the user based upon user entry, such as textual entry in the resource locator area 310.
In another embodiment, rather than being presented within the context of a resource locator area 310, associated entities and tasks can be provided to the user within the context of a search area 340 through which a user can enter search terms and access search functionality. More specifically, the exemplary user interface 302 comprises a window 250 that can include the search area 340. A user utilizing the search area 340 to enter search terms can be presented with suggestions, such as the suggestions 351, 352 and 353, that can represent commonly utilized search terms, or search terms for which there exists a well-defined set of results in a search engine database. The mechanism by which the user is presented with such suggestions can also be utilized to present the user with entities or tasks associated with the user context which can include, as indicated previously, the search terms being entered into the search area 340 and the associated content that would be identified, by the search engine, in response to those search terms. For example, as illustrated by the exemplary user interface 302, a user utilizing the search area 340 to enter search terms that start with the terms “us open” may be searching for the U.S. Open tennis tournament, the U.S. Open golf tournament, or other like information and, consequently, the user can be presented with a drop-down menu 341 that can comprise suggested search terms such as the “us open tennis” suggestion 351, the “us open golf” suggestion 352, and the “us open 2012” suggestion 353. Such a drop-down menu 341 can also comprise entities or tasks that are deemed to be associated with the user context such as, for example, a call task 361 or a buy tickets task 362.
As indicated previously, the user context can include information provided by the user regarding content for which the user is searching or requesting. In another embodiment, the user context can also include the context within which such a search is taking place including, for example, the date and time when such a search is taking place, the location from which the user is performing such a search and the like. Thus, illustratively, in the specific example shown in the exemplary user interface 302, there may exist an ambiguity as to whether the user's entry of the terms “us open” in the search area 340 refers to the US Open tennis tournament or the U.S. Open golf tournament. Other information from the user context can be utilized to resolve such ambiguity. For example, the user may be entering the terms “us open” in the search area 340 during the period of time when only the U.S. Open tennis tournament is actively ongoing. Or, as another example, the user may be entering the terms “us open” in the search area 340 from a location that is proximate to the location of the U.S. Open tennis tournament. In such examples, such other information from the user context can be utilized to determine that the US Open tennis tournament, as an entity, is associated with the user context and that the US Open tennis tournament, as an entity, has tasks associated with it, such as the call task 361, or the buy tickets task 362. Such tasks can be presented to the user via the same drop-down menu 341, emanating from the search area 340, as the suggestion 351, 352 and 353.
Although not specifically illustrated in
Turning to
At step 440, entities based on the user context can be enumerated. In one embodiment, such an enumeration of entities can be performed by one or more processes executing on one or more server computing devices that can have access to relevant information such as, for example, the search engine database described above. For example, the user context can be provided, by client computing device, to one or more server computing devices, and processes executing on those computing devices can utilize such context to determine whether there are any entities associated with such context such as, for example, by searching for key terms, concepts, identifiers, or other like indicia of one or more entities. In another embodiment, such an enumeration of entities can be performed by processes executing on both the client computing device presenting the user interface and on one or more server computing devices. For example, at least a portion of the user context can be provided to server computing devices, and an initial set of other entities can be received from such server computing devices, which can then, subsequently, be further refined by processes executing on the client computing device presenting the user interface.
Subsequently, at step 450, tasks associated with the entities that were identified at step 440 can be identified. In one embodiment such tasks can be identified with reference to the user context while, in other embodiments, all of the tasks associated with an entity can be enumerated. If the entity and task information is being presented to the user via a hierarchical structure such that multiple entities and their associated tasks can be presented simultaneously, processing can proceed with step 470. Conversely, if the entity and task information is being presented to the user that has a more limited user interface, a filtering process can be applied and processing can proceed with step 460. More specifically, in one embodiment, after the enumeration of entities and tasks, at steps 440 and 450, that are associated with the user context, all of such enumerated entities and tasks can be presented to the user via a hierarchical structure such that the user, by virtue of the hierarchical structure of the presentation, can direct their attention to only those entities, or only those tasks that may be relevant or meaningful to the user. Consequently, as illustrated, processing can proceed to step 470 where a collection of tasks and entities can be presented to the user in a hierarchical manner through, for example, dedicated user interface elements or wholly separate user interface contexts such as, for example, the separate screen of information that can be presented to the user, such as in the manner described in detail above. In another embodiment, however, after the enumeration of entities and tasks, at steps 440 and 450, a further filtering can be performed to select only the most relevant entities and/or tasks for presentation to the user. Such a filtering can be performed by processes executing on the client computing device that is presenting the user interface, by processes executing on one or more server computing devices, or by processes executing on both the client computing device and one or more server computing devices, acting in concert. Once such filtering is performed, processing can proceed with step 460 where such a selected set of entities, tasks or combinations thereof can be presented to the user, either via a dedicated user interface element, or as part of existing user interface elements through which users direct input, such as search input, resource location input, and other like input. The relevant processing can then end at step 480, as shown.
Turning to
The computing device 500 also typically includes computer readable media, which can include any available media that can be accessed by computing device 500 and includes both volatile and nonvolatile media and removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes 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 disks (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 computing device 500. 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. 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.
The system memory 530 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 531 and the aforementioned RAM 532. A basic input/output system 533 (BIOS), containing the basic routines that help to transfer information between elements within computing device 500, such as during start-up, is typically stored in ROM 531. RAM 532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 520. By way of example, and not limitation,
The computing device 500 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computing device 500 can operate in a networked environment using logical connections to one or more remote computers. The computing device 500 is illustrated as being connected to the general network connection 561 through a network interface or adapter 560 which is, in turn, connected to the system bus 521. In a networked environment, program modules depicted relative to the computing device 500, or portions or peripherals thereof, may be stored in the memory of one or more other computing devices that are communicatively coupled to the computing device 500 through the general network connection 561. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between computing devices may be used.
As can be seen from the above descriptions, mechanisms and user interfaces for providing related tasks for identified entities have been enumerated. In view of the many possible variations of the subject matter described herein, we claim as our invention all such embodiments as may come within the scope of the following claims and equivalents thereto.