Essays on Design and Development
- Unity of Interface
- This essay exhorts you to keep in mind what we perceive to be Mozilla's greatest strength that it uses the same interface for the same task, regardless of how the service is implemented on the other end. We believe that consistency in the user interface is a big part of what made Mozilla the success that it is today.
- This document explains what Internationalization and Localization (I18N and L10N) are, and why they should matter to you: why it's important to write code that is localizable and works with all languages, and how the existing infrastructure in the source can help you do this.
Topics that may be found here in the future will include:
- Cross-platform code
- Why it's a good thing; an appeal to not fragment the user base with gratuitously system-specific improvements; why "it works for me" is not a long-term plan for survival. (For technical details, check out the C++ Portability Guide.)
- An appeal to add infrastructure before adding features; suggestions on how one can do both at the same time; how to write a good API. (For technical details, check out the Extending Mozilla document.)
- Backward compatibility
- Why keeping old web pages (and code) working is of utmost importance; how to create a new API without breaking the old one, and why you should care; why mom and pop need your help more than the developers of the world.
No doubt many of you will see these as obvious and we will be preaching to the choir; and that's great. The purpose of these essays is to lay out those tenets we believe to be most important to the goals of this particular open-source software project: to produce code that is of the most utility to the largest number of people.
Contributions of editorials are, of course, welcome. If you would like to write one, let us know.