Mobile/Roadmap

From MozillaWiki
< Mobile
Revision as of 13:58, 15 December 2008 by Mulvad (talk | contribs) (→‎Platforms)
Jump to navigation Jump to search

Introduction

This working roadmap describes the major deliverables of the project to bring Mozilla technology and the Firefox Web browser to mobile phones and other devices. The intent is to provide a high-level overview of what we're doing, the main areas of development, and high-priority features so that people throughout the community can make suggestions and jump in and help.

Background

Background on why we're building a browser for mobile devices, how it relates to the Mozilla mission, and other context can be found here.

Deliverables

The first set of product deliverables planned for mobile devices are:

  • Fennec - Firefox for mobile devices
  • Embedding interface - new C/C++ APIs to enable Gecko embedding
  • XULRunner - Fennec will be delivered as a XULRunner application. Other mobile applications can be built upon XULRunner also

Platforms

  • Linux - Nokia's Maemo platform (Debian-based) and others
  • Windows Mobile 6
  • Symbian (work started in December 2009)

Versions

The first version of Fennec will be delivered on Gecko 1.9.1.

Gecko

In addition to the memory and performance work done for Gecko 1.9, Gecko will be further enhanced and optimized for mobile environments.

Gecko will:

  • serve as the core platform for Fennec
  • have a new, simplified C/C++ API that will enable it to embedded in mobile applications that need to include Web content
  • be delivered with a XUL runner wrapper so that XUL applications can be built for mobile phones and easily deployed - Fennec will be built and delivered as a XUL runner application

The major work items for Gecko are:

Graphics libraries and widget toolkits

  • GTK with X
  • GTK with DirectFB
  • Windows Mobile 6

Performance and optimization

  • startup performance
  • memory usage
  • out of memory handling / memory pressure
  • panning and zooming performance

Device APIs through the DOM

To provide a platform that enables Web developers to create innovative applications that take advantage of the unique aspects of mobile devices, we aim to provide access to mobile device functionality by exposing this functionality through the DOM.

The top priority is to enable Web developers to access the location of the device, with appropriate security and privacy protections for the user.

Fennec

Release themes

In priority order, here are the key themes of the first Fennec release:

1. Simple, fast navigation to Web content 2. Compatibility with the Web 3. Secure 4. A "whole product" 5. A platform for innovation on mobile

Simple, fast navigation to Web content

We need to pay close attention to very basic operations that are still hard to accomplish on most mobile phones, like entering URLs, managing bookmarks, providing an equivalent to multiple windows/tabs, designing zooming and scrolling to achieve readability; we will need to question assumptions about how people use the Web when they're on the go, and not view the UI as a "port" of desktop Firefox.

Getting to Web content

  • Awesome bar
  • Search integrated into URL bar
  • Password manager
  • Weave

Getting around Web content

  • one click to dial phone numbers
  • maximize screen real estate
  • fast panning and zooming
  • plug-in support
  • popup blocker
  • find text within a page

Compatibility with the Web

Fennec will provide access to the "full" Web, including rich internet applications developed using AJAX. Web content developers should be able to optimize to smaller screen sizes, etc., but not be required to adopt alternate technologies.

Secure

Providing a powerful desktop browser engine with full implementation of JavaScript, AJAX, and other advanced web technologies could open a phone up to exploits which could be more costly and more invasive than PC exploits; security will need to be a key consideration from day one.

  • Extended Validation certificates ("Larry")
  • phishing and malware protection
  • auto-update
  • user control over script access to phone features

A "whole product" for mobile devices

Subject to the security constraints above, Fennec should strive to integrate as much as possible with a phone's mapping application, have the ability to initiate phone calls from phone numbers in Web pages, have access to location information through, and integrate with contacts, calendar items and camera. We should work to ensure that critical necessary plug-ins work out of the box.

  • Clear guidelines for Web site and application developers
  • Plug-in support (npapi)

A platform for innovation on mobile

A key strength of Firefox is its support for third-party innovation through full support for rich internet applications and for Add-ons. By providing full support for JavaScript, AJAX, offline storage and other key ingredients of RIAs, as well as JavaScript access to native phone features, Fennec will enable a whole new wave of mobile application development. Fennec will support Add-ons as well, so that the mobile browsing experience can be augmented and improved by anyone.

  • Add-ons
  • Support for Web developers - guidelines, user-agent, etc.

User experience principles

Fennec is being designed for typical mobile phone screens as well as larger internet tablet devices. The exact layout of navigation and other controls with vary across particular devices. The basic design principle, though, is the same: to dedicate as much of the screen real-estate -- all of it, if possible -- to Web content, and minimize the intrusion of browser chrome artifacts

We are developing touch-screen and non-touch-screen Fennec interfaces.

One of the major barriers to the use of mobile browsers is the difficulty in quickly entering URLs, passwords and filling out forms. A key goal is to provide a user experience that will remove that barrier.

Schedule

The goal is to ship beta releases of Fennec on the Maemo platform and Windows Mobile 6 in late 2008, and release in 2009. Check back here for more detailed milestones soon.

In the meantime, you can go to the #mobile IRC channel for general fennec and mobile devices developers, as well as the #wince IRC channel for WinCE / Windows Mobile specific developers.

Beyond version 1

The roadmap beyond Fennec version 1 includes:

  • Bring Fennec to more platforms
  • Exposing more device APIs through the DOM
  • Prism and/or deeper support for mobile widget packaging