Looking for a remote web / back-end engineer?
You should check out my resume (PDF) and give me a call.

On having a mission

The cranium of a good developer is filled with ideas for new applications. Most of them tend to bounce around with little energy and eventually succumb to entropy. Some ideas are made out of bouncier stuff and eventually reach escape velocity, at which point they are launched down the arms and funneled out the fingertips. You can tell just how cool an idea is by the speed of typing relative to the developers average words per minute.

A short while later there’s a working prototype, and, should things go well, a fully fledged app will follow. But, most of these apps have no goals, no mission in life. Sure they do something, hopefully well, but for the most part they’re like teenagers, and, like most teenagers, they’ll either figure out what they want to do in life or wander around aimlessly until they figure out what they want to do, start doing something nobody cares about, or simply keel over dead.

But what if they knew what they wanted out of life?
Your, application’s mission is it’s heart, it’s driving force. What is it’s purpose in life?

Google’s mission could be “To be the world’s best search engine.”, but how is that going to drive Google forward in any meaningful way? Where’s the vision? No, Google’s got bigger goals than that. Their mission is “to organize the world’s information and make it universally accessible and useful.” Admittedly it’s not a terribly rousing mission but take a second and think about the implications of it. To do anything useful with “the world’s information” you first have to have it. Just imagine what that means for it’s infrastructure! And how about making it useful? Well, that requires tools. Making it accessible is a combination of incredible search technology (we are talking about all the information in the world here) and tools that can handle the various types of information: text, video, audio, various forms of structured data like schedules, locations, etc.

Flickr ’s mission could be “The best place to store, sort, search and share your photos.” but honestly, how lame is that? Their mission is to be the “eyes of the world “:

That can manifest itself as art, or using photos as a means of keeping in touch with friends and family, “personal publishing” or intimate, small group sharing. It includes “memory preservation” (the de facto understanding of what drives the photo industry), but it also includes the ephemera that keeps people related to each other: do you like my new haircut? should I buy these shoes? holy smokes - look what I saw on the way to work! It let’s you know who’s gone where with whom, what the vacation was like, how much the baby grew today, all as it’s happening.

And most dramatically, Flickr gives you a window into things that you might otherwise never see, from the perspective of people that you might otherwise never encounter.

Flickr’s mission is all about vision, maybe a little to much so because it’s so non-specific. Stuart Butterfield obviously has a good grip on how it affects them, but anyone else reading just the mission wouldn’t really get it. But that’s ok. What’s important here is that there was a mission and that the people behind it understood it’s implications. What good is it to be the world’s eyes if nobody can see through them? Flickr is driven by it’s mission to build tools to let you see through those eyes.

But missions don’t just help you plan. They help keep you on track. Every nifty feature you want to add to your app should be run through the filter of your mission. Eyes aren’t about statistics or value or anything like that. They’re just about seeing, and that’s why you won’t find any analytics or ways to earn money form your images, or anything else like that on Flickr. If your app’s mission is to be “The easiest way to do X” you have to ask yourself if that new set of 20 different configuration options actually make things easier for people or just serves to confuse or intimidate them?

So build your rough prototype. Get that initial burst of creative energy out. Then, sit back and ask yourself what it really wants to be in life, and let that drive every new feature you add and provide you with the confidence to cut out everything else .