Wed, 04 Jun 2008 00:25:00 GMT
The Internet Operating System (part 2)
My previous post about the Internet Operating System compared the Internet's structure and operation to a stand-alone computer. In this post I want to take that another step further.
I have the feeling that the state of the Internet now is much like stand-alone computers were just before the introduction of the IBM PC in 1981. A lot of the pieces of the PC revolution were there, but no one had quite put them all together. What the PC did was put control of serious computing resources into the hands of individuals. We are now waiting for the Internet analog to this revolution. I think that will happen when people control their data own on the internet.
That data control is not just in the "Data Portability" vision of being able to copy data from one walled garden to the next, but in the ability to store your data in a single datastore of your choosing and that you control completely. You can then allow selective access to to your data by external services that you want to use. I think that Amazon.com's S3 is the start of the kind of service where you could store data. Not that S3 has the complete functionality required to support this model but it could be based on top of S3. Having your own datastore is like being in control of the hard drive on your computer. You load applications and tell those applications what data to work with. In that same way, you could allow a web based service such as Adobe Photoshop Express, to access some photos in your datastore, do some online processing and after it's done, store the results back to your datastore. You can already do this with your photos stored on Flickr and a couple of other photo sites. Adobe's got the right idea but there is no open protocol for that would allow them to reach the photos on my own personal server.
In a similar vein, we have Facebook, Google, Yahoo, Microsoft and many smaller players fighting over control of "the social graph". The "right" way to handle this is to allow me to store and control my part of the social graph and then selectively allow other services to have access to that. There would no longer be a need to give some new tool your account credentials to your GMail, Facebook, and other services. Just point them at your datastore and tell your datastore what personal data that the service can have.
This model really is the holy grail social computing from a user's perspective. It's deadly to a social aggregator's perspective (such as Facebook) as there isn't much left for them once they the user gets rescued from their lock-in. I also see this as a significant component of the next version of the Internet Operating System.
I have the feeling that the state of the Internet now is much like stand-alone computers were just before the introduction of the IBM PC in 1981. A lot of the pieces of the PC revolution were there, but no one had quite put them all together. What the PC did was put control of serious computing resources into the hands of individuals. We are now waiting for the Internet analog to this revolution. I think that will happen when people control their data own on the internet.
That data control is not just in the "Data Portability" vision of being able to copy data from one walled garden to the next, but in the ability to store your data in a single datastore of your choosing and that you control completely. You can then allow selective access to to your data by external services that you want to use. I think that Amazon.com's S3 is the start of the kind of service where you could store data. Not that S3 has the complete functionality required to support this model but it could be based on top of S3. Having your own datastore is like being in control of the hard drive on your computer. You load applications and tell those applications what data to work with. In that same way, you could allow a web based service such as Adobe Photoshop Express, to access some photos in your datastore, do some online processing and after it's done, store the results back to your datastore. You can already do this with your photos stored on Flickr and a couple of other photo sites. Adobe's got the right idea but there is no open protocol for that would allow them to reach the photos on my own personal server.
In a similar vein, we have Facebook, Google, Yahoo, Microsoft and many smaller players fighting over control of "the social graph". The "right" way to handle this is to allow me to store and control my part of the social graph and then selectively allow other services to have access to that. There would no longer be a need to give some new tool your account credentials to your GMail, Facebook, and other services. Just point them at your datastore and tell your datastore what personal data that the service can have.
This model really is the holy grail social computing from a user's perspective. It's deadly to a social aggregator's perspective (such as Facebook) as there isn't much left for them once they the user gets rescued from their lock-in. I also see this as a significant component of the next version of the Internet Operating System.
Tue, 03 Jun 2008 20:02:00 GMT
The Internet Operating System (part 1)
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.
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.