# US 10,313,296 B2 · Plug-in for extending functionality of messenger application across supplemented and unsupplemented application instances

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,296 B2
- Document ID: US10313296B2
- Status: Granted
- Kind: B2
- Application number: 15/805,512
- Filed: 2017-11-07
- Published: 2018-03-01
- Granted: 2019-06-04
- Earliest claimed: 2015-04-21
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Jason Duane Clark; Benjamin Kyle Padget; Christopher Jon Lang
- Web page: https://patentgrep.com/patent/US10313296B2

## CPC

- G06Q 30/0277: {Online advertisement}
- G06F 9/44526: {Plug-ins; Add-ons}
- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 30/0241: Advertisements
- G06Q 30/0261: {based on user location}
- H04L 51/18: Commands or executable codes
- H04L 51/216: Handling conversation history, e.g. grouping of messages in sessions or threads
- H04L 51/52: for supporting social networking services
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A first instance of a messenger application having a plug-in communicates with a second instance of the messenger application lacking the plug-in. The plug-in provides enhanced functionality to the first instance of the messenger application, while also providing corresponding functionality to the second instance, which lacks the plug-in. For example, the plug-in may provide rich, non-thread-native content to the first instance, while also providing corresponding thread-native content to the second instance. As another example, the plug-in may obtain data from the second instance and provide tailored advertisements to the second instance based upon that data. An another example, the plug-in may obtain location data from one or more of the instances and provide access to location-specific services that take the location data into account.

## Claims

### Claim 1

A computer-implemented method comprising:
establishing, by a first instance of a messenger application executing on a first client device and having a messenger plug-in, a conversation thread with a second instance of the messenger application executing on a second client device, the second instance lacking the messenger plug-in, the first client device and the second client device being in communication using the first instance and the second instance;
displaying, by the first instance, a user interface having a thread area configured to display thread-native content;
obtaining, by the first instance at least in part from the second instance, content tailoring data, wherein the content tailoring data comprises location data indicating a location of the first client device on which the first instance is executing;
obtaining, by the messenger plug-in based on the content tailoring data, thread-native content in a thread-native format; sending the thread-native content to the second instance of the messenger application for display within a thread area of the second instance;
obtaining, by the messenger plug-in using the location data obtained from the first client device, enhanced content in an enhanced content format not natively displayable within the thread area;
displaying the enhanced content within a control area of the user interface of the first instance;
determining that the location of the first client device differs from a location of the second client device on which the second instance is executing; and
responsive to the determining, refraining from sending a counterpart of the enhanced content to the second instance.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising, by the messenger plug-in:
obtaining an enhanced content counterpart of the thread-native content, the enhanced content counterpart having a data format not natively displayable within the thread area; and
displaying the enhanced content counterpart within the control area of the user interface of the first instance.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the enhanced content counterpart contains an interactive text field for entering user input.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising, by the messenger plug-in:
obtaining the content tailoring data at least in part by extracting keywords from text of textual messages exchanged on the conversation thread, wherein obtaining the thread-native content comprises querying a database of content, the querying including the extracted keywords.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
obtaining the content tailoring data from a user profile on a social networking system of a user of the first instance or the second instance, wherein obtaining the thread-native content comprises the messenger plug-in querying a database of content, the querying including data from the user profile.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the content tailoring data comprises location data representing a location of the second client device on which the second instance is executing, and wherein the obtaining of the thread-native content comprises the messenger plug-in querying a database of content, the querying including the location data.

### Claim 7

