# US 2020/0401401 A1 · Providing Offline Mode For Mobile Applications

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

- Number: US 2020/0401401 A1
- Document ID: US20200401401A1
- Status: Published application
- Kind: A1
- Application number: 16/449,052
- Filed: 2019-06-21
- Published: 2020-12-24
- Earliest claimed: 2019-06-21
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Garima Srivastava; Paulami Mitra
- Web page: https://patentgrep.com/patent/US20200401401A1

## CPC

- G06F 8/70: Software maintenance or management
- G06F 8/77: Software metrics
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives, from a client device, a project for an existing application. The program further receives from the client device a request to add an offline mode to the existing application. In response to receiving the request, the program also includes programming code in the project for implementing the offline mode in the existing application. The program further generates an application configured for execution on the client device. The application is a version of the existing application that includes the feature for operating the existing application in the offline mode.

## Claims

### Claim 1

A non-transitory machine-readable medium storing a program executable by at least one processing unit of a computing device, the program comprising sets of instructions for:
receiving, from a client device, a project for an existing application, the project organizes source code for the existing application;
receiving from the client device a request to add an offline mode to the existing application;
in response to receiving the request, adding additional source code in the project for creating the offline mode in the existing application; and
generating, from the project, an application configured for execution on the client device, wherein the generated application is a version of the existing application that is operable in the offline mode.

### Claim 2 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the additional source code comprises instructions for creating a local storage on the client device, instructions for retrieving the data for the generated application from a computing system; and instructions for storing the data for the generated application in the local storage.

### Claim 3 (depends on 2)

The non-transitory machine-readable medium of claim 2, wherein the additional source code further comprises instructions for retrieving the data from the local storage and presenting the data on a display of the client device.

### Claim 4 (depends on 2)

The non-transitory machine-readable medium of claim 2, wherein the additional source code further comprises instructions for receiving modifications to the data for the generated application, instructions for storing the modifications to the data for the generated application in the local storage, instructions for determining that the client device has a connection to the computing system, instructions for, based on the determination, sending the modifications to the data for the generated application to the computing system in order for the computing system to synchronize the data for the generated application that is stored on the computing system with the data for the generated application store in the local storage.

### Claim 5 (depends on 4)

The non-transitory machine-readable medium of claim 4, wherein the program further comprises a set of instructions for receiving from a user of the client device a request to synchronize the modifications to the data for the generated application stored in the local storage with the data stored in the computing system.

### Claim 6 (depends on 5)

The non-transitory machine-readable medium of claim 5, wherein the determining and the sending are performed in response to receiving the request from the user of the client device.

### Claim 7 (depends on 1)

The non-transitory machine-readable medium of claim 1, wherein the client device is a first client device, wherein the existing application is an application that has been implemented, compiled, and installed on a second client device.

### Claim 8

A method comprising:
receiving, from a client device, a project for an existing application, the project organizes source code for the existing application;
receiving from the client device a request to add an offline mode to the existing application;
in response to receiving the request, adding additional source code in the project for creating the offline mode in the existing application; and
generating, from the project, an application configured for execution on the client device, wherein the generated application is a version of the existing application that is operable in the offline mode.

### Claim 9 (depends on 8)

The method of claim 8, wherein the additional source code comprises instructions for creating a local storage on the client device, instructions for retrieving the data for the generated application from a computing system; and instructions for storing the data for the generated application in the local storage.

### Claim 10 (depends on 9)

The method of claim 9, wherein the additional source code further comprises instructions for retrieving the data from the local storage and presenting the data on a display of the client device.

### Claim 11 (depends on 9)

The method of claim 9, wherein the additional source code further comprises instructions for receiving modifications to the data for the generated application, instructions for storing the modifications to the data for the generated application in the local storage, instructions for determining that the client device has a connection to the computing system, instructions for, based on the determination, sending the modifications to the data for the generated application to the computing system in order for the computing system to synchronize the data for the generated application that is stored on the computing system with the data for the generated application store in the local storage.

### Claim 12 (depends on 11)

The method of claim 11 further comprising receiving from a user of the client device a request to synchronize the modifications to the data for the generated application stored in the local storage with the data stored in the computing system.

### Claim 13 (depends on 12)

The method of claim 12, wherein the determining and the sending are performed in response to receiving the request from the user of the client device.

### Claim 14 (depends on 8)

The method of claim 8, wherein the client device is a first client device, wherein the existing application is an application that has been implemented, compiled, and installed on a second client device.

### Claim 15

A system comprising:
a set of processing units; and
a non-transitory machine-readable medium storing instructions that when executed by at least one processing unit in the set of processing units cause the at least one processing unit to:
receive, from a client device, a project for an existing application, the project organizes source code for the existing application;
receive from the client device a request to add an offline mode to the existing application;
in response to receiving the request, include additional source code in the project for creating the offline mode in the existing application; and
generate, from the project, an application configured for execution on the client device, wherein the generated application is a version of the existing application that is operable in the offline mode.

### Claim 16 (depends on 15)

The system of claim 15, wherein the additional source code comprises instructions for creating a local storage on the client device, instructions for retrieving the data for the generated application from a computing system; and instructions for storing the data for the generated application in the local storage.

### Claim 17 (depends on 16)

The system of claim 16, wherein the additional source code further comprises instructions for retrieving the data from the local storage and presenting the data on a display of the client device.

### Claim 18 (depends on 16)

The system of claim 16, wherein the additional source code further comprises instructions for receiving modifications to the data for the generated application, instructions for storing the modifications to the data for the generated application in the local storage, instructions for determining that the client device has a connection to the computing system, instructions for, based on the determination, sending the modifications to the data for the generated application to the computing system in order for the computing system to synchronize the data for the generated application that is stored on the computing system with the data for the generated application store in the local storage.

### Claim 19 (depends on 18)

The system of claim 18, wherein the instructions further cause the at least one processing unit to receive from a user of the client device a request to synchronize the modifications to the data for the generated application stored in the local storage with the data stored in the computing system.

### Claim 20 (depends on 19)

The system of claim 19, wherein the determining and the sending are performed in response to receiving the request from the user of the client device.
