Designing the perfect interface

Interface design is an incredibly difficult and passionately discussed topic. HCI, UX and Accessibility are part of the story but a trick has been missed.

Having developed interfaces for over a decade and having followed the research developed by a PhD paper this article offers a better solution for interface design with some lateral thinking and real life experimentation.

This article is designed for non-techs to have meaningful conversations with their teams.

  • Tell me already
  • The basics
  • Solutions in action

 

[read more=”Read more” less=”Read less”]

Tell me already

Some basic jargon

In any computer system there are usually three very simple stages.

Think of a calculator.  You type in some number (input).  You press the equals symbol (=) which tells the calculator to process.  Moments later you see numbers on the screen (output).

Scale it up… you type in a username and password (input).  You click login and the system checks your credentials. (process).  You end up on a main menu or back to the password screen (output)

Speaking in generalities, if you rotate the model vertically you get the following.

The interface is what handles the input of the user.  The engine will process the information available.  A database or other storage mechanism may record the data generated.

I appreciate this is an oversimplification but it helps to isolate two components.  Users don’t care how the engine works or how the data stores, they care about the interface.

The challenge for systems developers is making that interface.

 

The paper

The paper I refer to is one written by Ronan McDonnell who did his PhD in Health Informatics.  He is the Head of Technology at Eagle Point.

https://ie.linkedin.com/in/ronanmcdonnell/de

 

The paper from March 2012 is entitled “Keeping Connected in Care: Development of technology to stimulate social interaction among older people in care facilities”.

No small feat.

I strongly recommend you read the paper for yourself but I heavily summarise the intense work here.

Dealing with people in a care facility the question he raised was, could he help their interactivity and improve their lives through the use of technology?  Giving them iPads he met one of the major challenges of the paper, the interface.  Consequently Ronan researched and explored various design methodologies and standards as any thorough researcher should do.

How could you make people who were understandably averse to technology with varying life challenges comfortable with using the tech, furthermore without someone available to hand hold them.

The solution was fascinating.

 

The solution

No one interface, no matter how designed to standards would work.  Instead he built three.  Beginner, Intermediate and Advanced.

  • Beginner was very simplistic and removed the fear of the technology.  The paper also documents how users became bored and patronised by the simplicity.
  • As users became more comfortable with the tech they were able to choose to move to have more options available.
  • Finally as the fear decreased and the understanding increased they moved to the advanced interface.

 

So the face palm moment for me was, why not offer users the different interfaces that suit their needs.

When you design an engine in software, computer programmers tend to focus on the engine not the interface.  Designers have been guided by programmers to the effect “you can have one interface” but this isn’t true.  It’s software.  The engine can handle multiple interfaces the programmer(s) just have to build the engine capable of doing this.

Take for instance multilingual interfaces.  Same interface but completely different languages.  The engine and the data storage is identical in all.

Is the overhead not too high?  Seems like if the designers are creating all these interfaces for testing anyway, the effort will be put in regardless.

So much so do I believe this would work I went and built this capability into a platform and it works.

 

The basics

Skillsets

Developing software requires different jobs delivered.

  • Designer
  • Developer
  • Tester
  • Infrastructure
  • Security

Designers are just that, into design.  Artistic and trained in the arts of visual communication.  Developers or programmers tend to specialise in being able to work algorithms.  Testers have another set of skills altogether in being able to simulate real world experiences and effectively communicate those discoveries back to the designers and developers.  Infrastructure I use as a collect all term to cover server maintenance through to database administration as a result they keep the engine ticking over.  Finally the security team who have the unfortunate role of being paranoid and looking for worst case scenarios and then communicating those to the teams to shore up.

Most university courses will tend to see students learn all of these disciplines.  In my experience, people tend to specialise in coding, design, infrastructure, security or communicating.  Often two or three skills will be in a person but it is very rare to see all of them together.

 

Standards

Accessibility guidelines

