Apps/WebRT: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{draft|}}
WebRT is a project to build a desktop web application runtime that provides webapps with a native-like look and feel along with platform integration APIs on Windows, Mac, and other desktop platforms.


WebRT is a project to build web application runtimes that provide web applications with a native-like look and feel along with platform integration APIs on Android, Windows, Mac, and other platforms.
(The related '''WebRT Android''' project aims to integrate a runtime for Android into Fennec. See its [[Apps/WebRTJunePRD|Product Requirements Document]] for more information.)


== Android ==
The runtime comprises the '''navigator.mozApps DOM API''' through which the Mozilla Marketplace, other webapp stores, and webapps themselves request installation; an '''installer feature of Firefox''' that installs webapps on the native platform; a '''stub executable launcher''' bundled with Firefox that the installer copies to an appropriate location for each webapp it installs; and a '''xulapp shell''' that loads a webapp when a user starts it.


WebRT Android comprises the '''navigator.mozApps DOM API''' through which the Mozilla Marketplace, other webapp stores, and webapps themselves request installation; a '''webapp tab''' feature of Fennec for loading webapps in fullscreen tabs; and a '''Mozilla Marketplace activity''' that is bundled with Fennec and enables users to browse the marketplace, install webapps from it, and manage their installed webapps.
== Feature Drivers ==


=== References ===
The feature drivers are responsible for making sure the runtime gets completed and shipped with Firefox. They triage bug reports and enhancement requests, find engineers to tackle issues, and communicate status updates to the Apps initiative and Mozilla community.
 
* [[Apps/WebRTJunePRD|Product Requirements Document]]
 
== Desktop ==
 
WebRT Desktop comprises the '''navigator.mozApps DOM API''' through which the Mozilla Marketplace, other webapp stores, and webapps themselves request installation; an '''installer feature of Firefox''' that installs webapps on the native platform; a '''stub executable launcher''' bundled with Firefox that the installer copies to an appropriate location for each webapp it installs; and a '''xulapp shell''' that loads a webapp when a user starts it.
 
=== Feature Drivers ===
 
The feature drivers are responsible for making sure the runtime gets completed and shipped in Firefox. They triage bugs and enhancement requests, find engineers to do work and address issues, and make recommendations to Firefox's channel drivers regarding enabling/disabling the runtime for the various Firefox channels.


The feature drivers are:
The feature drivers are:
Line 26: Line 16:
* Myk Melez (myk), Technical Lead
* Myk Melez (myk), Technical Lead


=== Discussions ===
== Discussions ==


Discussions on runtime design and development topics take place in a variety of public forums:
Discussions on runtime design and development topics take place in a variety of public forums:
Line 34: Line 24:
* [[Apps/StatusMeetings/Engineering|weekly Apps Engineering meeting]]
* [[Apps/StatusMeetings/Engineering|weekly Apps Engineering meeting]]


