The Cult of the Hipster PDA

There’s an old saying in software development that says that “Every application expands to the point where it can read mail” - even if the software started as a way to get away from reading mail.

When it was first introduced by Merlin Mann, the Hipster PDA was a bit of an anomoly. Its analog, low-tech approach to task management and organisation was something unexpected and interesting. It ditched all of the fancy padding we put around our personal productivity and stripped it right down to the bare minimum. Perhaps that’s why it caught on so well.

For the uninitiated, the Hipster PDA is simply a stack of 3"x5" index cards held together with a binder clip which functions as a notebook, to-do list, calendar, shopping list, whatever you need. Breathtakingly simple.

Over at a million monkeys typing, Douglas Johnson has released a “Hipster PDA edition” of his popular “DIY Planner” pages. In this, he includes

  • GTD quick reference card
  • Covey Planning quick reference card
  • calendar of the next two years
  • few month planner cards
  • weekly planner card
  • a few “day keeper” card
  • “GTD all-in-one” card
  • next actions/agendas/waiting for
  • a shopping list
  • a “finances” list

and a whole bunch of other stuff.

Now, maybe I’m completely missing the point (and let’s be honest, it wouldn’t be the first time), but this is looking more like my packed, hardback diary/planner than the Hipster PDA as Merlin originally described it. It has, in effect, returned a lot of the padding that the Hipster PDA took away. It has, in effect, expanded to be able to read mail.

I’m not trying to say that the DIY Planner isn’t a good idea, because it most certainly is. All of its blank lines and empty tickboxes made me shiver with excitement at being able to fill them in. But it lacks the beautiful simplicity of the Hipster PDA – the very thing that, for me, made the Hipster PDA unique.

Even though it is just a stack of plain paper.

Domestic Instiki

Since we’ve got broadband again, I’m finally getting to play with all the nifty things I’d had ideas about, but no way of executing. The first of these is a local Instiki server at home.

I use this all the time in work for note keeping and simple project management. At home, I’m finding a hundred different ways to use it.

Like keeping track of recipes.

I like to try out a whole bunch of different recipes. Nothing too fancy - I don’t make my own chicken stock or anything like that - but I do try to go beyond the simple food strategy of meat-and-a-tin-of-sauce. This doesn’t always go to plan. The most recent food-related disaster was my attempt at making a chicken maryland, which turned out squishy and odd-tasting. Live and learn.

Using instiki, I threw together a ‘web’ called “FoodWeLike”, where I’m keeping track of the ingredients of the recipes that work for us, as well as simple cooking instructions. This is mainly useful because we have a central repository of ingredients and recipes (instead of trying to remember which cookery book had what), but any web server (or file server) could do this. Instikis is particularly useful because as well as a way to easily edit these, it gives us the ability to easily categorise the recipes any way we like - for example, “We really like”, “We occasionally like”, and “We don’t like”. We’re also able to organise these into weekly meal plans. And, most usefully, plan our weekly shopping run using a page called “ShoppingList” where we can just paste the ingredients from other pages, or update as we run out of something.

And this is just one a hundred ways Instiki is useful in a domestic environment. Well, our domestic environment.

(By the way, I know this could probably be achieved using any wiki software, but I’m specifically choosing Instiki because of its simplicity of installation and also because, right now, I have a major boner for apps built with Ruby on Rails)

Ubuntu

Every couple of days, the hard drive of the G4 I use in work starts ‘clicking’. Well, more like ‘ke-CHUNK’ing. If I’m lucky, my computer freezes for a few minutes and comes back to life. If I’m not, I spend the next half hour or so rebooting until it goes away.

Finally, I’m facing up to the fact that my hard disk is dying and until I can get a replacement, I’m without a Mac to work on. So I’m giving Ubuntu a whirl.

One of the biggest complains thrown around about ‘free’ software is that it’s only free if your time is worthless. The hours wasted getting things configured just the way you like them do add up. It’s very easy to spend an entire day tweaking your desktop instead of just acccepting what you have and getting on with your job.

The guys in Ubuntu seem to understand this - they’ve packed Debian (the smart choice of a Linux distribution) in such a way that they take all the pain out of the installation and day-to-day administration.

My personal experience is that Ubuntu has detected almost everything I’ve thrown at it - sound and video were auto-configured (and in a nice way too, any previous attempt at auto-configuring my video in the past has left me with a headache-inducing 60hz refresh rate and no obvious way to change it). Bluetooth setup was relatively painless (gnome-bluetooth and gnome-phone-manager took care of this). Today, it even auto-detected my USB keyring and auto-mounted it, putting a link to it on my desktop.

But there are also some things I dislike about Ubuntu. For example, the default behaviour for nautilus (the file manager) is a variation on the new ‘spatial’ nautilus. When you go into a child directory, nautilus closes the parent window automatically. I love spatial nautilus, but hate this behaviour. After a little bit of playing around, I found that it could be changed with the following:

