Remember when you first got your hands on a digital VCR? When I was a kid when my dad bought a National G10; jet black, front-loading box beaming of technological excellence. It could digitally tune channels, had a cool LCD screen that showed playback time and icons when I fast forwarded to the good parts of the movie. The thing that stood out the most was its amazing ability to do timed recording. YSet the channel and  time of recording. It would magically turn itself on, tune to the channel and start recording. It felt like having your own version of knight rider at home (black with an LCD interface). One problem though, it was incredibly difficult to get the damn thing setup for recording in the first place! I am not exaggerating when I say I had to read the manual everytime I had to setup timed recording so that I don’t miss McGyver using his Swiss Army knife.

Did I ever complain? well… I didn’t think I had the right to do so. Why you ask? Well it was a breakthrough technology and I was an average kid. I didn’t have the right to say that the design was faulty. It was too great and I wasn’t worthy

Same goes for Digital alarm clocks, cameras and even ATM’s. It was easier to wind a clock and move te alarm hand to the time I wanted it to ring and far easier to take pictures from a camera that didn’t have a high tech LCD with touchscreen input and a stack of complicated features. Back in the good times the person at the bank counter knew my name, asked how I was and smiled when he gave me my money. The ATM doesn’t even remember if I have a savings account or a current account… I mean come on! it’s not like I secretly change my account type behind the banks their back.

I know what you’re thinking, “Dude! This is how technology’s supposed to work!”. That’s my point, it has been drilled into our minds by Microsoft (and the like)  that  ‘this is how its supposed to work’. Well we’ve been made a monkey’s uncle for far too long…

They say the first step to solving a problem is admitting that you have one. The first thing to admit is that we the people of the tech world aren’t normal. There, I said it. Something that we all know but deny. The reality is, we are all tech freaks, geeks, whatever you want to call us. We are anything but normal..

We believe that software is not hard to use, it is the end user who is not smart enough to use it. We talk about the glory days of programming in C++ and working on Unix or DOS… Windows and the Visual tools are a joke in front of the greatness of the blue screen IDE and the magical blinking of the text cursor. The people we meet, our friends, our coworkers are all, tech freaks. Our notion of normal is not normal at all. What we think is normal is actually a very small section of the users who actually use our software. We argue that the rest of the dumb user society does not deserve to use our software. We judge technology by the amount of features it has and how complex it is to use them. The interface making a clear division between  the 0010 (read: two) kind of people in this world, the worthy and the worthless. We do not believe in simplicity, ease-of-use and probable uses instead of possible ones. We have affection for computers and refer to them as people (“my module talks to his module and gets me results and tells me he did it in 10 seconds”). And we refer to people as users!

I love the notion of notepad being the best code IDE as much as the next guy, but paste this on your icon cluttered desktop, “I AM NOT NORMAL!

That felt good, didn’t it! Now that we have established that we are a bunch of tech monkeys mindlessly clapping at the dancing bear, we can move on to what’s wrong with the dancing bear. Well the dancing bear (read: technology) is something so fascinating who wouldn’t enjoy it. It’s doing what you are telling it to do, maybe not as good as Elvis, but who cares, it’s a bear.. and it’s dancing.. Same  with technology, it’s doing something but it’s not doing it right.. but the mere fact that it is doing it, is good enough for us. I state a few of these problems below

Software forgets: It always asks who I am, what I want to do and how I want to do it. If I have done it in the past a gazillion times in the same way, why can’t you remember that and stop asking me these stupid questions? By the tenth time, even a monkey would learn not to touch the electric fence!

Software is lazy: If I saved a document, printed it and then tried to close it, Word asks me if I want to save it. It’s too lazy to figure out itself that I haven’t changed anything in the document. Instead, it gives me this annoying popup asking me to save an unchanged version of the document… arghhh!

Software wants you to think like a computer: Instead of it thinking like me, it wants me to think like it. I have to click ‘Start’ to shutdown the computer!

Software blames users and doesn’t take responsibility: If something goes wrong, it’s always the users’ fault. “You should have saved your progress before I crashed, don’t blame me”.

Companies like Apple have been pioneering better user experiences and others like Microsoft have been brainwashing us that Windows is a great UX and should be the benchmark for all software; when it’s really not.

Alan Cooper calls this the “Inmates are running the asylum” phenomenon. We have created a cage of bad design beliefs and have sentenced ourselves to life in it. A victim of our own creation. Even if we do realize this, its still very hard to design software that is not ruled by these false beliefs.

So how do we free ourselves? By better UX design of course. Designing for people and their goals.

Tasks vs Goals: Completing tasks is not what the user wants. Tasks are a stepping stone in completing a goal. Users are interested in completing goals. Software is usually designed with tasks in mind, and assume that users will connect the dots. Once we start designing software around goals, it will become easier and friendlier to use. Before we can do that though, we need to find out what the goals are. The tech geek psyche kicks in here again. We assume our goals will be the same as theirs and design things using that in mind. This doesn’t work.

User Persona’s: What you need to do is write down all possible user personas and then identify the primary ones, these can be no more than 3. A user persona is a user class that has their own personal and professional interests. If you have been paying attention so far, you would have already assumed that we need to consider both personal and professional goals for the UX design to work. There is another outside influence of corporate goals as well.

Design it for people: The last thing people want is an impolite software that makes them look stupid everytime they do something wrong or different. With proper messaging, the software can be more human, it can address you by your name, help you out with suggestions when you run into problems and remember if you left anything in between so that you can continue where you left off.

Daily use versus Barely use: One major problem with software these days is that we think more is merrier. The more features a software has, the better it is. But the average user uses 20% of the features on a daily basis (what are macros anyway!). The problem is that we think of all possible things people would want and put them all in, resulting in a cluttered confusing UI, hidden under tons of menus and unimportant features. Instead we should focus on the probable features people would use on a daily basis, make them prominent and easy to access and put the less accessed features below a coat or two of UI.

So the second thing to write on your desktop, “LESS IS MORE!

Simple change in design goes a long way: Consider the simple example of deleting content in a web application. The conventional way of doing this right is to have the user select the content to delete and press the delete button. Since this is such a critical action whose results could be catastrophic, you pop up a confirmation message to make dead sure that the user wants to delete the content. What you just did is completely ignore the fact that the user after thorough thinking selected content to be deleted and then clicked the delete button. You just made a fool of him asking him if he was in his right mind to do this unearthly action.

Now we make a simple change, something that the programmers will not agree to easily and say will take double the effort for making the delete functionality, but in reality they will make in almost the same time. Programmers just don’t like to be told to do things in a way they aren’t used to doing. So the only thing we change is that we make the software intelligent, we let the user delete the item without any annoying popups and let the content stay in a temp location for a while. A subtle message is shown to the user that you have deleted this content, if you wish to recover it for any reason, you can go to the ‘deleted’ content section and recover it within 24 hours. The user feels good that he completed his goal and the computer didn’t mock him.

Lather, Rinse, Repeat: Last but not least, you can’t expect to design a flawless UX on the first go. What you need to do is do UI prototyping. If you have more money and time, make working prototypes. In either case, let some small amount of target users use the prototype without your supervision and record their expressed feedback and implicit feedback from their actions or expressions when they were trying to figure out your prototype. After this, analyze feedback, weigh features vs goals, redesign and do another feedback session. It doesn’t take that long and saves you a lot of time in the long run.

So by a simple change in our approach, we have evolved from the feature swinging monkeys of technology to the masterminds of user experience design.