The Future of the Web: behind the scenes of Firefox 4 Mobile with principal engineer Vladimir Vukićević
Externally, from an end-user point of view, this is business as usual: Mozilla has been trying to produce a working version of Fennec for quite a while, and despite a few false starts, pruned code trees and canned versions, it looks like Firefox for Mobile will become a reality in early 2011. Most users won't know -- or care -- about the development process or what goes on under the hood.
Internally, however, and for the bleeding-edge technozealots, this underscores Mozilla's continuing efforts to retain its position as the innovative vanguard of the browser war. While Google and Microsoft plough their limitless resources into the desktop browser market, Android has been left with nothing more than Dolphin HD and a slew of lacklustre, third-party WebKit-powered browsers.
To put it another way, there is a gaping void in the smartphone browser market, and Mozilla is about to fill it.
When I visited the offices of Mozilla in Mountain View, California, I met with Principal Engineer Vladimir Vukićević. His previous job title was 'Mozilla Infrastructuralist', which he tells me with a wry grin was because it sounded sexier than "in charge of the plumbing." Because Vlad has worked on so many little bits of Firefox over the past five years, and because it has all been architectural, unseen and foundational, it's hard to pin down exactly what his role at Mozilla is.
Most notably, Vladimir wrote and maintains Firefox's HTML5 canvas implementation. Recently he has worked on Mozilla's hardware acceleration and performance boosting efforts, and for the past year he's been lending his expertise to the Firefox for Mobile (Fennec) project. In the last year Fennec has transformed from a light-weight Gecko-based browser into a bit of a beast -- in fact, it's basically a port of the desktop Linux build of Firefox 4.
Firefox Sync, the Awesome Bar, geolocation -- they're all coming to the mobile version of Firefox. Believe it or not, so is hardware acceleration! "With both Android and Linux being OpenGL, Fennec uses much of the same backend," Vlad says. "Most medium- to high-end Android phones now have OpenGL ES 2.0 -- so Firefox will be the first hardware accelerated mobile browser."
From a developer's point of view, then, Firefox on Android is a dream come true. It is very nearly the standards-based realization of write once, run anywhere. "We want to take performance off the table as a consideration," Vlad begins, echoing the thoughts of fellow Mozillans Aza Raskin and Asa Dotzler. "We want to make sure developers can just write their standards-based Web apps and say 'hey, this will work just fine'."
"Add-ons are a slightly different beast," Vlad warns me. "You can write an add-on that will work on both desktop and mobile Firefox, but the UI is different." He says that a lot of add-on developers are doing some good porting work -- and indeed, plenty will be available for Firefox for Mobile's launch -- but catering for a mobile UI certainly poses a bigger challenge for developers than the huge resolutions available to desktop users.
As the interview draws to a close, we discuss Electrolysis, which amazingly enough will appear in the mobile browser before the desktop version. Electrolysis has long been a hot topic for Firefox power users because it splits Firefox up into multiple processes, yielding both massive performance and security gains. One process is dedicated to the UI, one to Web content and one for every plug-in (such as Flash or Java). This allows Firefox to make the most of multi-core processors, retain UI responsive during page loads and, while it's not turned on yet, support for 'crash proof' plug-ins.