Monday, September 12, 2005

My Hero

10. What are some lessons learned from developing Firefox that you can share with my readers who are working on their own projects?

The things you never think about are the ones driving users nuts. For example, a developer making an e-mail client might spend 6 hours designing the compose window, and 5 minutes hooking up the "Attach" button to the Windows Browse dialog. But it's that Browse dialog that'll give people gray hair over time.

The fact that the dialog is a standard part of the OS is no excuse. In fact, software is often weakest where its developer settled for something prepackaged. Consistency is important, of course, and should always be a factor. But it's your responsibility to make the best software you can, and if you're delegating to the OS without question, your competitors already have a leg up on you. In Firefox, we threw out the Find mechanism applications have used for decades because, frankly, it sucked.

This is the coolest, most insightful comment I've read in a long time. I love it.

It especially strikes a chord with me because where I work, we're seldomly allowed to re-invent dialogs that are standard parts of the OS. On a macro level, I understand why. It makes more sense for us to push off those requirements to the people responsible for the sucky OS dialog in the first place. But on a practical level, such requests get deprioritized very quickly -- people want to build new features, not improve sucky dialogs.

This is why we need Firefox -- and competition in general. Challenge the status quo baby!