# US 12,217,067 B2 · Systems and methods for dynamically generating context aware active icons on a mobile device

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

- Number: US 12,217,067 B2
- Document ID: US12217067B2
- Status: Granted
- Kind: B2
- Application number: 18/307,326
- Filed: 2023-04-26
- Published: 2023-12-21
- Granted: 2025-02-04
- Earliest claimed: 2022-04-27
- Applicants: Fotobom Media, Inc.
- Inventors: Andrew Michael LaForge; Perry Michael LaForge; Ryan J. Nobrega; Basil Munit Abifaker
- Web page: https://patentgrep.com/patent/US12217067B2

## CPC

- G06F 9/451: Execution arrangements for user interfaces
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 16/954: Navigation, e.g. using categorised browsing
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 67/53: using third party service providers
- G06F 16/9535: Search customisation based on user profiles and personalisation
- 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

The present specification describes systems and methods of generating and displaying at least one context aware active icon, virtual or graphical user interface object based on contextual and/or user attribute data acquired in response to a user using an application program or accessing a website/webpage on their computing device. In various embodiments, the at least one virtual object is visually overlaid on top of the application program or the website/webpage. The at least one graphical user interface object includes a URL or pointer directed towards launching another application program, evoking a functionality of another application program and/or launching another website/webpage on the user's computing device.

## Claims

### Claim 1

A method of generating and displaying a graphical user interface object in response to a user using a first application program on a computing device, wherein the computing device executes a client-side module in data communication with a server-side module implemented on at least one server, and wherein the first application program is in data communication with the client-side module, the method comprising:
fetching, via the client-side module, first data from a database associated with the at least one server;
generating contextual data based on a usage of the first application program;
communicating, using the first application program, the contextual data to the client-side module in real-time;
determining, using the client-side module, at least one portion of the contextual data based on the first data or at least one portion of the first data based on the contextual data;
communicating, using the client-side module, the determined at least one portion of the contextual data and/or at least one portion of the first data to the server-side module;
determining, using the server-side module, at least one action based on the at least one portion of the contextual data and/or the at least one portion of the first data, wherein the at least one action includes causing an interface in the computing device to electronically navigate to a virtual location based on a pointer, a virtual address, or a URL;
communicating, using the server-side module, the at least one action to the client-side module; and
generating, using the client-side module, the graphical user interface object for display on the computing device, wherein the graphical user interface object is visually overlaid on top of the first application program and wherein, when the graphical user interface object is activated, the computing device is caused to engage in the at least one action by electronically navigating, via said interface, to the virtual location based on the pointer, the virtual address, or the URL.

### Claim 2 (depends on 1)

The method of claim 1, wherein the pointer or the URL is embedded in the graphical user interface object.

### Claim 3 (depends on 1)

The method of claim 1, wherein the virtual location corresponds to a second application program, and wherein, when the graphical user interface object is activated, the client-side module causes the second application program to be launched on the computing device.

### Claim 4 (depends on 3)

The method of claim 3, further comprising generating, using the client-side module, a second graphical user interface object for display on the computing device, wherein the second graphical user interface object is visually overlaid on the second application program.

### Claim 5 (depends on 4)

The method of claim 4 wherein, when the second graphical user interface object is activated, the computing device is caused to engage in the at least one action by electronically navigating, via said interface, to a chatbot application.

### Claim 6 (depends on 1)

The method of claim 1, wherein the virtual location corresponds to a functionality of a second application program, and wherein, when the graphical user interface object is activated, the client-side module evokes the functionality of the second application program on the computing device.

### Claim 7 (depends on 1)

The method of claim 1, wherein the virtual location corresponds to a website or webpage, and wherein, when the graphical user interface object is activated, the client-side module causes the website or webpage to be launched in a web browser on the computing device.

### Claim 8 (depends on 7)

The method of claim 7, wherein the web browser is implemented by the client-side module, and wherein the graphical user interface object is embedded in a graphical user interface of the web browser.

### Claim 9 (depends on 1)

The method of claim 1, wherein the virtual location corresponding to the at least one action is determined based at least in part on data characterizing one or more user attributes, wherein the data indicative of one or more user attributes comprises at least one of a current location of the user, a date and a time associated with the computing device of the user, a type of the computing device of the user, data indicative of one or more application programs installed on the computing device of the user, an Internet service provider of the user, or the user's demographic information.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first data comprises a list of keywords.

### Claim 11 (depends on 10)

The method of claim 10, wherein the determining, using the client-side module, of at least one portion of the contextual data based on the first data comprises matches at least one portion of the contextual data to at least one of the keywords from the list.

### Claim 12 (depends on 1)

The method of claim 1, wherein the first data is based at least partially on the user's interaction with the first application program.

### Claim 13 (depends on 1)

The method of claim 1, wherein the first application program is a messaging application program.

### Claim 14 (depends on 13)

The method of claim 13, wherein the first data comprises one or more of keywords, phrases, text patterns, visual symbols, and icons based on the user's real-time conversation with another user via the messaging application.

### Claim 15 (depends on 13)

The method of claim 13, wherein the first data comprises the user's historic use of word patterns and expressions on the messaging application.

### Claim 16 (depends on 1)

The method of claim 1, further comprising fetching, via the client-side module, first data comprising at least a master list of a plurality of keywords, phrases, text patterns, expressions, visual symbols, and icons from a database associated with the at least one server.

### Claim 17 (depends on 16)

The method of claim 16, wherein the master list comprises a set of possible keywords, phrases, text patterns, expressions, visual symbols, and icons, wherein the master list is updated in real-time to add, remove, activate or deactivate the keywords, phrases, text patterns, expressions, visual symbols, and icons based on the user's current interaction with another user via the first application program and the user's historic usage of words and phrases during the interaction.

### Claim 18 (depends on 17)

The method of claim 17, wherein via the client-side module, the contextual data is evaluated with respect to the master list for determining if the contextual data comprises at least one string that matches one or more of said keywords, phrases, text patterns, expressions, visual symbols, and icons from the master list.

### Claim 19 (depends on 18)

The method of claim 18, wherein the at least one string that matches one or more of keywords, phrases, text patterns, expressions, visual symbols, and icons from the master list is communicated to the server-side module via the client-side module.

### Claim 20 (depends on 1)

The method of claim 1, wherein generating, using the client-side module, the graphical user interface object for display on the computing device further comprises generating a first action button that is displayed in a graphical user interface overlaid over the first application program.
