Home/Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "<small>< Product Roadmaps | < Firefox Home Portal</small> <section begin=summary />{{RoadmapSummary |icon=HomeLogo.jpg |pagelocation=Home/Roadmap |pagetitl...")
 
No edit summary
Line 2: Line 2:


<section begin=summary />{{RoadmapSummary
<section begin=summary />{{RoadmapSummary
|icon=HomeLogo.jpg
|icon=FirefoxHome.jpg
|pagelocation=Home/Roadmap
|pagelocation=Home/Roadmap
|pagetitle=Firefox Home 2011 Roadmap
|pagetitle=Firefox Home 2011 Roadmap

Revision as of 18:20, 10 February 2011

< Product Roadmaps | < Firefox Home Portal

FirefoxHome.jpg Firefox Home 2011 Roadmap
Owner: Thomas Arend Updated: 2011-02-10
We succeeded in re-energizing the browser market, creating competition and innovation which benefits Web application developers and users alike. This newly competitive market has presented challenges for the continued success of Firefox, and in 2011 we must ensure that we can deliver a product that is compelling to users in order to continue to be able to demonstrate our vision for the Web. This roadmap outlines our planned strategy and direction for Firefox in 2011.
Please do not edit this page without permission.
Thank you!

Thanks for reading this document! Here's a quick guide:

  • Product Priorities for 2011 is most important bit, and the framing/context/priorities from which all Firefox project plans for the next 12-18 months should flow.
  • So, what are we building? is a set of proposed projects for Firefox and Firefox-related ecosystems which would support the priorities set out in the previous section. My goal is for leaders in each of these areas to actually create and vet plans that would serve those priorities; this is just offered as examples / for reaction.
  • How will we know how we're doing? begins to explore what metrics we'll use to track success throughout the development and delivery cycles. As with the previous section, we'll need area leaders to own the actual plans, here.
  • Product Roadmap is a proposed market delivery schedule based on the example project work laid out in previous sections.
  • Feedback and Questions can be sent to beltzner@mozilla.com or added to the discussion page.

tl;dr

  1. Ship Firefox 4, 5, 6 and 7 in the 2011 calendar year
  2. Always respond to a user action within 50 ms
  3. Never lose user data or state
  4. Build Web Apps, Identity and Social into the Open Web Platform
  5. Support new operating systems and hardware
  6. Polish the user experience for common interaction tasks
  7. Plan and architect for a future of a common platform on which the desktop and mobile products will be built and run Web Apps

Curious to know why those are the priorities for this year? Read on!

Context: Back to Mission

Firefox is Mozilla's expression of our manifesto and mission; it represents our vision of an Open Web Platform that is powerful, versatile, accessible, customizable, and interoperable. When we first shipped Firefox in 2004, our goal was to get the web moving again, and demonstrate the power of the technologies that made up the platform at that time.

We succeeded in re-energizing the browser market, creating competition and innovation which benefits Web application developers and users alike. This newly competitive market has presented challenges for the continued success of Firefox, and in 2011 we must ensure that we can deliver a product that is compelling to users in order to continue to be able to demonstrate our vision for the Web. To do this we must:

  • provide a browser that is stable and responsive,
  • build a product for modern desktop and mobile hardware,
  • provide a simple set of features & experiences to help users get the most out of the web,
  • support web technologies that are desired most by application developers and users,
  • deliver those technology improvements quickly to our user base.

It is important to remember, however, that gaining browser market share is not the only goal of Mozilla's mission. Our mission is to promote an Open Web Platform which is the most compelling environment for modern applications. Increasingly this vision is being threatened by application development models which bypass the Web in favour of directly connecting with Internet based resources in closed, proprietary models such as:

  • closed or single platform "App" SDKs (AIR, iOS, Android SDK, Chrome Web Store),
  • plug-in balkanization (h.264, .swf, NaCl),
  • user personalizations and customizations kept in "walled clouds"

Firefox2011RoadmapImage1.png

These types of challenges are not new to Mozilla, and once again our community must work to prove that open, interoperable technologies can exist on the same footing as closed, proprietary ones. To do this we must:

  • work with the community to develop and support an open web "App" model,
  • identify the key elements of an open and interoperable social network and develop an open standard for them within the Web.

Our Product Vision: What the web looks like in 24-36 Months

(This vision should be revisited and updated regularly. As with all good technology, it should always be aspirational and representative of a future we want to realize)

Our mission implies a vision where the currently closed "App" ecosystem and walled social ecosystems are replaced with Open Web Platform based alternatives. While this may not be realizable within the next calendar year, a co-ordinated vision of what we're building towards will help keep our product plans on track and inform our technology choices:

Firefox2011RoadmapImage2.png

User scenario

This scenario illustrates the end-user experience of this sort of ecosystem:

Firefox2011RoadmapImage3.png

  1. Friend Status App bleeps, Johnath has said he's started using Pic2It for pics [Social API]
  2. Open Browser on Phone, search for "Pic2It"
    1. Result 1: Pic2It Web App [WebApps]
    2. Result 2: Pic2It Wikipedia Entry [WebApps]
    3. Result 3: Blog post by someone about Pic2It
  3. Click Result 1:
    1. Browser asks if I want to install Pic2It [WebApps]
    2. Pic2It asks if it can know who my contacts are [Identity/Social]
    3. Pic2It connects me to contacts [Identity/Social]
    4. Pic2It is now an app on my desktop [WebApps]
    5. Pic2It runs as headless Gecko Process [Flexible Architecture]
    6. I start browsing pictures in Pic2It, decide I like one, tell my browser I "like" it [Social API]
    7. Other users informed that I like that thing
  4. Click Result 2:
    1. Wikipedia App launches as headless Gecko Process to handle [WebApps, Flexible Architecture]
  5. Click Result 3:
    1. Browser loads and displays blog post
  6. Unplug smartphone from dock removing keyboard / mouse / monitor
    1. Firefox UI replaced with Fennec UI

Developer Scenario (TBD)

  • NEED TO WORK UP WITH BLIZZARD
  • not just design-code-debug, include distribute app
  • competitor: iOS4

Product Priorities for 2011

Our product priorities for 2011 are determined by our overall organizational context and the vision we're trying to achieve. They represent our understanding of what's required in order to produce a web browser that will be both successful in the market and representative of our vision of the web.

  1. Ship our new technology to users in smaller bundles, more frequently
    1. Four technology shipment vehicles in 2011, including Firefox 4
    2. Achieve a regular cadence for shipping
  2. Develop a product that is responsive from "click to render"
    1. No more than 50ms delay between user action and application reaction
    2. Provide optimizations to hide network latency
    3. Obtain metrics from users in addition to our test infrastructure
  3. Expand the Open Web Platform to include Apps, Social and Identity
    1. Design and implement open systems for Identity and social interactions
    2. Design and implement Web Application Framework
    3. Implement missing pieces of CSS/HTML required for compelling Web Applications
  4. Never lose the user's data or state
    1. Continue to improve stability
    2. Mitigate the cost of application failure
    3. Interact with cloud-based storage to allow users to "take it with them"
  5. Shine the primary UI until it gleams
    1. Determine and optimize top 5-10 user interaction flows (ie: search for restaurant)
    2. Improve tools for customization/restoration of old functionality so we can remove it from primary UI
    3. Improve user interface polish so that Firefox feels modern, graceful and elegant
  6. Support modern operating systems and platforms
    1. support Firefox Windows 64-bit builds
    2. OSX 10.7 system integration
    3. Android 3.0 tablet integration
    4. ensure JIT performs well on modern ARM CPU families
  7. Plan for a future where Desktop, Mobile and Web Apps run on a common platform
    1. Need to design and architect towards this eventual outcome
    2. Implementation of this is not a priority

So, what are we building?

We are a community of builders, tinkerers and engineers. We rely on our various leaders (at the module, component and project level) to take ownership and responsibility for what we're building. While product drivers expect to work with these people to ensure that the result is well co-ordinated, the impetus and prioritized plans must come from our distributed community. The following proposals can be used to start the discussion of how best to serve the priorities set out in the previous section.

Firefox Front End

  • Simple Sharing
  • Animations in the user interface
  • 50 high priority polish issues for common taskflows
  • Asynchronous Places
  • Account Manager
  • Remove Smart Search functionality from Bookmark Manager
  • Electrolysis
  • Web Application Install/Uninstall Support
  • Process-per-tab to mitigate effects of crashes

Web Platform

  • Hardware Accelerate <canvas>
  • CSS 3D Transforms
  • Seamless switch to fullscreen video
  • Websockets
  • input type=camera, video
  • Low Power mode
  • IndexedDB

Gecko Platform Development

  • Gather performance metrics from users
  • Support Windows 64-bit builds
  • Document how to design a common platform to be used for interchangably running desktop, mobile or chromeless web apps
  • Integrate with new OSX 10.7 user interface
  • Integrate with new Android 3.0 user interface
  • Ensure JIT performs well on modern ARM CPU families

JavaScript Engine

  • tbd

Add-Ons, Plugins, Customizations

  • Easier UI customization that links to Add-on discovery
    • Primary path/UI to support: JetPack and Personas
    • Secondary path: add-ons, themes
  • Add support for Greasemonkey like scripts via JetPack?
  • Addons story that doesn't suck / good metrics / disable-as-soon-as-it crashes
  • Fix PFS
    • simple update path for plugins
    • simple discovery & install path for plugins
  • need better policy around expectations
  • need better support and enforcement for versioning expectations
  • not a lot of vendors come to MDC
  • improving IPC / sandboxing
  • NaCl? some vendor push, here, mostly from Adobe

Developer Tools

  • Console & Inspector
  • Providing Diffs
  • Integration with GitHub
  • How it meshes with open web app ecosystem

Distribution Support

  • direct download
  • stub downloader
  • ability to create custom bundles of add-ons and product and customizations
  • BYOB
  • MSI

Build to Brand

Firefox has a strong brand based on the Mozilla mission, which must be enforced through our product's design ethos:


  • Put the user in control
    • Fully customizable
    • Full control over private information
    • Can always take their data with them
  • Freedom for hackers
    • Open source (duh)
    • Tools for hacking and exploring

How will we know how we're doing?

In order to measure the effect of this plan, we will employ the new capabilities provided by the Metrics and Engagement groups to obtain metrics on:

  • Usage and market share
  • Customer satisfaction amongst end users and web developers
  • Brand impressions amongst end users, web developers, and technology influencers

The Market Research team will also be employed to provide competitive analyses and validation of prioritization decisions.

Product Roadmap

Changing the way we ship products will require the re-evaluation of many assumptions (see below) and a large shift in the way we think about the size of a "major" release. The criteria for inclusion should be no regressions, well understood effects for users, and completion in time for a planned release vehicle. Again, these serve as proposals and should not be taken as prescriptive:

Firefox 5

  • Account Manager
  • Simple Sharing UI
  • UI Animation
  • 64 Bit on Windows
  • ...anything that improves responsiveness and is ready
  • ...anything that improves stability and is ready
  • ...anything that polishes the user interface and is ready
  • ...anything else serving product priorities and is ready

Firefox 6

  • Web Applications
  • FasterCache
  • OSX 10.7
  • JS Optimizations
  • ...anything that improves responsiveness and is ready
  • ...anything that improves stability and is ready
  • ...anything that polishes the user interface and is ready
  • ...anything else serving product priorities and is ready

Firefox 7

  • e10s? deXBLification?
  • ...anything that improves responsiveness and is ready
  • ...anything that improves stability and is ready
  • ...anything that polishes the user interface and is ready
  • ...anything else serving product priorities and is ready

How to ship faster

There's no such thing as a free lunch. To ship smaller bundles of technology more quickly will require us to take a hard look at our existing systems and re-evaluate some of the assumptions we take as immutable, such as:

  • we must provide binary compatibility for Add-ons
  • we must support older branches with maintenance fixes
  • intermittent oranges are unavoidable
  • scaling localization
  • we cannot predict the effect of our changes without large scale beta testing
  • all code needs formal code review
  • every contributor knows how to obtain code review expediently
  • every contributor gets equal say on issues of user interface design and technology prioritization

TODO: Process change suggestions (w/Shaver)