May 2009

OmniFocus Review

I've written before about my Ultimate To-Do List Application for iPhone. I was pretty happy with what I wound up with, but it still wasn't helping me much. Writing down your desired actions is only one part of Getting Things Done (GTD); you also need to organize and process things, and a simple list of lists wasn't helping me do that.

So, I've decided to give OmniFocus a try. So far, I'm very impressed. It truly is the ultimate to-do list application for iPhone.

I won't go over the basics of what it does or how to use it. Watch these videos if you want a taste of its functionality:

What makes OmniFocus better than a simple to-do list is that it organizes next actions in two dimensions: by project and by context. A project is some list of actions. For example, if I want to take my wife out for dinner and music this weekend, I might create this project:

  • Take Pebble out
    • Find out what bands are playing this weekend
    • Check with Pebble to see which band is her favorite
    • Buy tickets
    • Make dinner reservations
    • Get directions to restaurant
    • Get directions to venue
    • Call babysitter

That's a lot to do, and this is only one of dozens of projects that are active at any time. But what makes all this stuff manageable is assigning the actions to contexts:

  • Online
    • Find out what bands are playing this weekend
    • Buy tickets
    • Get directions to restaurant
    • Get directions to venue
  • Phone
    • Check with Pebble to see which band is her favorite
    • Make dinner reservations
    • Call babysitter

So, the next time I'm at my computer and bring up OmniFocus, I'll see "Find out what bands are playing this weekend" as the next available action for this project, and I'll (I hope) take care of it. Then the next time I open OmniFocus on my phone, I'll see "Check with Pebble..." and take care of that.

You plan using projects, but you execute using contexts. Contexts are the key to actually getting things done, rather than just leaving those actions languishing in dozens of lists you never look at.

The killer feature of OmniFocus is the synchronization between the desktop application and the iPhone application. I like that I can do all my planning at my desktop, then when I get in my car, I can quickly bring up the Errands list on my iPhone to see what I can pick up on the way to wherever I'm going. Or while in a meeting, I can quickly enter items into the phone and then process them later at my desk.

The downside of synchronization is that it is sometimes slow. My iPhone sometimes takes several minutes to complete a synchronization through MobileMe. You can use the app while it is synching, so the synchronization delay is more of a minor annoyance than a major source of frustration.

OmniFocus is designed to support the GTD system, and while it is adaptable to other productivity systems, adherents of other systems may not like it. For example, it does not give a way to prioritize tasks in the way that Franklin-Covey devotees would like.

It is important to understand what OmniFocus does not do. It is not a calendar or scheduling application (use iCal or Entourage for that). It is a personal organization system; it is not suitable for managing teams. It is not a project-tracking system. It is not a communication tool. It is just a tool for keeping track of all the things you want to do, and helping you do them with minimal fuss.

OmniFocus is powerful, but also pretty complicated. You definitely need to watch the tutorial videos and read the Getting Things Done book to figure out what the hell this thing does. The effort pays off.

OmniFocus is a little pricey ($100 to get it for both desktop and iPhone), but I'm very happy with it.

(Note: This review is based upon version 1.6.1 of the OmniFocus desktop app, and version 1.2.3 of the iPhone app.)

The Skeptics' Guide to the Universe

Twitter Is About Content, Not Contact

Toy Bird

Twitter is getting a lot of attention from the mainstream media. A lot of people are trying it out, but they don't understand what they are supposed to do with it, they don't see any value in it, and they give up quickly.

Many people fall into the trap of thinking of Twitter as a "social network," and so they just follow their real-world friends and people they would like to meet. Unless you have exceptionally interesting friends, this is not going to give you a good Twitter experience. Steve Lawson explains it better than I can: Twitter sucks, so change your friends.

Don't think of Twitter as being like Facebook, or like an instant messenger. Think of it more like YouTube. It is a place where you go to consume content, 140 characters at a time.

Be very selective about who you follow. Don't just follow your friends or celebrities. Follow good writers, especially those skilled at brevity. Comedians and comedy writers are often great tweeters, as jokes fit well in this format. However, don't count on your favorite comedian being a good twitterer: many use Twitter only to plug their appearances or DVDs.

Note that if you follow too many people, other Twitter users will assume you are a spammer or other not-really-serious user, and will ignore you. Being selective is an important part of finding the right "community" within Twitter.

Many Twitter users complain because nobody is following them. Don't expect people to follow you, unless you create really interesting tweets. Nobody cares what you had for breakfast or how long your flight has been delayed. And don't expect celebrities to respond to your messages: they have so many followers that they can't possibly pay attention to what the followers say to them.

For suggestions about how to recognize and create good tweets, see this Washington Post article: Short(est) Stories: The Art of Twitterature Means Making 140 Characters Count.

If you have a group of friends or co-workers who keep in touch via Twitter, that's great. But for most of us, Twitter is best used as a read-only medium. Leave the writing to the people who have something to say, and otherwise just enjoy it.

iPhone Camp Atlanta 2009

Stack Overflow Moderator Voting Now Open

If you are a Stack Overflow user, you should be aware that voting is open for a new moderator.

I personally support Paul Tomblin, who is an all-around cool guy, but I don't think any of the candidates would be a wrong choice.

The Undefined Value To-Do List

I'm happy with how the new Undefined Value site compares with the old Blogger-based site. However, I still have some things to do. I'm a compulsive list-maker, so I'll put my list here.

  • Update Drupal
  • Add syntax coloring for code examples
  • Fix the <pre> style so that scrollbars are present when needed
  • Move old blog content to new blog
  • Move Undefined Value to VPS

The Bottom-Feeders of Software Distribution

When I released my Menubar Countdown app, I posted it to two places: MacUpdate and Apple Downloads.

It has been interesting to see the number of other Mac software download sites that now have Menubar Countdown available. A few have done something of value: for example, Softpedia created their own screenshots.

However, most of the other sites have simply copied-and-pasted the text from MacUpdate or Apple, and put their own advertising and branding around it. This strikes me as being pretty scummy.

Menubar Countdown is freeware, licensed under the GPL, and I have no complaint about them redistributing the app itself. What bothers me is that they copy the descriptions and other text verbatim (which is probably a copyright violation). They don't review the app. They don't promote it. They don't make it easier for users to find it. They do nothing of value; they simply siphon away attention to make a tiny profit for themselves.

Some might say that these other sites are somehow "helping" me by copying my work and pasting it all over the Internet without my consent. I'll refer those people to Merlin Mann's blog post on that subject.

Enabling FastCGI for PHP on Ubuntu

I'm setting up a virtual private server. If all goes well, I'll be moving all my websites from their current shared-hosting arrangements to this VPS.

I started with a minimal Ubuntu 8.10 image and installed all the LAMP stuff. Things went smoothly until I decided to try to enable FastCGI for Drupal. Googling for things like "ubuntu apache php fastcgi" results in zillions of links to suggested methods, all of which were very complicated and required digging through docs. I figured there had to be a simple way to do it.

After a few hours of research, I finally did stumble upon what I wanted. My problem was that I was googling for "ubuntu", when I should have been googling for "debian".

The info I needed was here: Thank you, Michiel van Baak!

(To those of you saying "But you should really be using nginx instead of Apache," my response is "Yes, I know. Leave me alone.")