Bagcheck, a company I’d never heard of, was acquired by Twitter today. In Luke Wroblewski’s announcement of the deal, he lists some of the things they learned in building the startup. One idea that really captured my imagination was building features starting with the command line interface:
We always add features to the Bagcheck API (and thereby command line interface) first. This provides us with a way to start using new things before we invest time in how they’ll look and work in a graphical user interface. In fact, the first bags ever made on Bagcheck were lovingly typed into the CLI character by character. Including my complete mountain biking set-up.
Obviously, we decided creating bags needed an easier solution than pure text entry! But starting with just the essential actions in the CLI gave us a great understanding of how bags could be created and managed in more capable situations. In fact, starting with the API and command line interface always forces us to distill things to their core essence and to understand them simply. What can go in and what will come out? That makes designing more enhanced versions of the same features much easier. We know what they need to do and why.
This reminds me of Josh Bloch’s talk on how to design a good API. In it, he argues that you should start coding APIs by writing a client for the API rather than implementing the back end of the API.
Designing from the API up is similar to designing from the schema up, either way, you’re starting with a data model, although in the API case you’re starting with a data model and verbs rather than just the data structure.
101 ways to save Apple, revisited
Just for fun, in light of Apple’s becoming the most valuable company in the world, I thought I’d take a look at Wired’s June, 1997 cover story 101 Ways to Save Apple. There’s some good advice, some bad advice, and a number of suggestions included to inject some levity into the proceedings.
A lot of the suggestions were to be more like Microsoft and embrace the Windows platform. Apple, obviously, rejected that path and has benefitted greatly from doing so. It’s hard to remember now, but many people thought that Apple should drop their operating system and instead turn to making high end Windows PCs. I think we’re all glad they never went that route.
On to the suggestions on the list:
I’m not the only person who has taken this on. Derek Warren compiled a detailed look back in February. I found his piece after I wrote this one.