The Future of the Web: behind the scenes of Firefox 4 Mobile with principal engineer Vladimir Vukićević
Just yesterday Mozilla released the first beta of Firefox 4 (Fennec) for Android and Maemo. We've reported on various versions of Firefox for Mobile, but this build is something else entirely -- this is actually Firefox 4, with the Fennec UI strapped on top.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."
Fennec will also benefit from its desktop brethren's recent advances in JavaScript performance with the inclusion of the JägerMonkey JIT. In fact, because Fennec is based on the same version of Gecko (the layout engine used by Mozilla), it will render HTML, CSS, JavaScript and many other Open Web technologies in exactly the same way as the desktop version of Firefox.

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'."
Mobile processors are still some way behind desktop chips in terms of raw speed, but due to the lower screen resolutions we can still expect to see apps that are visually stunning with rich JavaScript-powered interfaces. The smaller screen size brings other issues, though, for both Web app and plug-in support: "We want to make sure all of the apps work across both desktop and mobile browsers -- but the biggest issue is the touch interface and the screen size."
"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.
We begin to pack up and I ask him about next year, about Mozilla's plans for Firefox 5. He smiles and says that some ideas have been passed around, that nothing's set in stone, that they're still very much focused on getting Firefox 4 -- both desktop and mobile -- out the door. He's excited, though -- everyone at Mozilla seems excited! -- about what the future holds. "In the next year we're going to see some pretty fantastic Web apps that put our hardware acceleration work, our JavaScript work and WebGL work to the test -- and we'll see what people can come up with. It should be pretty amazing."













Comments
14
Subscribe to commentsJeffreyOct 8th 2010 2:26PM
So when are you going to post the interviews you did with these people?
Sebastian AnthonyOct 8th 2010 2:27PM
This is all you get :)
The interviews weren't of the question/answer format. I could transcribe the audio, but it would be quite hard to follow, I think.
JeffreyOct 8th 2010 2:46PM
Oh, well... why not post the audios then?
I don't care how nerdy or unprofessional you guys sound If I had to choose between unaltered audio and text; I choose audio.
Also, I'd like to know if you were pulling are leg with the "Ask Mozilla a question" post or just edited out all juicy question we came up with.
Sebastian AnthonyOct 8th 2010 2:49PM
Ahh!
Hm... good point.
I tell you what, when I'm done (probably in a couple of weeks), I'll go through the list of questions and put the applicable answers next to them -- and then post them up here.
I didn't ask all of them, but I asked quite a few!
JeffreyOct 8th 2010 3:21PM
Alright then. Sounds good. I can't wait.
SilverWaveOct 8th 2010 5:43PM
hmm Firefox fan here but its got to as good as the default web kit browser or I wont install it on my HTC desire.
The possibility of getting Sync support is the main selling point from mpov.
SilverWaveOct 8th 2010 5:45PM
I would settle for a "Firefox Home for iPhone" type app for Android for the short term tbh
SilverWaveOct 9th 2010 7:37PM
OK I didn't last very long... ;-)
I installed it and tbh its a very good start, load more work needs to be done on it but you can see its going to be great.
I love the interface and sync is a killer feature.
Its worth installing just so I have my tab list from my other computers.
Pinch to zoom is wonky but it is a beta1 LOL.
Hmm if the readability add-on gets updated I may be able to use this...
Note: My phone is a HTC Desire.
Sebastian AnthonyOct 9th 2010 7:40PM
Yup, just like Home is incredibly cool on the iPhone, I'm sure the Android variant will be just as cool -- but even more functional!
I'm fairly certain they will polish the mobile version until it shines... just give it time :)
SilverWaveOct 9th 2010 7:53PM
heh yeah... not very good at waiting, see shiny toy, want shiny toy.
But from nowhere to this Beta1 is impressive.
Looking forward to Beta2.
SilverWaveOct 9th 2010 7:54PM
Oh and seriously, get your self a decent phone :-)
Sebastian AnthonyOct 9th 2010 7:56PM
I can get an upgrade on my contract in about a month, I think -- will probably get the Galaxy S...!
SilverWaveOct 9th 2010 8:13PM
That will be interesting...
I don't think I will buy anything other than HTC tbh.
Yeah the Desire it that good.
SilverWaveOct 10th 2010 5:25PM
hmm...
Fennec should offer to use master password
https://bugzilla.mozilla.org/show_bug.cgi?id=592772
@_@