© Adam L. Davis 2020
A. L. DavisModern Programming Made Easyhttps://doi.org/10.1007/978-1-4842-5569-8_19

19. Creating a Magical User Experience

Adam L. Davis1 
(1)
Oviedo, FL, USA
 
First, to begin learning about designing applications with the user experience in mind, you should be aware of the following acronyms:
  • UX: User experience. The total experience of using an application

  • UI: User interface. The web page or graphical interface used by the user

  • KISS: Keep it simple, stupid. An overall design concept

  • RWD: Responsive Web Design (an approach to web design allowing web pages to render in many different devices)

Application Hierarchy

You should prioritize your UX according to the following characteristics, from highest to lowest:
  1. 1.

    Functionality: Software does what it should.

     
  2. 2.

    Usefulness: Is the software easy to use?

     
  3. 3.

    Efficiency: Can the user work efficiently?

     
  4. 4.

    Magicalness: Is the experience magical?

     

You can’t focus on being usable if your software is not functional. You can’t focus on being efficient if your software is not usable.

After you have mastered all the basics (functionality, usability, and efficiency), only then can you attempt to make your UI magical.

Consider Your Audience

It’s always important to consider the audience for your software. You should get to know them as much as possible.

Those of you familiar with Harry Potter (or magic, in general) will recognize the words wizard/witch and muggle . In Potter’s world, a squib is someone who’s aware of magic but not able to practice it, and a muggle is a normal person who’s unaware of magic.

We can apply this analogy to software. When designing your software, you need to keep in mind every type of person that might use it:
  • Beginning user: Muggle

  • Proficient user: Squib

  • Highly proficient user: Wizard/witch

For example, if you design only for witches and wizards, the muggles will feel lost. If you design only for muggles, the witches and wizards will feel the software is incomplete and too simple.

Choice Is an Illusion

The more choices a person has, the more thinking they are required to do. As a designer, you should do the following:
  • Limit choices.

  • Prepare for every possible choice.

  • Tailor choices for your audience.

  • Validate user input, making sure it meets expectations.

You will often have to decide whether to give your user a choice or make the choice for them.

The easy way (for you) is always to let the user decide, but the better way is generally to give the user one less choice. This will make your software simpler and, therefore, easier to use.

Direction

Work instinctively—instinct is your friend. Motion is a subtle and effective way of getting the user’s attention. However, too much motion is a distraction, so it should be kept to a minimum.

Another instinctual visual is the human face. Faces are noticed first. This is why you always see faces on the left-hand side of text (in languages that read from left to right). The eye is drawn first to the face and then to the accompanying text.

Skeuomorphism

Skeuomorph is something from real life that is imitated in software.

Simulating real-life features, such as edges, bevels, and buttons, can be useful for communicating affordability (what the user can do with something). However, you have to get it 100% right, if you’re simulating a complete object (such as a book). This is why skeuomorphism is generally a bad idea. Imitating something from the real world comes across as fake, if it is not done perfectly.

You could take the opposite approach and attempt to remove all metaphor. The UI can be very flat and edgeless. However, you can take this concept too far. For example, what is clickable should still be obvious.

Context Is Important

Three stars with no context could mean anything. However, given context (3/5 stars), what is meant becomes obvious.

Context is also important for navigation. It must be obvious where the user is in your software at all times and how to navigate somewhere else. Otherwise, your users will feel lost, which is not a comfortable feeling.

A related concept is to avoid “modes.” The more ways there are to interact with the software, the more complex it will seem.

KISS

Above all, keep things simple—simple for the user. For example, in general, there should always be one way to do something in the software. Also, as a general rule, your UI should follow the conventions set by existing software/web sites (e.g., always underline links).

As your software grows, you will constantly have to make choices about new UI features. In addition to other considerations, you should also contemplate how they can be made simpler.

You Are Not the User

Unless you are building software only for yourself, the overwhelming probability is that your users are very different from you. For this reason, you must not only try to think like your user but also really get to know him or her. This means ideally that you sit down and watch your users operate the software.

Likewise, in a production system you should monitor what your users are doing. Are they using that new feature? Are they doing something unexpected. Metrics can be helpful to analyze your users’ behavior.

Summary

From this chapter, you should have learned the following:
  • Your UI should be functional, usable, and efficient, in that order.

  • Consider who your user is during all phases of design.

  • Limit choices and handle all conditions.

  • Instinct is your friend, but don’t imitate reality.

  • Keep things simple for users and listen to them.

For more about usability, I highly recommend Steve Krug’s Don’t Make Me Think (New Riders, 2014).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset