Running applications in an online or offline mode based on the availability of the connection to the remote web server
First Claim
Patent Images
1. A method, comprising:
- providing, on a computing device of a user, a local operating environment including a local web server;
providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server;
hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device;
displaying, by the viewer application, the user interface of the web application;
receiving, by the viewer application, user interaction with the user interface of the web application;
executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein;
the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, andthe data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode;
determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server;
generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server;
issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and
receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for implementing online and offline applications are described. Such systems and methods may in some cases provide the same programming interface, regardless of whether the application is online or offline. Such systems and methods may also or instead in some cases provide additional or other possible capabilities, including installation without elevated privileges, simplified data synchronization, sharing of applications and application data, access to data from other applications, and richer client functionality than may be provided by an application such as a web browser.
59 Citations
20 Claims
-
1. A method, comprising:
-
providing, on a computing device of a user, a local operating environment including a local web server; providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server; hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device; displaying, by the viewer application, the user interface of the web application; receiving, by the viewer application, user interaction with the user interface of the web application; executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein; the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, and the data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode; determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server; generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server; issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device, comprising:
-
a processor for executing computer-executable instructions; and memory storing computer-executable instructions that, when executed by the processor, cause the computing device to perform steps including; providing, on the computing device, a local operating environment including a local web server; providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server; hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device; displaying, by the viewer application, the user interface of the web application; receiving, by the viewer application, user interaction with the user interface of the web application; executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein; the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, the data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode; determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server; generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server; issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server. - View Dependent Claims (18)
-
-
19. A computer-readable storage medium that does not consist of a signal, the computer-readable storage medium storing computer-executable instructions that, when executed, cause a computing device to perform steps including:
-
providing, on the computing device, a local operating environment including a local web server; providing, on the computing device, an application package for a web application installed on the computing device, the application package including a user interface of the web application and executable code of the web application, wherein the web application runs in an online mode for communication with a remote web server when the computing device is connected to the remote web server and runs in an offline mode for communication with the local web server when the computing device is not connected to the remote web server; hosting the web application within a viewer application on the computing device that is separate from a web browser on the computing device; displaying, by the viewer application, the user interface of the web application; receiving, by the viewer application, user interaction with the user interface of the web application; executing, by the viewer application, the executable code of the web application to determine a data portion of a web request address that is based on the user interaction with the user interface of the web application, wherein; the data portion of the web request address includes contents that can be interpreted by both the remote web server and the local web server, the data portion of the web request address is identical regardless of whether the web application is running in the online mode or the offline mode; determining, by the viewer application, a host portion of the web request address that is not controlled by the web application and that identifies different hosts depending on whether the web application is running in the online mode or the offline mode, wherein the host portion of the web request address identifies either the remote web server or the local web server; generating, by the viewer application, a web request directly addressed to the local web server when the web application is running in the offline mode, wherein the web request is addressed using the determined host portion of the web request address that identifies the local web server and the determined data portion of the web request address that includes the contents to be interpreted by the local web server; issuing, by the viewer application, the web request directly to the local web server when the web application is running in the offline mode, wherein the web request issued by the viewer application is not addressed to the remote web server and does not require redirection to the local web server; and receiving, by the local web server, the web request directly from the viewer application when the web application is running in the offline mode, wherein the web request received by the local web server is not addressed to the remote web server and does not require interception by the local web server. - View Dependent Claims (20)
-
Specification