Technobunkum is any information technology concept, from the smallest meme to the largest doctrine, which is misdirected and overhyped. There is a threefold psychological basis for this misdirection and hype. First, compsci is strongly bound to mathematics and puzzles; it's the domain of abstractions, modelling, process, and algorithms. Puzzles are fun and compelling to the human mind, as a kind of mental exercise. Second, it's a very societal domain. The computer has enabled people all across the world to work together, and to keep records of their transactions very easily. This eventually led to social networking sites and user generated content, both very grassroots concepts. Finally, the domain is connected to business and enterprise, so there's a strong financial lure.

These psychological bases can be seen as possible addictions: puzzles, society, and money. Taken individually, they're attractive enough. When combined, they form the “Information Technology Dream”: the idea of working on puzzles with your friends and getting paid for it. I've seen some people attracted by each of the aspects singly and then getting held by the others. Sometimes all three seem to take hold more or less simultaneously, and sometimes not even all three are required to cause a problem.

This psychological environment is not, of itself, necessarily pejorative. It's given us the web itself and all its components: billions of documents, a fast way to search all the data, news sites, better games and ways to play, better ways to study, to work, to communicate. The attractiveness of the three bases has made information technology progress very swiftly, which is beneficial in general. But like any science, it can be used responsibly or it can be used badly. There's a dark side to it, and whilst it's not as insidious as crime or poverty or many other things that it would be more worth speaking out against, it is at least something to be aware of; and it affects information technology people to a staggering degree.

So, some particulars. Consider XML. It's not a particularly good information representation: the XML infoset is a mush of hashtables and arrays, and its serialisation was intended to be a subset of some existing language to leverage those tools. But then everybody wrote new tools for it anyway, and we were left with many useless oddities such as processing instructions and PSVIs. Nonetheless, the XML hype machine went into overdrive, and as a result we have XHTML, XML Schema, XSLT, and all kinds of books and a whole community of people devoted to it. We also have thousands of threads on the arcanest of details concerning it—many of which I've participated in.

It's not that XML isn't useful, it's just that it's become one of the world's largest and most prominent hammers. XHTML has given way to HTML 5 (which has its own problems, but it is the new focus), XML Schema gave way to RELAX NG Compact, and there are still endless arguments about QNames in attribute values and the meaning of URIs as namespaces and so on. There is not, in general, any use for XML for the average information technologst. This is a bold and probably a rather strange sounding claim, but it's true. If you're going to make a large commercial website and have a big technology team, you'd think XML is basically required somewhere. But I challenge you do do without it; and I'll bet you can do it. Even if it just means you're using JSON a heck of a lot, you'll be able to do it, and your system will probably be better as a result.

Apropos of JSON, let's consider Ajax. Ajax was meant to be about asynchronous XML, but it's not really anymore: it's just Javascript done right. It's suites like jQuery, and websites which are dynamic in a way which works with the user. In other words, Ajax is the language of Web 2.0. It's a complex blend of ideas which is difficult to define, but it gives us advances such as Google Mail and Flickr and a few other such things which are truly useful. Even for the general website designer, the whole Ajax/Web 2.0 trend has some trickle down benefits: even I use jQuery in places, where it's required.

It's the same old pattern. There's a use for this stuff, but the hype that it engenders is not just disproportionate to that use, it's a whole new magnitude, a wholly different thing to the technology that it supposedly lauds. When technologies become technologies for the sake of some fun puzzles to work on (think of all the XML philosophy threads), or the sake of fun communities (and cliques such as the WHAT WG, the microformats crowd, Semantic Web people and so on), or just for the purpose of “experts” like Shirky or “tech heros” such as Doctorow to spin out book after book of warm and fuzzy coffee table reading for geeks, then they've outgrown themselves. The technologies become self-serving, rather than means to an end. The ends are forgotten. Hype and misdirection is obviously by its very nature counter-productive.

Now since there are such strong cognitive biases involved, it's very difficult even to see that there's a problem. As with all addictions, the first step is to admit that you have a problem, and some people simply can't break out of addictive patterns, and especially addictive patterns like these which are a) not social taboo, and b) have a better benefit to drawback ratio than drugs or the other well known psychological additions, i.e. those that require medical intervention. Technobunkum isn't an addiction at that level, and it would be very wrong to claim it as being so; but it has negative consequences all the same and still conforms to the same kinds of patterns.

Once you admit that there's a problem, what are you to do? I'm not advocating that people give up information technology, only that they give up the hype and misdirection. Thinking about your overall goals and what biases might be simply distractions along the way is a good idea. When you're participating in yet another pointless XML philosophy thread, simply consider to what end you're doing it, and don't mislead yourself with excuses. This is why I gave up work on the Semantic Web in general: it's one of the most powerful of technobunkums. The Semantic Web-shaped problems that actually exist as primary problems, rather than are made to exist for the sake of addiction to the Semantic Web stack, are fun and compelling and can be used to wean yourself off of RDF. Similar things may be possible with XML, Ajax, the blogosphere, and all kinds of technobunkum.

It also means not thinking of technology in terms of existing paradigms. This is one of the ways in which avoiding technobunkum can have a distinct advantage for the average programmer. If you rely too much on other people's hypes, then you're not being pathfinding yourself. On the other hand, don't fall into the trap of creating a technology for the sake of creating a technology: to attract people to work on it, to solve problems that don't exist. The point is to meditate on that famous adage of Los in William Blake's mythology: “I must Create a System, or be enslav'd by / another Man's. I will not Reason & Compare; / my business is to Create.”

Sean B. Palmer, 29th July 2008