I always tell new contacts that software is simple. Their general reaction is a mix of shock and confusion at how arrogant I appear to be.

But I’m not arrogant at all.

In fact, I’m not even a “real” coder – I’m a front-end developer, UX designer and project manager, so most people would say I’m not the subject expert, and I can’t possibly say that software is simple.

My role within the company clearly keeps me outside of developing – I understand every detail of what we are developing without getting my hands dirty. Why do I do this? To always and absolutely maintain a user’s perspective.

The reality is that software isn’t simple when you consider what is happening in the background and all the decisions that must be made to achieve simplicity, but for the user it should always be simple to use.
It doesn’t matter whether you’re building a hugely complex pricing system, or a bespoke CRM, the typical user (who may be an expert in their field, but should not need to be “techy”) should understand how to use the system with little to no training.

Software should be intuitive. Simplicity is achieved by designing software to be an aggregation of lots of small, intuitive tasks.

This applies for any type of website, web application, mobile app or software system. Simplicity is king

So our business is about simplicity. It’s about taking complex tasks and turning them into a series of simplified user actions. That’s what makes software so powerful.

I see examples of companies doing this very successfully, and very poorly, all the time. We’ve always thought of ourselves at “simplicity heroes”. So let me give you an example.

Example 1 – Advanced Opt-Ins

t’s important to understand that simplicity comes in many forms. On of my favourite forms is what I like to call Advanced Opt-Ins. This is where we present some simple functionality as the default option which will serve most users very well. We then present a more advanced option or users looking for something more complex.
A great example of this is search forms, especially for tables.

In the example above, the default option is a simple search box, for example you could search a customer’s name or order number.
The advanced option allows for multiple filters to take place in a single search. For example, you could search for orders between two dates relating to a specific customer.

This makes the management and refining of large quantities of data extremely easy. And it’s intuitive – every input explicitly tells the user what they need to enter, and moving from the simple search to the advanced search is self-explanatory.

The beauty of this is that the actual data management is quite complex – we use datatables to load large amount of data in an easily searchable format at lightning speeds. But the user just sees tables of data. Simple.

Example 2 – User Flows

Simplicity is also about understanding how users will generally flow through the system or application. We ask ourselves these questions:

  • What are the main features that users will want to navigate to immediately and most often?
  • What types of features are accessed almost never, or very rarely?
  • What types of features fall somewhere in between?

We usually answer these questions with a ranking system, creating the pages and the user flow around this.

For example, most software we build has a number of settings pages containing lots of options that affect the software. The idea behind this is to increase the flexibility and longevity of the software by allowing the client much more control over how it functions.

We then use some clever techniques and templates to allow for easy editing and saving of these pages without it eating too much development time – whilst the settings pages are usually quite simple, there’s a lot of them. And finally, we hide all these pages in an advanced settings area that only admins can access.

So the average user will never see these pages or need to access them, but the admin can access them through the advanced settings pages. Simplicity is preserved whilst allowing for flexibility.

Why does it matter?

I’ve often been asked whether simplicity and UX really matters. Does it make that much difference to a user once they’ve learnt the system?
Yes, it does. Most of the designs we implement with the aim of increasing simplicity are actually aiming at a higher goal – that of decreasing time taken to complete actions within the system.

In most cases, this will only be a few seconds, but for a single user over a given day this will add up to a few minutes. Looking at this on a macro-level, across a number of users over a longer time period, we’re able to save days worth of time just in how we lay out and present the system to the user.

So simplicity matters because it increases efficiency.