Why is this important? If your assumptions about your users are incorrect, you'll make unwise design decisions...and you'd never want to do that now, would you?!
It's not that engineers or designers build in complexity for fun, instead they typically act out of a set of design decisions, beliefs and assumptions about user abilities. In one example, a study conducted in 2008 by the Institute for Dynamic Educational Advancement found that designers thought websites were easier to navigate than they actually were. Even as a UX professional, I notice what I might think a user can do, they often find difficult. Only with regular user testing have I been able to ground my beliefs and assumptions about what I think users can do, with what they actually can do.
Top 10 Shocking Things Users often Struggle With
1. Scrolling (without a good reason). Users won't scroll unless there is a reason to scroll. That does not mean "users don't scroll" it means they need to be compelled to scroll. One of the reasons the parallax layout works is that it uses huge visual squares to navigate- there are no other distractions- and pages auto-scroll and focus attention on 'one big square' at a time.
2. Drag and drop. For Mac users, drag and drop is more intuitive. PC users struggle with this basic interaction. Most Windows IT professionals take their daily 'drag file to folder and drop' behavior for granted. But even on the web, drag and drop can be problematic for users. That's why a lot of the fancy pants stuff you could do with AJAX as far back as 2006, you just don't see in practice these days. Goodbye iGoogle?
3. Minimizing Windows. Minimizing a window (Browser, Software) in Windows can be tricky. I've observerd many users who still are not sure what the difference between minimize and the semi-minimize or maximize icon is to the left of the red "X" in the top right area of a dialog or window. Yes, wow!
4. Configuring features. Configuration of any sort goes against the reality that we are creatures of habit. Do you configure your stuff? If yes, that's a learned behavior. For many users, the defaults will do fine thank you.
5. Multi-tasking. Handling many tasks, tabs, windows, documents all at once can slow users down and can overwhelm them. Websites or apps that require additional problem-solving or decision-making are in danger of "maxing out" a users ability to successful complete their goals.
6. Tab management. Browser tab management is not an easy skill for many users. I see this over and over, doesn't matter which browser. The idea that there's lots of stuff going on across different windows implies multi-tasking, not a skill humans do well.
7. Locating Files. The way our operating systems store files is based on how machines think: Heirarchical file management is challenging for us (parent-child relationships) because we do not store memory serially very well and we often process information in parallel with emotion. As a result, finding a file to attach to a web page, for example, can take time and effort.
8. Managing zoom on maps or sliders. Every map has one, but watch a user try to manipulate a map and it looks like someone learning to skateboard. The same goes for slider controls.
9. Managing collapse and expand. Collapse/expand is used everywhere. The little plus/minus is our new favorite way to hide and show stuff. Yet many users find it challening especially on web applications where their tasks are focused, and opening and collapsing information panels can get tricky.
10. Metaphors. Metaphors can be problematic because they don't translate well from the real world. But worse, many metaphors require a conceptual model to understand them. Things like "Message centers" (places a web application sends you alerts or mail) can be problematic because users think of 'messages' or 'alerts' differently.
One of the great things about regular and persistent user testing is that it gives you a window into the world of your users (cognitive limitations). The more testing you do, the more empathy you will gain and ultimately the smarter the decisions you will make. I hope some of the above behaviors that users have trouble with surprise you, they should.
Bottom line: Don't take for granted what users might find difficult and always be user testing!
Frank Spillers, MS