The Mobile Internet Browser for UME will be a finger-navigable browser based on Mozilla. We will start with a recent version of the Mozilla libraries using a recent Firefox 2.0+ tag. The browser will be re-chromed to match the look and feel of other UME applications according to the UI Style Guide
Rationale
A xul-based browser with high-standards compliance and a strong community is desireable. Mozilla is the most obvious choice. The only concern with a Mozilla-based solution is the performance on a resource-constrained device.
Goals for the browser include the following:
xul-based
strong community
strong adherence to standards
standard for all mobile internet devices
supports plugins
supports extensions
finger-navigable user interface
based on best-of-breed existing solution (Firefox)
Minimo was investigated but after discussions with the maintainer (Doug Turner) we agreed that a Firefox-Mozilla base would be appropriate given our constraints and device characteristics.
The Mobile Internet Browser will be based on Gecko 1.8+. Mozilla will release a new version based on Gecko (1.9) in the late part of the year (Oct or November). At that time we can consider the steps to move the browser to this base.
Mozilla engineers have suggested that there may be some form of "Mozilla Mobile" solution down the road. This will be interesting to track, contribute to, and leverage.
Mozilla can not offer engineering help on the browser work but they are supportive of the effort.
Ideally we would get a solution that would be embraced by the Mozilla community and eventually adopted as the "Firefox Mobile" solution. However, Firefox brand sharing is not something that happens in the short term.
Scope
The project encompasses all of the tasks needed to get a Mozilla-based browser ported to the Hildon framework and included in Ubuntu-mobile distribution.
Design
Browser design is a mix of existing Firefox features, Hildon application framework constraints, and UI Style Guide recommendations. The browser user interface will be redesigned to accomodate finger navigation and the small mobile device screen (800x480 to 1024x600). Design wireframes include the following. These are recommendations. Actual implementation can vary somewhat and also be progressive -- changing and improving in time.
Implementation
The following are the steps to completion of the mobile browser:
Selecting a branch of the Mozilla tree to use as the base browser. (Firefox 2.0.0.4 selected)
Build the project.
Re-brand and re-theme the browser, removing all reference to Firefox and all copyright material (e.g. help files). Make sure that we are legally compliant with Mozilla guidelines.
Get the newly-named browser into Ubuntu-gutsy. (see Outstanding Issues below)
Begin porting to Hildon
Menu ported to top-left menu (replace Gtk calls)
Top-level window uses Hildon classes
Status bars and tabs at the bottom of the screen (hard task)
re-chrome other features
improve scrolling feature to be like wireframes with large thumb track
There is a lot of opportunity to divide and conquer the browser. We welcome help from any experts.