Recent events involving Tivo, Real Networks, and eBay are a reminder that right before our eyes, the "inter" is being taken out of "Internet."
Although some people might argue this point, the "inter" in "Internet" is about interoperation. For the longest time, prior to the commercialization of the Internet, when I thought of the word Internet, one picture in my head was of all these highly dissimilar nodes that found a way (some way) to interoperate with each other over standard communication protocols. I don't think most people have any idea of the complexity involved in the series of interactions that it takes for their PCs or phones to do something like request and retrieve a Web page from a Web server. Today we take that interoperation for granted. But it's really quite extraordinary and I can assure you that when the engineers first got just one building block of that very complex transaction interoperating, it was an exhilarating moment for all involved.
I remember giving classes on the so-called 7-layer OSI stack of protocols (today, OSI means something very different) and how the Internet wasn't just about the interoperation of machines that were somehow physically connected, but how it was also about the interoperation of those layers (even though it was never about the actual 7 OSI layers) and the abstraction that resulted from such an architecture.
Pick your example (there are many). But for me, back in "the day," the fact that an Ethernet network-based DOS computer could converse in "3270" (a terminal emulation protocol) with a Token Ring network-based IBM mainframe controller using TCP/IP as the lingua franca of data transmission between the two was in many ways an anthem of interoperability. The way the TCP/IP layer insulated the 3270 layer (it could just as well be the HTTP layer today) from the specifics of the physical layers (Ethernet, Token-Ring, etc) and vice versa helped me to really grok how layered models work, why interoperation was so important, and where the opportunities for layering and abstraction existed in other models (eg: the Web services stack).
Although some would argue it never conformed to the 7-layer OSI model, the Internet was every bit about layers and interoperation. On top of the TCP/IP layer ran protocols that are just as important to us as Internet users today as they were yesterday when they first arrived on the scene. FTP for file transfer, NNTP for Newsgroup access, SMTP for email, and SNMP for managing network devices are just a few of these protocols that have stood the test of time and that continue to be core protocols of the Internet. The protocol of the Web (HTTP) is of course the 800 lb. gorilla of Internet these days but who knows what it will be in the future?
Once you understand how layered models work, pretty much everything else when it comes to internetworking falls into place. For example, when you see the result of some Internet transaction (eg: the retrieval of a Web page), you can also visualize most of the interoperations that were required under the hood to deliver that result. Call me geeky. But it's fun -- fun like erector-set fun -- to think about how everything works together.
These days though, it's also a disappointment. If there wasn't an actual 7-layer stack at work back in the early 90's, there's certainly 7 layers (if not more in some cases) now.
There's another key difference between then and now. With some exceptions (but few), back then, most viewed the layered model as an opportunity to participate in not just one open ecosystem, but a series of them. If you wanted to be an Ethernet device maker, participating in the physical layer was relatively easy. Embrace the 802.3 specification for Ethernet and no one was going to stop you from participating. A layer or two up in the stack, the same went for the Simple Network Management Protocol (SNMP) and the opportunity for developers of network management consoles to participate in that ecosystem (which, with a management function, essentially oversaw the rest of the ecosystems).
But somewhere along the line, the opportunities to participate weren't enough to satisfy those looking to make a buck. And so, the goal became (and continues to be) to somehow control or own a layer in the stack. And, if you can't control an existing layer, just add a new one on top, make up the rules for its interoperation, and, if somehow, that layer gains cult status on the Internet, the new way of doing business is to take the "inter" out of Internet.
As said earlier, there are a variety of standard application protocols on the Internet: FTP, NNTP, SNMP, SMTP, HTTP, etc. We could argue that there's no such thing as an auction protocol. But is that really the case? Visualizing the stack as layers, somewhere half-way up the stack, we have TCP/IP on top of which runs HTTP (the Web) on top of which runs eBay. And just the same way that TCP/IP insulates HTTP from the physical connectivity layer (eg: Ethernet), the eBay layer could be said to insulate the applications that run on it. For example, although it's more of a switch to another TCP/IP application than it is a layer on top of the eBay layer, the ability of buyers and sellers to chat with each other in the context of an auction listing clearly fits into the notion of layers and interoperability.
But unlike the layers below it, eBay has a firm grip on the Internet's auction layer and interoperation with live chat layers that aren't sanctioned by eBay (as Skype is) is prohibited (Skype is a subsidiary of eBay). Auctioneers loyal to the live chat service Jahjah learned this the hard way when eBay removed listings featuring a graphical Jahjah button designed to initiate a conversation between sellers and interested buyers. This wasn't the first time the provider of an alternative to one of eBay's services was tossed out the door. Google's CheckOut service, and alternative to eBay's PayPal, was given a similar boot last year.
If the trend continues (and it will), it isn't hard to imagine the rise of different, non-interoperable Internets. Yes, PayPal and Skype interoperate on the eBay protocol. And perhaps there will come a day where participation in some sort of Google-driven buyer-seller marketplace will interoperate with CheckOut and gTalk. The danger lies in the two marketplaces never interoperating. To the end user comes the suffering. You'd need Skype to interact with eBay sellers and gTalk to interact with Google sellers. Imagine if you needed different FTP clients to access different FTP sites. Or different NNTP clients to access different NNTP newsgroups. Or different Web browsers to access different Web sites. Oops. You do. Now you get the picture.
Lest you think we're not heading there, allow me exhibit #2: a deal between TiVo and Real Networks that allows for the playback of content from the latter's Rhapsody service on TiVo boxes. Though slightly different in terms of the target market from the eBay example, architecturally, once you understand the notion of layered models, the basic idea of exclusivity is the same. Perhaps a TiVo competitor like Apple will come up with a similar architecture whereby some TiVo-esque device like AppleTV can gain on-demand access to some Rhapsody-esque service like iTunes. Oops. That's been done too. Just try connecting AppleTV to Rhapsody or a TiVo box to iTunes.
Trivial as these case studies may be, this is the direction we are heading. That fate is virtually assured by the wave of consolidation (eg: though old news, eBay acquiring PayPal and Skype are very good examples) that's taking place. After all, why acquire something that's aligned with your business if you're going to allow substitutes to be snapped in just as easily. Can you fault eBay, TiVo, Real, or anyone else for doing what they think is best for their businesses? It's the current conundrum. The return on investment in commodity protocols isn't good for shareholder value. Consider, there used to be a TCP/IP stack provider called FTP Software that was badly marginalized by the inclusion of TCP support in operating systems like Windows.
"Snapped in. "
I've been waiting throughout this entire post to use that phrase. That's because the future of the Internet (call it Web 2.0, 3.0, mashups, or whatever you want) is about snapping things in relatively easily. Actually, not so easily because at the rate we're going, it won't be about the future of the Internet. It's about the future of a bunch of Internets many of which will never meet (and most of which will force us to make choices we'd rather not make).