update, 25.8.10: here is a related blog post by Andy Brice, "10 things non-technical users don’t understand about your software": 1. Copy and paste, 2. The difference between web and native applications, 3. Data storage, 4. The jargon you use, 5. Right click, 6. Concurrency, 7. What changes can be reversed, 8. The need for backups, 9. That they should read the documentation, 10. Problem exists between keyboard and chair" (discussion on Hacker News)
Stu Smith writes about Ten IT Concepts That Non-IT People Don’t Get.
It's easy to take things for granted when you're familiar with them. The ten items he describes are:
1. When to Click and When to Double-Click
2. Hierarchical Folders
3. Using Add/Remove Programs
4. Installing Bundled Software Hurts
5. That There Is A Choice Of Software
6. What Updates Do
7. Software Licensing
8. What Memory (RAM) Is For
9. How To Use Networking
10. The Display Is Not The Computer
Some additional ones from the comments:
"selecting vs highlighting"
"selecting vs highlighting": This one is really technical for the layperson because it isn’t what they first think. I often make the mistake of telling people to "select" a piece of text instead of "highlight" it. To them, "select" has to do with tangible objects on the screen like pictures whereas "highlight" has to do with text selection. I probably say "select" because on Mac OS X (the OS I use) text really does act like any other object. It can be dragged and manipulated like everything else, and this behaviour is much more obvious than on Windows. I might also say it because I understand some of the mechanics behind the way applications are made and, of course, the primary language of Mac apps is (Object)ive-C.The scrollbar:
"Why do I pull it down to make the screen go up?"
being able to run multiple simultaneous tasks, and the relationship between opened-windows and the desktop:
Many users don’t understand that computers can run multiple simultaneous tasks. Users tend to see programs (from opening to use to closing them) as a linear process they must step through properly, forward and backward. i.e. Start > All Programs > Microsoft Office > Word > now I need to get "on the Internet" > Close ("X out of") Word > Start > All Programs > Internet Explorer. Rinse and repeat.
Many people don’t realize that programs are opened in a Window on top of their desktop. I can’t recount how many times I had a small web browser window open on a 30? display only to have people say "Wow your screen is very small," only to have them change to "WOW! That is a big screen!" once I’ve pressed the maximize button.<
I find both of these concepts tie nicely together in showing that users are somehow trained to have a sort of "tunnel vision" when using programs. I think the classic desktop GUI was originally centered around completing tasks in a modal or linear fashion, discouraging people from unlocking the true powers of multitasking. I find this helps to explain why multiple (physical) monitors/displays is a great way to improve efficiency in the workplace versus concepts like "spaces" on Mac not being as effective (in a mainstream sense) as they could be.
See also the discussion on that post on Hacker News.
I'd also add
– file extensions
– why you can only have certain characters in file names
(both of which are quite understandable)
The interesting question is: what are the best ways to teach these concepts to Non-IT people?