# US 12,008,307 B1 · Unified web and application framework

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

- Number: US 12,008,307 B1
- Document ID: US12008307B1
- Status: Granted
- Kind: B1
- Application number: 16/929,401
- Filed: 2020-07-15
- Granted: 2024-06-11
- Earliest claimed: 2007-11-12
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Ficus Kirkpatrick; Joseph M. Onorato; David P. Bort
- Web page: https://patentgrep.com/patent/US12008307B1

## CPC

- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 5/00: Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The subject matter of this specification can be embodied in, among other things, a method that includes receiving an indication that a first activity has occurred. The first activity is associated with a uniform resource identifier (URI) that specifies at least one web page. The method also includes identifying an application that is associated with the URI using a registry that associates particular URIs with particular applications, retrieving, using the identified application, content associated with the URI, displaying the content or information derived from the content in a first format that is not controlled by a second format specified by a markup language of the at least one web page.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by one or more processors operating a first application, an indication of first user input requesting retrieval of content associated with a first universal resource identifier (URI);
retrieving, by the one or more processors, based on the first URI, metadata including a second URI specifying a second application that corresponds to a particular type of device associated with the one or more processors;
receiving, by the one or more processors in response to a notification to download the second application, a second user input, wherein the notification indicates an option to download the second application to the particular type of device, and the second user input indicates an acceptance of the option;
in response to receiving the second user input, downloading, by the one or more processors, the second application specified by the second URI; and
after downloading the second application, providing for display, by the one or more processors, the content associated with the first URI in the second application.

### Claim 2 (depends on 1)

The method of claim 1, wherein the receiving the indication of first user input includes determining that a user interface element is selected.

### Claim 3 (depends on 1)

The method of claim 1, further comprising determining, by the one or more processors, that some or all characters of the first URI match a pre-set pattern of characters, the pre-set pattern of characters being stored in a memory; and
wherein the retrieving of the metadata is based on the pre-set pattern.

### Claim 4 (depends on 1)

The method of claim 1, further comprising sending a request to a server, the request including information related to a type of device; and
wherein the method further comprises receiving, by the one or more processors, an indication from the server that the second application corresponds to the type of device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first application is a web browser, and the second application is a non-browser application.

### Claim 6 (depends on 1)

The method of claim 1, wherein the metadata includes information associated with different types of devices on which different versions of the second application can be downloaded.

### Claim 7 (depends on 6)

The method of claim 6, wherein one or more of the versions of the second application are optimizable for a device with a certain screen resolution or screen size.

### Claim 8

A system comprising:
a display screen;
one or more processors in communication with the display screen, the one or more processors being configured to:
receive an indication of first user input requesting retrieval of content associated with a first universal resource identifier (URI) while operating a first application;
retrieve, based on the first URI, metadata including a second URI specifying a second application that corresponds to a particular type of device associated with the one or more processors;
receive a second user input in response to a notification to download the second application, wherein the notification indicates an option to download the second application to the particular type of device, and the second user input indicates an acceptance of the option;
in response to receiving the second user input, download the second application specified by the second URI; and
after downloading the second application, provide for display the content associated with the first URI in the second application.

### Claim 9 (depends on 8)

The system of claim 8, wherein the one or more processors are configured to receive the indication of first user input as a selection in a user interface element.

### Claim 10 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to:
determine that some or all characters of the first URI match a pre-set pattern of characters, the pre-set pattern of characters being stored in a memory; and
retrieve the metadata based on the pre-set pattern.

### Claim 11 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to:
send a request to a server based on the URI, the request including information related to a type of device; and
receive, from the server, an indication that the second application corresponds to the type of device.

### Claim 12 (depends on 8)

The system of claim 8, wherein the first application is a web browser, and the second application is a non-browser application.

### Claim 13 (depends on 8)

The system of claim 8, wherein the metadata includes information associated with different types of devices on which different versions of the second application can be downloaded.

### Claim 14 (depends on 13)

The system of claim 13, wherein one or more of the versions of the second application are optimizable for a device with a certain screen resolution or screen size.

### Claim 15

A system comprising:
a memory configured to store data and one or more applications; and
one or more processors in communication with the memory, the one or more processors being configured to:
receive, from a first application of a remote device, a request for a web page;
determine a type of the remote device based on information in the request for the web page;
provide a notification to the remote device to download a second application that corresponds to the determined type of the remote device, wherein the notification indicates the type of the remote device and an option to download the second application to the remote device and, and the response to the notification indicates an acceptance of the option; and
upon receiving a response to the notification, host the web page, the web page including metadata accessible by the remote device, the metadata including a universal resource identifier (URI) specifying the second application, wherein the second application is configured to display content from one or more web pages hosted by the system on the remote device.

### Claim 16 (depends on 15)

The system of claim 15, wherein the one or more processors are further configured to, in response to a request from the second application, intercept URIs for web pages and cause content from the web pages to be retrieved and displayed.

### Claim 17 (depends on 15)

The system of claim 15, wherein the second application is a non-browser application.

### Claim 18 (depends on 15)

The system of claim 15, wherein the metadata includes information associated with different types of devices on which different versions of the second application can be downloaded.

### Claim 19 (depends on 18)

The system of claim 18, wherein one or more of the versions of the second application are optimizable for a device with a certain screen resolution or screen size.

### Claim 20 (depends on 15)

The system of claim 15, wherein the metadata is stored in the memory.

### Claim 21

A computer-implemented method comprising:
receiving, by one or more processors operating a first application, an indication of first user input requesting retrieval of content associated with a first universal resource identifier (URI);
retrieving, by the one or more processors, based on the first URI, metadata including a second URI specifying a second application that corresponds to a particular type of device associated with the one or more processors;
receiving, by the one or more processors in response to a notification to download the second application, a second user input;
in response to receiving the second user input, downloading, by the one or more processors, the second application specified by the second URI;
after downloading the second application:
providing for display, by the one or more processors, the content associated with the first URI in the second application, and
detecting, by the one or more processors, a user selection of the first URI; and
after detecting the user selection of the first URI, transmitting the first URI to the second application to retrieve the content for display in the second application at a first point in time.

### Claim 22

A system comprising:
a display screen;
one or more processors in communication with the display screen, the one or more processors being configured to:
receive an indication of first user input requesting retrieval of content associated with a first universal resource identifier (URI) while operating a first application;
retrieve, based on the first URI, metadata including a second URI specifying a second application that corresponds to a particular type of device associated with the one or more processors;
receive a second user input in response to a notification to download the second application;
in response to receiving the second user input, download the second application specified by the second URI; and
after downloading the second application:
provide for display the content associated with the first URI in the second application, and
detect a user selection of the first URI; and
after detecting the user selection of the first URI, transmit the first URI to the second application to retrieve the content for display in the second application at a first point in time.

### Claim 23 (depends on 21)

The method of claim 21, wherein the receiving the indication of first user input includes determining that a user interface element is selected.

### Claim 24 (depends on 21)

The method of claim 21, wherein the first application is a web browser, and the second application is a non-browser application.

### Claim 25 (depends on 21)

The method of claim 21, wherein the metadata includes information associated with different types of devices on which different versions of the second application can be downloaded.
