While reading some retro computing books and doing some of my own Apple ][ hackery, I stumbled over a common thread between these old systems and the appeal I first saw in XML: users and developers can get up close and personal with the underlying technology.
On the Apple ][, as I’ve written before, programmers and users had direct access to the machine. The various command lines and interpreted BASIC weren’t separated from the hardware by much more than convenience. Everything was accessible, and developers (including the developers at Apple) took advantage of that immediate accessibility to perform strange tricks. (It’s remarkable how rarely my Apple programs crashed, considering the unprotected environment in which they ran.)
In XML, data and data structures are exposed as text. Anyone with a decent text editor and a bit of knowledge can go into an XML document and make whatever changes they like to it. You can break the document, making it not well-formed, but you can also extend it in ways that its original authors didn’t foresee but which are useful to you.
As it turns out, of course, a lot of people only bought Apple ][s to run programs on them, and a lot of people only use XML to trade information between applications, never tinkering with the data.
Still, having that option of tinkering opens up a lot of possibilities, if people care to take advantage of them.
(And yes, I’ve talked about implementing a simplified XML parser for the Apple ][. I hoped to have it done in time for April Fools’ Day, but obviously I didn’t.)
How much do you want to be protected from your own data?