They are the intended consumers of computer systems, critical to their performance and reliability. Yet what is arguably the most important element of a successful software solution is routinely neglected by developers, designers and testers: The User.
Good, thoughtful software design takes time and effort. It needs to consider the interaction between human and computer. Contrary to popular assumption, software designers are human too, and it is in our nature to take the quickest path to a destination. It is tempting to throw screens together and keep users’ experience as an afterthought. Taking time to think like a user is a sensible investment too.Consider some of its returns:
- Intuitive interface will reduce the need and cost of training
- Optimised navigation and menus mean lower volume of help desk calls
- Increased productivity
- Overall, user adoption is greater and quicker. Ultimately, a person who is happy with a software solution will want to use it, and is less likely to fall back onto legacy/workaround solutions.
Years of developing software have taught me some top tips:
- Allocate as much time to designing good quality user interface (UI) as to the rest of the build.
- Take inspiration from others. After all, imitation is the highest form of flattery. Similarly, avoid mistakes you’ve seen in interfaces that you found difficult to use.
Good quality UI is not a strict science. Take one look at the poster boy of good design. It is not difficult to understand that Apple’s much loved UI takes a great eye for design, empathy, and some artistic flare.
The million-dollar question is: how can we as computer scientists turn the art of design into a set of rules? Well, we can’t. We will sometimes build systems that are difficult to use, or less than pleasing to the eye – just as qualified architects might sometimes design houses that are just plain ugly. To recognise this as a potential problem is the first step to address it.
Welcome to the Design Revolution
Today at SAP, we take user interface design very seriously. Historically, we haven’t exactly been known for beautiful or intuitive systems. The advent of SAP UI5 and FIORI changed that reality and a kick-started a design revolution. Away with the boring old grey SAP GUI and in with the sexy, UI5 apps. Every design decision is meant to simplify the user experience.
What else changed? Is it really just a matter of technology? Do sleek components automatically deliver an interface that users will love? Not always, and from a designer’s perspective it was in many ways easier with the old SAP GUI. We had fewer options and therefore fewer chances of making mistakes.
From a user’s point of view, they have come to expect pages that are easy to use and attractive, accessible from any device, any browser, any connection. Some might say that the array of new features available to designers have made their jobs 10 times harder. Then again, a good designer might also cherish the challenge.
Your Guide to Good Design
The first step to good design is to accept that you will make mistakes, and that’s OK. Here are some lessons I’ve learnt:
- Start on the UI early, and mock it up quickly
- Consult with peers and others. Get feedback regularly
- Do not rely on a uniform group of people for feedback; get a breadth of different types of users
- Take time to evaluate the feedback, and use it wisely
- Develop empathy. The first impressions of a new user are absolutely key. Learn from how they struggle; try to see it through their eyes and see how they expected it to work.
- Do not be tempted to defend the user interface: if users find it difficult, it is difficult.
Most importantly, don’t be afraid to throw away what you have built. You can always improve it a second – and third time. Work hard with your developers, create an ethos of openness and do not see user interface changes as criticism. This is hard stuff, and making great applications is iterative.
What are your top tips for good user interface design?
Take a look at SAP UI5 DemoApps for a good set of examples on using SAP UI5 components.
Tony Johnson is an Engagement Architect for SAP, working on software design
Follow me on twitter: @RealTonyJohnson