43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

Standard GTD File Format, Anyone?

I've been thinking that those of us developing GTD software ought to agree on some sort of common file format that our apps can export to and import from. I don?t expect that every (or even any) apps would natively read and write this format during day-to-day operations. The app I?m working on is based on the Mozilla platform, so I?m using RDF/XML to save GTD data. I don?t think I?m going to want to switch that out anytime soon, but I would love to provide an export/import mechanism so that folks won?t hesitate to experiment with my app, knowing they can easily get their data in and out of it.

I imagine some sort of XML that?s not as ugly as RDF/XML would be a good idea, but another plain text format would work too. Ideally, it would be human and machine readable. Given the nature of the data, I don?t imagine this would be a problem. Also the format would need to lend itself well to various ?interpretations? of the data. Some programs out there deal with due dates, and others do not. Some programs deal with nested projects and others do not. It would be best if any given program could easily extract whatever data it needed and safely ignore the other bits. For example, the app I?m working on will not support due dates but it should still be able to import actions with due dates assigned to them by another program.

Just wanted to plant a seed here. If anyone knows about a GTD file format that?s already being developed or used, please do tell.

dew's picture

Some things on the fringe...

Some things on the fringe that ought to be addressed:

  • Any list (project, context, etc,) with zero items
  • Two or more lists or items (next action) with the same title

I suppose that even a CSV or tab delimited file would be extensible if the column headers are labeled with standard strings. So if your program doesn't know what a due-date is, then it simply ignores that column. The same goes for XML attributes.

XML can imply structure:

But then you end up repeating actions. Unless you give each action an ID and then have each list be a container simply listing the actions it contains. Each action then has another few lines identifying it elsewhere, refering it's ID to actual data. This is exactly what my RDF/XML setup does. I used it mainly because that's "the way" in Mozilla, but it also makes some sense. Thing is, it's ugly as heck. And also, a rather obscure way or storing data.

I thought many times while figuring out how to get my program to store data that I would be much better off with a relational database. I've even heard David Allen (in the recent interviews with Merlin) say that a relational database is good fit for this kind of data. It may be a good way to think about the data, but I think storing it ought to be simpler than a MySQL dump.

Okay, I'll wrap this up soon :) . We're dealing with small amounts of data here, so I think redundancy isn't the worst thing in the world. Also, if part of your file becomes corrupt, it would be nice if you didn't loose all your data. And that makes me think about http://microformats.org. Any solid format would probably lend itself well to the creation of a coresponding microformat.

Boy am I long winded. Ideas?

 
EXPLORE 43Folders THE GOOD STUFF

Popular
Today

Popular
Classics

An Oblique Strategy:
Honor thy error as a hidden intention


STAY IN THE LOOP:

Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed

Cranking

Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »