Mozilla as a Development Platform: An Interview with Axel Hecht
Pages: 1, 2
ED: Can Mozilla-based programs access legacy code bases (like P/Invoke in .NET or JNI in Java)?
AH: Any code that you can access from C++ can be used. There are a few places in Mozilla code that actually do that, for example to check for particular graphics libraries to be used by the SVG code. Of course, if you do, you should make sure that you fail gracefully if the library is not installed on your user's system.
ED: It's often said that cross-platform UI is impossible to get properly right without making special cases for each OS. For instance, most OS X users know about Firefox, but most still seem to choose Safari. Is the cross-platform UI thing an issue in the real world?
AH: Don't all of those use Camino? Ok, seriously, yes, it is an issue. You will actually find UI differences in the upcoming 1.5 releases of Firefox and Thunderbird. Our UI is written in XUL, but we moved away from using the plain source and instead preprocess quite a few of our files.
On the one hand, this reduces code size, as we strip license headers, for example. On the other hand, it enables us to do platform-specific adjustments to the UI, mainly the Mac. Josh Aas is working full time to improve our Mac experience, and you'll see quite a bit of improvements in this area.
ED: Will we see Mozilla-targeted programs able to run on mobile devices?
AH: I have seen Mozilla code run on mobile devices. There are occasional screen shots (with digi cam) on the blog of Doug Turner, and we had a live demo at the FOSDEM 2004. The project that does this is called "Minimo."
ED: Is programming for Mozilla still something for tomorrow, or are real businesses using it today?
AH: There is an interesting page on mozdevgroup.com about their customers. IBM is paying Mozilla contributors, and is actually contributing the XFORMS plugin. Google pays a few Mozilla contributors, too. I have read about Yahoo hiring XUL hackers. I don't have more than an educated guess to offer here.
ED: What would you recommend people who wanted to get started with writing applications for Mozilla to read or do?
AH: Go for a read on Devmo. The XUL tutorial (of XULPlanet fame) is worth a read, just as is the Toolkit API section. Download an XULRunner nightly and look at the simple example it ships with. Find a simple application that you want to do and start from there. You can even make your XULRunner application work as a Firefox extension at the same time.
ED: Are there any IDEs for working with Mozilla, or other programming aids?
AH: There have been efforts on and off to create such for years. Right now, there are a few efforts going on again, and I'm a tad more confident that we can come up with something than I was before. Partially, because I work on one of those efforts myself. I favour reusing the IDE backend that Eclipse provides. This is cumbersome to some folks, because Mozilla is supposed to be a platform itself. But an IDE is so much more than that, just the support for versioning systems, editors, highlighting, completion, and so on. I consider writing an IDE on top of the Mozilla platform as a "Joel-on-Software" yourself. There are different approaches flying through the blogsphere as we speak, but I do see good chances to merge those efforts. I hope to have concrete news for my talk.
ED: What attracted you to working with Mozilla?
AH: As I said above, I was looking for a toolkit, cross-platform and free. I was working on a beefy multi-processor 64-bit Sparc machine at the time, which was the number-cruncher of our institute. (A mathematics institute, by the way, completely unrelated to open source software.) So I tried to compile Mozilla, with heavy parallelism, and failed. With much help of Chris Seawood, I filed and fixed a bunch of build bugs, then started working on the build for our XSLT module, became a "peer" on that module and stuck. A typical open source story, I guess.
ED: What's the most exciting feature of Mozilla for you?
AH: The community. I started the European Developer Meetings in Europe back in 2000, and have been involved in the organization of the yearly meetings ever since, to some extent. I'm a member of the board of Mozilla Europe. And it's really the people I'm working with that make it worthwhile.
Our product quality would be nowhere without the huge amounts of testers, who beat our nightly builds around the bushes. We couldn't make a lean and small UI like we did for Firefox and Thunderbird without an active and passionate community writing extensions. When it comes down to product adoption, we would be nowhere without the community and its viral marketing.
Mozilla here is really the Mozilla project, and that doesn't have a clear boundary. From core hackers working full time, to passionate volunteers working just as much as occasional hackers, to localizers, to testers, to users, down to moms, dads, and neighbors just trusting that kid. All of them passionately contribute the best they can offer. Sometimes it's producing some tough heat, but most of the time, it's just cozy "love and understanding," to quote Jimbo Wales.
ED: Which applications would you most like to see for Mozilla?
AH: Looking at the applications I have in mind, and the applications I have seen during the years at FOSDEM, I'm not the right guy to ask. We had Alex Fritze from Crocodile Clips at the time using XBL and SVG to create math applications for schools. Then he created XTF to make that perform well, which is now part of the Mozilla platform and used by the XForms plugin. We saw demos of Minimo. We have seen web applications based on Mozilla and some server editing of Microsoft Office file formats.
I feel quite comfortable with trusting you guys to come up with great applications; I'll focus on coding for Mozilla, and making development with Mozilla easier and easier.
Edd Dumbill is co-chair of the O'Reilly Open Source Convention. He is also chair of the XTech web technology conference. Edd conceived and developed Expectnation, a hosted service for organizing and producing conferences. Edd has also been Managing Editor for XML.com, a Debian developer, and GNOME contributor. He writes a blog called Behind the Times.
Return to the O'Reilly Network