Log in

No account? Create an account

Software as icebergs

« previous entry | next entry »
Jan. 17th, 2009 | 11:29 pm

"How hard is it to build a highly scalable social messaging system? Not hard if you use the right tools. Over the last week and a half, in my spare time, I wrote a Twitter clone in Scala and lift. It's 884 'wc -l' lines of code including comments. It can handle 1M+ users on a two Intel Core 2 Duo boxes (one as the web front end and the other as the message broker.) With a weeks of full-time coding, it could be modified to scale linearly with the number of boxes in the system." - some other guy with a blog

That's rather cheeky, I gotta say. Built a "Twitter clone", huh? Does it persist? Does it backup? Does it have all the various front-ends Twitter does?

It's a form of sophistic insult to the Twitter team. Don't be like this guy and go spouting off that you did a major web app in 884 lines. I strongly suspect anyone who says stupid things like that has never delivered a full-fledged whole product app in their lives.

Here's something a lot of people don't get, outside of Software, and apparently inside Software as well. Making a good app isn't about making the core feature at all.  Most times, the core feature is easy.  It's also usually only 3% of the work. 

Making the core feature USEFUL is the hard part.

The best example I can think of is the iPod.  The iPod's core feature is decoding music and streaming it to headphones.  But that feature is totally useless by itself. Apple created drivers, firmware, a very sophisticated on-device software suite (most likely with sophisticated tools backing it), iTunes (which is cross-platform), a sophisticated content delivery system, a sophisticated and artistic eCommerce store, forums, knowledge bases, firmware updaters...and I'm probably missing 30%.    And that's just the software side of things - don't forget device design, industrial design, manufacturing, packaging, the Apple Store, legalities, negotiations, accessories and licensing.  All of it is done in order to make streaming music to headphones useful.

This kind of braggart software jockey reductionism is childish.  It's actually destructive, in that it promotes a false view of the capabilities of software to the MBAs.

Link | Leave a comment |

Comments {0}