NOV 7, 2011

My Design Principles

Working on Shows for the past year has been an exciting journey, and it definitely made me a better developer and designer. Throughout my way, a few key principles kept hitting me back, so much that they have become my personal ground rules when it comes to designing app UIs. Hopefully they can serve you as well.

  1. Don’t rush it. When I started working on Shows 2.0 in Oct 2010 I was over my head in client work. Time was money and I always wanted to get the most out of my days. Quickly enough, I realized there was no point in rushing it when it comes to personal projects. Sure, you want to launch asap, but you also don’t want to launch crap. Take your time, experiment with things. A lot of people say “just ship it”. I say “ship something amazing”.
  2. Never settle. Struggling with design problems often leads to saying “fuck it, this is good enough”. If a design issue is halting development, moving on is probably the smartest thing to do. But come back to that issue later on; even if it’s already implemented. Don’t be lazy. Flag problematic interfaces and interactions and come back to them later. Work on them until you’re confident they are fixed for good, not just good enough.
  3. Take breaks. I spent a good part of my summer working on Shows 2.5. I was leaving for a 1-month vacation in France early August, and I really wanted to launch the update before I left. Soon enough, I realized that wasn’t going to happen. Although I did bring everything I needed to work on Shows in France, I didn’t. In fact, it kinda slipped off my mind for the whole month. When I got back to it, it’s almost as if I was using Shows for the first time. All the interaction issues hit me right in the face, and I knew exactly what needed to be fixed prior to launch. Taking a step back from projects for a few weeks is good (If you’re not on vacation, work on some other project for a while). It’s like getting a good night of sleep but on a bigger scale. Ideas get sorted out, and what’s most important will then appear more obvious to you.
  4. Get feedback (and put your ego aside). What’s worse than working on a mockup for a whole day, then showing it to someone who bursts in laughs and asks whether this is a joke (true story). You were so confident with the design that your ego just can’t stand it and you just ignore that person and get mad. But this is so wrong. Feedback is gold, regardless of whom it comes from. Even if you don’t like what that person says, ask to be specific so you know which parts of the design needs work (colors, textures, shapes, icons, text, font, etc. — “all of it” isn’t an answer). Interaction design feedback is different. You don’t ask anything; you just watch people use your app for the first time. At the very most, instruct them to perform an action, such as “Search for an artist”. Record every single move, watch the user’s every tap, and detect where the pitfalls are. Where is he struggling? Is this tap area too small? If the user can’t seem to accomplish a task, it means you have failed. It’s not the user that’s stupid, it’s your UI that sucks.

Keeping all these things in mind, it takes months to come up with a good UI. You will design ridiculously ugly mockups, but that’s part of the process. You’ll get depressed and mad, but in the end, you’ll be looking back at early mockups and you’ll think to yourself “thank God I didn’t settle on that crap”. Proof to the point, here’s the evolution of Shows’ UI: