This blog is highly personal, makes no attempt at being politically correct, will occasionaly offend your sensibility, and certainly does not represent the opinions of the people I work with or for.
Catalyst: The art of the todo list

I gave myself a nice new todo list few nights ago. Only the UI needed to be made (Ruby+Sinatra). In fact this is the web version of a command line tool I have been using for... a long time. Anyway, I called it Catalyst and the code can be found on Github. The visuals are Trac inspired, but more than Trac, it's really the no-nonsense simple logic of the display that I like.

Each line comes with a [done] button what does the obvious thing, and sometimes with a [show] button that opens the file or url if in fact that item was a file or an url. The red part is what I need to do today (starting with the list of appointments I have today), the orange part is what I should ideally do today but it's not a big deal if I don't, the white part is my entire calendar, and the black part is a thousand long list of stuff I need to have a look at (articles, websites, technologies etc...) but rarely get a chance to (their priority level cycle on a sine wave for added fun).

While being at it, I can't deal with the grid day/week-based calendar views I see people using. Time is one dimensional, my calendar is a finite ordered set of points, my calendar is a list of points from nearest to far away, I don't get why people would break that simple geometry with non sense "week views".

Otherwise, what makes Catalyst different, is the fact that, at least when red and orange are involved, most of those items are not written by me but automatically generated, by a small collection of agents I have developed over the years. Lucille, the aggregator, collects json objects generated by those agents and feeds them to Catalyst. When I click [done] on an item, the agent corresponding to that item, is notified.

Easy, simple, no fuss.

Follow up: Catalyst: A note on agents.