Cloud or network-based computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications. Different services or resources (e.g., servers, storage and applications) can be delivered to a user via a web browser. A user may have one or more accounts with cloud- or network-service providers to utilize different cloud or network-based services and resources.
Generally, a web application (“web app”) is a program that is written in, for example, HTML5, JavaScript, and CSS, and is designed to be run entirely within a web browser on a user's computing device. Google Docs and Gmail are examples of cloud- or network-based web apps that are used or run entirely within a web browser tab.
A web app that can run entirely within the web browser may be either a “hosted web app” or a “packaged web app.” A hosted web app may be, for example, hosted on the Internet or other network, available as a URL, and accessed by users using a web browser. The hosted web app's components on the Internet may include, for example, a portion of a web site that itself may include one or more web pages and possibly some metadata that may be pertinent to a functionality of the web app. In contrast to the hosted web app, a packaged web app may be thought of as a web app all of whose components are bundled in a package that can be downloaded (e.g., from a public or private app store) for local execution by the browser on the user's computing device. A packaged web app may be executed even when the user's computing device is offline i.e. without access to a network or the Internet.
Furthermore, “native” or “natively-operating” apps are apps that are developed to operate in their own application containers outside of a web browser on the user's computing device. A natively-operating app may interact with and take advantage of operating system features and other software that may be typically installed on user's computing device but are not available to web apps.
Like a packaged web app, a natively-operating app may also be bundled in a package that can be downloaded (e.g., from a public or private app store) for local installation and execution on the user's computing device. The packaged natively-operating app, like a packaged web app, may also be written in HTML5, JavaScript, and CSS. Both kinds of packaged apps can load the same type of content: HTML documents with CSS and JavaScript. However, in contrast to the within-browser operation of a packaged web app (or a hosted web app), a packaged natively-operating app is designed to be installed on the user's computing device and run outside of a browser tab directly from the computing device's hard drive.
Usually, a user can invoke or launch a web app to handle or process an object directly in a web browser by clicking on a URL or link, which is attached to the web app. For example, a user may open a text document using a web-based text processing application by clicking on a link associated with the text document in the web browser. Further, for example, a user may launch a web-based e-mail application (e.g., gmail) by clicking on a URL for a web site (e.g., gmail.com) associated with the application. However, a packaged natively-operating app installed on a user's machine may not be similarly invoked or launched directly in a web browser or from a web site; the packaged natively-operating app by default operates outside the web browser and there is no URL attached to or associated with the packaged natively-operating app.
A need exists for launching packaged natively-operating apps installed on a user's computing device to handle or process documents, files or objects. In particular, a need exists for launching a natively-operating app from a web browser, web-site, other web feature (e.g., URL link), or another natively-operating app.