I had been a Firefox fan for as long as I could remember. When it first came out, I thought its simplicity, compared to the other stuff *cough IE*, was brilliant. Firefox made browsing easy. But over time, they kept on adding more and more stuff to it. After a while, Firefox became slow and dragging.
When Chrome came out, its speed was amazing. So, like some of us, I converted. Sure, Firefox 6 is now just as fast, easy, and have some awesome features too. But if those things are just marginally better (arguably), it will be really hard for me to change my habits.
I think there are some lessons we can learn from this.
If your original intent is to make something easy and fast, then once you’ve accomplished that, you’ll likely ask, “what’s next?”
Instinctively, most of us will think “more features”: “Oh, if we add this, it’ll be cool.” “Hey, can we put this in? This guy really wants it.” “Look at that feature our competitor got. We should have it too.” … something along those lines.
But the more features you add, the more *stuff* will come along with them: more UI elements, more code paths to process, more of data to parse, more of … everything. Overtime, it can easily turn into this sluggish big monster that you originally vowed to fight against. By the time you realize it, some of your early beloved supporters are already long gone.
So every time before you want to make it “bigger and better”, ask yourself, “will this also make it simpler and easier?”