Mozilla Platform
16 May 2007There has been a great discussion going on with lots of thoughts and clarification about XULRunner and the “Mozilla Platform.”
I believe part of the confusion here is a lack of a clear definition of “Mozilla Platform” and shared understanding what’s being worked on. We got together a good bunch of the platform hackers with someone who has a much better aesthetic sense than I and produced an updated Mozilla Platform “Marketechture” Diagram: (yes yes I know – the actual relationship of the components is much more complicated than this simplified 2D plot):
What’s interesting to me about this is looking at how big, rich, and *actively developed* the core platform is here. What do I mean?
- Graphics: Vlad and Pav have spent the better part of the last two years integrating Cairo and exposing it through Thebes – effectively re-writing our core graphics architecture. High quality scaling for all!
- Layout: David Baron has spent the better part of their last 18 months and implementing the reflow branch making future version of Firefox, Camino, Seamonkey, and any other application that views web content built on Mozilla support the nasty edges of the CSS 2.1 specs…
- Content: Lots of awesome work on SVG, Cairo gets faster each release, XML content sink now incremental …
- JavaScript: Brendan, Igor, Bkap and others spent much of their time last year implementing JS 1.7. Iterators and Generators anyone? They and others are off now nailing down the standard for JS2/ECMAScriptV4 – not to mention the upcoming integration of Tamarin giving the entire platform a JITing VM to boot.
- XUL: Spinbuttons? Date Pickers? Neil’s been pounding away at enhancing XUL for all of us.
- NSIS installers – specifically chosen because the toolchain was FOSS so all Mozilla projects could easily use.
- Toolkit: MozStorage and SQLLight anyone? Extension Manager improvements, Integration of Brakepad client and server for FOSS crash reporting to everyone on the Mozilla Platform, much more…
This is just a snapshot – the full list here is very long.
This is not meant to dismiss the frustrations of people working with Mozilla when their particular use of the platform isn’t being well enough supported. Firefox is the most widely deployed application built on the Mozilla platform – so it does and should get disproportionate attention from the Platform. But that doesn’t mean there isn’t tremendous investment in the platform in a manner which benefits all applications – it’s by far the biggest area of Engineering investment by MoFo/MoCo.
So in short – I don’t want us to lose sight of the work that has gone into the platform over the last few years, the dedication of people all around the world making this happen, and and most importantly the really exciting things planned for the future…

5 Responses to “Mozilla Platform”
May 16th, 2007 at 6:55 pm
Nice to read
… And a great (and hard) work from mozilla. Thank you.
PS: may be it is not the correct place and time, but this kind of ‘abstract’ (and graphic) about what are doing in mozilla is really beauty and helps a lot; especially to have it all in ‘one place’.
May 17th, 2007 at 1:39 am
Small nit, in case you are planning to reuse this diagram: NSS/PSM needs to be two boxes. NSS needs to “reach down” to touch the NSPR layer, as that’s what it depends on. I think PSM needs to be “above” both the upward-reaching NSS and “part of” XPCOM, as now.
These diagrams are hard to describe edits for in prose
May 17th, 2007 at 12:00 pm
Thnx for the Feedback Gerv. We went through a large number of iterations on this but decided to ship early
May 17th, 2007 at 2:17 pm
This should definitely go on the mozilla.org site in the getting started section. It gives a pretty clear view of how the pieces fit together at a high level. It even looks pretty
August 30th, 2007 at 9:02 am
this looks nice but please please please whoever has some influence, make it easy to install XUL for non-distribution slaved people (okok I can look at LFS project for help, but i thought of a really easy way to build XUL stuff without the weird xulrunner..)