Patient (lifting arm): Doctor, it hurts when I do this.
Doctor: So, don’t do that.
Sometimes the answer when a solution isn’t working the way we’d like is to stop using it, think about what problem it was trying to solve, and then find another solution to the problem that does work.
Note: This post includes an audio version. If you don’t see the audio above, Click here to listen.
I was recently reading an interview with Brad Frost about some of his thoughts on responsive design. In answer to a question about whether or not stripped down, mobile first designs are watering down desktop experiences he offered:
You look at something like navigation. I write a lot about responsive Web design navigation patterns. So people will get in touch with me and say, “Well, Brad, this is all well and good, but I have a site with ten layers of navigation.” I say, “Well, don’t have ten layers of navigation.”
It reminded me of the joke above and something I wrote awhile ago about whether or not designers sometimes force solutions instead of solve problems. I wrote the post in regards to not being able to make a certain technique work and wondering if the problem was less the inability to make it work and more about choosing the wrong technique in the first place.
Design Involves Tradeoffs
There’s more than one solution to any design problem. To design is to make a series of decisions within a set of constraints. An easy example is in the world of smart phones. You’d likely agree it would a good thing if our phones were more powerful. I’m sure you’d also agree it would be good for their batteries to last longer. Unfortunately more power typically means less battery life and so designing a smartphone involves a balance in choosing how much power and how much battery life.
Neither is necessarily better or worse, but choosing to maximize one means giving up something of the other. The decision involves a tradeoff and it’s up to the designer to determine which (more power or a longer lasting battery) is more important to the goals of the particular phone.
Another example is the current landscape for responsive image solutions. Some techniques optimize the flexibility of a single image over performance. Others optimize performance, but require a greater effort in the creation of the images. A third technique might optimize the ease of the solution above everything else. Ideally we’d like a technique that offers flexibility, ease, and performance, but it doesn’t yet exist if it ever will. Instead we have to choose which optimization is most important for our particular project.
Getting back to Brad’s quote, responsive navigation patterns are attempts to solve the problem of a lack of space on the screens of smaller devices. They tend to limit the number of navigational items that can be included and how many levels deep they can go before they become unworkable.
If your site currently uses 10 levels of navigation with plenty of links at each level and you want to make the site responsive then you have a choice to make.
Which is more important to you? Responsive navigation or maintaing all the items and levels of the navigation? I’d suggest responsiveness should always win in this case, but if it’s your project you might have different thoughts. It’s not a matter of one being bad because it conflicts with the other. It’s a matter of choosing which is more important for your design under the conditions and constraints of your project.
The above is what’s meant when people say design is compromise. We make decisions when designing and the decision to do or optimize one thing is sometimes also a decision not to do or not to optimize something else. You have to make these choices while designing and any rightness or wrongness to you choice is dependent on the particulars of your project.
I often see people criticize some technique or decision for not being perfect in all contexts. If you’re one of those people, get over it. Perfection is something to strive for, but it’s not something we’re ever going to reach. There is no perfect technique or design decision.
Every project comes with constraints that keep us from doing everything we might want. Here are two you have to deal with all the time.
Your design and your decisions will be different if you’re getting paid $500 as opposed $50,000. Your design and decisions will be different if it’s due next week as opposed to next year.
Beyond these 2 obvious constraints we have others imposed on us by external sources like the client or the client’s customers. We self impose additional constraints from the moment we begin to identify the design problem and develop a concept to solve it. Some constraints lean toward the arbitrary like a personal preference or a choice in one CMS because you’re more familiar working with it.
It’s our job as designers to both choose constraints for a project and work within the constraints given to us. Sometimes those constraints will mean we can’t do something we’d like or that we have to choose one technique over another. When that happens it’s not our job to get mad at the techniques for not doing exactly what we want. We shouldn’t force it to do something it wasn’t meant to do.
It’s our job to choose those things that work for the project and let go of those things that won’t. Sometimes we have to decide between two things we’d like to do and optimize one, possibly at the expense of the other.
If the responsive navigation pattern you’re choosing doesn’t accommodate 10 levels of navigation then don’t have 10 levels of navigation or find another pattern. Find a way to organize the content so you only need 2 or 3 levels of hierarchy. If those 10 levels are vital then don’t use that responsive pattern.
We sometimes get caught up in thinking one way of doing things is bad, because it doesn’t allow us to do something else we want to do or in the way we want to do it. We get locked into one technique even when it doesn’t lends itself as a workable solution to our problem.
Design is about making tradeoffs. Any decision to optimize in one place in the design usually means the opposite for another place. All design involves compromise, where something is favored at the expense of something else.
Good design is about making the best decisions in regards to these tradeoffs and in the context of the goals of the projects. A more powerful smartphone is good. So is one with more battery life. If you can’t do both you have to choose one over the other. The phrase design is compromise doesn’t mean watering down everything so everything gets along. It means having to choose one thing over another at times, which is what design is all about.
If you liked this post, consider buying my book Design Fundamentals