XML (by )

For ages I've been considering writing an egotistical "ha ha I was right" post about how, back in the day, I was the devil's advocate on the XML-DEV mailing list for continuously bickering about how people kept hyping XML as a data interchange file format, rather than as a document markup language; while nowadays, the idea that XML is better than various alternatives for data interchange is no longer widespread, and many consider it somewhat unpleasantly heavyweight compared to JSON, YAML, CSV, and so on.

Seriously, sometimes people get the idea that XML is lightweight and simple - "it's just text, plus angle brackets that make up elements and stuff" - but they don't realise that a standards-compliant parser has to have a hell of a lot of character encoding logic; compliant parsers must reject documents containing Unicode characters not in an extensive list, must accept various different character encodings (yet a valid XML document may use ANY character encoding, meaning that a standards-compliant parser is not guaranteed to be able to decode a standards-compliant document), etc. And that's before we get into the higher-level semantics of What Do Namespace URIs Mean? and Should I Use Attributes Or Child Elements? and Does Giving Each Element Or Attribute An English Name Make XML Self Documenting? and so on.

Uhoh, I just started to rant. Sorry. The point of this posting is meant to be that I was going to have this big long rant about all the problems with XML as a data interchange language (although, for the record, I quite respect it as an actual markup language; XHTML and DocBook are nice), and how I was actually accused by an XML fan of being part of a conspiracy of folks who were pushing "inflexible complicated nonportable binary formats" as being better than XML purely because we recognised that XML was the Wave of the Future and would destroy the market for our software (alas, I've yet to find a link to that message in the XML-DEV archives, perhaps partly due to XML-DEV changing list host - or was it an offlist discussion? Can anyone remember it?)

...but as I was preparing my big XML rant, I came across a much better-written (meaning: less bile-ridden) writeup that lists pretty much every problem I have with XML for data.

So go and read that instead, and leave me to mutter darkly.

Although I can't resist quoting:

The Web as we see it has stagnaged since Microsoft wiped out Netscape. But all of the most innovative emerging technologies on that front are XML-based: RSS, SVG, XUL, XForms. It is way too early to say that XML didn't change the Web. Give it five years.

...from 2002, nearly 5 years ago, when I suggested that XML wasn't going to change the Web as we knew it - RSS is widespread, SVG still needs a special browser plugin, dunno about the others, and the Web looks pretty similar to me.

Splay trees, compression, encryption, and embedding (by )

There's a little-known data structure with some useful properties; the Splay tree.

It's quite a useful data structure in its own right, but it also has interesting applications in data compression, and cryptography...

Read more »

Integrated Life Management (by )

I used to keep a todo list in OmniOutliner, with the help of an AppleScript that sucked up completed tasks into monthly archives, so I could easily tally the Time Spent column to generate invoices/timesheets for hourly-rate work.

However, then one client set up their own task management and timesheeting app, so suddenly I had to juggle their system for that client's tasks, and my own system for tasks relating to other clients, my internal projects, and personal tasks. Without one integrated list, it was then hard to produce a single prioritised list of what I should do next.

However, there was trouble even before then; lots of little requests to do work come in by email. I either do them there and then, reply with a reason why not (such as asking for more details), forward the message to delegate it - or flag it as a todo and come back to it later. However, those flagged todos tend to get lost amongst the drifts of spam and old emails. I really wanted a button in my mail client to turn an email message into a todo item. Most ideally, I'd want a RT instance, to manage correspondance relating to a task. But again, that would not be integrated with my todo system.

Read more »

NEON (by )

NEON is the user interface system for ARGON. I've not designed what the UI will "look like", since I think that would be a stupid thing to do - different people need different UIs, especially when they have differing hardware (think mobile devices, wearable computers, and interaction devices for the blind, in particular). But what I have been designing is the UI architecture, by which applications will expose their interface in such a way that different UIs can map them to their available hardware.

Anyway, I've had some pretty similar ideas to Tuomo Valkonen - who has an idea called VIS. So I finally dropped him an email detailling my thoughts, focussing on how they differ from VIS: Read more »

Applications versus Documents (by )

Applications suck.

Many individual applications suck, yeah, but the concept of applications as they're implemented these days inherently sucks.

Read more »

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales