Many users utilize computing devices, such as mobile phones, tablet devices, and/or personal computers, to perform various types of actions. In one example, a user may input a speech command “what is today's news” into a mobile phone. The mobile phone may provide the user with a list of news website search results through a web browser. In another example, a user may input a search query “order movie tickets” through a search engine accessed through a tablet device. The search engine may provide a list of websites that may be tagged as relating to movie tickets. The user may manually explore a movie website that may provide movie information, such as movie reviews, movie show times, and/or a movie ticket ordering service. After discovering the ticket ordering service, the user may provide information requested by the ticket order service in order to complete an order ticket movie action. Unfortunately, completing the order ticket movie action may require locating a particular movie ticketing app or website, extensive manual input, searching, trial and error, and/or input of redundant information.
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 factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Among other things, one or more systems and/or techniques for facilitating task completion through inter-application communication and/or for registering a target application for contextually aware task execution are provided herein. In some embodiments of facilitating task completion, an entity comprised within content of a current application may be identified. The entity may comprise a person entity, a business entity, a consumer product entity, a time entity, a location entity, an object entity, and/or any other types of entities. For example, a social network application may display a social network post comprising content describing a Sports Car Model (X) for 2013, which may be used to identify a car entity (e.g., the content of the social network post may match a car entity definition comprising one or more entity parameters used to define the car entity and/or describe actions that may be performed on the car entity). One or more actions that may be performed on the entity may be exposed. In an example, the social network application may have a view car reviews action embedded within the social network application. In another example, a car quote action may be dynamically identified based upon the car entity (e.g., the car entity definition may reference a car quote action definition comprising one or more action parameters corresponding to information used to perform a car quote action upon the car entity).
Responsive to a selection of an action, a user intent to accomplish a task may be determined based upon an entity context associated with the entity and/or an action context associated with the action. For example, a user intent to perform a car quote action may be determined based upon the car entity (e.g., the car entity definition and/or contextual information about the car entity provided by the social network application, such as a model name and/or model year) and/or the car quote action (e.g., the car quote definition and/or contextual information about the car quote action provided by the social network application, such as a dealer location, car build options, car trade-in information, etc.). One or more target application (e.g., a car trader application) capable of performing the action on the entity may be presented (e.g., through an operating system user interface, such as a share charm).
Responsive to a selection of the target application, the entity context (e.g., the model name and/or model year) and/or the action context (e.g., dealer location, car build options, car trade-in information, etc.) may be passed to the target application so that the target application in launched according to the entity context and/or the action context to facilitate completion of the task. In an example, the car trader application may be opened in a contextually aware state (e.g., a car quote form) that may comprise at least some information extracted from the entity context and/or the action context (e.g., as opposed to merely opening into a non-contextual home screen). In this way, a user may efficiently perform the car quote action through the car trader application with relatively less user input, searching, trial and error, and/or input of redundant information, for example.
In some embodiments of registering a target application for contextually aware task execution, a registration request to establish a data contract with a target application may be received. The registration request may comprise an entity and/or an action supported by the target application. For example, a car enthusiast application may request to establish a data contract between the car enthusiast application and a task execution component, such as an operating system user interface (e.g., a share charm), based upon the car enthusiast application supporting a car entity, a car quote action, and/or other entities and/or actions. In this way, the data contract may be generated with the target application. The data contract may specify that the target application is capable of performing the action on the entity.
An entity definition for the entity may be maintained. The entity definition may comprise one or more entity parameters defining the entity. An entity parameter may specify that the action is capable of being performed on the entity. For example, a car entity definition may comprise a first entity parameter for car model information, a second entity parameter for model year information, a third entity parameter specifying that the car quote action can be performed on the car entity, and/or other entity parameters. An action definition for an action may be maintained. The action definition may comprise one or more action parameters defining the action. An action parameter may specify information used to perform the action. For example, a car quote action definition may comprise a first action parameter for a dealer location information, a second action parameter for car building options information, and/or other action parameters. In this way, the car entity definition and/or the car quote action definition may be used to facilitate performance of a task by a target application based upon contextual information extracted from a current application.
To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are generally 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 an 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, structures and devices are illustrated in block diagram form in order to facilitate describing the claimed subject matter.
An embodiment of facilitating task completion through inter-application communication is illustrated by an exemplary method 100 in
At 106, one or more actions capable of being performed on the entity may be exposed. In an example, a restaurant entity definition may specify one or more actions that may be performed on the restaurant entity, such as the reserve table action. A reserve table action definition may comprise one or more action parameters specifying information used to perform the reserve table action, such as a number of seats, a time, a restaurant name, etc. In this way, an action may be dynamically identified based upon the entity, and may be presented. In another example, the action may be embedded within the current application (e.g., a developer of the current application may embed functionality within the current application that may present the action responsive to a user selecting the entity).
At 108, responsive to a selection of an action (e.g., the reserve table action), a user intent to accomplish a task (e.g., reserve a table at the Mexican Cantina) may be determined based upon an entity context associated with the entity and/or an action context associated with the action. For example, the entity context may comprise values for one or more entity parameters specified within the restaurant entity definition, such as Mexican Cantina as the restaurant name and Downtown as the location. A value for an entity parameter may be extracted from the content of the current application and/or may be extracted from the entity definition. The action context may comprise values for one or more action parameters specified within the reserve table action definition, such as Mexican Cantina as the restaurant name and 8:00 as the time.
One or more target applications capable of performing the action on the entity may be identified. For example, a food expert application may have a data contract with a task execution component. The data contract may specify that the food expert application supports the restaurant entity and/or the reserve table action. In this way, one or more target applications capable of performing the action on the entity may be presented, at 110. In an example, a target application may be presented through the current application. In another example, the target application may be presented through an operating system user interface (e.g., a share charm), which may be displayed relative to the current application (e.g., side-by-side, overlaid, etc.).
Responsive to a selection of a target application (e.g., the food expert application), the entity context and/or the action context may be passed to the target application so that the target application may be launched according to the entity context and/or the action context to facilitate completion of the task, at 112. The target application may comprise a web browser displaying a website, a locally install application, a cloud application or service, and/or a marketplace application available for download and/or install (e.g., the user may be prompted to obtain the marketplace application from an application marketplace). For example, the food expert application, which may be locally installed, may be opened into a contextually relevant state that may comprise at least some information associated with the entity context and/or the action context (e.g., the food expert application may be opened to a table reservation form populated with values from one or more entity parameters and/or one or more action parameters). In an example of passing contextual information to the target application, an operating system communication model may be used to pass the entity context and/or the action context to the target application. In an example, the target application may be launched in an immersive view state (e.g., a substantially full screen state). In another example, the target application may be launched side-by-side with the current application. In another example, the target application may be launched within an overlay interface (e.g., an operating system user interface, such as a charm, used to display applications) that may be displayed side-by-side with the current application. In this way, a user may efficiently complete the task without undue searching for appropriate functionality and/or manual input of redundant information. Once launched, various commands may be performed, such as a back command that may transition display of the target application to the current application and/or to a task interface comprising the one or more target applications that may be selected for task completion.
In an example, an entity action log may be maintained (e.g., a database, a log file, an interactive user interface, etc.). The entity action log may comprise one or more entries comprising information related to task completion, such as usage patterns for actions, engagement patterns for actions, a number of times an action is launched, a number of times an application is launched, etc. An option may be provided for a user opt-in or opt-out to have any such information, activity, actions, etc. logged. An entry may, for example, specify that the action was performed on the entity by the target application. The entity action log may be exposed to a third party application (e.g., a developer of a travel application). A data contract between a task completion component and the third party application may be generated (e.g., the developer may send a registration request indicating a desire to generate the data contract). The data contract may specify that the third party application supports performance of the action on the entity. In this way, a third party application may register as a target application for contextually aware task execution. At 114, the method ends.
The definition component 202 may be configured to generate an action definition for an action. For example, the definition component 202 may maintain a reserve table action definition 206 for the reserve table action. The reserve table action definition 206 may comprise one or more action parameters defining the action and/or specifying information used to perform the action. For example, the reserve table action definition 206 may comprise a restaurant name parameter, a restaurant location parameter, a phone number parameter, a reservation time parameter, a party size parameter, and/or other action parameters used to perform the reserve table action. The reserve table action definition 206 may be used to generate an action context for the reserve table action in order to facilitate task completion (e.g., the action context may comprise at least some information specified within the reserve table action definition 206, which may be passed to a target application so that the target application may be launched into a contextually relevant state for task completion).
The contract component 208 may be configured to maintain one or more data contracts between a task execution component (e.g., configured to facilitate completion of a task through inter-application communication) and one or more third party applications. For example, the contract component 208 may generate a data contract 210 for a travel application. The data contract 210 may specify that the travel application supports one or more entities (e.g., a restaurant entity, a car rental entity, a hotel entity, etc.) and/or one or more actions (e.g., a reserve table action, a reserve car action, a hotel comparison action, etc.). In this way, the travel application 210 may be identified as a target application capable of performing an action on an entity in order to facilitate task completion.
The task execution component 308 may be configured to identify a selection of an action. In an example, a user may select the view menu action 322. The task execution component 308 may be configured to determine a user intent 310 to accomplish a task based upon an entity context associated with the entity and/or an action context associated with the action. For example, the user intent 310 may indicate that the user desires to view a menu for the Mexican Cantina 304 based upon the entity context (e.g., contextual information associated with the Mexican Cantina entity, which may have been derived from the contextual information 306 associated with the content of the mapping application 302 and/or derived from the restaurant entity definition from the entity definition repository 312) and/or the action context (e.g., contextual information associated with the view menu action, which may have been derived from the contextual information 306 associated with the content of the mapping application 302 and/or derived from the view menu action definition from the action definition repository 314). One or more target applications, such as a menus r us application 324 and/or a food expert application 326, capable of performing the action on the entity may be presented (e.g., present 318 through the task interface 320, such as a user interface within the mapping application 302 or an external user interface, such as an operating system user interface). For example, the menus r us application 324 and/or the food expert application 326 may have data contracts within a data contract repository 316, which may specify that such applications support the Mexican Cantina entity and/or the view menu action 324. In another example where the reserve table action 328 is selected, a travel application 330 may be presented through the task interface 320 based upon a data contract between the travel application 330 and the task execution component 308 indicating that the Mexican Cantina entity and the reserve table action 328 are supported by the travel application 330. In this way, a user may select a target application, which may be launched in a contextually relevant state for task completion (e.g., as illustrated in
The task execution component 370 may be configured to receive a selection 342 of an application, such as a travel application 330 associated with a reserve table action (e.g., 328 of
The task execution component 370 may pass 348 (e.g., utilizing an operating system communication model) the reserve table action context 344 and/or the restaurant entity context 346 to the travel application 330 so that the travel application 330 may be launched according to the reserve table action context 344 and/or the restaurant entity context 346. For example, the travel application 330 may be opened into a table reservation form, which may be populated with at least some information from the reserve table action context 344 and/or the restaurant entity context 346, such as Mexican Cantina as a restaurant name 352, Downtown as a restaurant location 354, and/or 555-555-5555 as a phone number 356. In an example, the travel application 330 may be launched in an immersive view state (e.g., full screen, etc.). In another example, the travel application 330 may be launched within an overlay interface (e.g., an operating system user interface, such as a share charm) displayed side-by-side with the current application. In this way, the user may efficiently reserve a table at the Mexican Cantina without undue searching for appropriate functionality and/or manual input of redundant information, for example.
In an example, the system 340 may comprise an analysis component 358. The analysis component 358 may be configured to maintain an entity action log 360. The analysis component 358 may generate an entry within the entity action log 360 based upon the launch of the travel application 330. For example, the entry may specify that the action was performed on the entity by the target application in order to complete the task (e.g., the travel application 330 performed the reserve table action on the Mexican Cantina entity). The entity action log 360 may comprise a variety of information and/or metrics, such as a number of times an action is selected, a number of times an application is launched to perform the action, etc. The entity action log 360 may be exposed to a third party application (e.g., a developer of the third party application), which may register with the task execution component 370 to create a data contract that may allow the third party application to be used as a target application for contextually aware task completion.
The task execution component 408 may be configured to identify a selection of an action. In an example, a user may select the car quote action 422. The task execution component 408 may be configured to determine a user intent 410 to accomplish a task based upon an entity context associated with the entity and/or an action context associated with the action. For example, the user intent 410 may indicate that the user desires obtain a car quote for the Sports Car Model (X) entity based upon the entity context (e.g., contextual information associated with the Sports Car Model (X) entity, which may have been derived from the contextual information 406 associated with the content of the social network application 402 and/or derived from the car entity definition from the entity definition repository 412) and/or the action context (e.g., contextual information associated with the car quote action 422, which may have been derived from the contextual information 406 associated with the content of the social network application 402 and/or derived from the car quote action definition from the action definition repository 414). One or more target applications, such as a car trader application 424 and/or a auto dealer application 426, capable of performing the action on the entity may be presented (e.g., present 418 through the task interface 420, such as a user interface within the social network application 402 or an external user interface, such as an operating system user interface). For example, the car trader application 424 and/or the auto dealer application 426 may have data contracts within a data contract repository 416, which may specify that such applications support the Sports Car Model (X) entity and/or the car quote action 422. In another example where the build car action 428 is selected, a car manufacturer application 430 may be presented through the task interface 420 based upon a data contract between the car manufacturer application 430 and the task execution component 408 indicating that the Sports Car Model (X) entity and the build car action 428 are supported by the car manufacturer application 430. In this way, a user may select a target application, which may be launched in a contextually relevant state for task completion (e.g., as illustrated in
The task execution component 470 may be configured to receive a selection 442 of an application, such as an auto dealer application 426 associated with a car quote action (e.g., 422 of
The task execution component 470 may pass 448 (e.g., utilizing an operating system communication model) the car quote action context 444 and/or the car entity context 446 to the auto dealer application 426 so that the auto dealer application 426 may be launched according to the car quote action context 444 and/or the car entity context 446. For example, the auto dealer application 426 may be opened into a car quote form, which may be populated with at least some information from the car quote action context 444 and/or the car entity context 446, such as Sports Car Model (X) as a car model 452, 2013 as a model year 454, and/or a current user location as a location 456 (e.g., supplemental data associated with a user device hosting the auto dealer application, such as a current (e.g., GPS) location of the user device, may be used as a value to populate the car quote form). In an example, the auto dealer application 426 may be launched in an immersive view state (e.g., full screen, etc.). In another example, the auto dealer application 426 may be launched within an overlay interface (e.g., an operating system user interface, such as a share charm) displayed side-by-side with the current application. In this way, the user may efficiently obtain a car quote for the Sports Car Model (X) without undue searching for appropriate functionality and/or manual input of redundant information, for example.
In an example, the system 440 may comprise an analysis component 458. The analysis component 458 may be configured to maintain an entity action log 460. The analysis component 458 may generate an entry within the entity action log 460 based upon the launch of the auto dealer application 426. For example, the entry may specify that the action was performed on the entity by the target application in order to complete the task (e.g., the auto dealer application 426 performed the car quote action for the Sports Car Model (X) entity). The entity action log 460 may comprise a variety of information and/or metrics, such as a number of times an action is selected, a number of times an application is launched to perform the action, etc. The entity action log 460 may be exposed to a third party application (e.g., a developer of the third party application), which may register with the task execution component 470 to create a data contract that may allow the third party application to be used as a target application for contextually aware task completion.
An embodiment of registering a target application for contextually aware task execution is illustrated by an exemplary method 500 in
At 508, an entity definition for the entity may be maintained. The entity definition may comprise one or more entity parameters defining the entity (e.g., a restaurant entity definition may comprise a restaurant name parameter, a location parameter, a price rating parameter, etc.). For example, an entity parameter may specify that an action is capable of being performed on the entity (e.g., a reserve table action may be performed on a restaurant entity). At 510, an action definition for the action may be maintained. The action definition may comprise one or more action parameters defining the action. For example, an action parameter may specify information used to perform the action (e.g., a restaurant location for the table reservation action). In this way, the data contract, the entity definition, and/or the action definition may be used to identify the entity, the action that may be performed on the entity, and/or the target application capable of performing the action on the entity.
In an example, the entity, such as the restaurant entity, may be identified within content of a current application, such as a mapping application. Values for at least one entity parameter within the entity definition may be specified based upon contextual information of the entity derived from the current application to generate an entity context. For example, Mexican Cantina (e.g., extracted from the content of the mapping application) may be specified as a value for a restaurant name entity parameter within the restaurant entity definition. The action, such as the reserve table action, capable of being performed on the entity may be exposed. Responsive to selection of the action, values for at least one action parameter within the action definition may be specified based upon contextual information derived from the current application to generate an action context. For example, Downtown (e.g., derived from a current location displayed within the mapping application) may be specified as a value for a location action parameter within the reserve table action definition. The target application, such as the dinning application, capable of performing the action on the entity may be presented. Responsive to selection of the target application, the entity context and/or the action context may be passed to the target application so that the target application may be launched according to the entity context and/or the action context to complete a task (e.g., the dinning application may be launched into a contextually relevant reservation form). At 512, the method ends. It may be appreciated that variations to the disclosed subject matter are envisioned. For example, 508 and/or 510 or
Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to implement one or more of the techniques presented herein. An exemplary computer-readable medium that may be devised in these ways is illustrated in
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As used in this application, the terms “component,” “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may 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. 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.
Although not required, embodiments are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions may be distributed via computer readable media (discussed below). Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer readable instructions may be combined or distributed as desired in various environments.
In other embodiments, device 712 may include additional features and/or functionality. For example, device 712 may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated in
The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data. Memory 718 and storage 720 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical 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 device 712. Any such computer storage media may be part of device 712.
Device 712 may also include communication connection(s) 726 that allows device 712 to communicate with other devices. Communication connection(s) 726 may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connecting computing device 712 to other computing devices. Communication connection(s) 726 may include a wired connection or a wireless connection. Communication connection(s) 726 may transmit and/or receive communication media.
The term “computer readable media” may include communication media. Communication media typically embodies computer readable instructions 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” may include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
Device 712 may include input device(s) 724 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device. Output device(s) 722 such as one or more displays, speakers, printers, and/or any other output device may also be included in device 712. Input device(s) 724 and output device(s) 722 may be connected to device 712 via a wired connection, wireless connection, or any combination thereof. In an embodiment, an input device or an output device from another computing device may be used as input device(s) 724 or output device(s) 722 for computing device 712.
Components of computing device 712 may be connected by various interconnects, such as a bus. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), firewire (IEEE 1394), an optical bus structure, and the like. In another embodiment, components of computing device 712 may be interconnected by a network. For example, memory 718 may be comprised of multiple physical memory units located in different physical locations interconnected by a network.
Those skilled in the art will realize that storage devices utilized to store computer readable instructions may be distributed across a network. For example, a computing device 730 accessible via a network 728 may store computer readable instructions to implement one or more embodiments provided herein. Computing device 712 may access computing device 730 and download a part or all of the computer readable instructions for execution. Alternatively, computing device 712 may download pieces of the computer readable instructions, as needed, or some instructions may be executed at computing device 712 and some at computing device 730.
Various operations of embodiments are provided herein. In an embodiment, one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
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 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 may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Also, at least one of A and B and/or the like generally means A or B or both A and B.
Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms 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., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the disclosure. In addition, while a particular feature of the disclosure 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”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
Number | Name | Date | Kind |
---|---|---|---|
5394549 | Stringfellow et al. | Feb 1995 | A |
6898622 | Malik | May 2005 | B1 |
7016855 | Eaton et al. | Mar 2006 | B2 |
7035901 | Kumagai et al. | Apr 2006 | B1 |
7233229 | Stroupe et al. | Jun 2007 | B2 |
7349920 | Feinberg et al. | Mar 2008 | B1 |
7363294 | Billsus et al. | Apr 2008 | B2 |
7543237 | Kontny et al. | Jun 2009 | B2 |
7548895 | Pulsipher et al. | Jun 2009 | B2 |
7685414 | Appenzeller | Mar 2010 | B1 |
7941761 | Hally | May 2011 | B2 |
8069422 | Sheshagiri et al. | Nov 2011 | B2 |
8185427 | Messer et al. | May 2012 | B2 |
8201176 | Tatsubori et al. | Jun 2012 | B2 |
8375320 | Kotler et al. | Feb 2013 | B2 |
3528059 | Labana et al. | Sep 2013 | A1 |
8560371 | Levitt et al. | Oct 2013 | B2 |
8587793 | Naito et al. | Nov 2013 | B2 |
8949275 | Aasuri-Maringanti | Feb 2015 | B1 |
8990143 | Hohndel et al. | Mar 2015 | B2 |
9008631 | Small et al. | Apr 2015 | B2 |
9111291 | Lempel et al. | Aug 2015 | B2 |
9122542 | Nelissen | Sep 2015 | B1 |
9313162 | Kumar et al. | Apr 2016 | B2 |
9460422 | Reter et al. | Oct 2016 | B2 |
9658872 | Hanna | May 2017 | B1 |
9832149 | Uraizee et al. | Nov 2017 | B2 |
20020010746 | Jilk | Jan 2002 | A1 |
20020061741 | Leung et al. | May 2002 | A1 |
20030220937 | Maeoka et al. | Nov 2003 | A1 |
20040059712 | Dean | Mar 2004 | A1 |
20040249709 | Donovan | Dec 2004 | A1 |
20050108074 | Bloechl et al. | May 2005 | A1 |
20050132010 | Muller | Jun 2005 | A1 |
20050192992 | Reed et al. | Sep 2005 | A1 |
20050267770 | Banavar et al. | Dec 2005 | A1 |
20050268303 | Anderson et al. | Dec 2005 | A1 |
20050268306 | Anspach et al. | Dec 2005 | A1 |
20050289470 | Pabla | Dec 2005 | A1 |
20060069599 | Hatoun et al. | Mar 2006 | A1 |
20060069666 | Burke | Mar 2006 | A1 |
20060149677 | Shahine | Jul 2006 | A1 |
20060282298 | Azvine et al. | Dec 2006 | A1 |
20070027732 | Hudgens | Feb 2007 | A1 |
20070244736 | Johnson et al. | Oct 2007 | A1 |
20080005108 | Ozzie et al. | Jan 2008 | A1 |
20080005168 | Huff et al. | Jan 2008 | A1 |
20080034315 | Langoulant et al. | Feb 2008 | A1 |
20080086640 | Voss | Apr 2008 | A1 |
20080126961 | Naaman et al. | May 2008 | A1 |
20080178110 | Hill et al. | Jul 2008 | A1 |
20090025013 | Hattori | Jan 2009 | A1 |
20090089133 | Johnson et al. | Apr 2009 | A1 |
20090111425 | Forbes et al. | Apr 2009 | A1 |
20090150761 | Sawicki et al. | Jun 2009 | A1 |
20090239552 | Churchill et al. | Sep 2009 | A1 |
20090254824 | Singh | Oct 2009 | A1 |
20100031198 | Zimmerman | Feb 2010 | A1 |
20100037222 | Tatsubori et al. | Feb 2010 | A1 |
20100125548 | Anzai et al. | May 2010 | A1 |
20100169176 | Turakhia | Jul 2010 | A1 |
20100223575 | Leukart et al. | Sep 2010 | A1 |
20100257015 | Molander | Oct 2010 | A1 |
20110045841 | Kuhlke et al. | Feb 2011 | A1 |
20110131285 | Liao | Jun 2011 | A1 |
20110145823 | Rowe et al. | Jun 2011 | A1 |
20110219433 | Albrecht-buehler | Sep 2011 | A1 |
20110276396 | Rathod | Nov 2011 | A1 |
20110276896 | Zambetti et al. | Nov 2011 | A1 |
20110283230 | Gnanasambandam et al. | Nov 2011 | A1 |
20110313803 | Friend et al. | Dec 2011 | A1 |
20120095815 | Glaser | Apr 2012 | A1 |
20120144281 | Schechter | Jun 2012 | A1 |
20120159536 | Treacy et al. | Jun 2012 | A1 |
20120191694 | Gardiol | Jul 2012 | A1 |
20120197977 | Nagasaka | Aug 2012 | A1 |
20120221384 | Avadhanam et al. | Aug 2012 | A1 |
20120221975 | Juristovski et al. | Aug 2012 | A1 |
20120223890 | Borovsky | Sep 2012 | A1 |
20120242482 | Elumalai et al. | Sep 2012 | A1 |
20120253916 | Ayloo | Oct 2012 | A1 |
20120266174 | Inoue | Oct 2012 | A1 |
20120278821 | Tran et al. | Nov 2012 | A1 |
20120311585 | Gruber et al. | Dec 2012 | A1 |
20120330702 | Kowalski | Dec 2012 | A1 |
20130006689 | Kinnear et al. | Jan 2013 | A1 |
20130091453 | Kotler et al. | Apr 2013 | A1 |
20130117208 | Dousse | May 2013 | A1 |
20130218985 | Thazhmon | Aug 2013 | A1 |
20130268507 | Macbeth et al. | Oct 2013 | A1 |
20130275429 | York et al. | Oct 2013 | A1 |
20130282755 | Procopio | Oct 2013 | A1 |
20130311285 | Abrol et al. | Nov 2013 | A1 |
20130311997 | Gruber et al. | Nov 2013 | A1 |
20130346247 | Bash et al. | Dec 2013 | A1 |
20130346981 | Johnson et al. | Dec 2013 | A1 |
20140033071 | Gruber et al. | Jan 2014 | A1 |
20140081690 | Winters | Mar 2014 | A1 |
20140082521 | Carolan et al. | Mar 2014 | A1 |
20140089822 | Wu et al. | Mar 2014 | A1 |
20140101599 | Gandhi et al. | Apr 2014 | A1 |
20140130060 | Pope et al. | May 2014 | A1 |
20140172986 | Kumar et al. | Jun 2014 | A1 |
20140173602 | Kikin-Gil et al. | Jun 2014 | A1 |
20140278513 | Prakash et al. | Sep 2014 | A1 |
20140317027 | Elumalai et al. | Oct 2014 | A1 |
20140337175 | Katzin | Nov 2014 | A1 |
20140365951 | Fernandes et al. | Dec 2014 | A1 |
20150006564 | Tomkins et al. | Jan 2015 | A1 |
20150095268 | Greenzeiger et al. | Apr 2015 | A1 |
20150100503 | Lobo et al. | Apr 2015 | A1 |
20150112985 | Roggero et al. | Apr 2015 | A1 |
20150118672 | Yeskel et al. | Apr 2015 | A1 |
20150242091 | Lu et al. | Aug 2015 | A1 |
20150269508 | Damboritz et al. | Sep 2015 | A1 |
20150317582 | Nath et al. | Nov 2015 | A1 |
20160071064 | Itani et al. | Mar 2016 | A1 |
20160086116 | Rao et al. | Mar 2016 | A1 |
20160094499 | Uraizee et al. | Mar 2016 | A1 |
20160161280 | Shahine et al. | Jun 2016 | A1 |
20160180279 | Koerner et al. | Jun 2016 | A1 |
20160203143 | Kritt et al. | Jul 2016 | A1 |
20160219003 | Kumar et al. | Jul 2016 | A1 |
20160350367 | Fischer et al. | Dec 2016 | A1 |
20160379175 | Bhattacharya et al. | Dec 2016 | A1 |
20170193835 | Bonney-ache et al. | Jul 2017 | A1 |
20180129371 | Fowler et al. | May 2018 | A1 |
20180129993 | Fowler et al. | May 2018 | A1 |
20180129994 | Fowler et al. | May 2018 | A1 |
20180129995 | Fowler et al. | May 2018 | A1 |
20180130007 | Fowler et al. | May 2018 | A1 |
Number | Date | Country |
---|---|---|
101395567 | Mar 2009 | CN |
102147898 | Aug 2011 | CN |
102253860 | Nov 2011 | CN |
102521317 | Jun 2012 | CN |
102737303 | Oct 2012 | CN |
2000-029945 | Jan 2000 | JP |
9742568 | Nov 1997 | WO |
2010010967 | Jan 2012 | WO |
2012167168 | Dec 2012 | WO |
Entry |
---|
Abrams, How to open a file with a different program on your Mac, Bleepingcomputer.com, Oct. 1, 2011, 3 pages. |
Conder et al., Quick Tip: Enabling Users to Send Email From Your Android Applications—The Easy Way, Jul. 2010, 34 pages. |
Williams, Setting up payment options in BlackBerry App World, Apr. 2011, 4 pages. |
Ongtang et al, Semantically Rich Application-Centric Security in Adndroid, The Pennsylvania State University, 2009, 10 pages. |
Hoffman, An Introduction to Charms in Windows 8: What they are and How to Use them; May 2012, 8 pages. |
Int. Search Report cited in PCT Application No. PCT/US2013/075182 dated Mar. 18, 2014, 8 pgs. |
“Gmail Ads Within Email Thread—Is This New?”, Richard Macmanus, Sep. 6, 2009, reprinted from the Internet at: http://readwrite.com/2009/09/06/gmail_ads_within_email_thread_-_is_this_new, 2 pgs. |
“Piggyback E-Mail”, Feb. 11, 2005, reprinted from the Internet at: http://www.webopedia.com/TERM/P/piggyback_e_mail.html, 2 pgs. |
“Where media buyers start online”, Yahoo! Mail Beta Uses Email Keywords for Ad Targeting, Gavin Dunaway, May 23, 2011, reprinted from the Internet at: http://www.adotas.com/2011/05/yahoo-mail-beta-uses-email-keywords-for-ad-targeting/, 7 pgs. |
“iOS App Programming Guide”—Published Date: Sep. 9, 2012, pp. 144 http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/iPhoneAppProgrammingGuide.pdf. |
Keggstra, Greg, “Announcing the OpenID Backplane Protocol Work Group”—Published Date: Aug. 21, 2012, http://openid.net/tag/developers/. |
Chin, et al., “Analyzing Inter-Application Communication in Android”—Published Date: Jun. 28, 2011 Proceedings: Proceedings of the 9th International Conference on Mobile systems, Applications, and Services, pp. 14, http://www.cs.berkeley.edu/˜emc/papers/mobi168-chin.pdf. |
“App Contracts and Extensions (Windows Store Apps)”—Published Date: Oct. 15, 2012, http://msdn.microsoft.com/en-us/library/windows/apps/hh464906.aspx. |
U.S. Appl. No. 13/713,279, Office Action dated Mar. 25, 2015, 18 pgs. |
U.S. Appl. No. 13/713,279, Amendment and Repsonse filed Jul. 27, 2015, 12 pgs. |
U.S. Appl. No. 13/713,279, Office Action dated Aug. 13, 2015, 7 pgs. |
U.S. Appl. No. 13/713,279, Amendment and Repsonse filed Nov. 13, 2015, 11 pgs. |
U.S. Appl. No. 13/713,279, Notice of Allowance dated Dec. 7, 2015, 7 pgs. |
European Communication in Application 13821242.8, dated Jul. 21, 2015, 2 pgs. |
U.S. Appl. No. 15/087,266, Office Action dated Aug. 18, 2017, 13 pages. |
Chinese Office Action in Application 201380065290.1, dated Sep. 8, 2017, 12 pages. |
Japanese Notice of Rejection in Application 2015-548021, dated Oct. 20, 2017, 4 pgs. |
“1Calendar”, http://1calendar.appappeal.com/, Published on: Aug. 17, 2011, 12 pages. |
Bellotti et al., “Taking Email to Task: The Design and Evaluation of a Task Management Centered Email Tool”, In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 5, 2003, 8 pages. |
Dey et al., “CybreMinder: A Context-Aware System for Supporting Reminders”, In Proceedings of 2nd international symposium on Handheld and Ubiquitous Computing, Sep. 25, 2000, pp. 172-186. |
Dey et al., “Towards a Better Understanding of Context and Context-Awareness”, In Proceedings of 1st international symposium on Handheld and Ubiquitous Computing, Sep. 27, 1999, 12 pages. |
Dube, Ryan, “Coolendar—A Cool Calendar & To-Do List in One”, http://www.makeuseof.com/tag/coolendar-calendar-todo-list/, Published on: Sep. 7, 2011, 7 pages. |
“Identify the Context”, In Journal of IEEE Professional Communication Society, Apr. 11, 2016, 3 pages. |
Lida et al., “Breadcrumb Navigation: an Exploratory Study of Usage”, http://usabilitynews.org/breadcrumb-navigation-an-exploratory-study-of-usage/, Published on: Feb. 11, 2003, 6 pages. |
Martin, James A., “‘Handle’ iOS App Mercifully Merges Email, Calendars and Tasks”, http://www.cio.com/article/2875912/mobile-apps/handle-ios-app-mercifully-merges-email-calendars-and-tasks.html, Published on: Jan. 27, 2015, 3 pages. |
Matteson, Scott, “Organize your Gmail Tasks using the GTasks application”, http://www.techrepublic.com/blog/google-in-the-enterprise/organize-your-gmail-tasks-using-the-gtasks-application/, Published on: Apr. 12, 2013, 28 pages. |
Miles, Stephanie, “Coolendar—A Better Way to Plan Ahead”, http://www.appvita.com/2011/09/15/coolendar-online-scheduling-and-appointment/, Published on: Sep. 15, 2011, 3 pages. |
“Remember The Milk”, https://play.google.com/store/apps/details?id=com.rememberthemilk.MobileRTM&hl=en, Published on: Aug. 29, 2016, 3 pages. |
“Task Management Made Delightfully Simple”, https://hitask.com/, Retrieved on: Nov. 10, 2016, 5 pages. |
“Ticktick—Your Lightweight Task Manager”, https://ticktick.com/, Retrieved on: Nov. 10, 2016, 4 pages. |
“Todoist”, https://en.todoist.com/, Retrieved on: Nov. 10, 2016, 8 pages. |
“Wunderlist—Keep your life in sync”, https://www.wunderlist.com/, Retrieved on: Nov. 10, 2016, 5 pages. |
“Wunderlist: To-Do List & Tasks”, https://www.microsoft.com/en-in/store/p/wunderlist-to-do-list-tasks/9wzdncrdfxzs, Retrieved on: Nov. 10, 2016, 5 pages. |
PCT International Search Report and Written Opinion Issued in PCT Application No. PCT/US2017/059812, dated Jan. 3, 2018, 12 Pages. |
U.S. Appl. No. 15/087,266, Amendment and Response filed Jan. 17, 2018, 13 pages. |
Chinese 1st Office Action in Application 201380065593.3, dated Jun. 14, 2017, 15 pgs. |
European Extended Search Report in Application 13818562.4, dated May 13, 2016, 8pgs. |
European Office Action in Application 13818562.4, dated Oct. 18, 2017, 8 pages. |
Haas, et al., “CONTASK—Using Context-Sensitive Assistance to Improve Task-Oriented Knowledge Work”, Proceedings of the 12th International Conference on Enterprise Information Systems, vol. 2, 10 pages (Jun. 8, 2010). |
Japanese Office Action in Application 2015-547546, dated Aug. 28, 2017, 6 pages. |
PCT International Preliminary Report on Patentability in Application PCT/US2013/074697, dated Jun. 25, 2015, 7 pages. |
PCT International Search Report & Written Opinion for Application PCT/US2013/074697, dated Jun. 30, 2014, 10 pages. |
U.S. Appl. No. 13/715,434, Amendment and Response filed Dec. 26, 2014, 20 pages. |
U.S. Appl. No. 13/715,434, Amendment and Response filed Dec. 28, 2016, 16 pages. |
U.S. Appl. No. 13/715,434, Amendment and Response filed Apr. 4, 2016, 14 pages. |
U.S. Appl. No. 13/715,434, Amendment and Response filed Aug. 24, 2015, 15 pages. |
U.S. Appl. No. 13/715,434, Office Action dated Nov. 3, 2015, 28 pages. |
U.S. Appl. No. 13/715,434, Office Action dated Feb. 8, 2017, 30 pages. |
U.S. Appl. No. 13/715,434, Office Action dated Apr. 22, 2015, 28 pages. |
U.S. Appl. No. 13/715,434, Office Action dated Jul. 28, 2016, 29 pages. |
U.S. Appl. No. 13/715,434, Office Action dated Aug. 27, 2014, 24 pages. |
U.S. Appl. No. 15/087,266, Office Action dated Feb. 14, 2018, 14 pages. |
PCT International Search Report and Written Opinion Issued in PCT Application No. PCT/US2017/059633, dated Jan. 3, 2018, 12 Pages. |
PCT International Search Report and Written Opinion Issued in PCT Application No. PCT/US2017/059634, dated Jan. 3, 2018, 12 Pages. |
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2017/059636”, dated Jan. 8, 2018, 10 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/450,874”, dated Sep. 21, 2018, 24 Pages. |
“Office Action Issued in Chinese Patent Application No. 201380065290.1”, dated May 3, 2018, 5 Pages. |
“Office Action Issued in Chinese Patent Application No. 201380065593.3”, dated Apr. 10, 2018, 11 Pages. |
Dixa, et al., “From the Web of Data to a World of Action”, In Journal of the Web Semantics: Science, Services and Agents on the World Wide Web, vol. 8, Issue 4, Nov. 1, 2010, 15 Pages. |
“Final Office Action Issued in U.S. Appl. No. 15/450,874”, dated Feb. 7, 2019, 22 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/450,714”, dated May 16, 2019, 13 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/450,874”, dated Apr. 29, 2019, 39 Pages. |
Non-Final Office Action Issued in U.S. Appl. No. 15/450,521 dated May 31, 2019 18 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/450,758”, dated Jun. 21, 2019, 13 Pages. |
“Non Final Office Action Issued in U.S. Appl. No. 15/450,825”, dated Jun. 19, 2019, 16 Pages. |
Number | Date | Country | |
---|---|---|---|
20140173625 A1 | Jun 2014 | US |