During the wonderful 4th of July weekend, I discussed with a friend the widening gap between the world of commercial software development and the world of “advanced technology”. I am talking specifically about Microsoft products here, but I suspect this situation is more widespread.
Software technology is moving way too fast. It looks like in Microsoft products become obsolete the moment the final release gets out of the door, or even slightly before that. If today you complain to Microsoft about a bug in Visual Studio 2008, they will look at you as if you are saying your 20,000 years old stone axe is not sharp enough. “Look”, they will tell you, “we appreciate you buying the axe in Bill Gatestone store 20,000 years ago. But stone axes are no longer supported. We have power saws now. Yes, our power saw product is in beta, it does not have an installer and it occasionally explodes, but when it comes out in a couple of years, it is supposed to be much, much better than the stone axe”.
I am not exaggerating. Well, maybe just ever so slightly. This happened to me more than once. E.g. take a look here.
If you want to create commercially viable software, you must deal with the set of established products. If, however, you want to be a “technology leader”, write magazine articles, speak at conferences and the like, you are forced to live in a world of beta versions and community previews. In that world you are lucky if you get an installer, and an uninstaller that does not crash your machine is more of a luxury than a norm.
This gap is especially wide on the client side, where you depend on the software to “trickle” to the end users. What percent of your web users is going to have IE8 or Silverlight installed?
There is nothing wrong with change, but the negative effect I see is the emergence of two castes: eloys who dwell in the clouds (a little nod towards cloud computing) and morlocks who do actual commercial coding. Speaking of clouds, Windows Azure SDK works only on Windows Vista. Just because some guys in MS felt like it. In their world Windows XP is probably as widespread as horse carriages or steam engines are in ours. But my work computer is Windows XP, my corporate laptop is Windows XP, my home machine is Windows XP. If I want to play with Azure, I somehow need to get a hold of Vista machine. Being a technology leader gets bothersome and expensive 🙂
The bottom line? Let’ s mind the gap. 🙂 We do not want to become neither eloys, nor morlocks, do we?