A long time ago I read Neal Stephenson’s essay In the Beginning…was the Command Line, an absurdly fun romp through the evolution of the modern operating system (at least up until the time it was written, it’s a bit dated now), in which he compares Windows 95 to a crummy station wagon, classic Mac OS to a cheesy Euro-sedan, and Linux to free tanks that no one wants. It’s a kind of ode to a hacker’s love for good tools, and discusses how interfaces have evolved from the command line as their ancestor.
We here at Zetetic are still big fans of the command line, which makes sense given our line of work. We prefer many good tools that do simple things that we can link together to do very powerful things. That’s the legacy of many of the oldest command line tools that are still in heavy use today, and the driving aesthetic behind some emerging tools like Git. (If I’m speaking somewhat generally here, it’s because I wish to avoid alienating readers with grotesque demonstrations of piped UNIX commands ;-)
On the web this aesthetic seems to be driving a lot of innovation as many online services, including ours, are striving to be good at some very specific things and to offer easy integration points with related services. More and more, services are turning to Twitter to provide users with mobile features and access, which makes a lot of sense – not everyone can afford an iPhone, but almost everyone has text messaging capabilities in their pocket and a service like Twitter makes a useful transport (when it’s working).
And thus, we come full circle back to the command line, in the year 2008. How long will the honeymoon last? Hard to say, but I’m going to put my money on it being around until the next drastic change in how we physically interact with computers.
Those of us who are real big nerds and power-users tend to have keyboard shortcuts for everything and we like to avoid using a mouse to get around an interface quickly. We don’t want to go to the web to fill out a form and click ten things, we don’t want to navigate an interface with our fingers on our phone’s web browser.
What we want is to tell some service or system, in very short, simple terms, what to do for us. And if you’re like Stephen and I, you don’t really want to spell everything out, you want to provide just the barest amount of information needed so you can move on to the next thing.
We embraced this notion at Zetetic immediately when we first built PingMe, an interactive reminder service that provides a text based command line interface. In normal human-speak, you can send simple commands in a text message to create reminders while you’re on the go.
When building Tempo we saw that this capability was easily adapted to time entry. There are numerous ways to enter time with Tempo, but the most powerful, quickest, and probably the least understood so far is the command line. It’s a format of input that allows for mobile time entry by e-mail or twitter (giving you SMS and IM by extension), and it’s actually available in the web interface, too, shown below:
Instead of waiting for a web form to load and clicking through the interface, looking for what is desired, the user gets the immediate satisfaction of telling the system what’s up, but with only the text “1 hr design meeting in NYC @project @tag”. It’s faster, and there’s a sense of empowerment there. It’s like the difference between working within a bureaucracy and a small company. Less waiting around for everyone else, more personal responsibility. You don’t get a list of what tags or clients you have, but you already know because you use them all the time.
While folks aren’t flocking to the command line input form in our web interface, a lot of Tempo users are really taken with submitting their time entries over Twitter and E-mail, and are using this command line syntax. While I think we’re the first time tracking service to provide this kind of interface, we’re certainly not the only ones who think the idea is a good one, and that’s a good sign that we’re on the right track.