Design Principles for Complex Technical Products

3 Things I learned from a decade designing technical products

Ed Orozco
Bootcamp

--

When designing technical products, your job is not to make things look good.

It’s to help people to work with software more effectively.

Here are three things I’ve learned from spending a decade designing complex products.

Keep them on the task

If users start a flow that requires them to have taken an action beforehand, either don’t let them start the flow or allow them to complete that action within the flow quickly.

It’s very frustrating to leave what you’re doing to do something somewhere else, only to come back to the start again.

I was designing a flow for creating an entity in Synq called data product. It required users to assign an owner to them.

Here’s what the flow looked like:

We already had a flow for creating owners as well:

If a user started to create a data product, they wouldn’t have been able to select an owner that didn’t exist to that point.

Instead of forcing users to leave the creation flow to create that owner first, we allowed them to create a new owner right from the data product creation flow.

It’s the same principle with playlists in music stream apps. If you choose a song to add to a playlist, you can select an existing playlist, or you can create a new playlist right there and then.

Screenshot of Spotify menu to add a song to a play list of create a new one.
Spotify lets you select and existing list or a create a new one.

Handle complexity for them

Instead of exposing users to many settings, it pays to make certain decisions for them.

Changing default settings takes effort, so most people don’t bother.

If the defaults are good enough, people will stick to them, and you’ll save them effort.

Even better, if you make smart decisions on behalf of your users, your product will feel right.

One of the best examples of this is how Slack decides to send a notification.

Image by Alex Xu

The sheer number of variables is insane. Yet to users, it boils down to:

  • Did I get an annoying notification OR
  • Did I miss something important?

If you pay attention to the bottom third of the diagram, you’ll see the decisions Slack makes on their users’ behalf based on whether it’s a DM, thread message, mention, etc.

The hardest-working designers — and some of their best design decisions — are the ones you don’t even notice. — Emmet Connolly from Intercom

Make things as simple as possible, but not more

This might sound counterintuitive, but there is such a thing as too much simplification.

Reducing too much can sometimes make a product useless for some workflows.

Think of the keyboard…

Nobody sees a keyboard for the first time and goes “oh this is so intuitive and easy to use!

But the keyboard is the king of all input interfaces.

Sure, it has a steep learning curve.

But it’s worth it.

An photograph of a MacBook in isometric perspective.
Source

Sometimes it’s about identifying the non-essential elements and make them less prominent.

For example, it’s rare to see a numpad in a keyboard anymore.

Source

You can’t never reduce noise 100% but you can get keep it as low as possible.

As with most things in live, you should strike a balance between the natural tendency of interfaces to become complex, and the minimum amount of essential content your users need from the product at any given time.

Designers don’t simplify to make things look clean and modern, but to make them easier to understand.

Designing technical products goes beyond aesthetics and focuses on usability and efficiency.

Ultimately, the art of product design lies in its invisibility — achieving the smooth blend of form and function without overwhelming the user, ensuring that the product serves its purpose effectively.

--

--