|
|
| Line 55: |
Line 55: |
|
| |
|
| == Implementation Plan == | | == Implementation Plan == |
| | |
| | Where will F1 get these WebMods? That will change over time. |
|
| |
|
| === Version 1 -- Hard-Wired WebMods === | | === Version 1 -- Hard-Wired WebMods === |
|
| |
|
| The primary goals of this stage are to:
| | In the first release, all F1 WebMods will be hard-wired. Users will not be able to additional sharing providers, nor will they have a dashboard of WebMods. The modularity of the system will not be exposed. F1 will be self-contained, with no code dependence on Open Web Apps (the framework for WebMods). The list of available WebMods will be update-able via F1 software updates. |
| | |
| * provide a long-term solution for the long-tail of F1 services in the shortest possible timeframe.
| |
| * provide an auth mechanism which is both flexible and in the direct control of the service itself (eg, avoids the need for Mozilla infrastructure to store oauth tokens to any 3rd party).
| |
| * help refine and prove certain aspects of the OWA design, including the HOWA concept.
| |
| | |
| In this stage, F1 will use an "app-like" model but will not depend on the OWA extension being installed or even the spec being finalized. Thus there will be no standard way of installing, managing or discovering apps - F1 will take special, possibly temporary, action for these.
| |
| | |
| Each supported service will be implemented as a "headless open web app" - this will be true for "external" apps hosted directly by the vendors (eg, if we can convince google/twitter to host their app) and for "internal" apps hosted by F1 (ie, for all the existing services F1 supports where the vendor is not yet on-board).
| |
|
| |
|
| F1 will need to define the postMessage javascript API, implement it for the "internal" services and advocate for it to "external" services (hopefully overlapping, so the externals can offer feedback on the API). F1 must be implemented using just this API - the F1 UI must not have any special UI behaviour hard-coded for facebook etc - everything must be able to be expressed via the API.
| | The implementation of each Webmod will ideally be done by corresponding partners, each responsible for their WebMod. That said, if needed, we can implement the WebMods on our own and use OAuth to bridge the API calls. We may need chrome-level permissions to allow WebMods to make OAuth calls directly from Firefox. |
|
| |
|
| In addition to the constraints above, all work must be done with an eye towards the OWA-enabled world in Stage 2. Or to put it another way, if we can't see a clear path to Stage 2, we don't really need bother working within the constraints of HOWAs in the first place.
| | The focus of this version will be the definition and refinement of the F1-specific link-sharing WebMod API, both in parameterizing the UI and in sending the shared link and associated message. We should ensure that our generalization matches existing major providers, and ideally a few non-major ones. |
|
| |
|
| === Stage 2: Using Open Web Apps directly === | | === Version 2 -- Installable WebMods and a WebMod Dashboard === |
|
| |
|
| The primary goals here are:
| | In the second version, modularity begins to be exposed to the user. Long-tail providers can advertise a manifest which triggers a Firefox "install App" dialog, which adds a new WebMod, which is then available to F1 if that WebMod advertises the appropriate link-sharing feature. Firefox also displays a dashboard of Apps, where the user can disable existing WebMods. |
|
| |
|
| * to use the Open Web Apps specification for all "app" management - including discovery and installation of new services.
| | By this point, the manifest specification and the link-sharing API definition should be quite stable. F1 remains fully self-contained, with no separate OWA component. |
| * To reuse as much of the OWA UI as possible (eg, the door-hanger) to both ensure a consistent app UX and to reduce duplicated code between F1 and OWA.
| |
| * Allow OWA to be the primary mechanism for new vendors supporting the service and the discovery of that new support.
| |
|
| |
|
| This will depend on 2 things largely out of our control: a final spec and release of Open Web Apps, and significant uptake of this model by 3rd party external services.
| | === Version 3 -- Full OWAs === |
|
| |
|
| At the end of this stage, F1 will look as if it had been designed and implemented *after* the HOWA spec was finalized. Eventually F1 will not host any "internal" services and the backend can be retired.
| | Eventually, once Open Web Apps are ready for prime-time, the OWA functionality takes over the WebMod and App management, the dashboard, and the WebMod/App Framework that mediates communication with WebMods. F1 then focuses on purely link sharing (and potentially other types of sharing by then). |