Personal tools

Kilimanjaro/ProductDraft

From MozillaWiki

Jump to: navigation, search

Kilimanjaro badge.png

DRAFT
This page is not complete.

The Product team believes that these pieces should align for a September announcement. Once we have more estimates from Engineering, we can nail down a date.

Please do not edit without talking to Asa/Chris/Dan/Ragavan. Add your comments to the Discussion page or send then via email to all of us. Thanks.

Contents

Context - The Web is the Platform

A people-centered experience powered by the Web (technology and principles!) that includes mobile devices doesn't exist and is sorely needed. Mozilla must lead the way, because we are the only organization who has no interest in or motivation to “own” the user; we believe the user is sovereign. A people-centered system will enable users to identify themselves to websites and apps on their own terms; to take their apps easily from one OS to another; to disclose only what they want about themselves in proportion to the value they receive.

A people-centered experience must be built on Web technology and principles. Only Web technology can enable developers to build applications that can reach users wherever they are, through the ubiquity of HTML5 and JavaScript. Only Web principles enable a level playing field without gatekeepers.

Delivering on the vision

To deliver on the promise of the Web as the platform, a core set of products and services need to work in concert to deliver a compelling end-to-end experience:

  • HTML, JavaScript and CSS must evolve to enable app developers to build compelling apps for today's mobile devices
  • An identity system that is under the complete control of the individual and enables information sharing on the user’s own terms with no take-it-or-leave-it policies
  • An open app ecosystem that gives developers freedom to build what they want and distribute it directly to users on their own terms. The Web needs standard, consistent ways to find, rate, review, purchase and prove ownership of apps
  • Developer tools and education to empower developers to learn, build and distribute these apps
  • A leading Web browser for desktop and mobile devices, as the browser will continue to be a central point of experience for billions of people
  • Boot to Gecko, A truly Web-based OS for mobile phones and tablets would enable the ultimate in user choice and developer opportunity, both from a technology and an ecosystem point of view.

The Kilimanjaro Milestone

This document covers the Kilimanjaro milestone which is "version 1.0" of the ecosystem we've described above. Kilimanjaro is an integration milestone across several of our products. Products will continue using their existing release vehicles, but we reach Kilimanjaro after these products are interoperable according to the requirements below. Our proposed target date for this event is September 2012.

We expect there to be subsequent periodic milestones after Kilimanjaro that will continue to serve as integration points. Those milestones may or may not be named after mountains.

While Kilimanjaro as a whole is a P1 for the organization, we also expect there to be ongoing work on other milestones, products and deliverables that are not explicitly covered here. For example, Labs/Innovation experiments, work on Windows Metro 8 etc. are explicitly out of scope for this document. Our recommendation is to treat them on a case by case basis, once Kilimanjaro is spec'd, resourced and underway.

High level set of requirements for Kilimanjaro

Target Audiences and Example User Scenarios

Value Proposition
  • Users:
    • Early adopters -- get on the next big wave of converged experiences across phones and desktops with the freedom and choice you've come to love with the web.
  • Developers:
    • The web stack is ready to monetize and distribute for the next wave of mobile platforms. Starting building on HTML5.
  • Carriers and OEMs
    • An open, user-centric mobile ecosystem is here and available. Contact us to learn more.

Existing Firefox Users

Meta: bug 746480

Jim upgrades to a new version of (desktop) Firefox and gets introduced to the concept of HTML5 apps and the Mozilla Marketplace. He explores the Marketplace and installs an app, creating a Persona account in the process. Jim learns he can also get this app on his phone from the Marketplace. He installs the Marketplace on his phone and now has access to his app.

Android Power User

Meta: bug 746445

Alfred is on his Android phone reading TechCrunch where he learns about a special New York Times app promotion in the Mozilla Marketplace. He follows a link from the article to the Mozilla Marketplace site. He clicks install on the NYT app, and through Google Play, he downloads and signs in to the Marketplace and gets his NYT app.

Web Developers

Meta: bug 746446

Claire has a great idea for a mobile app. She visits MDN where she finds docs and tools that help her go from idea to basic app in 5 minutes. After building her app, she lists it in the Mozilla Marketplace for $0.99. The Marketplace lets her manage her application, reviews, and customer relationships.

B2G Phone Early Adopters

Meta: bug 746481

Sofia just purchased a B2G mobile phone from her local carrier store. The store helps her set up her phone which includes setting up a Persona account and importing contacts from her old phone. Her new phone has all of the basic apps she considers requirements for a smartphone as well as a Marketplace app where she can find many more. She's pleasantly surprised that her previously purchased apps from the Mozilla Marketplace are available on her new phone.

Sofia has been using her phone for 3 months and experiences problems like:

  • Her contacts disappeared.
  • Her phone crashes a lot.
  • Sofia needs help but doesn't know who to contact.

Sofia visits the Mozilla Help Center which provides her with step by step instructions for resolving all of her problems.

Specific Requirements and Priorities

All your devices recognize you and enable access to your ID-attached services

Meta: bug 746383

  • [DEFER] P1: Native login to "browser" for Desktop and Mobile (Android and B2G) (bug 763993 and bug 749072)
    • We're cutting Desktop Sign In To The Browser for K90.
  • [DEFER] P1: Must have a mechanism to enable sign out. (bug 763993 and bug 749072)
    • We're cutting Desktop Sign In To The Browser for K90.
  • P1: ID attached services and clients:
    • P1: Contacts
    • P1: Apps. (bug 767220)
    • Everything else is P2 (this includes browser data such as bookmarks, passwords, tabs etc).
  • [DEFER] P2: After sign in to the browser, sign in to (BrowserID supporting) websites does not require additional sign-in. (bug 764213 and bug 767276 plus integration with browser sign-in)
  • P3: Native DOM bindings for sign into website [Because the pop-up will work anyway]. (bug 753239)

