The blog of Jon Bolt. UX, design & startups.

Design, scope and complexity

7 Jun 2011

"It's better to make half a product than a half-assed product"
Getting Real, 37signals

The best user interface designs don't focus on features. They focus on clarity. Problems should be fixed by making the solution simple, something customers don't have to configure, maintain, control.

The perfect solution needs to be so simple and transparent the customer forgets it's even there. Any feature that doesn't help solve problems for your audience is a distraction, an unnecessary obstacle in the user interface that undermines the value of your product.

Benefits of simplicity

As well as the benefit for the customer, there's benefits for UI designers and developers. More features create more guesswork. The last thing you need when your starting off in designing a product is overloading yourself with unnecessary risk and uncertainty.

"Uncertainty and scope are the same thing"
Ryan Singer

Increasing scope has conations of giving your audience flexibility. Equally, reducing scope sounds negative, it implies you're limiting your customers.

Discussing scope as 'uncertainty' changes the conversation. It reinforces there's a correlation between the two. It makes you stop, think and focus on solving the core obstacles for your audience.

One feature at a time

Once you've decided on the scope for the minimum product needed (and the level of uncertainty you're comfortable with), you should approach one feature at a time. Design the first iteration of the user interface around the most critical and well understood problem.

Ryan Singer of 37signals describes how this tight focus is crucial because we live with the consequences of our early design decisions through future iterations.

The UI groundwork early in projects establishes constraints. Trying to solve too much too soon means initial design decisions become high risk.

Every project has time constraints, so you don't have to aim for perfect. Get the fundamentals right. There's room for optimising later.

Just one more...

"It’s pretty easy to mess up a good thing by overdoing it. Saying yes too often doesn’t benefit anybody."
Jason Fried, 37signals

Once you've completed the UI and development for your core product, including additional features feels like an simple and natural extension. An easy way to make extra revenue. However, despite the sometimes low cost of designing additional features, there's hidden costs.

Unnecessary features are a distraction for developers and designers. They draw people away from optimising the little details or other things you could be doing to help your existing customers.

Clearly understand what new features you need to add and what the implications of developing them are. Classify features into mandatory and nice to have and the put all the mandatories through a review to ensure they really are mandatories.

Ultimately, you have to accept there's a gray area, where as you strip out features the expected revenue will fall.

The trouble with discussing complexity

One difficulty with discussing complexity and user interfaces is that it's easy to misclassify the level complexity. It's a qualitative concept. As such, it's important to keep a check on the subjective nature of our discussions.

It's not necessarily whether a design approach is more or less complex. The issue is that we've talking about the experience of the system, not a quantitative measure of complexity.

Wrap up

Complexity can kill projects. Say no to unnecessary features that don't solve the core problems for your audience. They increase risk and uncertainty. Instead, focus on clarity.

UX research activities are perhaps the most effective way to achieving this reduction in complexity. Usability testing, interviews, requirement prioritisation exercises all contribute to creating comprehensive and consistent overviews of required workflow. So, understand your audience and strive for the simplest product which meets their needs.


I'm Jon Bolt, Principal UX Designer at Brightpearl and creator of bagelhint. Interested in startups, design and agile.