User Centric Development
A decent discussion about user-centric development.
Regarding Question One, this sounds like a basic bell curve evaluation. Using a simple 80/20 criterion, development focus should satisfy 80% of the users. What about the remaining 20% “edge case” users? Likely there is a point of diminishing returns, but I suspect these “minority” users should not be ignored. Likely these users will be vocal. Their needs should not be ignored but probably fall into the category of Advanced users and related features should be accessible in a manner that does not confuse the main core 80% users. For example, this is where the classic “Advanced” button appears in configuration or preferences dialogs.
Regarding Question Two, this has been a challenge with all software since the beginning. Software development begins by scratching an itch. That is, fulfilling a need. This is true with proprietary commercial software too. A difference with commercial software is there is significant monetary investment in the project to finance developers and often in commercial software the developers do not possess decision making authority about the software. Developers do as they are told. With free/libre software the developers have ultimate decision making authority. Developers often do as they please. When a free/libre project grows often a project leader or team is appointed and those people have the final decision making authority. One way or another, developers have the final word with free/libre software.
Free/libre projects tend to favor the 20% “edge case” users rather than the main bell curve 80%.
One nit pick with the article. Despite a focus on usability, I think most advanced Firefox users will argue that the Mozilla folks have failed with usability. I think argumentation of the same is possible for the 80% bell curve user too. A simple example is the fact that a significant number of configuration options are obscurely hidden in the