Why is Mozilla doing this?
Apps have become the predominant way users interact with content, especially on mobile devices. Most Apps today are built using platform specific tools and languages. They are distributed using tightly controlled and locked down App Stores. They only run on specific device and OS combinations. A few dominant market players have assembled these various pieces into integrated App ecosystems that pose some big challenges for users and developers. Before we dig into the specific problems, let's take a quick look at what constitutes an App ecosystem and who the major players are in the market.
At a high level, an App ecosystem is an end-to-end, integrated combination of hardware, software and services that aims at providing compelling user experiences while severely restricting user and developer choice. A typical App ecosystem looks like this:
At the lowest level, there is some hardware upon which runs a usually proprietary OS / runtime. On top of this runtime exists a store/marketplace which is the exclusive distribution channel for Apps, for tht ecosystem. The provider also offers a suite of compelling services that are also tied pretty closely to this ecosystem. Such services may be both user and developer services. The ecosystem also comes with a suite of compelling default applications, but in addition, provides an attractive array of other Apps that are available within the ecosystem.
This poses challenges for both developers and users. Some of the challenges for developers include:
- Increased investment in building, maintaining, distributing and marketing separate Apps for each native platform.
- Loss of control over key aspects such as customer relationships, update frequencies, technology choices etc.
- Fragmentation of customer base
Some of the challenges for users include:
- Inability to use their Apps in a heterogeneous environment at home/work/school etc.
- Getting shut out of App experiences due to their device/platform choices.
- Lack of personalization in the App discovery process.
What is Mozilla doing?
Mozilla believes that the web is *the* platform and the entire web should be your marketplace. To this end, we are building products and services across three different threads.
The main goal for our work in this area is to ensure that the Web Platform is an excellent run-time for Apps. This entails, at a high level, building a cross platform Web Runtime (we're calling this Apps/WebRT) by:
- Taking existing web rendering engines (Gecko/Webkit) as a base.
- Adding native OS integration features for things such as installing, launching, managing Apps.
- Adding additional capabilities such as device APIs, permissioning models, improving offline execution of Apps etc.
- Integrating services directly into the run-time such as Identity, Sync, Notifications etc.
By basing WebRT off existing web rendering engines, we also automatically get all the awesome work (such as performance improvements) for "free". For a detailed description of WebRT and its roadmap, see the Apps/WebRT page.
Mozilla is building a Marketplace for Apps that work across desktops, phones and tablets. Through this Marketplace, developers will be able to distribute and monetize their Apps. Users will be able to get, install and use their Apps across all of their devices, regardless of the underlying device/OS platforms. This Marketplace will also be the single destination where users can find both cross-platform Apps as well as Firefox extensions.
We are basing a lot of the infrastructure and processes off the existing Add-ons site (addons.mozilla.org) which gives us an incredible advantage in time to market. The Marketplace roadmap can be found here.
A few fundamental services sit at the heart of the Apps project that allow us to deliver on key developer and user propositions.
- Identity and digital receipts
- App Sync, backup and recovery
Identity and digital receipts
Mozilla's BrowserID project is an easy way to sign into websites. Instead of making up a hard-to-remember username and password for each site, BrowserID lets you use your email address and a single password to sign in to any site that supports it. We are integrating BrowserID with Apps in the following ways:
- Users will log into the Marketplace using BrowserID.
- Every App (free or paid) they install from the Marketplace will include a receipt that is tied to their BrowserID.
- Users will log into their App Dashboard (a cloud based interface to all their Apps) using BrowserID.
More information about digital receipts can be found here.
We are providing some fundamental building blocks in both WebRT and the Marketplace, which together, will enable a simplified, 1-click payment experience. Using our payment solution, developers will be able to enable 1-click experiences for common transactions such as buying a premium App, in-app payments, subscriptions and more. Users will have the ability to choose from a variety of payment methods as the year progresses. More details about our Payments solutions and the roadmap can be found in the Marketplace roadmap.