Lazycoder

30Sep/051

OPML the new CSV file?

So far, as a developer, I haven’t seen anything in OPML that I can’t do with a flat text file. OPML defines a few VERY generic tags, but all of the examples that Dave provides at the spec site include very problem domain specific attributes and tags in the generic tags. (see the playlist example, what does “f=” mean there? It looks like it defines the title of the song.If I’m trying to parse this electronically, where can I find that definition? Answer, I can’t find it in the OPML file. I have to read the file using my beady little eyes and then build an outliner to handle it.). In the presentation example, he’s just using the outline tag as a delimeter. You could do the same thing using a CSV and a reader set up to parse extra commas as an indention.

Everything in the spec from “expansionState” to “WindowRight” should be removed. Expansion state could be moved to become an attribute of the outline element. It looks to me that everytime you add a new node, you have to change the numbering in the Expansion state. The WindowRight, bottom, etc.. is just bizzare to have in a data file. Why does the data care about how it is presented? Shouldn’t it just carry the information to me and let me decide how I want to view it? Lets say I want to scroll an OPMl list across the ticker at GMA in Times Square, how does WindowRight, etc… help me there?

I don’t know if I’d call the OPML format “crappy” anymore than I’d call CSV or a tab-delimited file “crappy”. It’s just too generic to really be of any use and I’m afraid too much of Daves ego is tied up in it to allow much change. I could be wrong there.

Filed under: General Leave a comment
  • http://www.intelemedia.com brian

    I agree. You should never mix the data and the layout in the same container. OMPL should be simply a container/transport of the objects themselves, and then there should be another supporting xml based doc that describes how the documents should be displayed. That way the displayed can be handled on a local level while the documents can be global.

  • Pingback: Lazycoder » 2005 » October » 01