How about a nice community wiki we can learn from? Please post an example of user behavior that caught you off-guard and forced you to redesign an interface. One example per answer please!


On a PHP/HTML form for recording game plays, the user had to select the game module from a dropdown and then enter the scenario number in your standard input box. After 3 weeks of users painlessly adding records I had a veteran gamer email me to say that no matter what he put in, the form told him the scenario number was invalid.

Cut to the chase - I coded the form to always start with a # inside that scenario number input. The first 50 users understood to delete that # when entering their 3 digit scenario number, but No. 51 kept trying to submit things like #01 and #37 and my diligent validation script kept rejecting him.

Needless to say, I removed the # symbol!

  • 3
    I would consider adding your example as an answer.
    – Carlos
    Commented Sep 29, 2010 at 13:46
  • 5
    Also, on a side note, I believe that whenever you have some kind of prompt text in the input that is not supposed to be submitted, it should automatically go away when the user starts editing the input text.
    – Carlos
    Commented Sep 29, 2010 at 13:50
  • 6
    And if they do put an # in there, you can just strip it out rather than reject the input. See designinginterfaces.com/Forgiving_Format Commented Sep 29, 2010 at 19:01
  • 1
    I think it makes sense to submit it together with the # symbol. I just don't get why you put the # symbol into the textbox. You could just have used the # in front of the textbox so it's a label, a visual clue. Additionally you could have only allowed digits and display a non-blocking popup or text that tells the user that only numbers are allowed
    – BlueWizard
    Commented Sep 12, 2015 at 20:11

10 Answers 10


This one suprised me greatly when I first encountered it:

Users do not read confirmation dialogs.

As a developer, I've always put considerable effort into making sure the text in my dialogs was clear and accurate. But, my end users (almost) never read them.

They just click "Ok" or "Yes" as fast as they can find it.

  • 7
    Not only confirmation dialogs, they don't read error messages either in most cases. Commented Sep 30, 2010 at 0:29
  • 9
    Hell, I am a developer, and I click the "Okay" button and think "Damnit, what did that say..." - this messed with me a LOT when IE switched what the Yes and No buttons did with the secure content warning. Commented Sep 30, 2010 at 8:01
  • 6
    That's why the alert's buttons themselves should not be labeled "Yes" or "OK". Instead, it should describe the action, e.g. "Delete" or "Do Not Delete".
    – Hisham
    Commented Oct 1, 2010 at 5:29
  • 5
    I think users would pay more attention to dialogs if they would come up less often. I wish developers would use less "do you really want to"-dialogs and make more actions undoable. Commented Oct 1, 2010 at 10:29
  • 3
    I read dialog boxes, unless you autoswitch my cursor over to the default choice while I'm typing when your stupid box pops up and then I inadvertently make a selection without having read a thing because I WAS DOING SOMETHING ELSE. Windows XP update reminders are terrible about this. Every 5 minutes "Do you want to install and reboot?"
    – Drew
    Commented Oct 1, 2010 at 22:02

Clicking, Double Clicking - On a web based application having to add code to handle the case where the user insists on double clicking buttons/links and either submitting the same form/query twice... which causes fun errors when user tries to double delete something etc.

Worse yet, is for all users that if/when they find the system slow or unresponsive... click several times in an attempt to tell the "computer" to hurry up. Meanwhile several requests to run the "Massive report query" get queued up making the application crawl. ;-)

  • 4
    Please ship this software to my wife, who double-clicks on everything in order to make it do something. It doesn't help to explain "single click on web pages, double click in programs", because like many users that's not a clear distinction. Commented Oct 1, 2010 at 16:51
  • 4
    GAH! I caught my boss doing this the other day. It was a website app with a pretty deep search, and after waiting literally half a second he just starts hammering at that search button. THAT WON'T MAKE IT FASTER IDIOT! He's also a hunt and pound typist. Just not computer literate at all.
    – Drew
    Commented Oct 1, 2010 at 21:59
  • 1
    Well if the app doesn't indicate clearly after half a second that it's actually searching through it's deep archives or whatnot (and preferably start spitting out a few initial results and also disabling "dangerous" UI elements) - I'd be annoyed too (and tempted to "click" search a million times just out of frustration towards the designers, see how it handles it and then leave, never coming back again ;) So I can understand the behavior - often apps, especially web apps, doesn't indicate their state well at all. Commented Oct 5, 2010 at 13:45
  • you can get a lot of viruses and adware in your computer just by double-clicking web links.
    – djeidot
    Commented Sep 2, 2011 at 14:35
  • 1
    the youtube video got removed. can you find it elsewhere? Commented Nov 2, 2012 at 19:44

A small piece of desktop software I wrote searches a archive database for names (it's got about 57k name records in it).

The form has a single textbox with the text: "search by last name or part of a last name". I coded the database query so that it automatically added a wildcard at the end. So, in my case, if I were looking for me, I could have entered "har", and the software did a "har*" search of the database. Everything worked well, and I had no complaints from anyone.

One day, I was looking over a coworker's shoulder, and I saw her enter not just a last name, but a first name too - she was searching "lastname, firstname". Of course, what that meant was that the search string was looking for the last name of "lastname, firstname*".

Needless to say, I added in extra checking to look for the comma, and now you can search by exact or wildcard on both first and last names (I also added a "show me examples" link after the instruction text).

  • 1
    Interesting. I assume her search yielded no results?
    – Drew
    Commented Sep 30, 2010 at 8:40
  • 4
    Nope, my code was looking for a last name that matched the whole string. I'd never actually watched anyone use my program, and I found out a few people were searching like that, which I thought was really weird, because I modeled it after some software we already use. I also was trying to get people to not use first names, because if you put in "Andy", you wouldn't see "Andrew", and I figured more broad results would be safer. Let's just say, I learned a lot by watching my software used for 5 minutes :) Commented Sep 30, 2010 at 8:48
  • 3
    It's even preferrable to strip commas and whitespace and do "order insensitive" search for names. My name is "Lie Ryan"; but I often have to register myself as "Ryan Lie" because of some silly database restrictions. I don't always remember which order I use for any particular organization, so I should be able to search "Lie Ryan" and find that I'm registered as "Ryan Lie" in this particular database.
    – Lie Ryan
    Commented Oct 3, 2010 at 13:22

What always gets me is how hard it is to convince users that the system behaves a certain way when they have through observation somehow built an incorrect model of the operation.

As a simple example, due to a bug we had for a while a entry that was made in a form (this is desktop software) was not reflected immediately in the appropriate list view. But to the users the change in the listview indicated that the record had been saved. They would enter data and switch between two records to make that entry appear and were therefore satisfied that all of their work had been saved, we could not convince them otherwise.

  • 3
    That kind've user assumption usually results in a new feature that makes it operate the way they expect or in a way that adjusts their expectations.
    – Jeff Yates
    Commented Sep 30, 2010 at 15:35

This is a simple one but I caught a user double-clicking a list of summarised information, then frustrated, going to a different screen showing more detail on a particular part of that summary. It seemed they expected the double-click to navigate straight there. It does now and he isn't any the wiser - to him, it always worked like that.


What surprised me is the difference even very small delays (measured in milliseconds) responding to a user request can make a measurable difference in user retention and engagement. See Google's post on Speed Matters. That's why tools like Yahoo YSlow, Google Page Speed and Webmaster Site Performance are so valuable to understand which pages are slow -- because these slow pages are likely affecting engagement.

  • That result is not really surprising, given that user starts perceiving lags in an applications if clicks/commands doesn't give feedback within 200 ms.
    – Lie Ryan
    Commented Oct 3, 2010 at 13:19
  • 2
    Computers are instant. If I have already thought, click, the computer has forgotten what I requested and I must remind it. Commented Oct 5, 2010 at 21:59

In both touchscreen based design or regular webdesigns, we often have large buttons with a small radiobutton or checkbox inside (for instance when a user has to choose between 2 or more options or offers). Everytime when I see testsubjects clicking or selecting one of these oversized buttons 9 out of 10 have the tendency to press the small radio button or checkbox. which makes the whole point of "let's make this button big so people will notice it" almost pointless. This behavior is also shown when our designers have large 'forward' buttons with a small arrow inside the button. people click the small arrow. Also, I've seen both experienced and non experienced users do this. I'm still debating at the office wheter this is a problem or not and if we should sometimes just get rid of the radiobuttons or make them as big as the button itself (which is ugly and inefficient ofcourse)


Can I reverse it? Ie, something I do a lot that sometimes gives really weird or dangerous results on some major web sites.

Clicking and sometimes dragging in empty areas of a web page or app while reading something. Often to make sure I have de-selected any elements I might have selected earlier - a "clean slate" so to say. Or sometimes dragging around in the text I'm currently reading for the same purpose. A surprising amount of times this triggers something weird or intended on the web site - like navigating me away from what I'm reading to some other article or ad.

An app called Lightwave 3D uses this to deselect polygons, vertices, edges or whatnot and in Windows Explorer clicking an empty space will deselect folders and files.


On a social networking site I once worked on, a user tried to paste the embed code of a Youtube video as the title of a photo album.

I'm not sure what they where expecting to happen, or why he decided to leave the name of his album as <object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/dQw4w9WgXcQ...


I was one of the developers on some client/server software. Not web pages, but similar in concept to a web form.

The form in question asked for user information (this was people registering for an event). The data entry was done by someone sitting at the computer. They would ask:

  • Name?
  • Company?

Stuff like that. There were two keys you could hit:

  • F10 - to accept (transmit) the form to the server
  • Esc - to cancel the transaction

In either case you ended up with a blank form, ready for the next person in the queue. However hitting F10 actually recorded the data on the server. Because of this it took a moment (half a second or so).

I was observing the operators using this system, and was surprised to see some of them keying in all the details, and then hitting Esc to cancel the transaction. Then they would wave the person on, get the next one from the queue, key in their details, hit Esc and so on.

I asked them why they were doing that. They replied "it is faster that way".

So, lesson learned. Don't let people key in data, and then cancel the transaction without some sort of warning. Also, make sure that they fully understand the training they are given.

Not the answer you're looking for? Browse other questions tagged or ask your own question.