30 May 2013

Recently I was reading a blog post by Jeff Moser about the future of programming and how programmers think about the languages they use. At just over 2,000 words, it’s not a very long post. But it included some 77 links, for a word-to-link ratio of 27 to 1—one link for every 27 words. That’s more than one link for every two sentences. (Note: it’s actually a three-part blog post, but since the second two parts suffer from the same high word-link ratio, I’m ignoring them.)

It’s important to recognize that the way we consume information online–hypertext–is different from the way we consume it offline–static ink. In ink, you’re forced to explain yourself or assume your readers know what you’re talking about. On the web, we have the benefit of hypertext. Obviously, hypertext has been there from the beginning and has done as much as anything to catalyze the web’s exponential expansion. But there is great cost in saturating thoughts you’re trying to convey with links to other sources. Many times, it is necessary to link–for example, it would be unfair for me to write this criticism without linking to the criticized post. So it’s clear that I’m not advocating a linkless Web. But consider this sampling of the links in just the first third of Moser’s post:

  • “programming languages class” -> the author’s programming class from Purdue
  • “Scheme” -> Wikipedia article for “Scheme”
  • “latest version of C#” -> a .doc of the C# language spec
  • “lambda functions” -> Wikipedia article for “Lambda calculus”
  • “Plato expands on this” -> Amazon page for Notes on the Synthesis of Form by Christopher Alexander, with title ‘The quote came from the front of this book.’
  • “Phaedrus” -> Wikipedia article for Phaedrus
  • “fanboy” -> Wikipedia article for “Fanboy”
  • “think different” -> YouTube link to classic Apple campaign

Moser even includes a link under the text “Intergalactic Network” to a page called “Internet History”!

My point here is not to single out Moser, to say that links are bad, or to say that citations are unnecessary. But I do think that most of Moser’s links are bad, and are symptomatic of a larger problem that bloggers have, which is that they assume their readers are as invested in their subjects as they are. This is certainly a false assumption. If your aim is to contribute something new, then you need to eschew linkmania and explain what you mean. If you’re not willing to explain what Scheme is, or what a fanboy is, or where and when your programming language class took place, then it’s either (a) not relevant or (b) not necessary. In other words, I don’t care which programming language class you took and I don’t need to be told what Scheme is, because I’m reading an article about the future of programming languages.

From a pure reading perspective, it’s incredibly distracting to have to stumble over a link every sentence or two, because links tease: click me for more information. Sometimes, it’s obvious where the link goes–e.g., many book titles are linked to their Amazon page. Most of the time, though, the reader will have to roll over the link to see where it goes, requiring him to: (1) break his concentration to roll over the link; (2) try to decide whether to follow the link now, ignore it, or save it for later; (3) remember where he was in the text and return to it.

But of course, many links are useful, informative, necessary—so which ones? I think a decent heuristic is: does the link sufficiently enhance the experience of reading the main material, and will more than half of your readers click on it?