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: A note on agents

Just after writing my last entry, I got two requests to release a version of Catalyst self contained as to run on other people's computer, so I made the modifications and pushed to Github. Have fun! (... and pull requests are welcome.)

Today I am going to make a point about agents.

In general, the complexity of a todolist management system is reflected in its user interface. From ultra simple (literally an unordered array of strings, with easy methods to add new ones and remove existing ones), up to being so complex that it constantly stands in your mental and visual way. The companies (or individuals) making those often start around a simple idea, but then think they have to compete by "adding new features" (tm) and quickly end up with a bloated product. Users of those tools are in the cycle: "Hey look! A nice new little thing, let me start using it", until "Oh shit, that thing evolved to a beast. Can I just get a simple list back?!", "Hey look! A nice new little thing..." ad vitam aeternam.

How is Catalyst different ? The user interface is and will always be ultra simple. The beauty is in the agents, which provide the actual todolist items. You can write them in the programming language of your choice, and implement whichever funky logic you want. They can react to your past activity, the current time of the day, the day of the week, or anything else you might think of (or might be relevant). They act as RSS feeds (new articles of your favourite sites showing up as todolist items), they can give you a view of your inbox (useful to me as I keep my inbox tidy, and any email still in the inbox requires action from my part, and therefore is a todolist item), they can remind you to do things when some circumstances are met, and, last but not least, they can have "state" (some of my items move from one state to another when I click [done] on them, for instance from "sleeping" to "active", because they are time trackers more than todolist items), all this managed within the privacy of the agent, without direct involvement of Catalyst itself.

Catalyst is a (the first ?) todolist management system with a dead simple user interface, the built in notion of priority level (or score), Turing complete todolist items, together with the flat files handling mechanism, because there often isn't anything better than a simple text file for your list of stuff to do.

In my case, I use flat files scatered all over my hard drive for long term planning, while the agents tend to orchestrate my daily life with higher priority / urgent things to do, and as you already know, Catalyst is also where my calendar lives (through the x-calendar agent).

[ add a comment ]