As I review Jonathan Zittrain’s book, The Future of the Internet and how to stop it, I am struck with a parallel. Jonathan is extremely wary of a new breed of devices that he refers to as Internet appliances (to quickly get up to speed a number of press interviews are available). Among these he lists Tivo and the Apple iPhone. In these (and other) cases what we gain in elegant or eased user experience comes at the expense of being able to innovate.
Compuserve Interface via ~1997 verses iPhone ala 2007
A least a decade later we’ve gotten prettier icons.
He compares these devices to the original Compuserve. The idea of the portal was to streamline the turbulent, confusing mess of interconnected computers with a simplified interface. But if everybody wants intuitive, easy to use appliances why did the Internet win big while AOL is forced to flirt with whatever drunken merger comes ashore?
Zittrain maintains that it was the Internet’s openness - that messy, ruff-n-tumble, anyone can participate nature - that provided more meaningful innovation. This explosion in the unique, the odd, and the unpredictable quickly trumped the closed, safe, and stifling portals. Yet companies continue to maximize short term gain while minimizing long term benefits. Tivo has Linux inside. But write custom code for it to add features and you’ve voided your warranty. Apple has slowly opened a path for developers to get their apps on the iPhone. But they have to be approved by a central authority. [update 7/24 - TechCrunch on Apple’s “New” Walled Garden]
Cloud computing is to developers what Internet appliances are to consumers. Services like Amazon S3 and Google Apps Engine abstract away complexity into a black box (called a ‘cloud’). Requests go in and data comes out. They provide easy to use, elegant solutions to many problems that developers face. That is, until they break. On Sunday Amazon S3 went down. This is ironic because its selling point is that developers needn’t worry about downtime with the infrastructure of the storefront behemoth as part of their programs. Developers were not happy. There was no rebooting of the system. There was no tinkering under the hood. They were as helpless as iPhone users caught in mid-update (the dreaded ‘iBrick’). The App Engine, with the resources of Google behind it has had similar trouble.
On last Friday’s Couchcast, toward the end, I started riffing about how I had similar concerns for Bungee Connect. Bungee abstracts away the ‘hard stuff’ in building applications. Like in a cloud system, applications built are beholden to the hidden inner workings of the platform. And, perhaps most unfortunate, Bungee doesn’t have the resources of a Google or an Amazon. Ted, our guest on the show, mentioned that there will be an open sourcing of certain components. That would help. It plants a closed ecosystem with the seeds necessary to grow innovation the likes of which Bungee currently could not foresee (or have the resources to pursue).
Internet appliances, cloud computing, and “platform-as-service” offerings do have value: they hide complexity. They do so, however, at the cost of innovation. Carefully consider the trade offs before making one of these the critical piece at the heart of your work.