You will be able to install and use your apps across phones and PCs where WebRT is available

Meta: bug 746384

  • P1: Native install for Windows XP+, Mac OS X, Android and B2G. (bug 738546)
    • [DEFER] P3: Linux (bug 744193)
    • [DEFER] P3: Tablets
  • P1: App receipts stored in the cloud
  • P1: Launch from native standard launch points (start menu, dock, start page, Home Screen etc.)
  • P1: Launch in chromeless window, outside the browser application (bug 740586) (bug 743917)
  • P1: Presentation of your installed and uninstalled apps (from apps in the cloud data) (bug 748977)
  • P1: Platform capability for allowing an app to maintain state in the client. (Session restore for apps, perhaps?)
    • P2: Cloud based storage for apps (local storage in the cloud)
  • P1: Firefox add-ons do not get executed when running an app. (bug 748967)
  • P1: Flash is available to apps (on platforms where flash is available) (No work needed)
  • Note: iOS is not a target platform for WebRT. While apps may work, we explicitly do not support iOS in the Kilimanjaro timeframe.

Desktop Firefox will help you discover Firefox mobile, apps and ID.

Meta: bug 746386

  • P1: Send to phone - Probably in-content for Marketplace. (Rags to talk with Madhava)
  • P1: Apps in New Tab page (bug 748955) and (bug 748962)
  • P1: Apps in your awesome bar (bug 748959)
  • [DROPPED] P2: Social API

The Mozilla web platform will include core features for developing games, social, productivity, and media apps.

Meta: bug 746388

  • P1: Offline capabilities (improve appcache support/semantics, implement IndexedDB improvements, platform support for default offline behavior) (bug 747904)
  • P1: Camera API (still image capture) (bug 748349) and (bug 748835 for front-end bits.)
    • P2: Full WebRTC (realtime media streaming) (bug 691234)
  • P1: Layout compatibility - webkit (bug 747123)
  • P1: H.264/AAC & mp3 (bug 748351)
  • P1: Orientation Lock (bug 673922)
  • P1: One app crashing doesn't take other apps down with it. (bug 748352)
  • P1: Finish multi-touch (bug 747910)
  • P1: Hardware accelerated Canvas or WebGL (Mobile, Linux?, XP?) (bug 749721)
  • P1: Security and Permissions model for Apps on Desktop/Mobile/B2G
  • [DROPPED] P2: Background Apps/Tasks (bug 747905)
  • P2: Notifications (Service and Client implementations) (bug 747907)
  • P2: WebGL changes/improvements (bug 748548)
  • P2: Pointer Lock (aka Mouselock) (bug 633602)
  • Note: List of targeted apps available upon request -- see Ragavan.

Performance and responsiveness will be sufficient to support smooth and fluid game and media apps.

Meta: bug 746389

  • Continue executing against our Product Quality and Stability programs: Snappy, CrashKill and Memshrink.
  • Kilimanjaro cares most about:
    • Graphics stability (driver crashes for accel graphics)
    • Content performance (gc+cc pauses and fps) GC: bug 519558, bug 716014, bug 735099 CC: bug 741417, bug 728407 FPS:
    • Memory usage (as it causes Fennec to get closed out requiring session restore.)

Developers will have comprehensive resources to enable "idea to basic app in 5 mins"

Meta: bug 746390

  • Docs
    • What are Apps?
    • How do we build them?
    • Manifests
    • Marketplace
  • Tools
  • Partners
    • Upload API to marketplace
    • Monetization
    • Analytics
    • Hosting
  • Libraries
    • Offline
    • Payment
    • Responsive Design
  • Code Samples
  • Support
    • Partner Engineering
    • Tier 2, 3
    • SUMO
  • Evangelism
    • Gecko compatibility

Mozilla will provide effective distribution, discovery and monetization options for developers

Meta: bug 746391

Mozilla will ensure operational readiness and SLAs for Mozilla services such Marketplace, Persona and B2G

Meta: bug 746392 Will be defined more later. (Kev to help.) To include:

  • SLAs
  • Customer Support
  • Global launch plan for marketplace
  • l10n

Mozilla will deliver a compelling device/system un-boxing experience

Meta: bug 746393

  • B2G:
    • Pre-defined set of core apps preloaded by OEM/Carrier
    • Welcome wizard (explains what a B2G phone is: phone using web as the platform)
    • Guide user to sign-in/up (Persona acct) -- carrier account integration into Persona acct
    • Guide users to the Marketplace to install/purchase more apps (This requires enough compelling content is available in the Marketplace).
  • Carrier's billing system is integrated to allow payment for apps and in app transactions.
    • To do: We need to define identity and billing integration with carrier(s).
  • Android:
    • Combined Firefox and Marketplace Android app in Google Play
    • Marketplace mode first run and setup experience
    • Guide user to sign-in/up (Persona acct)
    • Enough compelling apps in the marketplace to provide users with choice.
  • Desktop:
    • P2: Marketplace App (think Mac App Store for desktop) bug 738832
    • Marketplace mode first run and setup experience
    • Guide user to sign-in/up (Persona acct)
    • Guide users to setup payment accounts
    • Enough compelling apps in the marketplace to provide users with choice
  • Note: Lay the foundation for consistent UX experiences across supported clients. Harmonize design language across clients is a P2 but we must avoid painting ourselves into corners.