gconftool-2 --type bool --set /apps/nautilus/preferences/no_ubuntu-spatial true

Matthew Thomas recently provided a fantastic round-up of other outstanding issues with Ubuntu.

Other nice things:

  • evolution has some really nice new features aimed at increasing productivity, including an ability to create a task from a message with one click
  • liferea has a ‘condensed view’ option for feeds, a feature I’d previously praised in Pheeder. Even better, this is feed-configurable, so you can set only certain feeds to use the ‘condensed view’. Liferea is still my favourite RSS reader on any platform.
  • beagle is amazing - I know that something similar is going to be available in Tiger, but… wow.

But I still miss Quicksilver. Gnome Launch Box just doesn’t cut it.

Tracks and Ruby on Rails

After sitting in my del.icio.us inbox for a couple of weeks, I finally found the time to start playing about with Ruby on Rails. I’ve heard a lot of good things about Rails-based applications, and I’ve started using them heavily (notable del.icio.us and 43 things). However, the real reason I wanted to check out Rails was so I could understand But She’s A Girl’s Tracks.

I first gave Tracks a go a couple of weeks ago, but found that it was missing too many things that I rely on from a task-list planner, such as an ability to view completed tasks on a day-to-day basis (essential for my morning meetings) and the ability to output the task list as an iCal feed (I use iCal to sync with my phone, which doubles as my PDA). I took a look at the source for Tracks, but having absolutely no knowledge of Ruby whatsoever, I couldn’t really understand it (Where on earth is this being called from? Are all these files really necessary?), so immediately set about re-implementing it in PHP, the language I’m more familiar with. I got bored with that project after a couple of hours.

After reading the excellent O’Reilly article (and David Allen’s superb “Getting Things Done”, whose methods Tracks seeks to enhance), I decided it was time to revisit the source of Tracks. Now it makes much more sense, and I’ve already hacked together the “report view” that I needed, and I’m working on the iCal exporter as we speak.

Getting Things Done with Ecco

Inspired by Merlin Mann’s amazing 43 folders, I’ve recently become more and more obsessed with Getting Things Done. This is at least partly due to the fact that circumstances have changed, leaving me with an increased workload and the increased possibility of spreading myself too thin. Using the basic principles of Getting Things Done (or at least, the ones I can pick up from around the place, because it’s absolutely impossible to get my hands on this book in Dublin), I’ve managed to ensure that I’m consistently more productive. And even times when I’m not so productive, I’m still completely focused on what needs to be done.

To this end, I’ve found some pieces of software very useful. First is the Vim Outliner (nice, but too basic for my needs - I feel as if I’m wasting a small-but-significant amount of time wrestling with the software), then there’s TomBoy (will be an indispensible piece of software (especially now that it’s been hooked into Gnome’s new finder-lite), but is still too early a release to be useful for me), and now finally, Ecco.

I read about Ecco on various posts about Getting Things Done. People were saying that they still can’t live without it, despite the fact that it hasn’t been updated in enough years for it to fall into the “ancient history” category, in internet-years. I downloaded it and gave it a go, and found that it almost perfectly suited my needs.

It manages to present the things I like about the Vim Outliner (the ability to “outline” my goals, obviously) in an well-structured way. You can easily throw a goal together, give it a “todo” date (which combines with its built-in calendar to give you a quick overview of your day’s tasks) and easily mark things as done. Once something has been marked as done, it then moves into your “completed tasks” tab, so you can take it out of your TODO list.

It could almost be the perfect piece of software for my needs.

Almost.

My setup here is strange. My primary workstation is a Debian Linux machine, but since a large part of my job includes supporting Windows clients, I also have a Windows 2000 machine on my desk. I have a monitor for each, and thanks to Synergy, I can control both using one keyboard (stolen from an old iMac, because I love the action of the keys) and mouse (a Logitech optical mouse). And this causes problems with Ecc

Because Ecco is quite old, and isn’t quite optimised for today’s operating systems (and kick-ass TCP keyboard/mouse controllers), it barfs every so often. When I give it a date for the TODO, the mouse and keyboard go unresponsive for a couple of seconds. When I click somewhere I shouldn’t, same deal. It’s like Ecco prevents my Windows machine from accessing the network while it’s performing some task. And perhaps that’s the problem - a misconfiguration somewhere that’s causing Ecco to try and access a network share or something.. I’ll try to look into it.

For now, it’s a nasty problem that’s driving me away from Ecco.

Today, as a last resort (and maybe some over-optimism), I tried running Ecco on Linux using Wine. It went well, despite missing some of the features I liked about Ecco on Windows (like the ability to pull in highlighted text from any application), and I would have been happy to live with it, if it hadn’t been for the fact that Ecco crashes each time I try to access the address book in Linux. Since my Inbox is my address book, I rarely use this feature. It’s just knowing that simply clicking on that link would be enough to crash the application I’d rely on most.

