Firefox is a browser project built on some theories about UI design which its developers hold. This document is a catalog of some of those, presented in a way that talks about how our target audience interact with software.
Users Don't Set Options
While many people do change settings in the software they use, by and large people expect the software that they download or buy to work pretty much immediately after they install it. They do not expect to have to make any configuration changes in order for it to function for them efficiently, they will only make configuration changes when the need arises (that is, when they wish to optimize their browser for a non-standard scenario, particular to their usage patterns.)
As a result of this, all options should be configured by default for the mass market case. Any function that relies on an option to be configured a specific way before it can be useful cannot be considered a mass-market function because odds are that the majority will never configure it.
Who Are We Targeting?
We are obviously targeting people who are sophisticated enough to be able to download and install new browser software, and people who want a more efficient browsing experience than that provided by Internet Explorer. We are not explicitly targeting web developers, Mozilla developers, or Mozilla users, we are targeting all browser users. Our extension mechanism is such that any hard core geek should be able to achieve what they want with our product.
By default, our browser should cater to the person who has a busy life and just wants his or her software to work properly with as little interference as possible. In much the same way as you're not constantly in Microsoft Word's Options dialog box tweaking Auto-Save details - you just expect Word to do the right thing so you can focus on writing your document - Firefox should behave properly, quietly, efficiently, seamlessly displaying web content and assisting users accomplish common tasks quickly. Our users have other things going on in their lives, they do not care about the esoteric details of software construction. They want software that works now, makes them more productive, and keeps them secure. That is the only real reason to abandon the status quo (IE). Our users do not want to invest huge amounts of time learning new commands, new and complicated UI, etc.
Work in progress...