# US 2023/0409352 A1 · 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 2023/0409352 A1
- Document ID: US20230409352A1
- Status: Published application
- Kind: A1
- Application number: 18/307,326
- Filed: 2023-04-26
- Published: 2023-12-21
- Earliest claimed: 2022-04-27
- Assignees: Fotobom Media, Inc.
- Applicants: Fotobom Media, Inc.
- Inventors: Andrew Michael LaForge; Perry Michael LaForge; Ryan J. Nobrega; Basil Munit Abifaker
- Web page: https://patentgrep.com/patent/US20230409352A1

## 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 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 5 (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 6 (depends on 5)

The method of claim 5, 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 7 (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 8

(canceled)

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 9)

The method of claim 9, 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 11

A method of generating and displaying a graphical user interface object in response to a user loading a first webpage in a web browser on the user's 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, the method comprising:
fetching, using the client-side module, a list of URL patterns and/or keywords from a database associated with the at least one server;
generating contextual data based on a first URL inputted into the web browser and loading the first webpage;
communicating, using the web browser, 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 that matches at least one URL pattern and/or keyword from the list;
communicating, using the client-side module, the matched at least one portion of the contextual data, the at least one URL pattern and/or the at least one URL keyword to the server-side module;
determining, using the server-side module, at least one action based on the matched at least one portion of the contextual data, the at least one URL pattern and/or the at least one URL keyword, wherein the at least one action comprises causing the computing device to launch at least one of a function, a destination application, or a destination webpage based on a second pointer or a second 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 webpage and wherein, when the graphical user interface object is activated, the computing device navigates to a second pointer or a second URL.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 11)

The method of claim 11, wherein, when the graphical user interface object is activated, the client-side module causes the destination application to be launched on the computing device.

### Claim 14 (depends on 11)

The method of claim 11, wherein, when the graphical user interface object is activated, the client-side module evokes the function from a second application program executing on the computing device.

### Claim 15 (depends on 11)

The method of claim 11, wherein, when the graphical user interface object is activated, the client-side module causes the destination webpage to be launched in the computing device.

### Claim 16 (depends on 11)

The method of claim 11, wherein the graphical user interface object is embedded in the graphical user interface of the web browser.

### Claim 17 (depends on 11)

The method of claim 11, wherein the at least one action is determined based on data indicative of 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 18

(canceled)

### Claim 19

A method of generating and displaying at least one virtual object in response to a user using a first application program on their 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:
generating contextual data based on a usage of the first application program;
periodically fetching, via the client-side module, first data from a database associated with the at least one server;
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 at least one portion of the first data;
communicating, using the client-side module, the determined at least one portion of the contextual data and/or the at least one portion of the first data to the server-side module;
determining, using the server-side module, a first action based on the determined at least one portion of the contextual data and/or the at least one portion of the first data, wherein the first action includes causing the computing device to navigate to a first pointer or a first URL;
communicating, using the server-side module, the first action to the client-side module;
generating, using the client-side module, a first virtual object having the first pointer or the first URL embedded therein, wherein the first virtual object is configured to be visually overlaid on top of the first application program; and
launching, using the client-side module, a website or webpage in a web browser in response to a user interacting with the first virtual object, wherein the website or webpage is based on the first pointer or the first URL.

### Claim 20 (depends on 19)

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

### Claim 21 (depends on 19)

The method of claim 19, further comprising:
communicating, using the web browser, the first pointer or the first URL to the client-side module in real-time;
fetching, using the client-side module, a list of URL patterns from the database associated with the at least one server;
determining, using the client-side module, at least one portion of the first pointer or the first URL that matches at least one URL pattern from the list of URL patterns;
communicating, using the client-side module, the determined at least one portion of the first pointer, the at least one first URL, and/or the at least one URL pattern to the server-side module;
determining, using the server-side module, a second action associated with the at least one portion of the first pointer, the at least one first URL and/or the at least one URL pattern, wherein the second action includes causing the computing device to navigate to a location based on a second pointer or a second URL;
communicating, using the server-side module, the second action to the client-side module; and
generating, using the client-side module, a second virtual object for display on the computing device, wherein the second virtual object is visually overlaid on top of a webpage and wherein, when the second virtual object is activated, the computing device navigates to the location based on a second pointer or a second URL.

### Claim 22 (depends on 21)

The method of claim 21, wherein the second pointer or the second URL is embedded in the second virtual object, and wherein the second pointer or the second URL corresponds to a second application program, a functionality of the second application program or another webpage.
