I have read many many articles that suggest startup developers should be conscious not to aim for perfection early on – they will get the perfect product that will be irrelevant by the time they finish it – but to pay close attention to architectural choices. What they do today may be one day in one direction or another, but can be millions and months or years of work to change down the road. Peter Drucker once called this the difference between doing things right (engineering) and doing the right things (product). Nonetheless, even Drucker would say when you do the right thing, do it the right way. Not the perfect way, but the right way.
Just this morning, I saw a perfect example of this. The Blackberry PlayBook, RIM’s feeble attempt at doing a tablet, for some unknown reason, had no email. Email, the killer app for Blackberry, the one thing they normally did better than everyone else, was not on their one-time-only attempt to push into tablets. That is almost like Apple, who is famous for user experience, having one attempt to get into productivity apps and releasing one that made saving files nearly impossible, and much harder than vintage 1984 WordStar. Worst was, no one could explain why or how RIM could release a product without email.
Today, I finally saw a reasonable explanation. Apparently, RIM’s mail server cannot support more than one device per user account. If you already have a BlackBerry, you cannot have another one, or a PlayBook, for that matter. Obviously, someone made this architectural choice very early on, either as part of a conscious security decision or, more likely, because someone said, “no one has mobile access to email, we are giving it to them now, how could they possibly want more than one device?!?!”
The architectural decision you make early on have an enormous impact. Make them right.