Raw: OPML Considered H...awful
Working in an outliner-like domain with IdeaGraph, personally I was thinking of using a not-broken alternative such as OML for representing arbitrary trees. But after a year or so of expecting to need it any day, that day hasn't come. Purpose-built XML languages or RDF vocabularies are much more useful. (X)HTML is far better suited to representing structured documents than OPML. RDF is generally considerably better at representing 'outline' structures relating to resources such as documents or URI (lists). Basically a tree-based system falls down when your data isn't structured as a tree, which is most of the time on the web. I've nothing against trees - they're relatively simple to implement, efficient and intuitive to use.For example, if you're using a tree-based outline, and a channel appears in more than one category, you somehow either have to hack a connection across (can you imagine XLink in OPML?) or duplicate the item. Either way you lose the benefits of using a tree in the first place. But if you use a model based on a general node and arc graph structure (such as RDF) then you can still project trees in the user interface. It's just a separation of model and presentation. [Danny Ayers]
A good article, with sensible sounding arguments. Certainly it's too early to voluntarily accept legacy restrictions on formats used (let's face it; no one, in real terms, uses this stuff yet).
Of more general interest to me was the comment that you can still project trees in the user interface. This is precisely what Corel InfoCentral did before it was given a lobotomy. The model was a graph, the interface presented a classic +/- collapsible tree view. If you expand a node, then its parent appears as a child (all connected nodes are included as children). Expand that child, and your current node appears again. You could do this all day, but you wouldn't, so it works fine.
Let me repeat that, because I think it's important:
But if you use a model based on a general node and arc graph structure (such as RDF) then you can still project trees in the user interface.
Aside: Oh, I've just discovered that the TypePad quickpost window lets me trackback ping the weblog entry I'm quickposting from by selecting it from a list. Cool. Very cool.
Recent Comments