I’ve often said that if you want to see the future of software, look no further than email. It may seem odd to think of email as a killer app since most of us don’t like it very much and because it’s been around for so long, but I firmly believe that email is actually one of the best models on which to base future technology. Here’s why:
- The data is separate from the client. While my email lives safely on a server (in the cloud, as we’re fond of saying these days), I can access it from any number of device-specific clients. On the desktop, I use Mail.app. In the browser, I use Gmail. On my phones, I have clients optimized for touch and small screens. On my iPad, I have a mail client optimized for a slightly larger screen and a virtual keyboard. Email is available from almost every device I own, and every device has a client which is optimized for its particular characteristics.
- Data is seamlessly synchronized. For many years, I used POP3 simply because it was so widely supported, but my life changed the day I switched to using IMAP. Suddenly all my mail, mail boxes, and the state of individual messages was synchronized across all my devices and clients. I currently access my email from no fewer than three devices (sometimes more) every day without even thinking about it.
- Email protocols are simple and widely supported. One of the reasons we can access email from just about anywhere using just about any device is the fact that POP3 and IMAP are relatively simple protocols. Libraries are widely available in just about all languages, and where they’re not available, they aren’t hard to write. Nobody owns the protocols, so everyone is free to implement them, and to build any kind of client on top of them that they want — everything from massive enterprise solutions, to simple notification widgets.
Now think about what life would be like if everything worked like email. Imagine if all your music, videos, documents, contacts, source code, preferences, etc. lived in the cloud, and you could access all your data not just from any device, but from clients specifically designed for the strengths of particular devices. Imagine everything being perfectly and seamlessly synchronized, and imagine if accessing all your data on a brand new device (or through any web browser) was as simple as configuring a new email client: just type in a user name, password, and maybe some server information, and within a few minutes, everything is there, and everything is perfectly synchronized and customized for the device that you’re currently using.
I’m certainly not making the claim that email is perfect, or even all that good, for that matter. And I certainly don’t believe that email itself is the future since things like text messaging, Facebook, Twitter, Google Wave, etc. are decreasing our dependency on email every day. But the model that email represents — data in the cloud, device-specific clients and experiences, synchronization, and open protocols — is almost certainly the future, and the irony is that it’s been right under our noses all this time.