Since I have begin my deep dive into Windows Presentation Foundation (WPF) I have started to also take a long hard look at usability and all the various factors that can have an impact on the user experience. After all, WPF allows you to do all kinds of shinny and cool things, and every one of them can have an effect, either positive or negative on the users ability to understand the interface of an application.
I say understand because that is really what we refer to when we talk about the User Experience (UX) of an application. You have all kinds of interesting terms that hide the concept like discoverability, transfer of skills, etc… but when it comes right down to is the users ability to ‘get it’ when they look at the application. One other thing that started me thinking about this more is my recent attempt to get my mother used to using a computer. This process alone has opened my eyes a great deal to usability and what a person who has no existing experience with computer use ‘sees’ when they look at a program for the first time. The concept of a button or a slider, or a scroll bar all have a very simple context to someone that is used to using current GUI based applications, but to someone that has never used one before the term button can have a completely different connotation and can really be confusing. It used to be simpler…
A button was always a square ‘thing’ with a defined border around it, and text that told you what it did, but at some point we started to change it. Buttons started to light up when the mouse moved over them in an attempt to show that the mouse can ‘do something there’ and then in fact someone decided that you could replace a button with a picture, then they even decided that you can remove the border around the button. What we have started to see now is a blurring between buttons and icons. Not a large problem you may think at first until you dig just bellow the surface and look at what I call the ‘action context’, or rather what you can do with the ‘thing’ these concepts, that of button and icon, are really very different.
- Buttons usually require a single click while icons traditionally require a double click.
- Icons typically represent something that you can take an action on while buttons typically indicate an action that you can perform.
- Icons usually allow a right click for a context menu of options while buttons typically do not.
Its funny, but because I have been brought up with the GUI concept for a very long time (ok, not that long, I am not that old) this progression somehow slipped passed me and I ‘just understood it’ but now that I am teaching someone this new I have seen that it can be really difficult to ‘get it’ now. Using a GUI is almost as bad as learning the English language (remember the dreaded i-before-e rule?) and given the fact that GUIs were supposed to make life simpler, that should not be the case.
So why is it this way now? Why are we where we are?
It’s because in our rush to help we lost sight of the fact that GUIs are supposed to be a standard based upon a deep intellectual understanding of the basics of what people can understand an interpret visually. Its also because we just can.
Remember way back, I think it was around the 80’s, when signs started to get less wordy and more visual? Remember when people used to explain that a sign of a person walking with a big red line through it was supposed to be more universal and language agnostic than the words ‘don’t walk? That made sense to most people. As computers became more visual the paradigm (I really hate that word) started to migrate to computer use also and these pictograms (what they really are – just like cave wall paintings) started to be known as icons and the GUI industry was off to a boom.
Fast forward to present day. We seem to be stuck in a new paradigm; that of fluffy and likable user interfaces. When the heck did that happen? When did it become better (or even part of the standard) to use animated buttons with drop shadows and all that golly-gee-wiz stuff? I think it is really more because we can than we needed to. Were people asking us, by us I mean developers, for really cool user interfaces that look like they have been dipped in liquid plastic and that spin and fly around the screen? I don’t ever remember getting that memo on my desk. Users really just what something that works well and is easy to use.
I have listened to UI ‘experts’ that are trying to convince me that discoverability is a major reason for the change, like we saw with the Microsoft Ribbon, and that we need to start thinking different when we design our UIs. I have even been told that a good example of UX and discoverability would be to make buttons grow in size as they are clicked to allow the most used buttons to be larger than the ones used the least. Does anyone here remember the debacle that Microsoft shoved on us in Office (2000 I think it was) when the menus started to ‘hide’ the functions used less often? They called it personalized menus and from what I can see most user centric web sites carried articles that detailed how to shut that ‘feature’ than details about how it worked and how it was supposed to benefit users. It’s gone now for the most part, thank goodness.
What’s my point of all this?
One simple concept. Not everyone is a visual person. Just because you make a ‘thing’ that acts like a button don’t assume that people are going to ‘get it’ and ‘know’ that they can click it. Also, don’t assume that by causing it to glow when the mouse moves over it will ‘mean’ to them that they can click it. Don’t assume by placing a drop shadow under something will give the impression to everyone the meaning of layers and that the ‘thing’ is higher up so you can push it down with the mouse. Remember that not everyone thinks in 3-D. Half the users I deal with for some reason end up with all their windows set to full screen and just do not get the concept of overlapping screens and how to interact with them. That was ‘supposed’ to be a universal understanding, remember? Everyone was supposed to think of their computer desktop as a desk with stacks of papers on it, and that you can brings specific papers to the front to work on them, but in reality that concept is lost on many people, and they result to working in full screen mode, and maybe use the task bar to switch between application windows.
Now, does this mean that we should abandon all the new UI concepts and stuck to the boring gray screens of yesteryear? No. It does mean all of us, yes, even the UI designers, need to understand who uses computers and temper their ‘best practices’ with some humility and understanding. Just because you think it is a cool idea does not make it a good idea (although it may still be cool). Just because you make a picture clickable does not mean that all users will ‘get it’ and just know what to do. Also, don’t think that you can fix all this by building better documentation that says ‘hey, you can click on anything with a drop-shadow’ because most people don’t read the docs.
So, what are you supposed to do? I have some words of what I think is wisdom for all involved.
Developers\designers, I think one of the biggest things that will help is to keep things consistent. After all, that is what the GUI was supposed to do. Remember that the GUI (really with roots way back in the common user interface, or CUII, idea) was supposed to breed the ideas that the framework (OS in the case of Windows) was supposed to provide a common set of UI elements that kept the UX between applications looking and behaving in a consistent manner.
I know that people innovate and there are tons of great ideas out there for new UI ideas, and I am not saying to not innovate and bring these into new technology, but I am saying that you need to understand that just because your new wiz-bang UI element makes sense to you and solves a problem in your eyes does not mean that it will for all your users. Do what you can innovate but temper it with the lens of a new user that may be using your stuff for the first time. Be ready to take support questions on the new idea and maybe have a few videos or other training materials available focused on just that new concept. Maybe even provide a small application that gets installed that allows a user to ‘play’ with the new control completely outside the application free form the worries of messing up their work.
Users, remember that you are new to this, and that things are going to look different to you, but most of all, remember that those helping you have been through this, and are probably completely numb to the fact that you may not ‘know’ what they are saying. The whole UI premise is that once you start to learn a little the rest starts to come easier, and that curve can happen quick, and once you are over the hump the entire thing will become second nature to you. That was the idea in the first place. Also don’t fall back on the thought that you are dumb for not ‘getting it’ and give up. Once you do it enough you will ‘get it’. It simply is new and takes some practice to get good at it. Now, that does not mean that you can be expected to be spoon fed all the time either. You have a responsibility to learn. If you want to use a computer you have to learn a little. Those around you will be (should be) understanding to a point, but after having to remind you that the square ‘thing’ on the same screen you have seen 100 times before is a button and you click it with the left mouse button you can expect some tension in the air.
Trainers\helpers\support, you have to have patience and understanding, but most of all you have to KNOW what the system you are trying to help with looks like and be able to spot potential trouble points. If you ask someone to click the button on the screen that has a specific picture on it and the user tells you that they do not see a button like that on their screen, trust them and change your thoughts. Maybe they are not ‘seeing’ a button. Maybe to them they are ‘seeing’ a picture and just are not ‘getting it’. Remember, what you have spent years looking at and understanding may be new to them.