BOXES & WORDS

Thoughts on design, life, and general balderdash by Jonas Downey.

Tips for quick and flexible design prototyping

This article was originally published at netmagazine.com. With their site in flux, I’m republishing here for posterity.

For the past several months at 37signals, I’ve been working on a new app called Know Your Company. At the beginning of the project, we had a lot of ideas, but we weren’t sure if they would gel into a cohesive product or not.

To find out, we built a functional prototype. During this phase, I stayed mindful of how I approach design problems. I wanted to forget my past tricks, build things better and faster, and try crazy stuff outside of our comfort zone. Here are a few tips I picked up along the way.

Start with the essence

When you’re first starting out, the sky’s the limit, which is both exhilarating and overwhelming. Narrow down by identifying the core of your idea. What’s the one thing that’s so important, the project couldn’t exist without it? That’s what you should work on first. Start exploring and see if it even has legs. If not, regroup and start anew.

Focus on what it does, not how it looks

Conceiving ideas is hard and fiddling is easy, so you might lose your mojo by working on unimportant details too soon. Be disciplined, focus on capability and avoid distractions that slow down your progress.

We fell into this trap. We accumulated too much styling in an early version, and started wasting time debating it. Realizing our folly, we switched the entire UI to plain black and white to ensure we were working on the real problems.

Hang loose

Once you have distractions under control, play it fast and loose. Try your wildest ideas first. You can always fall back to something more conservative if they don’t work out.

We always like to experiment with weird elements — interesting shapes, animations, colors, or layouts. Forget what’s been done before and do something different. Look for real world inspiration.

Follow interesting paths

Ideas build on themselves. One idea leads to another, and suddenly you have a diverse pool of things to try.

Often these evolved ideas are stronger than your first ones, so don’t be afraid to change course for a few days. You might end up with a final set of features that’s entirely different than your original vision.

Throw it out

Many early explorations are junk. That’s healthy. At one point we trashed thousands of lines of code. Don’t get attached to what you already built - be critical, let it prove its worth, and relentlessly cut anything that isn’t working.

Do Repeat Yourself

When you’re working on a production app, optimization and the Don’t Repeat Yourself principle are important. But for a prototype, some duplication can be beneficial.

Let’s say we’re working on two similar features: messages and notes. Those interfaces and behaviors are similar, so you might be tempted to optimize right away and make them share CSS styles, markup, JavaScript, etc.

But maybe next week we’ll decide that messages should look or work much differently than notes. Or we might axe the messages feature altogether. Then all that optimization work was pointless.

Keep things decoupled until you’re certain they’re sticking around.

Fake it

A prototype should be as real as you can make it, but don’t go nuts. If something is too hard to build, stub in examples and get things as close to real as possible. (My early measure of “too hard” was anything that took more than an hour or two to figure out.)

As an example, at first we didn’t build authentication into the prototype, we just pretended there was a logged-in user.

Keep the momentum going and review often

Working on new stuff is fun, but there’s also no obvious deadline for when you’re done. So keep hustling and cover as much ground as you can. If you hit a lull, get out of it quickly by reconvening and deciding what’s next.

I also stayed motivated by watching my daily commits. I like to see a lot of progress every day, and Github’s profile page is great inspiration for keeping the streak going.

Mop the floor when you have free time

When you’re moving fast, trying ideas, cutting features, and stubbing in examples, things can get messy in a hurry. Take occasional chances to weed the garden.

We like to keep a “Chowder” list in Basecamp for minor problems that need attention. It’s the perfect list to tackle when your creative juices are tapped out, or if you’re waiting for someone else to finish some work before you can move on.

Know when to stop

At some point, the prototype needs to get real. This time we waited a little too long and had polished too much before calling in a programmer. This made it overwhelming for him to jump in cold. A good lesson learned – prove the concepts as fast as you can. If you’re confident the idea is strong, then get to work building with a real production crew.

So that’s what I’ve learned this time around, but the creative process remains a mysterious beast. What tips do you have for taming it?

A message from some far off star

My grandmother died 17 years ago, due to complications after heart surgery. I was 16 then.

A few days ago, my mom gave me a letter that grandma wrote to me before her surgery. I didn’t know this letter existed until now. Receiving it almost 2 decades later, as a grown adult with his own family, somehow made it even sweeter and more impactful — a shot directly to the heart. It’s the best letter I’ve ever received, and some of the best advice. Though it’s a private note, I wanted to share her wisdom with you too.

Jonas -

That last letter you wrote to me was so wonderful. But then, you have always been wonderful and dear to me. I know that you know this -

I wish for all 3 of you happy years ahead, and compassion and caring and faith in others and yourself. Love and be a caring and dear son as you have always been. For your closest family will be the strongest and most loving part of your life, including your wife and kids to come. Peers come and then go. Though it seems they will always hang around, somehow this isn’t the case, and within a fairly short time they are scattered here and there. So it is your family who will always be in your corner.

