First Iterations Always Suck

And that’s okay…

In fact, that’s the way it should be.

There’s so much involved in designing a product. As the design lead on a project, you’re responsible for:

  • The need to understand who’s using your product
  • The need to understand what users are trying to do.
  • The need to understand what scenarios the UI will handle
  • The concept brainstorming stage
  • the concept fleshing out stage
  • interactive prototyping
  • Feedback throughout the design process
  • The front-end code
  • The back-end code
  • The speed of the app
  • The layout
  • Responsiveness
  • The copy
  • Typography
  • Colors
  • The page hierarchy
  • The interactions
  • White space
  • Motion
  • Personality to convey
  • A story to tell
  • Feedback states
  • Error states
  • Accessibility
  • Small delightful details
  • Internationalization
  • Retina considerations
  • Considerations for decisions vs. options
  • Browser testing
  • Device testing
  • The brand to consider

All of this is on your shoulders, and there’s simply no way to get all of it right with your first pass at a design.

Consistently great product design must be crafted through a process

This process will vary from designer to designer, and will likely change for you over time. Here’s the process I tend to follow these days:

  1. Gather data (who is this for, what are they trying to do, what scenarios should be considered)
  2. Based on the data, I sketch out lot’s of rough low fidelity concepts
  3. Get feedback
  4. I’ll spend some time stewing on these concepts, weighing the feedback.
  5. I’ll then select one concept (the one that best fits all of the criteria outlined in step 1), and flesh it out in more detail (usually in Balsamiq at this stage)
  6. I’ll solicit feedback
  7. Build out a rough interactive prototype (usually coded by hand)
  8. I’ll get feedback
  9. Code it up right and add polish
  10. Get feedback, make tweaks – repeat this step until everything is just right
  11. If the feature is in-depth, or if I still have unresolved questions, I’ll do a round of beta testing prior to launch

Myth #1: as you get better at design, you can skip some steps

Great product designers do not skip steps just to save time. If I can offer one piece of advice, it’s this: rather than seeing process as a burden, or as some form of training wheels, learn to embrace it, and see it as a valuable asset.

Myth #2: the sooner you can get to a hi-fidelity design, the better

Great product designers do not jump to high fidelity designs sooner than is necessary. In fact, they tend to delay it as long as possible. Great product designers recognize the benefits of lo-fi designs, and leverage those benefits extensively.

Up until around step eight (near the end of your process) it’s perfectly fine for your designs to still look unfinished. The longer you can stick with lo-fidelity the better. There are a couple of reasons:

  • Lo-fi concepts take less time to create
  • Since they take less time, you can create more of them, giving you more options to choose from
  • It’s easier to scrap a design that is lo-fi and start over
  • It’s easier to iterate on lo-fi designs
  • It’s easier to solicit candid feedback when people don’t think you’ve spent as much time on the concept

Early on, all UIs suck, and it turns out, that’s the way it should be. If you outright skip steps in your design process, or if you hop straight to hi-fi mockups, your designs will tend to suffer as a result. Great UI designs follow a process, they take time to craft, and early on, even great user interfaces are going to suck.

Note: inspiration for the title of this post came from Ed Catmull in Creativity Inc. said “Early on, all movies suck”, speaking candidly about the state of early movie concepts at Pixar.


I don’t do comments on this site, but if you have thoughts, I’d love to hear them. You can email me at