10

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?

Brann
  • 31,689
  • 32
  • 113
  • 162
  • @people voting to close this question : it's ok for me to close it if there's a good reason. It doesn't look as a duplicate to me, and it's in the scope of SO, isn't it? Could you please tell me what's going on?thx. – Brann Mar 02 '09 at 08:14
  • I agree with Joe. This should be community wiki. – Hosam Aly Mar 02 '09 at 08:14
  • I just switched to wiki. btw, what's the guideline here? – Brann Mar 02 '09 at 08:17
  • I think mistakes made in user interface design is a valuable topic for programmers, even if it does not directly relate to coding. Joel Spolsky and others have covered this topic in depth specifically for programmers over recent years. – SmacL Mar 02 '09 at 08:20
  • @Brann, I believe it's like "if it's not an actual programming question, but rather related to the ecosystem of programming, then it should be CW." – Hosam Aly Mar 02 '09 at 08:21
  • @Hosam, ok I didn't know. Anyway, It's a wiki know :) – Brann Mar 02 '09 at 08:22
  • @Brann: It's one of those "please entertain me, while we all make sure that each of us has the same opinion" questions. It's not a programming related. Any expert could ask the same thing: "What's the most irrational behavior of non-experts you have witnessed?" – Tomalak Mar 02 '09 at 09:06
  • @Tomalak To me, it's very much programming related. Don't you think knowing this kind of user behaviour makes you a better software designer/programmer, since you can better adapt your software to your end users? Isn't it what SO is all about? – Brann Mar 02 '09 at 09:11
  • @Brann: Agreed, knowing this helps. But so does knowing "Don't offend your boss", which equally commonplace. It's a misconception that it must be programming related just 'cause a *programmer* happens to ask a certain question, or is affected by a certain fact of life. There is no transitivity here. – Tomalak Mar 02 '09 at 09:30
  • @Tomalek - "Don't offend your Boss" is not programming related. Designing software user interfaces that users can use clearly is. What you're inadvertently implying is that software design is not programming related, and should not be on SO. IMHO there's much more to programming than code. – SmacL Mar 02 '09 at 09:40
  • @Tomalak: Ok I see your point. To me, the difference is that while "Don't offend your boss" is a skill almost everybody should have. "Knowing irrational IT users behaviour" is a skill only software UI designers need, and that's why I thought it belonged here. It seems people agree with you, though. – Brann Mar 02 '09 at 09:40
  • @smacl: I am not implying anything of that kind. I would certainly not vote to close a question about how to lay out a UI. It's just that on a site where all users are experts everyone *knows* that non-experts often behave irrationally, so I don't see the *point* of the question, really. – Tomalak Mar 02 '09 at 10:18
  • @Tomalak: the point is to share our experience about things that have troubled our users, so that we can better deal with it in the future. I've learned a lot of things I would rather have learn from a fellow programmer rather than from a real world angry user. – Brann Mar 02 '09 at 10:36
  • @Tomalek: The important point the question raises is that 'irrational' is a subjective term that varies in the context of user experience, education and background. IMHO, we take much for granted as programmers, and often get it wrong by not asking these very questions. Now UI layout i'd close ;) – SmacL Mar 02 '09 at 11:06

7 Answers7

10

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
  • 31,689
  • 32
  • 113
  • 162
  • 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 Mar 02 '09 at 08:37
  • What on earth was wrong with the system that meant a room change took 30 seconds to process!!?? – Andy Baker Mar 07 '09 at 18:52
  • @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 Mar 07 '09 at 19:20
7

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
  • 78,655
  • 25
  • 88
  • 118
  • 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 Mar 02 '09 at 10:51
  • +1 for the first two sentences alone. – barfoon Mar 07 '09 at 10:01
5

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.

SmacL
  • 22,555
  • 12
  • 95
  • 149
5

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
  • 31,689
  • 32
  • 113
  • 162
  • 1
    This is what we call "perceived performance", which to users is much more important than "actual performance". – Hosam Aly Mar 02 '09 at 08:36
2

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
  • 10,189
  • 5
  • 27
  • 31
0

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?

  • 1
    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 Mar 02 '09 at 08:43
  • 1
    In short - the person who pays for the pizza gets to decide on the topppings. – Learning Mar 02 '09 at 08:51
  • 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 Mar 02 '09 at 09:16
0

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
  • 31,689
  • 32
  • 113
  • 162
  • 1
    to be fair .. they were not irrational users :) – Learning Mar 02 '09 at 10:45
  • But your software wasn't really "fine" if the tab order was wrong :) – ChrisF Mar 02 '09 at 10:50
  • 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 Mar 02 '09 at 11:02
  • 1
    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 Mar 02 '09 at 19:40