views:

429

answers:

7

While novice software designers expect their users to behave rationally, it's far from being the case ; I've seen many times the user perception being totally disconnected from reality, or it's feedback obviously irrational.

I think we are the one who should adapt, not the other way around.

There's only one way that I know of to achieve this : listen to users, especially about what they don't like in software they use.

If there's one thing I've learned so far ; they often complain about things one wouldn't expect

What unexpected things did you learn from your users?

+10  A: 

A few years ago, hospitals (at least French hospitals) were run using old win 3.11 software’s. Every single task was tedious; moving someone from one room to another would take 5 minutes to an expert user

A friend of mine was working on selling up-to-date software to those people. The same simple task would take 30s to a total beginner.

While most of the users were very happy with the new software, a handful were complaining, which wasn’t a surprise (there’s always a handful of users complaining). What was more unexpected was their reason: the software was damn slow. “The same simple task was instantaneous, now it takes ages to achieve. Give me my old software back”, they would say.

My friend decided to meet them, and asked them for a live demo of the slowness they were complaining about.

“Look, said the user, with my old software : I input the first name, enter, the name, enter, the admission number, enter, the old room number,[…insert 5 minutes here…] the new room number enter … and it’s done….. See… Everything is instantaneous”

“Now, look at your software. I do a drag and drop, as you taught me. And I wait, I wait… look, it’s done..I’ve waited for almost 30s….”

That’s a real world example. It really happened. I’m pretty sure that if the software had been modified to ask for useless information that it would have discarded afterwards during the 30s period, this user would have had a far better feeling with the new software

Brann
I think this is more of a human trait. Personally, when driving, i'd rather take the slow route from A to B then the one that's faster in total, but requires me to queue for 10 minutes.
tehvan
What on earth was wrong with the system that meant a room change took 30 seconds to process!!??
andybak
@andybak Well, I don't know. I guess retrieving all the needed data instead of having the user populate it was probably a bit costly. But, I think it's totally off topic ; what's interesting here is the user reaction, not the software architecture.
Brann
+5  A: 

Developing for a hand held unit many years back, I got contacted by a user who complained that their unit kept on turning off immediately after power on. It turned out to be a bug; the startup message ended with the line "Press any key to continue". It should have said "Press any key, except the big red key marked power, to continue".

One thing I have learned over the years is that time spent with end-users on requirements analysis prior to going anywhere near design is hugely important, as is understanding the culture and educational background of the users. Designing computer systems that look and work like existing manual systems is a good start, as is understanding the workflow. Another hand held van sales delivery system I was involved was specced to look for on-screen customer signatures on delivery, and this was necessary to complete the transaction. It turned out that most of the deliveries actually occurred early morning before anyone was there to sign for them, so the perceived workflow didn't gel with reality at all. The client IT staff didn't actually know this, nor did the business analyst. If you design systems without input from actual end users you do so at your peril.

Shane MacLaughlin
+6  A: 

If you think about it there's no such thing as irrational user behaviour, there's just a mismatch between your expectations and theirs. The only way to close that is through dialogue. That doesn't necessarily mean going and doing usability studies, often the right dialogue is for them to read the help where the discrepancy is easily dealt with.

The only wrong thing to do is to not listen to what they are saying - or to listen and not really hear them (see the post on here about IE on the Mac - it's the height of arrogance). Of course you are going to get some people who just don't like change and will whinge about anything, but in general if a user will take the time to point out something in your software which bugs them, then you should listen. You may choose to ignore them, but if you listen right you may just as easily uncover a real gem.

I don't believe your users or customers will often innovate for you, but I strongly believe that they are the key to your software being usable, and usability leads directly to success. So to characterise them as irrational probably doesn't serve your best purposes - or theirs. Better to take them seriously to start with and filter out what you consider not to be good feedback.

Simon
+1, bloody good answer.
Rob
I definitely agree with that. I wasn't implying by irrational that I shouldn't handle their feedback seriously. We're coding for human beings, which are highly irrational creatures :)
Brann
+1 for the first two sentences alone.
barfoon
+5  A: 

In my previous job, I was designing a huge trading software for a huge bank. The software would typically take around 5 minutes to launch.

Of course, the users were complaining a lot about the startup time, especially when the software was crashing during the day, which was happening from time to time.

From the day we added a detailed progress bar (progressing quite regularly, with an indicator of the number of remaining items), the complaints almost stopped.

Typical users would say "I used to take ages to load, but now, it's quite fast"

The next step for us was to display the user interface before the data is loaded instead of after (which makes more sense for an IT point of view)

This time, the modification resulted in a slight performance drop (from 5mn to 5"30), due to the cost of impacting the UI during the loading time. From a user perspective, the software was much faster this way !!

Brann
This is what we call "perceived performance", which to users is much more important than "actual performance".
Hosam Aly
A: 

While novice software designers expect their users to behave rationally, it's far from being the case ; I've seen many times the user perception being totally disconnected from reality, or it's feedback obviously irrational.

I think we are the one who should adapt, not the other way around.

Are you saying we should adapt to irrational behaviour? Software development is already irrational enough (dynamic languages, test driven development, ...), and you expect us to unilaterally bend over backwards to accommodate some distorted expectations?

Definitely. Let's say there's a perfectly logical place for a menu item, but for irrational reasons, the user always look somewhere else first. Now, where does this menu items belong? To me, the 'right' place is the place where you users would expect the item to be
Brann
In short - the person who pays for the pizza gets to decide on the topppings.
Learning
Without those expectations, you wouldn't be developing a system at all. They may be distorted, but they're keeping you in a job.
Rob
+2  A: 

I was once working on a cms for images. The admin would basically browse though pages of user-made images, and check the ones he wanted to publish. I wrote a nice manual on how the system works, but since everybody knows people don't read manuals, i put some guides on the page telling what to do (in this case, something like: "Check the box for every image you want to publish").

It wasn't long before some guy came pull my sleeve: "There's a bug in your program. It actually tosses the images i don't select, and not the ones i select".

The problem was solved by asking him to read aloud the text on the page.

tehvan
A: 

A few years ago, I designed a small application which was mainly aimed at helping users to input complex data in a database. Their old method was to input everything into an excel sheet (without validation of any kind), and then to use a vba macro.

My new program added validation, and was able to auto-fill almost half of the data they previously manually entered.

I expected to be a success... which it wasn't ... at all:)

"It's just impossible to use", they said... I had tested it, asked my mother to test it... my software was fine...

In fact, those users were so used with inputting repetitive data that they used only the keyboard, not the mouse. And of course, I hadn't thought of managing the tab order correctly, so the cursor was just jumping all over the place each and every time they hit "tab", thus the "impossible to use" comment !

Brann
to be fair .. they were not irrational users :)
Learning
Well... that's right :)
Brann
But your software wasn't really "fine" if the tab order was wrong :)
ChrisF
I know... I just wanted to reflect my state of mind at this time. But you're right (and so were the users), my software was definitely broken !
Brann
Similar cases remind me how much many developers never think of accessibility. Whenever you develop your application, take some time to think about how a disabled person would use it. You don't have to go all the way, but simple things like keyboard navigation or font size can help a lot.
Hosam Aly