Apps/Overview: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Updated to reflect current wiki links, project status and names; removed webactivities which have not had much recent activity and running-in-Firefox which is not an active area of work)
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:


== Mozilla-provided products to support Web Applications ==
== Mozilla-provided products to support Web Applications ==
=== Firefox: The Best Browser Runtime for Applications ===
=== The Gecko WebRT: The Best Runtime for Applications ===


Firefox will provide the best browser-based runtime for applications.  It will have the richest set of APIs, the best user experience of navigating and running applications, and the safest and easiest-to-use user controls.  It communicates with the application cloud to keep the user's application choices and data always up-to-date.
Mozilla will provide the best runtime for HTML5 applications.  It will have the richest set of APIs, the best user experience of navigating and running applications, and the safest and easiest-to-use user controls.  It will communicate with the application cloud to keep the user's application choices always up-to-date.


Mobile Firefox allows web applications to run full screen, with rich user interactions (touch, orientation, motion) and access to device APIs.  Desktop Firefox is fast and efficient, and allows applications to run in tabs (full or pinned), windows, or full screen.  All Firefox runtimes have a robust but easy-to-use permission system that makes it easy to provide rich APIs to trusted applications, or applications from a trusted source, while safely viewing untrusted content.
On desktop operating systems, applications will run as first-class applications, with their own icons, launcher, place in the taskbar/dock, and menus.  On mobile operating systems, web applications will run full screen, with rich user interactions (touch, orientation, motion) and access to device APIs.  On [[Boot to Gecko]]-powered devices, the entire user-facing operating system is powered by HTML5.


Read More:
Read More:
* [https://wiki.mozilla.org/Apps/WebRT The Web Runtime]
* [https://wiki.mozilla.org/WebAPI Mozilla's WebAPI project]
* [https://wiki.mozilla.org/WebAPI Mozilla's WebAPI project]
* [http://people.mozilla.com/~faaborg/files/projects/apps/discovery-i2.png Web Apps on Firefox Home Tab]
* [https://wiki.mozilla.org/B2G Boot to Gecko]
* [http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/4b8892e0d277b14b/1c1ff493776249b9?lnk=raot#1c1ff493776249b9 dev-platform thread on advanced permissions]
* [https://groups.google.com/forum/?fromgroups#!forum/mozilla.dev.security mozilla.dev.security group] for discussions of WebAPI security
* UI mockup of application permissions - need link
 
=== Firefox: The Best Runtime for Native Applications ===
 
The capabilities provided by a web browser can also be separated and turned into a standalone application.  These applications can interact with operating systems in a more "native" way; for example, they can have their own icon in a task bar or dock, act as a target for document-opening requests, and be copied between devices with a drag-and-drop to a file server.
 
The Mozilla platform can support this both by running a "no-label" version of the user's installed Firefox (as in WebRunner), or by creating a custom executable for a target operating system (as in Chromeless).  The creation of native runtimes for web applications could be performed on the client, or on the server.  Custom executables can be distributed through native application stores or offered directly for download by developers.
 
On Android, we can provide a more "native"-seeming experience through rich browser-based APIs; where appropriate, however, we can create or interact with native executables.
 
Read More:
* [http://www.salsitasoft.com/webrunner/ WebRunner]
* [http://mozillalabs.com/chromeless/ Chromeless]


=== The Mozilla Application Marketplace: The Most Complete, Trusted Directory of Web Apps ===
=== The Mozilla Application Marketplace: The Most Complete, Trusted Directory of Web Apps ===
Line 35: Line 23:


Read More:
Read More:
* Application Marketplace - link needed
* [https://wiki.mozilla.org/Marketplace The Mozilla Marketplace] wiki page
* Mozilla Marketplace App - link needed


=== App Storage in the Cloud ===
=== Apps in the Cloud ===


Mozilla will implement and host a generic "application cloud" service, which can be freely called by any store, dashboard, or application.  It provides a full implementation of the Application Client API in HTML5, and runs on any modern browser.  This service can run purely locally (with no user login), or can store all of the user's applications on the server, for access across all of a user's devices.  This service is visible to users through an easy-to-use "application dashboard", which always has their applications ready for use.
Mozilla will implement and host a generic "app cloud service, which can be freely called by any store, dashboard, or application.  It provides a full implementation of the Application Client API in HTML5, and runs on any modern browser.  This service can run purely locally (with no user login), or can store all of the user's applications on the server, for access across all of a user's devices.  This service is visible to users through an easy-to-use "application dashboard", which always has their applications ready for use.


This service will store the user's applications and any receipts needed for proof-of-purchase; at some near point it will also include per-application storage for user data, allowing applications to give users a consistent experience across devices.
This service will store the user's applications and any receipts needed for proof-of-purchase; in the future it may also include per-application storage for user data, allowing applications to give users a consistent experience across devices.


Read More:
Read More:
* [https://wiki.mozilla.org/Apps/AITC Apps in the Cloud]
* [https://developer.mozilla.org/en/OpenWebApps Web Client Application API]
* [https://developer.mozilla.org/en/OpenWebApps Web Client Application API]
* App Cloud Service - need link


=== User Identity Service ===
=== The BrowserID protocol and persona.org service ===


Mozilla has proposed a decentralized identity system that allows applications to verify a user's identity.  Mozilla will host HTML5-based APIs for browsers that do not have native support for this system, and will provide robust and scalable identity verification services for domains that do not participate directly in the system.
Mozilla has proposed a decentralized identity system that allows applications to verify a user's identity, and operates a high-availability implementation of the identity system at [http://persona.org persona.org]Applications can use this system to perform easy, secure authentication of users.


Read More:
Read More:
* [http://identity.mozilla.com BrowserID]
* [http://browserid.org BrowserID]
 
* [https://wiki.mozilla.org/Identity Identity project management page]




Line 61: Line 48:
Mozilla provides APIs, and works with other browser vendors to define standards, that enhance the web application ecosystem
Mozilla provides APIs, and works with other browser vendors to define standards, that enhance the web application ecosystem


=== Well-defined application metadata ===
=== Standard Device APIs ===
 
Mozilla is working with other vendors to define standard application metadata, to allow applications to describe themselves to browser runtimes.
 
Read More:
* [https://developer.mozilla.org/en/OpenWebApps/The_Manifest Application Manifests]


=== Client-side APIs for web applications ===
The WebAPI project is defining many device APIs and proposing them as standards to the W3C. 


Mozilla has proposed, and hosts an HTML5 implementation of, an application storage API.
* [https://wiki.mozilla.org/WebAPI WebAPI wiki root]
 
* [https://developer.mozilla.org/en/OpenWebApps/The_Manifest Application The application manifest] definition used by Gecko-based applications
Read More:
* The [https://developer.mozilla.org/en/OpenWebApps Web Client Application API] used to install applications, and to introspect on installation metadata.
* [https://developer.mozilla.org/en/OpenWebApps Web Client Application API]
 
=== Decentralized identity ===
 
Mozilla has proposed, and hosts an HTML5 implementation of, a decentralized identity verification system.
 
Read More:
* [http://identity.mozilla.com BrowserID]


=== Web Application Receipts ===
=== Web Application Receipts ===
Mozilla proposes a standard web application receipt format, to allow proof-of-purchase claims to travel from stores to applications using user-centric storage.  This allows users to log into a new device and receive all their applications, including paid content, with no additional steps required.
Mozilla proposes a standard web application receipt format, to allow proof-of-purchase claims to travel from stores to applications using user-centric storage.  This allows users to log into a new device and receive all their applications, including paid content, with no additional steps required.


Read More:
Read More:
* [[Apps/WebApplicationReceipt|Web Application Receipt]]
* [[Apps/WebApplicationReceipt|Web Application Receipt]]
* [[Apps/WebApplicationReceipt/GenerationService|Receipt Generation Gervice]]
* [[Apps/WebApplicationReceipt/GenerationService|Receipt Generation Service]]
* [[Apps/WebApplicationRecript/Revocation|Receipt Revocation]]
 
=== Web Application Activities ===
 
Applications can expose "Activities," which are an application-to-application communication system.  This system allows an application (or website) to request access to a user's preferred service, and for a message to flow between the application and the service.
 
Use cases for this feature include link sharing, social graphs or contact lists, personal profile data, payment processing, travel planning, and media preferences.
 
Read More:
* [https://github.com/mozilla/openwebapps/blob/master/docs/ACTIVITIES.md Activities specification] (in-progress)
* [http://dev.chromium.org/developers/design-documents/webintentsapi Web Intents] (related work by Google Chrome team; conversations with this team are ongoing)

Latest revision as of 17:23, 24 April 2012

Web applications are universal applications. The run on any device. They use standard technology that works on desktop PCs, smartphones, and tablets. They can be installed on devices automatically when users authorize their devices, and are personalized so that users keep their preferences and data with them wherever they go.

Mozilla-provided products to support Web Applications

The Gecko WebRT: The Best Runtime for Applications

Mozilla will provide the best runtime for HTML5 applications. It will have the richest set of APIs, the best user experience of navigating and running applications, and the safest and easiest-to-use user controls. It will communicate with the application cloud to keep the user's application choices always up-to-date.

On desktop operating systems, applications will run as first-class applications, with their own icons, launcher, place in the taskbar/dock, and menus. On mobile operating systems, web applications will run full screen, with rich user interactions (touch, orientation, motion) and access to device APIs. On Boot to Gecko-powered devices, the entire user-facing operating system is powered by HTML5.

Read More:

The Mozilla Application Marketplace: The Most Complete, Trusted Directory of Web Apps

Mozilla operates an Application Marketplace, which is a safe, fast, fun place for users to find web applications, and for developers to reach their customers. It is a reference implementation for a web application store, which developers can download and set up on their own domains. It is implemented as a web application, and is easily reachable from the Firefox browser or from any other web browser on mobile or desktop. It understands the characteristics of major web browser platforms and helps users configure their devices to get the best experience.

The Marketplace is a payment processor, providing a place for developers to list their applications and for users to purchase them. It also supports in-app purchasing (by itself being an application), allowing developers to offer digital goods to their users after install. The Marketplace also allows developers to list applications that are free, or that are sold by the developer on their own site.

The Marketplace understands the complexity of delivering web applications to multiple platforms. It provides a features-and-capabilities system that shows users apps that can run on their platform, and suggests available platforms for the user's device if a more capable platform could provide a better experience.

Read More:

Apps in the Cloud

Mozilla will implement and host a generic "app cloud service, which can be freely called by any store, dashboard, or application. It provides a full implementation of the Application Client API in HTML5, and runs on any modern browser. This service can run purely locally (with no user login), or can store all of the user's applications on the server, for access across all of a user's devices. This service is visible to users through an easy-to-use "application dashboard", which always has their applications ready for use.

This service will store the user's applications and any receipts needed for proof-of-purchase; in the future it may also include per-application storage for user data, allowing applications to give users a consistent experience across devices.

Read More:

The BrowserID protocol and persona.org service

Mozilla has proposed a decentralized identity system that allows applications to verify a user's identity, and operates a high-availability implementation of the identity system at persona.org. Applications can use this system to perform easy, secure authentication of users.

Read More:


Standardization and API Development to Support Applications

Mozilla provides APIs, and works with other browser vendors to define standards, that enhance the web application ecosystem

Standard Device APIs

The WebAPI project is defining many device APIs and proposing them as standards to the W3C.

Web Application Receipts

Mozilla proposes a standard web application receipt format, to allow proof-of-purchase claims to travel from stores to applications using user-centric storage. This allows users to log into a new device and receive all their applications, including paid content, with no additional steps required.

Read More: