Marking Time

Ten years ago, in my frustration at being unable to compose documents in XML without marking it up by hand, I wrote the following.

Heaven and hell, chalk and cheese, war and peace: the world is full of opposites, as is your Mac. Take WYSIWYG, even though I cringe at the ugliness of its acronym, and markup languages.

Markup languages are as old as the first attempts to process text on a computer. Your Mac contains quite a few inevitably incompatible examples. Type man man into Terminal’s command line and you will see one of the most primitive: man pages are marked up in the roff language and processed by the groff system, as you can verify if you open one using a plain text editor such as BBEdit.

Later on the scene was TeX, Don Knuth’s peerless markup language for typesetting documents to perfection, which reached its zenith in Textures, an exceptional commercial implementation for Classic Mac OS. Open a web page and you can experience any one of several generations of markup language, from original HTML to the gamut of do-betters that have succeeded it today.

But your browser will probably save its preferences in a .plist file, in unashamed XML. The only major markup language that you will probably not encounter, unless you work in certain specialist areas, is the one ring to rule them all – SGML, deemed too omnipotent and now largely replaced by its simpler son XML.

Before the Mac, when we couldn’t see what we’d get, word processors such as Wordstar were little more than text editors with their own markup languages. As they grew ‘preview modes’ the Mac forged ahead with the revolutionary aim of rendering on screen what it would later coax the printer to lay down on paper.

But far from markup disappearing, it was either buried in proprietary binary file formats, or flourished openly in those circles where output is weighed in kilograms and metres of bookshelf – principally technical documentation. Markup has more recently become dominant in many more markets: if you’re assembling a thick mail-order catalogue from your corporate database, or maintaining the reference materials on your intranet, the last thing that you want to do is lay out every page by hand. (It has also recently become positively popular in versions of the Markdown markup scheme.)

Working in XML is fine once everything has been set up. But give a WYSIWYGer a fine XML editor, such as oXygen, a few doorstep-sized manuals on XSLT and FO to turn their marked up masterwork into something that a user can read on the web or paper, and they will quickly suffer anaphylactic shock. For whilst XML has the power and portability, and excels at separating form from content, it remains as essentially unfriendly as Wordstar was. This is well reflected by the schism in website design, between those who mouse their way through pages in ‘friendly’ editors, and those who code raw and hard.

There was once an application that bridged both worlds: FrameMaker+SGML. Developed lovingly by the folk in Frame, it was swallowed up by Adobe, and never made the transition to OS X. I wrote my PhD thesis using it, and even after more than a hundred pages of complex graphs, double-spread tables, equations, and hundreds of references, FrameMaker+SGML never flinched.

The time has come for a rethink on XML. So long as we can only edit it raw and hard, using cross-platform Java tools, and bludgeon our way through the voluminous intricacies of XSLT and FO, to say nothing of the horrors of MathML, it will remain inaccessible, the preserve of the specialist. Moves such as DocBook can make some issues simpler, but without the underpinning of a gateway application, as PageMaker was for ‘desktop publishing’, it will remain repellent to the rest of us.

If Apple is looking for its next iMovie, iDVD, iWeb, or perhaps more appropriately Aperture, it should look to XML, and doing what Adobe should have made of FrameMaker. For there is no good reason that WYSIWYG and markup should really be opposites at all.

Since then, Apple has let iDVD, iWeb, and Aperture slip into oblivion, and iMovie is looking very tired too. Not only has Apple let this opportunity slip, but so have software giants like Adobe, and smaller developers – except for oXygen, which has inched steadily closer to real usability. Further details about using XML are given in this article.

Lightly updated from the original, which was first published in MacUser volume 22 issue 6, 2006.