Born from Firefox
- — 07 February, 2008 09:30
Laggy performance and "bloat" are criticisms that have been lobbed at more than a few applications built with the Mozilla toolkits. This may in part be due to the complexity of the codebase and the specialized skills required to master building with them. Says Flock's Stark: "Gecko is perhaps a little more difficult to work with than various other codebases like ObjC for OS X and .NET for Windows.
"The codebase isn't completely optimized for performance to start with, but it's not horrible by any means. Performance issues probably have more to do with new code added, which tends to be less mature than the platform itself. For Firefox, it appears that poorly-written extensions contribute to slow and memory-intensive behavior. One of the reasons for integrating features into Flock was to allow the package to be tested and optimized as a whole."
Nassar of Miro agrees but feels it is an acceptable trade-off for having the flexibility of an XML document-based UI: "For many projects, the advantages outweigh the performance hit. In our case, it made embedding a browser for the HTML part of our UI easy, and it made the thin chrome around our HTML-based interface easier to code, because we could leverage a web designer's skills. It didn't affect performance much, since we use HTML/CSS, which is slow anyway."
The Flock developers found that the simplest solution for dealing with issues related to the Mozilla toolkit was also the most non-technical: Collaborate with the Mozilla development community and make your presence positive within it. There is a finite number of people who really understand how to work the Mozilla platform well. It is a lesson he and his group learned early on.
"Flock started out as a less-than-exemplary citizen in the Mozilla ecosystem," he admits, "but every step we have made towards better representation in the community has come back to us in the form of strengthened relationships and better overall knowledge of the platform. Relationships with experienced folks will probably help you avoid some of the more difficult areas of the codebase."
It is this community which, Songbird's Lord enthuses, contributes to "history in the making" for the Mozilla development platform:
"You have to ask yourself: How the hell was Firefox so successful in the first place? How did it manage to get 400 million downloads? It is a little slower, and it is a little bloated. No company was supporting it. There was no marketing dollars. I think it really is [that] the open source, open standards, open web approach is the safest bet you can make [for] a single vendor solution."