« Oatmeal

Cli poetry

Poetry and command line input are two ends of the linguistic spectrum that don’t often meet. In 2013 I found a static site generator called Bonsai. It was love at first site…sight.

$ bonsai --help 

bonsai, tiny and beautiful 
    --plant [NAME] 

Bonsai’s commands are concise, memorable, and dare I say, beautiful? I came to bonsai from Jekyll. Jekyll’s commands are straightforward and fairly self explanatory. Industrial in feel. Given only a list of Jekyll’s commands, e.g. new, serve, build, etc. you can arrive at a reasonable understanding of how to use it if you understand the basic concepts behind a static site generator. Bonsai is different. Its commands make sense, but aren’t necessarily self explanatory…they need to be learned.

Even so, I loved bonsai because using it felt like interacting with a poem. Bonsai’s commands are terse and appear alien in the context of a terminal window. Digital haiku.

I don’t use bonsai all that much these days (mostly because I loathe maintaining a ruby environment), but I think about it all the time. Partly out of a desire to replicate bonsai’s poetic command syntax and because I’ve been wanting to fiddle with designing command line UI, I put together a simple script to catalog ideas, IdeaVault.

I set out to design a minimal UI that was both easy to learn (aka intuitive) and poetic.” My aim was to come up with a set of commands that are memorable while also not being run of the mill, or…computer science-y.

Here is what I settled on:

$ ./.ideavault --help 


  Idea Vault, forget fewer things. 
       idea         Save an idea 
       remember     List all ideas 
       forget       Delete last idea 
       --help       Show this message 
       --version    Version number 

I’ve been using the script for a few weeks now. I’m pleased with it, but it is by no means perfect. I am most certainly going to continue to explore this style of interaction design. Maybe I’ll read Amber Cases Calm Technology as a next step.