I was fortunate enough to have Stephen Howell as my lecturer for Interface Design as a module for my degree similarly Gary Clynch now delivers the module.  Whilst the course and the area academically has evolved the core principles remain the same.  The course now includes studies of HCI (Human Computer Interaction).

Academics study programming, design and psychology and produce papers on the various areas.

With so many Internet users globally, Internet standards for interaction start most projects off.

https://www.w3.org/WAI/standards-guidelines/wcag/

So if you design your interface to check all those boxes, your interface may still be “off”.  When you aim to deliver against the greatest visual challenges such as colour blindness or visibility issues the result means a lot of interface appeal disappears.  There are compromises to be made.

 

HCI and UX

So trying to understand the psychology of the user using the interface leads into the area of HCI.   http://bit.ly/2vRACCr

As Ronan’s research explored and proved, the wiki definition of UX holds true

User Experience (UX) refers to a person’s emotions and attitudes about using a particular product, system or service. It includes the practical, experiential, affective, meaningful and valuable aspects of human–computer interaction and product ownership. Additionally, it includes a person’s perceptions of system aspects such as utility, ease of use and efficiency. User experience may be considered subjective in nature to the degree that it is about individual perception and thought with respect to the system. User experience is dynamic as it is constantly modified over time due to changing usage circumstances and changes to individual systems as well as the wider usage context in which they can be found. In the end, user experience is about how the user interacts with and experiences the product.

In short one size does not fit all.  So instead of trying to come up with the one perfect masterpiece, let the computers do the heavy lifting and provide the same engine but facilitate multiple interfaces.

If someone prefers an Andy Warhol to a DaVinci, no problem let the computer do it.

 

Solutions in action

 

Mindset of creatives

These roles / skillsets required are “creative” as opposed to a “non-creative”.

  • To deliver a design you must create something out of thin air.  If someone doesn’t like it it can personally offend like telling an artist you hate their work.
  • If your code is genius and solves thousands of problems in seconds most people don’t care as it’s the interface they see.
  • Security must be paranoid, constantly alert and scanning for threats consequently this wears over time.
  • Testers are there to break designer and developers work.
  • Infrastructure tend only to come to the fore when something has gone wrong.

Who’d bother? Above all creatives bother.  To make something out of nothing or see your idea come to life and work is very satisfying in itself.  Managing creatives is a different skill set altogether.

A company’s ethos, goals and objectives reflect in the interfaces.  Consequently the most famous of these is the typeface historical battles of Apple.  Passing a value of 1 Trillion dollars recently they provide that the feeling, the interface can result in the most success.  https://cnb.cx/2vvRTlh

Your interface matters.  What does yours say about your business and how can you get your creatives to help?

Never stifle creative passion, whilst it needs directing it is key to growth.

 

Altering the Engine for the Interface

Change as I have discussed before is challenging for everyone, users and developers alike.

The primary psychological effect is shame.  Knowing how something works one day and not the next can be infuriating for users.  Take Windows updates and their universal love of massive change.   Knowing you’re going to change something that might face ridicule and derision is enough to make anyone think twice before doing something.

This fear / shame reaction Ronan experienced in his primary research in his paper and I have experienced in my professional life.  The solution is about embracing it not hiding away from it.

 

There is a secondary reaction of opinion.  To be a creative you must have an opinion and be able to trust your gut to get something done.  How you manage change in your organisation is a challenge but can lead to huge leaps forward in your capabilities if managed properly.

Separating the engine from the interface is a job of convincing developers to do this.  The default argument will usually be “we have to start again”.  I had this very argument with our CEO.  I took the argumentative line of “that’ll take 6 months to do” as I felt the request undermined all the work I had put in for years instead of seeing the massive opportunity adapting would have.  When I got over the request I actually completed the work in 6 hours and it led to one of the corner stone engines of the platform.

 

Try it

It shouldn’t take much to build a solution with three interfaces which access the same engine.  Try it and see what effect is has on you the managers and developers in your interaction with your own solutions.

 

If there’s anything in this article you’d like to chat to me about you can contact me here or on social media.

[/read]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.