Like Chinese Water Torture, it’s enough to drive a man insane.

If you want to try out Ecco, it’s available for free download from compusol

TomBoy

Following on from my previous post about the principle of dorks Getting Things Done (and hoping, desperately hoping that this doesn’t turn into yet another self-help website), comes TomBoy, a simple note-taking application that combines elements of post-it notes and a Wiki.

Although this description belies the power underneath such an application. Simply highlight a portion of text, right-click, and you can create a new note about that particular piece of information.

How well it will fare in the long term remains to be seen. Of all the proposed changes, the only one I can actually see being of any actual use to me would be the plugging into Evolution (even though I’m edging more and more towards Thunderbird and Enigmail as my primary mail client – something I hope to touch on at a later date).

For anyone that cares, TomBoy compiles cleanly on Debian Unstable providing you have the following packages:
gcc
libstdc++6-dev
g++-3.3
libgtk2.0-dev
libgtkspell-dev
make
mono-mcs

43 Folders

Listening to Tim O’Reilly’s talk on Alpha Geeks, he mentions something that I found very interesting: he says he got started on his long, strange journey by simply documenting something that was largely an oral tradition - what it meant to be ‘root’ on a Unix system. By simply writing down what had been passed on verbally from one admin to the next, he started the ball rolling on what has become one of the largest, most successful and best-respected tech publishing houses in the world.

It’s hard to read Merlin Mann’s 43 folders and not think of the same thing. Here, Merlin is simply writing down what others have taken for granted – their productivity habits – and sharing them with others. In most cases, people don’t really appreciate just how effective their habits can be. Or perhaps they just don’t see them as significant enough to share with others. Whatever the case, I can only voice my support for 43 folders (and Danny O’Brien’s slow-coming life hacks), and hope that my self-discipline allows at least some of these habits they are suggesting to seep into my daily routine.

Right now, my routine in work is this:

  • Each day, we have a team ‘huddle’ which, as sexual as it sounds, is remarkably useful, we remind each other of what we were supposed to do yesterday, and announce our plans for today
  • Once the huddle is over, I immediately open up ~/work/TODO.otl in Vim
  • .otl files are Outline files, which work well with the Vim Outliner.
  • I give each actionable item a topic by itself, and each sub-action gets another sub-topic
  • I try to give each action at least one line of a description as to what is involved
  • Once an action is completed, I update it with what was done (e.g. text from an email I sent, a snippet of code I wrote), and ‘collapse’ that item. Because I’ve set Vim to give ‘collapsed’ items a different background, I can quickly scan over it and see what still needs to be done.

Here’s what an entry from last week looks like:

`2004-09-14 Machines for Customer Conference | handed off to JohnB Asset Register for Eamon Service Pack 2 screenshots from Ouzo Mailman archives for Andrew | MHonArc: http://www.mhonarc.org/archive/html/ | Smart Archiver: http://smartarchiver.sourceforge.net/ | Mailman2rss: http://taint.org/mmrss/`

Within the Vim Outliner, this is displayed in a easy-to-follow, colour-coordinated format, and makes a lot more sense.

This still needs a lot of work, but thanks to people like Merlin Mann and Danny O’Brien actually writing down all these things most people take for granted, I’m coming up with all sorts of new ideas as to how I can make myself more productive.


Update October 4th

Okay, so it’s been a couple of weeks. And in those couple of weeks, I’ve been playing about with a few different systems for Getting Things Done. Things like TomBoy and Ecco have both grabbed my attention in a big way (Ecco is so nice, I’m thinking of writing a post about it). But still I keep coming back to my Vim Outliner.

What I’ve discovered

I really only started using Vim since I started my current job. Before then, I used nano, because I mainly wrote text instead of config files and large, unweildy shell scripts. So I’m starting to discover and harness some of its power.

Linking files

My TODO.otl still follows the same format (although I’ve written a shell script to “archive” off the top few entries, so I’m not left with a gigantic text file. However, I’ve found that I can link to external files by wrapping them in square brackets. This has proved remarkably useful for larger projects, ones that go on for a while, with a set of tasks so long that I can’t really keep importing them into my current day’s worklist.

So now, it looks something like this 2004-09-22 Finish Asset Register [AssetRegister.otl] Install laptop for John Doe [JohnDoeLaptop.otl] Remove machines from domain | use PHPLdapAdmin - http://xxxxx Investigate LDAP password policies

To get to the external documents, I simply place the cursor between the square brackets and press Ctrl+], which opens it. Once inside the new external document, I put a [TODO.otl] at the top, so I’ve got an easy route back to my TODO list. This way, I never really have to leave my task list.