Determining contextually relevant application templates associated with electronic message content
First Claim
Patent Images
1. A method, comprising:
- receiving, by a first user device and from a second user device, a first electronic message comprising first message text;
determining that the first electronic message is associated with a contextual message thread including multiple electronic messages previously exchanged in connection with a first user profile and a second user profile included in a group of user profiles;
determining first contextual information from the first message text, the first contextual information including a first keyword indicative of a time-based user activity;
determining a first application template that corresponds to the first keyword, the first application template corresponding to a calendar application;
determining a second application template that corresponds to the first keyword, the second application template corresponding to an online dinner reservation application;
sending, by the first user device to the second user device, a second electronic message comprising second message text;
determining second contextual information from the second message text, the second contextual information including a second keyword indicative of a physical location;
determining that the second electronic message is part of the contextual message thread by determining that the first contextual information and the second contextual information are topically related;
generating a first application template instance corresponding to the first application template;
generating a second application template instance corresponding to the second application template;
populating the first application template instance with location data representative of the physical location;
determining a physical address associated with the physical location;
determining that the physical address is associated with the first user profile;
determining that the second application template is contextually irrelevant to the contextual message thread;
discarding the second application template instance without associating the second application template instance with the location data;
receiving, at the first user device, user input indicative of a time;
populating the first application template instance with data indicative of the time;
determining that the first application template instance is fully populated with data required to generate a calendar invite;
automatically generating the calendar invite using the data populated in the first application template instance; and
sending the calendar invite to the second user device.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer-readable media are disclosed for determining contextually relevant application templates associated with electronic message content.
-
Citations
19 Claims
-
1. A method, comprising:
-
receiving, by a first user device and from a second user device, a first electronic message comprising first message text; determining that the first electronic message is associated with a contextual message thread including multiple electronic messages previously exchanged in connection with a first user profile and a second user profile included in a group of user profiles; determining first contextual information from the first message text, the first contextual information including a first keyword indicative of a time-based user activity; determining a first application template that corresponds to the first keyword, the first application template corresponding to a calendar application; determining a second application template that corresponds to the first keyword, the second application template corresponding to an online dinner reservation application; sending, by the first user device to the second user device, a second electronic message comprising second message text; determining second contextual information from the second message text, the second contextual information including a second keyword indicative of a physical location; determining that the second electronic message is part of the contextual message thread by determining that the first contextual information and the second contextual information are topically related; generating a first application template instance corresponding to the first application template; generating a second application template instance corresponding to the second application template; populating the first application template instance with location data representative of the physical location; determining a physical address associated with the physical location; determining that the physical address is associated with the first user profile; determining that the second application template is contextually irrelevant to the contextual message thread; discarding the second application template instance without associating the second application template instance with the location data; receiving, at the first user device, user input indicative of a time; populating the first application template instance with data indicative of the time; determining that the first application template instance is fully populated with data required to generate a calendar invite; automatically generating the calendar invite using the data populated in the first application template instance; and sending the calendar invite to the second user device. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
receiving, by a first user device and from a second user device, a first electronic message comprising first message content; determining first contextual information from the first message content; determining that the first contextual information corresponds to a first application template; determining that the first contextual information corresponds to a second application template that is different than the first application template; sending, by the first user device to the second user device, a second electronic message comprising second message content; determining second contextual information from the second message content; determining that the first electronic message and the second electronic message form part of a contextual message thread by determining that the first contextual information is contextually related to the second contextual information; determining that the second contextual information corresponds to the first application template; generating a first application template instance corresponding to the first application template; determining a first application input based at least in part on the first contextual information; determining a second application input based at least in part on the second contextual information; associating the first application template instance with the first application input and the second application input; generating a second application template instance corresponding to the second application template; associating the second application template instance with the first application input and the second application input; determining that the second application template instance was not selected; discarding the second application template instance based at least in part on the determining that the second application template instance was not selected; determining that the first application template instance is fully populated; and executing application functionality that corresponds to the first application template without receiving user input to trigger the application functionality. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. An electronic device, comprising:
-
at least one memory storing computer-executable instructions; and at least one processor operatively coupled to the at least one memory, wherein the at least one processor is configured to execute the computer-executable instructions to; receive a first electronic message comprising first message content; determine first contextual information from the first message content; determine that the first contextual information corresponds to a first application template; determine that the first contextual information corresponds to a second application template that is different than the first application template; send a second electronic message comprising second message content; determine second contextual information from the second message content; determine that the first electronic message and the second electronic message form part of a contextual message thread by determining that the first contextual information is contextually related to the second contextual information; determine that the second contextual information corresponds to the first application template; generate a first application template instance corresponding to the first application template; determine a first application input based at least in part on the first contextual information; determine a second application input based at least in part on the second contextual information; associate the first application template instance with the first application input and the second application input; generate a second application template instance corresponding to the second application template; associate the second application template instance with the first application input and the second application input; determine that the second application template instance was not selected; discard the second application template instance based at least in part on the determining that the second application template instance was not selected; determine that the first application template instance is fully populated; and execute application functionality that corresponds to the first application template without receiving user input to trigger the application functionality. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification