Monday, July 6, 2009

Is the OS the new QWERTY keyboard?

It never ceases to amuse me that the layout of the QWERTY keyboard was first designed to slow down typists. Although we no longer type on typewriters and a more efficient keyboard layout has since been designed, we are still (and probably always will be) stuck with good ole, inefficient QWERTY. The QWERTY is reinforced by hardware (keyboards), software (the default setting in Windows and other OSs), but mostly, it is reinforced by habit: people around the world have grown up typing on a QWERTY keyboard, and we continue to train people today on the layout of the QWERTY. Habits (and cultural norms) are hard to break.

I wonder whether the same analogy holds true for the OS in cloud computing. As I wrote about in an earlier post, in my mind, cloud computing is all about eliminating the low-level tasks that do nothing to differentiate a company’s product – managing physical hardware, testing software patches, deploying new security patches, testing for security vulnerabilities, mounting file systems, etc. Something like 60% of developer time is spent tweaking these things. In a perfect cloud computing world, developers can move up the stack and focus 100% of their energies on differentiating their product at the application level.

That’s what platform as a service offerings like Microsoft Azure, Google App Engine, Force, and others are all about. Even so, I would guess that a huge percentage of developers adopting EC2 and other infrastructure as a service offerings are dragging their QWERTY with them and choosing to build their web apps on a particular OS.

Fast forward a few years, has the OS become increasingly irrelevant or will old habits die hard? Theoretically, the former should be true, but habits (and cultural norms) sure are hard to break. Even so, the early traction of startups like Heroku, Joyent, Engine Yard and others looks promising.