Nordbo's Blog

Friday, September 05, 2008

Augmenting my memory

Do you ever feel like you have too many thoughts in your head? Does it make you cringe thinking about what you need to get done? Can you even name everything that you need (or even want) to get done?

Last year I bought a book that followed the early development of an Open Source program, some people slated it as an Outlook competitor, other's even called it a future Outlook killer. The goal of this program is more than just be a free alternative to Outlook. It aims further than that.

It is called Chandler (http://www.chandlerproject.org). The aim of it is to manage the information you keep on paper or in your head. I'm tired of all the little slips of paper I have in my pockets, on pads, on my hand, in my phone and on my monitor, so to me it sounded like something with a lot of potential and worth checking out.

Chandler 1.0 was just released last month. This means that the architecture is out of beta and stable, not that it is able to handle all your information yet. For instance, it doesn't have a built-in way of handling contacts, although you can keep a note with contact information of a person. But Chandler allows for a highly integrated kind of plugins, and a Contacts module is bound to happen.

But lets take a look at what Chandler _can_ do now.

Chandler consists of a repository that has items in it. Items can be ideas or notes, events, to-do lists. They have a summary attached to them (like a title) and a body of text where you can flesh out what the item is about. Here's a cool thing, though. these descriptions are not partitions, but function more like tags that you know from blogs or YouTube or Flickr's image service.

So, imagine you have an idea for a party. you jot down in a note things like who you want to invite, catering ideas, what to buy, etc. You can leave it at that. Later, if you find a date for the party, you stamp the note as a calendar event, and poof, it appears on your calendar, too, with a start and end time but it still acts like a note. You can set an alarm to remind you of something that needs to be done about this note, and you will be reminded in a really cool way that you need to act in some way to move the party plans forward (more on the reminding later).

Notes, ideas events usually have a state associated with them. Chandler supports 3 different statuses: Now, Later and Done. The really cool thing is that you can sort according to the status in what is called the Triage List. This lists your items and you can sort according to who made the note, if it's starred (haven't quite figured out what to use the starring for), Title of the note, date of the note or (this is the really cool part) according to status.

If you sort by status the Triage list gets split into 3 collapsible parts, Now, Later and Done. Things in Now are things you've said you wanted to do something about now, Later is things that are only relevant later (duh), and Done.... well...

Like I said, you can set alarms on each item. This will not only alert you with a pop-up that the alarm has gone off and link you to the item, it will also push the item into the Now section of the Triage List (change the status of it). So you can collapse the Later and Done sections of the list and be left with a very short list of things you can act on Now. Things you need to be alerted of later will be hidden to keep it off your mind.

All items in Chandler can belong to one or more collections. This way you can stamp your items to belong to work, to a project, something to do at home, shopping, people to call, etc. It works pretty well, although the interface for adding something to a collection in my mind needs a bit of polishing (The ability to add an item to a collection with just the keyboard would be nice). You can click on a collection in a list on the left and then the Triage List only shows items from that collection.

There is also a regular calendar view in Chandler. It shows items that have a date or a date and time associated with them. Items are colored according to the collection(s) they are in. I don't use it all that much except for finding time for appointments. I'm reminded of what I need to do in the Triage List.

Of course there is a search function to find items. It's integrated into the nifty Quick Entry Bar. You type /find and the Triage List displays it as if sorted according to relevance (of course relevance depends on the search algorithm, so keep that in mind). The quick entry bar also has other commands in it.

Anything you type that is not preceded by a command is treated like an item you wish to create with what you type as a summary. When you hit Enter, it is created. Chandler tries to identify times and dates in the summary and from that tries to determine if it needs to be stamped as a calendar event, too. You get to confirm if it understood it correctly. It accepts things like "Next Friday" as a date as well.

Chandler is able to sync with a lot of different servers, using CalDAV and WebDAV, but it doesn't sync all the information that Chandler keeps with these protocols. There is also the option of using Chandler's native protocol, which allows you to sync everything to a Chandler Server.

Another cool thing (if you are using the Chandler Hub service, which is a Chandler Server running on the net) is the availability of an iGoogle Widget to put items into your repository. That way you don't need to fire up Chandler to do it. I really like this option because using the quick entry bar means that your eyes are also on the list of items, which can distract you from what's on your mind. The availability of a widget also means that in Linux you can use Screenlets to put the widget on your desktop. Pretty spiffy!

Chandler is released under the Apache Software License 2.0, in case you care. The program is free to download and use. For what other rights you have, I'll say read the license.

The architecture of Chandler is quite brilliant, but I don't think that many people care about that. I'll just state that it allows for an incredible amount of extensibility.

Bad points about Chandler? It's not the snappiest program ever written. This is in part due to it being written in Python. But given that this usually means less errors in the code, I'm able to live with it (ok, python is my favorite scripting language, so maybe I'm biased :D).

I think that's all I have to say for now.

If you find errors, please alert me to it, and I'll correct them.

Labels: , , , , , , ,

0 Comments:

Post a Comment

<< Home