I've been spending a few days at a NIST workshop on Semantic Distance, a gathering that explored the problems of enabling business enterprises to build systems that talk together even though their internal definitions don't agree.
For example, all weblog tools talk about "posts", "articles", or “notes”. But different tools have different names for things, and some details of those things differ. A MovableType article has a title, but a Blogger article doesn't. These differences and mismatches are inevitable, and they propagate to related systems -- syndication formats like RSS, Web services like Weblogs.com and Google, commerce systems like iTunes and Amazon.
Right now, people sit down and argue and negotiate standards and protocols, and then people write lots of code to patch up the gaps between systems. It might be possible to make this a lot simpler, to get computers to write the code for us. But, to do this, we need the systems to explain what they require, and how badly they need it. "Each article has a title," MovableType might say, "but you can leave it blank if you like."
The NIST people have identified a huge opportunity here. XML and the Internet create the opportunity; all sorts of business systems now send the same sort of messages over the same sort of wires. They can almost understand each other. And the semantic Web work shows how we might be able to integrate the ideas automatically.
The problem is harder than the semantic Web, because the semantic Web is chiefly about documents, which stay the same, while enterprises need to integrate processes which are constantly in flux. Yesterday's PDA is today's cell phone, and yesterday's inventory is today's fish wrap. But it's easier as well; we don't have the social problem of getting everyone to write sound metadata. We only need metadata for these enterprise systems, and they get an immediate, tangible reward for their work. If you build it, orders will come.
What on earth was I doing there? I tried to point towards some things that hypertext rhetoric and modern critical theory tell us about the messages between systems that we're trying to translate. Multivalence is not a vice; messages carry several meanings, and the fact that they're marked up with lots of XML tags doesn't change that. Juxtaposing two images creates a third idea in the viewer's mind; montage and collage are important, every link that offers to carry you toward its destination is also leading you away from something else. The meaning is not contained in the text; even if you understand every term in the message, you may not understand what it means. (Here's a pdf of my slides: 16Mb)
I expect that one fascinating outcome of this workshop may be a much closer study of the nature of miscommunication in business and in systems. Much of what we know is just anecdote; remarkable disasters and hilariously memorable mishaps. And we all know that, most of the time, you can get by even without much understanding or agreement. Though our kitchen is filled with relatives who don't know each other, don't like each other, are trained in different kitchen traditions and accustomed to different kitchen equipment, nonetheless the holiday turkey usually does get cooked.
photo: Rebecca Ober, istockphoto.com
This, incidentally, is the wrong way to cook a turkey. Turkeys should be cooked on a kettle grill, slowly. Stuff it with a quartered onion, a quartered apple, and a quartered orange. Don't worry about the snow.