A Django site.
February 15, 2008

Hans Fugal
no nic
The Fugue :
» 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:

Synopsis

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.

February 6, 2008

Kevin Kubasik
nonic
For Once I Oneder
» Gnome Twitter Applet

Gnome-Twitter LogoSo I've started following and using twitter far more than I was before. Its really a quite awesome and addictive service, and while I have noticed dozens of slick ways to update twitter, there aren't many easy ways to track your personal Timeline. I decided I wanted a more notification oriented system, so I started to hack apart the gnome-blog applet, and make a little twitter daemon who checks for new updates and uses libnotify to show some lovely notifications. Now it really only monitors feeds now, but I'm planning on hacking up some basic posting abilities in the near future. Anyways, an obligatory screenshot is below:
Gnome-Twitter Screenshot

Anyways, I'd like to vent about 3 problems I see with the state of things at Gnome.

1) Autotools! Blah! NO ONE LIKES THEM! I honestly spent about 50% of my time getting the build to work right, it was painful and a major hurdle to getting started. I know we haven''t really found something that offers the same functionality, but seriously, can't we just beef up waf or something? Not saying I have a solution, just saying we need one if we are going to continue to attract new developers.

2) Bonobo/Gnome-Panel/Applets API: Overly complicated, a pain to test/setup. What are we doing? When KDE4 just dropped the most intuitive widgeting system around on us (and Google Gadgets is popular on other platforms) why can't we take some hints from them? Don't get me wrong, some applets are best written in C and bound to a factory process. But really, for everyday hacks and widgets, we NEED a simple and powerful system, and soon. Webkit provides the perfect engine for us to work from, but we don't have to go with XHTML/CSS/JS. One of the new open Flash platforms is fine, or Moonlight could be awesome. Really, there are tons of options, the pyro desktop could be a start, I'm open to ideas.

3) Project Space: This will probably never be an official Gnome desktop project, but its kinda cool and fun, and I had to host it at Google Code (My only other real option was launchpad) we should really set something up like what fdo has with some personal Git or Hg space to store relevant, but not-yet-ready projects. The wiki is enough for pages on theme, but we need some hosting.