Crème Rappel
People doing creative work, e.g. programmers and grad students trying to write survey papers (ahem), do their best to get into the zone. Once there, the challenge is getting out of the zone at the right time. I've missed more classes and busses and meals than I can count because I was in the zone.
Another problem is that this business of trying to remember when to get out of the zone steals precious productive energy from the brain. So much better if you can rely on something external to remind you of things to be done, so you can literally lose yourself in the work.
The traditional approach is to program your calendar application to bring up an annoying dialog. This has several drawbacks. The UI is cumbersome. It's calendar-centric; you have to make a calendar entry to get an alarm. I don't know about you but I'm not inerested in entering the bus I intend to catch into a calendar. Entering a random event (e.g. take the bread out of the oven) is more trouble than it's worth. It's just the wrong way to do it.
Another approach is to use a watch with a timer. It's a bit faster and certainly more temporary and anonymous than the calendaring app, but it's limited to one event only. Something better is needed.
I've tried a few reminder apps but never really been pleased with them. The closest I've come to one I like is Pester. It comes really close, but I find it lacking for my needs. It's too cumbersome to enter events (although the author obviously put effort into streamlining it—I just don't need all those options). I need something lightning fast and completely keyboard-based, or I won't bother. Too many unnecessary keystrokes to enter an event in Pester. The reminders are annoying window and/or voice. Voice is ok, but too easy to miss (if away from the computer for a moment, or the music is up too loud, or if the volume is muted or too low). Annoying reminders are too annoying—I don't want an important thought in the zone interrupted by an annoying reminder that insists on being attended to before I can return to working in the window I was using. (If I tab away from the annoying reminder it will stay hidden below my windows indefinitely and won't do its job).
Enter Crème Rappel. The little reminder app with a silly French name. Crème combines the notification power of Growl, the scheduling prowess of at, and a no-frills quick-entry command-line UI. Voyez:

The growl notifications are sticky, so you have to acknowledge them before they go away. But they're not annoying; you can continue to work on that thought until you have a few cycles to spare. They won't get hidden behind other windows. You can configure Growl to play a sound whenever a Crème Rappel notification happens. What you can't hear in the screenshot above is that the text of the window is also spoken using say, so even if you're not looking you'll get reminded. The only thing that's missing I think is a snooze button, so it can go away and taunt you a second time. If anyone has any ideas…
The requirements are Growl, of course, growlnotify which is distributed with Growl in the Extras folder, and configuring your mac to pay attention to the at queue. If you need help with the latter, see my previous post on the matter. Crème Rappel is waiting for you to download it. Do not disappoint.
Here's how I use it in my life. Every morning I have a little planning session with my own self. I look at my calendar, figure out what I need to do and where I need to be. I set up my reminders, it looks something like this:
$ creme
1325 teach lab
job 44 at Fri Feb 15 13:25:00 2008
1642 bus
job 45 at Fri Feb 15 16:42:00 2008
^D
Now my mind is clear of remembering that stuff, as long as I'm by my laptop. Throughout the day, if I need to remember something say 15 minutes in the future, I do something like this:
$ creme +15minutes stretch my legs
Or more likely, I enter the time directly, since that's less typing. (One day I'd like to make this a real application with much nicer time parsing than what at handles. I should be able to type +15m, not have to type +15minutes. But this is the simplest thing that can possibly work, so it's good enough for now.)
For more details on using Crème Rappel, run creme -h. To configure it for your own needs, just hack at the script. If you think up a really neat enhancement, please let me know.
Oh, and if you like the idea but you use Linux, take a look at modifying the script to use Mumbles. Theoretically you should be able to do it easily, but I wasn't overly impressed with the manpage to the mumbles command-line event generator (in particular, I didn't see a way to make it sticky, nor to set the icon but that's just bells and whistles). Oh, and don't forget to make sure the frequency with which at jobs are run is enough for your needs. If you get something that works, please send it to me and I'll try to incorporate it into the same body of work.
5 months later:
I like creme. Thanks
I am trying to play with date and I am not able to setting up the notification.
Could you give me and example of how to set up a notification for July 28th 2008 starting at 00:01?
I am entering: 0001 July 28 2008
Fri Jul 04 00:01:00 -0600 2008 (1775)
What I am doing wrong? Thanks
5 months later:
Hi Eduardo, you need quotation marks: