org-mode In Your Pocket Is a GNU-Shaped Devil

· 1047 words · 5 minute read

If the iPhone has helped me accomplish one thing, it has probably been to make it easier for me to stay away from Emacs.

It works like this:

It is not controversial to assert that Emacs is an environment all its own. You can find libraries and packages that allow Emacs to acknowledge and talk to outside environments, so it’s not a closed environment, but it’s different enough that there’s some fiddling involved to get it chatting with the outside world.

The iPhone could also be considered an environment all its own, but it’s an environment built with an eye on a broader context. iPhones have a pretty easy time doing things like talking to iCal or Outlook with a few button clicks, for instance. Now, unlike Emacs, there’s a point with the iPhone where no amount of grunting or straining will matter, and if you want it to talk to something else nobody else has bothered to make it talk to, there’s an SDK you can download.

All that said, when Emacs and iPhone can both respond to a particular requirement with “there’s an [app | elisp package] for that,” the iPhone variation will usually involve a quick download and three or four fields in a configuration screen, tops.

When I got an iPhone, I was a pretty heavy Emacs org mode user. The smartphone I had prior to the iPhone was a BlackBerry, and the BlackBerry never really talked to my Mac on any useful level: lost contacts, extra contacts, a new contact for every phone number I had listed for what had once been a single contact, crummy calendar syncing, forget about bookmarks syncing, etc. etc. etc. Because the BlackBerry sucked for me as a Mac user, and because iCal was anemic when it came to todos, org mode was able to fend off everything.

I won’t go into a lot of detail about org mode except to say that it’s neat. You just open a “.org” file in Emacs and start typing using a pretty simple notation. For instance …

* PracNet

** TODO Look at reviews: can we get user information to the front page? (ASP)


** TODO Look at inside pages: make a toolkit for callouts that can fit into the CSS


When that text appears in an Emacs buffer in org mode, it’s nicely color coded. A few keystrokes make it easy to cycle between “TODO” and “DONE” or some other status.

As with all things Emacs, it’s very customizable.

Then the iPhone came along and promised me that if I would accept a few small tradeoffs, it would sync up with a lot more of my stuff: bookmarks, addresses, e-mail, etc. etc. etc. I’d have all that stuff in my pocket, and when I returned home my Mac would automagically commune with it to learn what had changed in my absence.

org mode fell by the wayside, and the little ecosystem I’d created within Emacs crumbled because it was no longer a place to live … just a place to visit when I needed to push text around.

So MobileOrg strikes me as fascinating and horrifying at the same time. All it does is this:

You save your Emacs org mode files on a WebDAV server, load MobileOrg onto your iPhone, and you’ll have org mode on your iPhone and it’ll all sync up, just like Remember the Milk or ToodleDo or any of the other todo services that have “an app for that.”

“If you are a MobileMe user, you already have access to a WebDAV server: iDisk,” says the MobileOrg site in a manner I cannot help but read as insinuating.

“Sucker … walked away from Emacs and even took the extra step of slurping the MobileMe kool-aid thinking it’d harden your resolve against ever returning. Well … fine … keep your precious iDisk … it will become the tool of your re-liberation.”

Less than two years ago, when I was venturing forth from org mode and getting to know the iPhone as a way to keep all my Stuff in sync, MobileOrg would have had me at hello. Now it just gives me the shaking fits.

With Emacs, you don’t just go “la la la … I’m gonna add org mode back and call it a day!” You think to yourself, “I love org mode. I wish there was an easy way to turn an e-mail message into a todo …” and the next thing you know you’re dealing with how to configure GNUS.

Then you think “All my calendar stuff is in Google calendar … how can I get it into my org mode agenda?” and that means you’re off reading this guy’s page and just getting angrier and angrier.

Then you go in the kitchen and make a drink, and while you’re making it and calming down you think to yourself, if I’m doing all this stuff in Emacs anyhow, what would it hurt to follow Twitter in Emacs?

Now you’re not drinking because you’re angry … you’re drinking because you wonder what happened to you and it makes you sad. But you’re drunk, so it seems like a perfectly good idea to build an entire Web site using nothing but Emacs because then you can get a LaTeX version of it for if the asteroids hit and their radiation destroys all HTML. And having decided to do that, part of you thinks about how glad you are you have org mode, so you can organize the lengthy process of making sure you never have to leave Emacs again.

It’s knowing what’s in store for me as I sit here with MobileOrg on my iPhone and the necessary WebDAV share all set up that makes me read this and just want to spit nails:

At its core, Org-mode is a simple outliner for note-taking and list management. You can learn the basics for using it in five minutes. This may be all you need, and Org-mode will not impose more complex features on you.

That’s right … because org-mode is just a collection of lisp running in an editor. It cannot impose more complex features on you. The genius of org-mode is that you will eventually impose more complex features on yourself.