Status updates are also presented at the weekly [[https://wiki.mozilla.org/Firefox/Planning Product Coordination]] and [[https://wiki.mozilla.org/Platform#Meetings Firefox/Gecko Development]] meetings.
Status updates are also presented at the weekly [[Firefox/Planning|Product Coordination]] and [[Platform#Meetings|Firefox/Gecko Development]] meetings.


=== Bug Reporting ===
== Bug Reporting ==


Bugs related to the runtime are typically filed in the following three components:
Bugs related to the runtime are typically filed in the following three components:
Line 44: Line 34:
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=DOM:%20Mozilla%20Extensions Core / DOM: Mozilla Extensions]: Gecko's navigator.mozApps DOM API (i.e. the API that web pages use to request webapp installation)
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=DOM:%20Mozilla%20Extensions Core / DOM: Mozilla Extensions]: Gecko's navigator.mozApps DOM API (i.e. the API that web pages use to request webapp installation)


=== Triage ===
== Triage ==


Feature drivers triage bug reports on a regular basis using the following bug queries:
Drivers triage bug reports on a regular basis using the following bug queries:


* [https://bugzilla.mozilla.org/buglist.cgi?order=Assignee;resolution=---;status_whiteboard_type=allwordssubstr;status_whiteboard=%5Bblocking-webrtdesktop1%2B%5D open v1 blockers, ordered by assignee]
* [https://bugzilla.mozilla.org/buglist.cgi?order=Assignee;resolution=---;status_whiteboard_type=allwordssubstr;status_whiteboard=%5Bblocking-webrtdesktop1%2B%5D open v1 blockers, ordered by assignee]
Line 52: Line 42:
* [https://bugzilla.mozilla.org/buglist.cgi?priority=--;order=Bug%20Number;resolution=---;component=Web%20Apps;component=Webapp%20Runtime;product=Firefox open unprioritized bugs, ordered by bug number]
* [https://bugzilla.mozilla.org/buglist.cgi?priority=--;order=Bug%20Number;resolution=---;component=Web%20Apps;component=Webapp%20Runtime;product=Firefox open unprioritized bugs, ordered by bug number]


=== References ===
== Source Code ==
 
The source code for the runtime lives in the [http://hg.mozilla.org/mozilla-central/ mozilla-central Mercurial repository] in the following files and directories:
 
* [https://mxr.mozilla.org/mozilla-central/source/webapprt/ /webapprt]: stub executable launcher and XUL shell
* [https://mxr.mozilla.org/mozilla-central/source/browser/modules/webappsUI.jsm /browser/modules/webappsUI.jsm]: Firefox webapp installation UI
* [https://mxr.mozilla.org/mozilla-central/source/browser/modules/WebappsInstaller.jsm /browser/modules/WebappsInstaller.jsm]: Firefox webapp installer
* [https://mxr.mozilla.org/mozilla-central/source/dom/apps/ /dom/apps]: Gecko navigator.mozApps DOM API


* [[Apps/Status]]
Engineers develop it in accordance with standard Mozilla development best practices, including the [https://developer.mozilla.org/En/Mozilla_Coding_Style_Guide Coding Style Guide], the [https://developer.mozilla.org/En/Developer_Guide/Committing_Rules_and_Responsibilities Committing Rules and Responsibilities], and Firefox's [[RapidRelease|rapid release schedule]].
* [https://etherpad.mozilla.org/webapprt-install-flow etherpad webapprt-install-flow]: install flow specification

Revision as of 21:21, 13 June 2012

WebRT is a project to build a desktop web application runtime that provides webapps with a native-like look and feel along with platform integration APIs on Windows, Mac, and other desktop platforms.

(The related WebRT Android project aims to integrate a runtime for Android into Fennec. See its Product Requirements Document for more information.)

The runtime comprises the navigator.mozApps DOM API through which the Mozilla Marketplace, other webapp stores, and webapps themselves request installation; an installer feature of Firefox that installs webapps on the native platform; a stub executable launcher bundled with Firefox that the installer copies to an appropriate location for each webapp it installs; and a xulapp shell that loads a webapp when a user starts it.

Feature Drivers

The feature drivers are responsible for making sure the runtime gets completed and shipped with Firefox. They triage bug reports and enhancement requests, find engineers to tackle issues, and communicate status updates to the Apps initiative and Mozilla community.

The feature drivers are:

  • Jen Arguello (ticachica), Product Manager
  • Bill Walker (bwalker), Engineering Manager
  • Jason Smith (jsmith), QA Engineer
  • Myk Melez (myk), Technical Lead

Discussions

Discussions on runtime design and development topics take place in a variety of public forums:

Status updates are also presented at the weekly Product Coordination and Firefox/Gecko Development meetings.

Bug Reporting

Bugs related to the runtime are typically filed in the following three components:

  • Firefox/Webapp Runtime: the stub executable launcher (i.e. the binary and related files that Firefox creates for each webapp you install to your local computer) and the XUL shell (i.e. the XULRunner application that the launcher uses to load a webapp and provide it with native integration APIs)
  • Firefox/Web Apps: Firefox's webapp installer (i.e. the feature that creates a launcher when the user approves an installation request)
  • Core / DOM: Mozilla Extensions: Gecko's navigator.mozApps DOM API (i.e. the API that web pages use to request webapp installation)

Triage

Drivers triage bug reports on a regular basis using the following bug queries:

Source Code

The source code for the runtime lives in the mozilla-central Mercurial repository in the following files and directories:

Engineers develop it in accordance with standard Mozilla development best practices, including the Coding Style Guide, the Committing Rules and Responsibilities, and Firefox's rapid release schedule.