Mobile/FAQ
Are you building a mobile Firefox?
Mozilla has committed to building a browser for mobile phones and smaller non-PC devices. It's likely that it will be called "Firefox" and it will give the same uncompromising experience that our users have come to expect. However, we haven't settled on a name and we're not entirely sure what the experience will be.
When?
There's a Mozilla-based browser included in the most recent OS2008 release included with with Nokia N800 and N810. So we're already shipping in a few places. But for future releases and products please see the Roadmap. Different devices are likely to come online at different times and in many cases when our product will become available will depend on the device manufacturer's timelines.
Which phones can I use it on?
Right now we're targeting a Linux-based device with X - the N800 and N810. That's working today. We're also targeting Windows Mobile 6 - for example the HTCS730.
Will it support add-ons?
One of our goals is to be able to use the add-ons system that's been so successful with Firefox and extend it to mobile browsers as well.
Is it a "full" Web browser? Or is it a "WAP" browser?
We intend to provide the full web experience you get with Firefox on your desktop today, including add-ons and full support for Ajax, HTML, JavaScript and SVG. We will not support the WAP standards such as WML, WMLScript, etc.
Will it be built with Gecko? Why not use WebKit?
There are many things that Gecko provide that WebKit does not. First and foremost is the backing of the same project that backs Firefox and will come with the same set of projects. We believe that the web should be open and there should be number of different browsers and rendering engines to help drive the open web forward and are willing to invest to make that happen.
In addition, the main backers of WebKit today, Nokia, Apple and Google (NAG), are also device manufacturers and have a vested interest in making their platforms supported. Mozilla doesn't make devices and we're more interested in making sure the web as a platform succeeds. We know based on conversations with device manufacturers that they are interested in an option that comes from a neutral third party that also has a commitment to an open source solution.
And last, we believe that in order to have the kind of user base that creates the leverage required to move the web forward that we have to have users who care about us, care about our brand and use our product on a day to day basis. We do that by having direct relationships with users through the Firefox product and brand. We will use that same strategy in the Mobile space as well. WebKit is not a brand and it's not something that is directly consumable by non-developers. It's a mechanism to extend NAG's brand. We believe that a world in which only NAG are the brands associated with the Mobile Web is a sad one indeed. The Web and the Internet have to be much more interesting and diverse than only three players. Hence the reason that we are investing here and will make our work available to mobile users and device manufacturers.
Will it support WML? XHTML-MP?
(Answered above wrt. WML). XHTML-MP is a subset of XHTML so in essence it is supported.
I'm a device manufacturer, what are my options to build a browser with Mozilla?
You will have a few options:
- Once we have a product in place you can pick up our released products and ship them along with your devices. This means having a business relationship with the Mozilla Corporation, but will be the fastest option to go to market with a working, branded consumer-recognized and trusted solution.
- You can participate directly with the Mozilla Mobile project and leverage the work that we're doing on a day to day basis and attempt to follow our releases on your own. This means working on our mobile branch, participating in the weekly meetings and submitting patches to our review process to get them into the Mozilla source tree. We won't try to break your browser work, but we might by mistake. To prevent that you could setup a Tinderbox (link) so people know if your configuration breaks.
- You can do what Nokia originally did which is to pick up the sources and build your own browser based on our source code. This means that you will be responsible for all the porting work and support down the road. Expensive to support, but it gives you the highest level of control over what you want to deliver and the experience.
What's Gecko?
Gecko is the code name that we use to describe the rendering engine that we're using in Firefox 2 and Firefox 3. It's the rendering engine that was created to replace the original engine used in the Netscape 4.x browsers. In the Netscape 4 days the rendering engine just rendered the HTML that was downloaded, but in browsers released under the Mozilla name after Netscape 4, Gecko is responsible for rendering HTML pages and the rest of the UI. Gecko will continue to evolve over time with the Mozilla2 work that is currently underway.
What's Mozilla2?
Mozilla2 is the code name for the next generation rendering engine that the Mozilla Project will be releasing. It represents a major evolution of the Gecko rendering engine. This rendering engine will form the basis for a later release of the Firefox web browser and many other Mozilla-based products. Some of the major changes that we have planned for Mozilla2 include:
- Moving much of our code from a system that uses reference counting to control object life cycles to a garbage collection system. (Called the XPCOMGC work.)
- Try and remove as many of the XPCOM interfaces as we can and move to direct access to C++ objects. Generic interfaces were used in too many places and it's hurt our performance and the ability for developers to understand our code. (Called deCOMtamination.)
- Move many method calls from using COM-style out parameters with a generic success/failure return value to functions that return an object or null directly. This should help with performance and make error checking much easier.
- We're examining what it will take to move from generic return values from methods for error handling to using generic C++ exceptions. This has the potential to help with code size, performance, readability and will make it much easier to handle out of memory conditions.
- JavaScript 2 and a Tamarin-based JavaScript engine. A major revision of the JavaScript language, based off of the ECMAScript 4 specification, includes a number of developer-friendly features. Enhancements such as optional type annotations, packages, and namespaces should greatly enhance integrity and safety when using JavaScript on the web, all while maintaining backwards compatibility. The Tamarin engine, a JavaScript-like engine that has been used in Adobe products like the Adobe Flash Player for years, was donated to the Mozilla project. When mixed with the new features in JavaScript 2 will vastly increase the performance of JavaScript in Mozilla2. Both Mozilla and Adobe developers are collaborating through the Mozilla project on the Tamarin engine.
Should I use 1.8? 1.9? Wait until Mozilla2?
We're doing our work off the 1.9 code base for the time being. There will be a lot of changes that will benefit the Mobile work with the Mozilla2 changes that are coming. (See "What's Mozilla2?" above.) However, we don't believe that there are things that are required in Mozilla2 to start building successes on Mobile.
What's Minimo?
Minimo was a project that was driven by Chris Hoffman and Doug Turner inside of Mozilla to build a browser for a few select mobile devices. It included a simple UI and was a good learning experience. However, we've decided to build a more formal product and strategy around Mobile. Execution on this strategy includes developers to work on Mobile-specific work, business development to reach out to interested companies and a recognition within the project that Mobile is an important component of our fundamental strategy.
What's MicroB?
MicroB is the name of the browser that's being shipped on the Nokia N800 and N810 tablets. It's based on Mozilla but includes a lot of changes made by Nokia. Most of those changes have been merged back into the Mozilla tree so we'll probably see more releases of MicroB based on later source code releases from Mozilla.