I ran across this post today: http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-hacker-news/ The basic story is that the author is refuting the claim that StackOverflow.com could be replicated “easily”.
I think this is an awesome post because it’s a warning to others and reminder to myself that everything is not as easy as it seems. Often we look at an application and say, “I could do that.” Yes, you could. Without a doubt.
Here’s my advice though: Take your estimate of weeks and make it months and turn months into years and you’ll probably be closer to the truth. Even copying user interface and data structures verbatim I think most people would still have a hard time replicating an existing application quickly.
One project I worked on was a QuickBooks-like accounting application. On a four person team. Five days a week. For FIVE YEARS! And we had QuickBooks as the blueprint, if you will, for the accounting side of the application. Guess what? Even though I’ve moved on they’re STILL adding to and modifying the accounting engine. QuickBooks is a moving target and I wish my old teammates luck in striving for it.
Every now and then someone gets a hair up their rear end and brag that THEY could do REALbasic better than REAL Software (because some bug has really pissed them off). It’s quite possible that someone out there is working on an awesome RB clone and someday release it. But don’t expect it anytime soon.
The same goes with claims of “I could easily make the RB IDE do this or that!” If it was easy no doubt RS would already have done it. Let’s face it, software is often a case of the mistakes of the father now make our lives a living nightmare. This is not to knock our forefather developers just that what seemed like the best way five or ten years ago is woefully inadequate in today’s terms and to make it do ‘x’ (which seems easy) isn’t because the infrastructure isn’t there to do it. So the whole thing has to be redone and done so you don’t break backwards compatibility.
Again, sorry for the blog about another persons blog. I hope you find these discussions helpful and thought provoking. Thoughts?