A non-transitory computer-readable storage medium storing instructions executable by a processor of a first client device and comprising:
instructions for establishing, by a first instance of a messenger application executing on the first client device and having a messenger plug-in, a conversation thread with a second instance of the messenger application executing on a second client device, the second instance lacking the messenger plug-in, the first client device and the second client device being in communication using the first instance and the second instance;
instructions for displaying, by the first instance, a user interface having a thread area configured to display thread-native content;
instructions for obtaining, by the first instance at least in part from the second instance, content tailoring data, wherein the content tailoring data comprises location data indicating a location of the first client device on which the first instance is executing;
instructions for obtaining, by the messenger plug-in based on the content tailoring data, thread-native content in a thread-native format; and
instructions for sending the thread-native content to the second instance of the messenger application for display within a thread area of the second instance;
instructions for obtaining, by the messenger plug-in using the location data obtained from the first client device, enhanced content in an enhanced content format not natively displayable within the thread area;
instructions for displaying the enhanced content within a control area of the user interface of the first instance;
instructions for determining that the location of the first client device differs from a location of the second client device on which the second instance is executing; and
responsive to the determining, instructions for refraining from sending a counterpart of the enhanced content to the second instance.

### Claim 8 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, the instructions further comprising:
instructions for obtaining an enhanced content counterpart of the thread-native content, the enhanced content counterpart having a data format not natively displayable within the thread area; and
instructions for displaying the enhanced content counterpart within a control area of the user interface of the first instance.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein the enhanced content counterpart contains an interactive text field for entering user input.

### Claim 10 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, the instructions further comprising:
instructions for obtaining the content tailoring data at least in part by extracting keywords from text of textual messages exchanged on the conversation thread, wherein obtaining the thread-native content comprises querying a database of content, the querying including the extracted keywords.

### Claim 11 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, the instructions further comprising:
instructions for obtaining the content tailoring data from a user profile on a social networking system of a user of the first instance or the second instance, wherein obtaining the thread-native content comprises the messenger plug-in querying a database of content, the querying including data from the user profile.

### Claim 12 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the content tailoring data comprises location data representing a location of the second client device on which the second instance is executing, and wherein obtaining the thread-native content comprises the messenger plug-in querying a database of content, the querying including the location data.

### Claim 13

A first client device comprising:
a computer processor; and
a non-transitory computer-readable storage medium storing instructions executable by the computer processor and comprising:
instructions for establishing, by a first instance of a messenger application executing on the first client device and having a messenger plug-in, a conversation thread with a second instance of the messenger application executing on a second client device, the second instance lacking the messenger plug-in, the first client device and the second client device being in communication using the first instance and the second instance;
instructions for displaying, by the first instance, a user interface having a thread area configured to display thread-native content;
instructions for obtaining, by the first instance at least in part from the second instance, content tailoring data, wherein the content tailoring data comprises location data indicating a location of the first client device on which the first instance is executing;
instructions for obtaining, by the messenger plug-in based on the content tailoring data, thread-native content in a thread-native format; and
instructions for sending the thread-native content to the second instance of the messenger application for display within a thread area of the second instance;
instructions for obtaining, by the messenger plug-in using the location data obtained from the first client device, enhanced content in an enhanced content format not natively displayable within the thread area;
instructions for displaying the enhanced content within a control area of the user interface of the first instance;
instructions for determining that the location of the first client device differs from a location of the second client device on which the second instance is executing; and
responsive to the determining, instructions for refraining from sending a counterpart of the enhanced content to the second instance.

### Claim 14 (depends on 13)

The first client device of claim 13, the instructions further comprising:
instructions for obtaining an enhanced content counterpart of the thread-native content, the enhanced content counterpart having a data format not natively displayable within the thread area; and
instructions for displaying the enhanced content counterpart within a control area of the user interface of the first instance.

### Claim 15 (depends on 14)

The first client device of claim 14, wherein the enhanced content counterpart contains an interactive text field for entering user input.

### Claim 16 (depends on 13)

The first client device of claim 13, the instructions further comprising:
instructions for obtaining the content tailoring data at least in part by extracting keywords from text of textual messages exchanged on the conversation thread, wherein obtaining the thread-native content comprises querying a database of content, the querying including the extracted keywords.

### Claim 17 (depends on 13)

The first client device of claim 13, the instructions further comprising:
instructions for obtaining the content tailoring data from a user profile on a social networking system of a user of the first instance or the second instance, wherein obtaining the thread-native content comprises the messenger plug-in querying a database of content, the querying including data from the user profile.
