User Experience (UX) seems to be quite the hot topic now, everyone seems to be talking about it. And all of a sudden instead of just saying “Let’s think of a proper User Interface (UI) for our web application!” People start saying “Let’s build a great UX!” Cause as you should already know, anything with the letter X in it sounds cool! (Why else would Apple not want to learn to count to 11?) To me UI and UX are somewhat similar, whereas UI only applies to software you can use UX to explain anything that involves a user. ie. Physical shopping flow.
As a programmer, you might think that designing the UX is a job for the designers and the client. Then you’re dead wrong, the designers might be able to paint a great picture for the client to see but that’s just half of the job! Who is responsible to make sure that the design can actually have data bound to it? Who is the one that has to be the voice of reason and mention that you can’t just bring down the whole product database JUST to make a *seamless* scrolling experience?
The programmer! Who else?
So when you’re working on that next big thing, the following pointers should help you make a positive contribution to making a great UX for your application/web site/whatever.
If You See Yourself Hating The Use Of It, It’s Probably Done Wrong.
The first most obvious rule is that if you look at the proposed UX and the only thing you can see is how painful it would be for you to use it, it most likely not a good idea to begin with.
Don’t Design A UX For YOURSELF, Design It For the USER!
This might sound like it’s conflicting with the first point since it’s mentioned that you shouldn’t hate using it, but it isn’t. Cause the first point states that you mustn’t HATE using it, I didn’t say you must fall madly in love with it!
Most of the time, everyone would think that they’re designing the UX for the CLIENT (I’m talking from the role of an ISV here) That the UX is supposed to meet the client’s requirements. WRONG! The client’s most important requirement is always make something people want to use. Always keep that in mind when making your UX, but how do you know what’s the best solution for the user? Do you conduct usability testing? Customer interviews? Well if you have the time and money that’d be great! But most of the time you wouldn’t, so you go for the next best thing.
You make up your users.
This act of creating personas isn’t anything new, people have been doing it for a long time in the creation of various things. I don’t actually practice the creation of named unique personas, but rather one of the concepts in the use of personas which is :-
Know who your users are and what they’re capable of.
If you feel that your website is likely to be used by tech savy people, then maybe you can put more effort into your search capabilities since they’re more likely to use it to find what they want.
Or if you feel that your users are more of the browsing type, then you need to put more effort into designing the best way to rub promotions in their face or make it more likely for them to stumble upon it.
Ends CAN Justify Means
Sometimes there just doesn’t seem to be a way to make something have a good UX, the process might take too many steps, or a form might have too many input boxes, or maybe the data source you’re validating the user’s data against just isn’t fast enough. You client keeps hounding you over the various internet articles that say how every extra SECOND in processing results in HUNDREDS of lost sales, this problem was described by an article my colleague once forwarded to me as “The worry that every one of the users have an attention span of a squirrel” Instead of trying to argue how it doesn’t make sense that one SECOND can give HUNDREDS more sales, the question that should be asked is.
What is the end result of this flow and how important is it for the user?
Because depending on the results, the user WILL be compelled to jump through all the hoops of even the worst UX in order to reach the end. The best example to give is the online plane ticket website AirAsia, I find that the UX can be vastly improved since it’s unpleasant and complicated even for me. And yet everyone uses it because the end result of a cheap air plane ticket justifies the means of having to slog through a poor UX. Let’s not even talk about what happens whenever they have one of their crazy sales!
Another fictional example is of course, if you told your users that they’d have to finish a test that needed 2 hours to complete in order to BUY an iPhone at 25% of the price would they not be willing to do it? Even if you’re told that the scenario isn’t comparable to what you’re trying to achieve, the point is that users are willing to take extra effort if the end is important enough to them.
And that’s enough for this time around.