by David Kelly
Being a technological optimist, I always watch for ideas that provide more, better, faster, cheaper, healthier, and throw in a heap of wow factor while you’re at it. On the other hand, after observing the progress of technological ideas over a few decades, I am beginning to formulate what I call “The Principle of Minimum Adequacy.”
The principle goes like this: Most new technological ideas reach their optimum implementation in five to ten years, and afterwards merely undergo cosmetic changes with few new ideas to transform them. Examples: cars are still a frame with four wheels and an engine; airplanes still have wings, ailerons, and an engine; and the Internet uses http protocol over a network and displays text and graphics in a browser. The basics of these technologies have been in place from the beginning, and little about those basics has changed since their introductions.
This is not to say these technologies don’t have room for improvement. Maglev cars with minimal friction, personal jetpacks, and neurological implants for Internet connection are just around the corner. Plan on it!
The Principle of Minimum Adequacy comes into play because most successful technologies fulfill their functions well to begin with, which is why they are successful. Major changes are not needed. If changes are needed (and possible), people make them rapidly. Occasionally you get the jet engine thirty or forty years after the first flight, and the technology gets a big boost. The remaining changes are mostly refinement, adaption to taste, and marketing hype.
The same principle can be applied to the use of XML for document publishing. Text is structured in tags, style sheets transform the tagged content to format-specific markup, then a rendering device such as a browser or FO processor creates the formatted output. The results are satisfyingly fast, consistent, and reasonably cheap (well, sometimes…). And it has been that way for about twenty years.
But, for me, the adoption of XML for publishing has not yet reached a jet engine type of transformation, something that gives it value far beyond its basic function of getting people (or content) from here to there. It seems to me that one of the great powers of XML is to free information from being merely text on a page, and to give it other kinds of roles. And this is precisely where I see the adoption of XML for publishing to have slowed down, per the Principle of Minimum Adequacy. XML fulfills its role adequately as a vehicle for publishing text, so the information remains text on a page or browser window.
But I do see the occasional example where XML intended for traditional publishing straps on a jetpack and takes on greater value. Here are a few examples or ideas I am aware of:
- Integration with software and testing tools: XML for a command line syntax not only gets published in requirements and user documentation, but is used to form command line test cases for testing the software.
- Accessibility to Web 2.0/feedback: Chunks of text are structured in a way that allows the audience to add responses to specific pieces of information.
- Dynamic publishing: A field troubleshooting procedure includes logic for conditional flows and structures for the user to indicate procedural choices. The text changes based on choices made during execution of the procedure.
- Automated generation of graphs and flowcharts based on text: Using SVG, well-structured XML provides source for graphics or even animations.
- Customized, self-documenting software and hardware: Software code includes comments; these comments are harvested by publishing software, and documents are assembled for only the software modules that are present at a given installation.
These are not original ideas – but they are ideas I don’t see discussed often in publication scenarios. I’m looking for reinforcement of my technological optimism here. I am curious how much people are leveraging their investments in XML, and what kinds of ideas are out there for freeing information from its traditional role as text on a page.
How about you? Have you heard of any interesting applications for XML-based text, or do you have thoughts for unusual applications? I’d love to hear about it.