And so will I, from some far off star!

I love you

Love - Gramma

What my daughter taught me about worrying

My daughter is an intense person. She’s curious and imaginative, introverted but outwardly compassionate, wise but silly, and deeply emotional. In her four short years, she has taught me more about my own life and character than I will likely ever teach her about hers.

But all those wonderful traits don’t come without a cost. Her sensitivity leads to frequent bouts of worrying. We don’t live a particularly stressful or troubling life — as careful guardians of her well-being, we’re purposeful about limiting her exposure to grown up problems.

So her worries are largely focused on simple matters. When she was younger and lost a toy, she jumped to absurd conclusions: “Is it under the house? Under the fridge? Is it in a tiny corner? In a vent? In the wall?” She worries that her mother has left the house without her knowing. She worries that her betta fish has died when it’s not moving. She worries that the stuffed animal she wants will be sold out. She cares about everything, even the flaked-off bits of polish from her painted fingernails, so she must carefully save them from an uncertain fate. And the list goes on and on.

Sad cat.
A worrysome text message.

These issues aren’t uncommon. She’s learning to manage her feelings and her level of control over her environment. These are healthy steps that will help her cope with bigger problems later.

But helping her through this phase has made me reconsider what we think of as “grown up problems,” and how we handle those problems. Trivial worries don’t go away with age, they just multiply. Adults worry about a tremendous number of things, many of them far more insignificant than the lost toy that’s theoretically stuck under the refrigerator.

Think of all the things, big and small, that probably concerned you today:

  • Which shirt should I wear? Do I look presentable enough?
  • Global warming is going to be awful.
  • Uh oh, I’m running late.
  • The lawn needs mowing.
  • Hey, I have new Twitter followers! I’d better think of a smart tweet.
  • What’s going to happen 15 years from now?
  • Am I getting enough done? What do others think of my work?

…and THAT list goes on and on, and on…

How do we deal with these worries? Some, we internalize. Others, we act on. And some, we need help solving. But regardless of our ability to manage them, why do we allow this crap to consume and distract us every day?

As pompous adults, we assume that our age and experience has granted us a righteous view of the true world. We’re eager to instruct our kids to get over their childish nonsense and join our reality. And then we teach them how to be agitated about unkempt lawns, baseball scores, physical appearances, and cell phones.

This is bad. Child worldviews are open ended and full of ideas and wonder. Adult worldviews are cynical and full of pointless bullshit.

For now, I’m going to be critical about what worries me and occupies my mental attention. I’m sure the kid will teach me a thing or two about what really matters and how I should feel about it. In the meantime, I’ll be right there with her in child world, for as long as she’ll allow me to visit.

My favorite stuff on the Internet, February 2013 edition

Once in a while I’ll empty out my Pocket and share some things you might like.

An ode to writing at night

Morning is a dreadful sight
My groggy brain be stale
Afternoon could be alright
But still to no avail

I try to write at dinner time
Cacophony abounds
After dinner no such luck
The child’s making sounds

Evening time is plenty fine
I’m feeling so much fitter
Regretfully I realize
I wasted time on Twitter

At last I’ve time to grab a pen
And sort out all my thoughts
Too bad it’s after midnight now
The words are mostly blots.

Doing less and saying more

I finally finished a new website, and launched this here blog you’re reading.

I made my last site in 2010. Back then I was freelancing, building a portfolio, and obsessing about tracking my various Internet detritus. My site was always my best outlet to fiddle with some tech and design ideas.

Since then, I found my dream job and I’m now quite satisfied with my tech and design fiddling. My 2010 self was no longer doing a good job of representing my 2013 self.

So when I set out to do this new site, I made a list of Lesses and Mores. Here they are.

Less old stuff

I don’t need or want a portfolio of past work, so it’s all gone (mostly.) I picked the last two things I liked and featured those.

Less technology

My former love was Symphony. I still think it’s wonderful for big projects, but I don’t want to be fussed with content management anymore. To that end I switched to Statamic, which is pleasant and made by some swell dudes. No database. Posting any changes instantly via Git. Easier.

Less identities

I killed my old separate domains (sorry, rocketfoo.com) and brought everything under one roof.

Less boring

The site had to be bold, colorful, and fun, or I wasn’t going to stay interested in finishing it.

More to the point

I took out everything extraneous. No logos. No navigation. No fancyzoom. It doesn’t even have my last name. It’s one page. The URL is really short. Just read the one page and move on. It’ll take you two minutes, or maybe five if you’re a masochist and you click on everything. If you enjoy it, follow me on Twitter. That’s it.

You will notice the same focus here. These posts have no date, no categories, no bullshit. Just posts.

More writing

I toyed with making the blog the main site, but I don’t have a good track record of keeping up blogs, and that’s why this is a separate site. But I have a lot of ideas for writing, and I’m excited to have my own place to share them.

Sometimes I might cross-link my SvN posts here too.

So there you have it! Welcome, and please come back again some time soon.