Wednesday, October 31, 2007

Turtles All the Way Down

I had a dream last night about the protocol stack. Now, don't get me wrong, I love the idea of the protocol stack, but it wasn't that sort of dream.

Did you ever read George Polya's How to Solve It? I read this book when I was young and it introduced me to the idea of a heuristic--a generalized problem-solving approach. Polya's book has descriptions of a long list of heuristics, it's pretty amazing. You and I spend a lot of our time trying to make sense of complicated situations. Heuristics can help order the problem and suggest a solution approach. The idea of the protocol stack is one of my favorite heuristics.

Why was I dreaming about the protocol stack, aside from the usual warnings from my unconscious to get a life? The protocol stack clearly shows that each platform is an application, and vice-versa. For instance, a web site is an application on a platform: the web browser. The browser is an application on the HTTP platform. HTTP is an application on the TCP platform, etc., all the way down the stack. (And, to those who say there must be some bottom layer that is pure platform and not application, I say "very clever, but it's turtles all the way down.")

When I was at Prodigy, some twelve years ago, we were in the middle of the switch from closed network to open network. Prodigy as an application was forced to become Prodigy as a platform. Prodigy had to reinvent itself as an ISP.

This change slightly preceded the change from web browsers being "closed" to "open" (they were never quite as closed as the walled gardens of Prodigy, AOL and Compuserve, but there major players certainly tried their hardest to make HTML proprietary and otherwise embed their version of the browser as the standard.) It seems the each layer of the stack starts closed and becomes open.

So, the dream was about openness climbing the stack, starting way down and working its way up. The physical/data link layer (telecom) was closed and became open, then the network/transport layer, then the session/presentation layer. Since then openness has been climbing the application layers (the OSI model, since it's a network model, doesn't bother to subdivide the application layer.)

What happens when a layer opens? First there is a huge amount of activity and attention. Then it becomes commoditized and disappears from sight. Fifteen years ago I followed the gyrations of the data link layer with great fascination: wondering when SS7 would be rolled out, would ATM or packet switching win? Huge investments by the telecoms were at stake. Then decisions were made, a path was chosen and I couldn't tell you now who runs the backbones and how. I don't need to know.

So, here we are, several tiers into the application layer, talking about social networking opening up. The New York Times reports a rumor that Google is trying to organize an alliance of Everyone But Facebook to create standards for application developers. This illustrates a general principal: once application openness becomes a virtue, there is a race to be the most open, resulting in a commoditized landscape of open platforms. There must be people at Google smiling at the collosal joke they just played on Microsoft: gaming them into valuing Facebook at $15 billion and then turning around and showing it up as AOL circa 2000.

The opportunity now moves from the commoditized platform up one tier, to the applications that ride on the platform. In this case, the widgets.

No comments: