Geoffrey Meredith
Thoughts on Technology

Blog

For many years, there has been talk about the coming "Internet OS".  Given Google's current dominance on the internet, may feel that it will come from them and often call it "The Google OS" (not to be confused with Goobuntu. Google's internal Ubuntu based OS).  The thing is, the Internet OS is already here and has been for roughly 30 years.  TCP/IP is fundamentally the internet operating system.

In the stand-alone computer world, an operating system is the software that manages and ties together the hardware components, usually via hardware drivers.  The operating system exposes APIs that allow application programs to interact with the hardware as well as the lifecycle of the applications themselves. Over time, computer operating systems have grown by adding layers over this fundamental "kernel".  These new APIs provide rich, event driven presentation layers such as Windows and Mac OS.  They also provide such things as file systems, security, etc.

Since the 70's, TCP/IP has been the operating system kernel that has tied together the various bits and pieces of the internet, (computers, switches, routers, etc.).  This has allowed for a variety protocols to be developed that are roughly the equivalent of an operating system API.  In fact, from a software point of view, most programs use the protocols via an API that implements the protocol.  Once the TCP/IP kernel was created, a set of protocols developed on top of it.  These are the APIs of the Internet OS.  Those protocols started out with basic file transfers but soon added SMTP email, remote login, and more recently, the HTTP web, VoIP and to some extent, instant messaging.  [There are lots of other protocols in there but most haven't become mainstream or, as in the example of DNS, we don't often think of them until they break.]

An operation system is not all that useful if it's just a bunch of APIs.  You have utility programs and shells to allow people to interact with it and you have major applications such as word processors and spreadsheet software.  In the same way, we have SMTP protocol clients such as Outlook and Thunderbird, HTTP clients such as Internet Explorer, Firefox, Safari and Opera, etc.  We also have lots of utilities such as ping, traceroute, etc that provide and direct interaction with TCP/IP.

So what we are living with now is Version X (no one has been keeping count) of the Internet.  What people are eagerly awaiting is development of new protocols that will allow us to get beyond the "old" models of interaction on the internet that involve email and web pages and basic media viewing.  We've gone a long way in creating great interaction models with these basic protocols.  Web 2.0 has started to give us insight into what the future possibilities are but we need to take these ideas and encode them into internet scale protocols.

I've follow up this post with some ideas about what I see as the emerging, next generation technologies and protocols that will make up the Internet OS Version X+1.