Tim Berners-Lee Needs Revision

In the movie A Beautiful Mind there is a scene in which a brilliant, but awkward young John Nash has an epiphany in a bar while attending Princeton University. In it, a bevy of young women walk into the bar and all eyes draw on a particular, very attractive blonde. His friends say something along the lines of “every man for himself” and “recall the lessons of Adam Smith, the father of modern economics, ‘In competition, individual ambition serves the common good.'” Nash grows silent, lost in thought and then states “Incomplete…Adam Smith needs revision…” and goes on to explain that in acting with only selfish interests, they achieve a negative result, but in considering the group as well as their own interests they yield the most positive result. In other words, Smith was close, but not quite right as he illustrated in a very simple model. In case you’ve never seen it, you can read the relevant script if you are interested.

As Smith has been called “The Father of Modern Economics,” Berners-Lee has been called “The Father of the Web”. In addition to formalizing the fundamentals that make the Web as we know it possible today, he is the founder of the recognized standards body of the Web, the W3C and in the late 1990’s he posted a series of interesting drafts laying out a future vision of the Web. Particularly interesting among them was one titled “The Evolution of a Specification — Commentary on Web architecture. For much of the following 14 years, the W3C focused and aligned largely along the vision he lays out. Berners-Lee’s insights were brilliant, but his vision ultimately incomplete. Tim Berners-Lee (and therefore the direction/vision of the W3C) needs revision.

Who are you to criticize Tim Berners-Lee!?

Well, no one special really – and it’s not exactly a criticism of the ideas as much as a statement which should seem almost self-evident.

When writing, he frequently references what might or might not work “in the real world” (his words), explains why (pointing to historical lessons learned) and finally proposes some solutions (a grand vision): XML, schemas, XSL, RDF and a giant Semantic Web. For the most part, the W3C has recently shifted away from this focus and back toward something more like the Web we are mostly familliar with.

With over a decade of hindsight, we can leave aside a judgement of “good” or “bad” and state pretty simply that many of Berners-Lee’s ideas presented in this “new vision” just don’t seem to have panned out and been largely sellable as he might have hoped in “the (really) real world”.

So what are you saying?

Very simply, I guess I am saying two things. First, that many of the problems described by and observations made by Berners-Lee all the way back then are still as true today as they ever were:

  • We still don’t have a truly “great” model at the W3C (or anywhere else) as to how we can simultaneously be independently innovative and interoperble. We still don’t avoid the problems he describes in order to achieve standardization, in fact, looking at the record of the W3C, it is my estimation that this process and the models themselves might have gotten worse during that time (CSS 2.1 for example went in and out of recommendation status numerous times over the course of well over a decade). Certainly it seems that there has been a turning point more recently and progress has begun to be made again, but even today the discussions about the actual standard model of how to get from nothing to interoperability and standardization are regular discussion on the W3C (and now WHATWG) lists and in their meetings (the minutes of which are all published).
  • We still dont have the kinds of “great” ways Berners-Lee envisioned for authors to easily express both local and global semantics or to deal with these as well as we’d like to. While I would argue that we are much closer, we still aren’t there.
  • We will don’t have great ways to mix languages in the sense that it sounds to me like he is describing in the Evolution draft.

Second, I am saying that perhaps some of the goals and ideas from almost a decade and a half ago could use review. As one extremely simple example: One that I think could use revision is the model of “partial understanding” as he describes it, because that general philosophy still affects some decisions. In his analogies, they often make perfect sense: If you get a bunch of data, you really only need to understand the bits you intend to use. Obviously. On the other hand, this principle is very widely applied throughout Web technologies and in Berners-Lee’s vision, he imagines that all HTML documents should be readable/largely hold up with a simple text-based browser using an anciently slow connection in some only┬ásemi-connected┬ácountry. While this may have seemed logical in 1998, I know of no site that lives up to that level of compatibility. Indeed, “interoperability” between browsers and versions of browsers is something we consciously choose. A great number of websites would cease to make sense without the CSS that displays them and simply wouldn’t work without the JavaScript that drives them past the initial state. Given his own admitted lack of imagination for just how unexpectedly things will develop in the future, it seems to me unreasonable to expect that a site written to take advantage of those leaps today could usefully be viewed by a browser written in 1998, even with some kind of partial experience. It feels like we could do better by shaping that expectation a little more explicitly so that authors could simply say “sorry, you need to update” or even “here is a really simplistic version of some data for your sad, sad browser – maybe you should update.”

Where do we go from here?

I will be dedicating some future posts to sharing some of my own thoughts, and how some of the projects that I am involved with (like HitchJs are shaped by them) but as I said: I’m really not anyone special, that’s not the point. Regardless of your specialness, I think we could use some new ideas and I propose an active conversatio…. Leave a comment… Write your own post(s)… Tweet your thoughts about it. Use the social media to get some active discussion going if you like the idea: What are your thoughts onhow to revise the vision/model for the evolution/architecture of the Interwebs, standards or even browsers since they are our window to the world as it were?