10 things non-technical users don’t understand about your software

If you are writing consumer software you have to understand that you and your average user have a very different level of understanding of computers. When you first start doing support it can be a shock to realize just how vast this gulf is. It doesn’t mean that your users are stupid, just that they haven’t spent the thousands of hours in front of a computer that you have. Below I have summarized a few of the things I have come to understand about non-techies through answering thousands of support requests relating to my own table planning software.

1. Copy and paste

It is very clear from many support emails I have received that users will often re-type a licence key emailed to them because they don’t know how to (or even that they can) copy and paste text. Yes, really. You can mitigate this to some extent by including instructions on how to copy and paste where relevant and making licence keys easy to type (short and without ambiguous characters, e.g. ‘0’ and ‘o’).

2. The difference between web and native applications

Many users are used to web applications and don’t understand that they need to download and install new versions of desktop software to get access to the features in a new version. You can avoid this by automating the update process, but this can be pretty catastrophic if you get it wrong.

3. Data storage

Many users don’t understand how or where data is stored or even that it is separate from the application. They don’t understand that some data is stored on their local harddisk and some is stored ‘in the cloud’. And they don’t understand the difference between storage in a file, a database or the Windows registry. Consequently, when they install a desktop app on a new machine they are often surprised that it can’t automatically access the documents they created on a previous machine. So it is worth having something in your FAQ about moving from one machine to another.

Given that users don’t understand the basics of data storage it should come as no surprise that they also don’t understand the concept of file formats either. For example when told to ‘save a .xlsx file as a .csv file’ some users will simply change the file extension from .xlsx to .csv and be surprised when the resultant .csv file is gibberish when they open it in Excel. You can try to avoid this by providing clear step-by-step instructions on how to save a .xlsx file as a .csv file.

4. The jargon you use

Using terms that your users don’t understand can be very off-putting. For example, non-techies have no idea what a “dialog” is, let alone a “modal dialog”. Just call it a “window”.

5. Right click

Some users have not discovered (or will not think to try) clicking the right mouse button. You should therefore never put something only in a right click menu or anywhere else that it can’t easily be discovered.

6. Concurrency

Some applications can handle concurrent access (e.g. client-server and web-based apps) others can’t (e.g. most desktop apps). But many users assume that all software can be safely used by multiple concurrent users. If your software can’t it might be worth spelling this out in your marketing so as not to raise false expectations.

7. What changes can be reversed

Techies are happy to play with software to see what it does. They aren’t usually too worried about trying things because they can rely on some combination to undo, version control and backups to reverse most changes and they can usually judge when a change won’t be reversible. Non-technical users aren’t so confident and won’t try things in the same way. In fact some of them seem to think that a wrong move could cause the computer to burst into flames. So try to stick to conventions they will understand (e.g. on Windows those used by MS Office and Outlook) and offer step-by-step guidance for complex tasks.

8. The need for backups

Every few days I get an email from someone who has lost all their data because they had a major hardware problem and no backups on a separate device. Sometimes this is because they don’t even realize the data is stored on their computer. You can mention the need for back-ups in your documentation and/or in the software, but it is unlikely to make much difference. History shows that this is a lesson most people have to learn the hard way (techies included). Mentioning it doesn’t hurt though and it might help to defuse an angry users if you point it out to them after the event.

9. That they should read the documentation

People are using your software because they have things to do. Like it or not, your beloved software is just a means to that end. Although some users will read documentation, most consider it a waste of their precious time. In fact, support emails I receive provide incontrovertible evidence that some users won’t even read a single sentence of text in an error message explaining what the problem is. This means you need to write clear and concise documentation, but you also should develop your software under the assumption that most users won’t read it. That is where usability testing comes in.

10. Problem exists between keyboard and chair

Unskilled users often don’t realize how unskilled they are. Consequently they may blame your software for problems that are of their own making. One just has to be as polite as possible in such cases. Making your customer feel stupid is never great for business. If it is clear that the customer doesn’t have a sufficient level of skill to use your software, you should politely suggest that it “obviously isn’t ideal for their requirements” and offer to refund them. However, if several people have the same problem then you need to change your product to be a better fit for your users (changing your users to be a better fit to your software unfortunately not being an option for most of us).

Have you been caught out by assuming technical knowlege that your users don’t have? If so, please leave a comment below.

112 thoughts on “10 things non-technical users don’t understand about your software

  1. Tony Edgecombe

    I come across plenty of “technical” users who struggle with many of these issues as well. Many struggle with drag and drop or the difference between single and double clicks.

    I often wonder if we can be too smart for our own good, if we program up to our own abilities then we are automatically making our software too complex for most users.

    One example is hierarchy, the idea that things can contain other things and so on. As a programmer this is our bread and butter but I have come across so many people who can’t grasp this, some of them from a technical or semi-technical background.

    1. Tim Yen

      So spot on about hierarchy and tree structures.

      I think that’s why Microsoft hid the folder structure in My Computer.

      I run into this problem again and again, even for people who use computers every day. To them its just a tool to do certain things and nothing more.

    2. TooSexyForAName

      I have a friend who is not really a “teckie” but who is very familiar with computers and the most typical functionalities (e-mail, Facebook, EXCEL, Word, etc, etc, etc, and even some SQL applications at work.

      However, when she is surfing the web, she always double clicks links. Why? I don’t know. I’ve asked her, but she doesn’t know why, she just says she is used to it. I’ve explained several times that she doesn’t need to, and she know, but when having fun with Facebook or e-mails she forgets and automatically reverts to double clicking everything. Maybe it has something to do that in her work the main application she uses needs double clicks for the most common operations she performs.

      It is not really a problem. Of course she surfs the web much slower than other people, because clicking twice usually has the effect of doubling the number of requests to the servers and, many times, adding somewhat to the amount of information that the servers send back.

      It is very hard for her to change this behaviour because it works. She always gets to the page she wants, and browser technology is not still fast enough that her second click clicks on something else. So she has no help in remembering and keeps on double clicking, and the pages endup appearing anyway.

      I just wanted to share this with you as I think it is a very non obvious thing, and maybe many other do it. And she uses computers confortably. If I’m on the phone with her and say “click the whatever-thing” I must remember that she might double click it!

  2. Sean

    I’ve been doing tech support in one form or another for the last ten years, and can agree with pretty much everything you’ve written.
    I keep a few sayings posted around my desk, one of the oldest of which was credited to Will Rogers when I found it: ” You know, everybody is ignorant, only on different subjects “. It helps remind me that while they may not be computer wizzes, everyone I talk to is as good, if not better than I am at something else.

  3. softwarecandy

    This is an incredible post as we serve exactly this type of users, we get new insights every day and we need to constantly adopt and improve based on lessons learned.

    For example, we address point #1 (copy & paste of license keys) by not requiring license keys at all. Instead, we automate entirely the personalization of each downloadable on our website.

    We have encountered point #2 as well: Some customers couldn’t find their download. This may be due to clicking the ‘Open’ button instead of ‘Save’. We address that by offering 12 downloads and we also plan to provide a special “candy” that finds all known folders for downloadables.

    Another interesting issue we came across recently is that some users expect to see a desktop icon for every application installed. Since we believe in a “clean desktop” and since most of our apps are intended to be used only once (“click & forget”), we don’t install desktop icons. We don’t even offer an option for it because we attempt to simplify installation as much as possible. When a customer seems to not be happy with this, we simply issue a full refund. :)

    Our approach eliminates the need in documentation. We follow this principle strictly and although we are capable of developing incredibly complex & sophisticated applications, if a certain app idea doesn’t meet this criterion, we simply don’t offer it.

    Lastly, it goes without saying that the user is always right, even if PEBKAC. This means that we can always improve.

    It would be interesting to read additional comments regarding this very important subject.

  4. softwarecandy

    Adding to our comment above, it seems that point #4 (“The jargon you use”) is by far the most important one.

    For example, “security/privacy” vs. “virus/spyware”. Can you guess which of the two users are more familiar with?

    1. Ben

      Some people seem to latch on to the word virus quite a bit. Talk to them about computer security and they think you mean locking up the room when they’re done with the computer.

  5. irv

    The jargon one was especially telling. I’ve found users baffled (and often unwilling to say so) by such obscure technical terms as “monitor”, “power button”, “browser” and “your user name.”

    Really. I’m not making these examples up. I’m glad I don’t work help desk anymore.

  6. Pingback: 10 things non technical users don’t understand about your software

  7. Ben

    Great list!

    I come across all these kinds of problems with supporting business users on a daily basis – they don’t feel the need to understand any more than the absolute basics to to get their own jobs done. And why should they? They’re not paid to be the techy geeks, we are!


    Or even KIASAYAPC – keep it as simple as you absolutely possibly can! (not quite as catchy, I know, but just as applicable).

    Actually, great business analysts are one of the most underestimated resources in a development team – the ones who actually take time to understand the BUSINESS REQUIREMENTS, not just the shiny, flashy lights we can put in the next version of the software. :)

  8. Spencer Fry

    That’s why everything we make we talk about having every control built like a Lego block. Striving for simple drag-and-drop and easy form editing is really important when building an app.

    1. Dan

      You know, they probably would…

      Drag and drop is a very visual activity with a real-world analogue. They’re completely in control of what happens, pushing the thing around the screen.

      Copy and Paste is essentially a “magical” action – highlight this and chant the magic word (“CTRL-C”) then click somewhere else and chant another magic word (“CTRL-P”), and poof! a copy of what you’d highlighted appears. Cut is even worse – magic word, and your text disappears into some invisible place.


      1. Andy The Geek

        I have found, particularly with our “more mature” customers, that drag & drop is not so easy. Somehow the combination of clicking and holding while you drag causes some short-circuit between the brain and the mouse-hand. I suspect it’s a case of over-thinking the action, but the result is usually less than desireable and frustrates the user to no end. Keyboard shortcuts seem to be more readily mastered.


  9. Pingback: Top Posts — WordPress.com

  10. Pingback: 10 things non-technical users don’t unde… | Too Much Lor3nzo

  11. MichaelWH

    I did technical support for purportedly technical people. The staggering divide between my (then-very limited) knowledge and theirs always shocked me. These were people writing software for telephone systems who couldn’t work out how, under MS-DOS, to load a driver.

    I can hardly imagine how crazy I’d have been driven by actual non-technical users.

  12. Khang Vo

    Good job on the list of user mistakes. However, I don’t really agree with your solution.

    Putting instructions, FAQ and spelling what you can offer out(like in 1, 2, 3 and 6 )doesn’t work as well. Most of them will not read it, and even most of them doesn’t understand what you talk about like multiple users. Mentioning those things too much just doesn’t help and in some cases, those instructions create more problems. You don’t want to make your users think that they are stupid, then after they do some mistake, you are there to say that you already tell about the problem will just make them more angry.

  13. Daniel

    I often get people calling the computer “the hard drive”. I try to explain to them that “no, it’s a computer, a hard drive is something inside the computer that stores your data”. I think they still don’t get it.

    To many times I speak with people who never back up their data!
    “Why would I want to do that” some of them say.

    I have lost count of the amount of times when helping someone through a problem with the computer that the problem was not the computer but PEBCAK (Problem Exists Between Chair And Keyboard).

    For me the most classic was when I did some time on a helpdesk. Getting a call to report that the computer was not working. After my usual checklist of things I discovered that the computer was not plugged into the power. I explained that the PC needed to be plugged into the powerpoint. That’s when I got a silent pause for about 5 seconds before hearing a “oooooohhhhhhhhhh, I didn’t know it needed power to work”. This person was employed in our banking sector.

  14. Brian Mc

    I love this article. I’ve done helpdesk, actual tech support for “technically skilled individuals”, and I write software for clients quite a bit. I also do computer repair, and offer network, office, and web solutions, etc….

    All of the things in your list are far too true. What really gets me is that they don’t understand the difference between their favorites on their web browser, and their files on their hard drive. It is so painful to try and differentiate that for them…and to explain that if a favorite stops working (404), their “file” was not hacked, but the website has shutdown, or been shutdown.

    I always try to think of my clients as if I’m explaining it to my Mom (not a technical person), and I try to keep in mind that I don’t want to make them feel dumb, or treat anything as though it is simple. While it’s simple for us, it’s not so simple for them. Encourage, applaud, and be willing to help everytime.

  15. Mayur

    1. Some time users try to enter user name and password of Windows login in our software and say that the software is not opening.

    2. If NUMLOCK is off and user try to use NUM Pad then also they say that software is not working.

    3. IF their system is not working then also they report to their bosses that software is not working and then they call us to correct it.

  16. Pingback: Diez cosas que los usuarios no entienden acerca de tu software [Inglés]

  17. Chantzaras thomas

    I agree with all above..but i suggest that a good enough solution is to request some kind of project manager from your clients.Someone who is sypposed to be the “translator” between you and your users.It is a dificult solution but still more painless.

  18. Asperto

    I enjoyed the article and can contribute:
    1 – The user will trust you. Some will suspend all thought and just concentrate on what you say. So you have to say it correctly. for example:
    I saw a user – who was instructed to hover the mouse in the top right corner of the screen – do just that. They picked up the mouse and waved it over the screen.
    2- Also: Help needs to be helpful. So often, you actually have to read the entire help and understand everything – before you can do anything. For example: you read the help for setting up a proxy address for instance. A label says “Proxy Address Setting”. There is an empty Textbox for this setting. The help says. “Insert Proxy Address setting in this box”. But this level of help is useless if you don’t already know what is meant by “Proxy Address” -or what it is likely to be.
    Asking for more help on this can result in the support person assuming you are unskilled – so instructing you on how to use the mouse and keyboard.
    3-There needs to be respect. People who laugh and say “Of course – I know Nothing about computers” is really putting you down – whilst giving themselves airs and graces. What they are really saying is “I am too important to spend my time on learning this and respecting your role – and in any case – I am used to having servants to do computer work for me”.
    This indulgence is fine – if they are paying for premium service.
    4 People are not stupid all the time. They may just be using you.

  19. Asperto

    I would add:
    Remember when you found out!
    I remember being gobsmacked (In 1995) when I found out that you could cut and paste from a web browser screen.
    My girlfriend showed me when I collected her from IT evening classes. I was supposed to be the IT expert.
    But I hadn’t learned that the displayed text was local.

  20. Alex

    I wonder how do the automobile companies solve their issue with the drivers that dont know how to use the wheel.

    1. Jonathan Morgan

      A few answers:
      1. Training: I don’t think many people just sit in a car and decide they will start driving today. I certainly didn’t. You usually start with someone else in the car who explains how to use the steering wheel, gears, etc., etc.
      2. Consistency: You can use a different car, but the steering wheel will typically work in the same way.
      3. Natural mapping: The steering wheel has a mapping to the real world, which makes sense and makes the action memorable. If I turn the wheel to the right, the car also turns to the right. If I turn the wheel to the left, it also turns to the left [well, OK, it might just make me turn to the right less strongly if I were already turning to the right, but even that provides a fairly natural mapping – it is not hard to remember what turning to right and left does]. See Don Norman, Design of Everyday Things, for more on this principle (and many others).

  21. technogeist

    Some of the issues mentioned really should be sorted out (solved) by developers.

    1. Don’t rely on license keys or automate by using scripting+clipboard.

    2. Make the software detect which file format is being loaded, instead of assuming file extension is correct.

    3. If possible provide cloud storage & setup procedure by default. Use a splash screen when they start application to configure/register. Warn them if no online storage is available.

  22. Jodo Kast

    Wrong. This is the stuff all users should learn.

    People need to take responsibility for their own computers. Enough with the excuses.

    1. Andy Brice Post author

      >Wrong. This is the stuff all users should learn.

      Good luck with that.

      We should also all eat less, exersize more and floss regularly, but we don’t.

      If you want to write successful commercial software you have to write for the customers you have, with all their human flaws, rather than the customers you would like to have.

  23. Pingback: MTV Launches Social Dating Game on Facebook « V E X E D

  24. Jari Väisänen

    Great entry and all, definitely gave me some pointers. I honestly didn’t think PEBKAC could go this far. I probably have biggest problem with jargon and “don’t blame the user for their stupidity”.

    Kingdom of loathing had a nice way to prevent a little bit of things like this. To be able to use chat, user has to complete a quest where you prove your skill to use english properly. Thing like there, their and they’re etc. correctly. Might be good idea to add a simple Q&A or “read FAQ entry X and answer this question” before user could send their cry for help and/or hatred.

    I also have one thing to add to the list.

    Don’t mess with things de facto.

    Mostly this applies to input and naming, left-click selects stuff, right-click for operations, copy is ctrl+c, paste is ctrl+v, window is window and not a display widget. With games it is really messed up to bind something else then jump to space or movement to somewhere else then WASD or arrow keys.

    1. pgrmdave

      KoL’s a great game, but I don’t think I’d want all my programs to come with a mandatory tutorial.

  25. Rxantos

    In other words. Most users are morons.

    You buy a expensive computer and don’t take time to learn how to use it? You don’t know how to cut and paste? You don’t know how to right click? Is like driving a car without knowing what is a break.

    1. Scott Kane

      “Is like driving a car without knowing what is a break.”

      A “break”. Hmmm. Is that a break in the axle, the engine or the dashboard – or maybe the windscreen?

      Oh! You mean BRAKE!!! ???


  26. Kate

    The worst is the people who think they are technical.
    We have a person in one of our divisions who just loves to call and say his spreadsheets aren’t working. Since I automated this spreadsheet, I have to handle his calls.
    Most of the time he hasn’t updated his database where the spreadsheet retrieves the data from. The rest of the time the server is down.
    And the worst part – I’m in finance not even in IT Support. This person clearly has the biggest error of all – ID 10 T.

    1. Michael Bolton

      It sounds like you’re almost finished the original job. Just two things left to do:

      1) Have the spreadsheet inform him of the last time that the database was updated.

      2) Have the automation detect when the server appears to be down.

      —Michael B.

  27. Gunner

    I think that those problems happens to older people, because they were born when computers ware an exotic device.
    New generations doesn’t have those problems, and even find serious limitations in the way GUI’s limit our ways to interact with computers.

    Greetings from Spain!!!

  28. Pingback: EastZoneSoupCube - links for 2010-08-25

  29. Anonymous

    There was an incident recently. I was guiding an employee on a phone to use filters on the GUI to see the data he wished to see. There were two filters that had to be applied. First one, lets say x=1. Second was y=Yes. When you typed Y and hit enter, GUI would give you a Yes or No option. He did all of that and he saw 6 records and I saw 100. So I reset his account to remove any internal filters and asked him to walk with me.

    I asked him to apply the X filter. He did. I asked him to do the Y one. He said he saw errors. I told him it was impossible because he had just applied it (before the account reset). I started thinking of all possibilities why there might be an error, the account reset and all that.

    So I type the filter, Y, send it to him in an email. Ask him to copy paste it into the box. He said he did that. Then asked him to press enter. He said “Done”, told him there would be a “equals to” at the bottom, and then type Yes next to the equals button, just like before. He said “Error”. Frustrated I asked for the screenshot. Here is what he had done-


  30. Pingback: All Your Users Are Rookies » Human to Human

  31. CarePrecise

    Our most time consuming support email? Folks who can’t seem to figure out how to install a software download. We love our customers, but the following scenario is shockingly common, despite bold, brightly colorful installation information… Customer purchases at web site, downloads compressed software file. All they need do is doubleclick on the downloaded file and click Accept. That is, if they can find the file! This is especially a problem on updates when an icon already appears on the desktop; instead of opening the downloaded file they click the old icon and wonder why everything looks the same. Sometimes we are unsuccessful, even on a phone call, getting them up and running, until an office mate takes the phone and we can speak with someone who can find and open the right file. We try hard to please, but sometimes feel that the burden of basic computer training falls to our support tech when we sell a $19.95 program.

  32. Ivan Hanakaze

    It reminds me when I was just a teenager (10 years ago) and I was doing some part job on a government agency, there was a computer that doesn’t started at all, so I came and physically checked it and it was the cable unplugged from the wall…

    Its incredible the way that we Specialized profesionals assume things about our users that may not be true. (Oh Come on, It cannot be an unplugged cable, ITS OBVIOUS that they know a computer is an electric device, isn’t it… Never knows best…)

  33. Michael Bolton

    The arrogance displayed by some of the people on this thread is remarkable, but after 20 years or so in the computer business (programmer, technical support, program manager, tester, database admin, consultant), I’m as used to it, just as I’m used to meeting people who find our products impenetrably confusing.

    I think a little humility might be in order. When someone has difficulty using a product or service that you designed, ask where the difficulty comes from—and when you’re ready to point your finger, note which way the other three fingers are pointing.

    That, or explain how you came to know all that you know without the help of thoughtful, considerate people, and introduce me to the wolves that brought you up.

    —Michael B.

    1. Scott Kane

      @Michael Bolton

      +10 for saying what many of us are no doubt thinking.

      I find it amazing, after 30 years in this industry, that we still read/hear from people that do not comprehend the simplicity behind the reason that users “failures” are proportionate to our abilities to communicate – or lack thereof. We communicate through UI’s and documentation. Most of us are unworthy of the challenge and sadly comments such as those we see here, and other places, are demonstrations of that failure as an industry.

    2. Jodo Kast

      It’s not arrogance, it’s experience. “Impenetrably Confusing” is not correct. For instance, most users do not read the manual.

      99% of the issues are explained in the manual. Users are usually too lazy to check it, or never bother to read it. So of course it ‘impenetrably confusing’.

      If there are some users that get it and some that do not, most likely the latter have no idea what they are doing.

      If no one gets it, sure, it’s the developers fault. But I’ve never seen that since the days of MS-DOS.

      1. Michael Bolton

        Hi, Jodo…

        If you’ve never seen a problem since the days of MS-DOS, I would have to say that you’ve been aggressively not paying attention. Your better testers and better your technical support people will draw things to your attention. Also, I’d like some evidence of your assertion that “99% of the issues are explained in the manual”. Which issues, specifically? Issues like people still losing data because they forgot to save their work, when there’s a powerful computer on their desk that could be programmed to do it for them? And while we’re at it, these days, which manual? Many products don’t come with one, or come with one that is so scanty as to be useless.

        I neglected to mention above that another of my roles has been as a writer of documentation. In my last documentation project, which involved a ground-up rewrite of the exisiting manual, I was astonished at how little of the product had been previously documented. I also remarked on how the documentation was presented in a way that showed the programmers’ view of how the product was constructed, rather than a customer’s view of how to accomplish her task. That was bad enough, but over and over, it occurred to me “Why is the design of this product so opaque that I have to explain it at all?” That is, Dear Programmer, and Dear Designer, why do you think it necessary to have other people explain your work? The need to explain is, heuristically, a symptom of a bad design.

        Sure: there are some people who are not exactly smarter than the average bear. These people are relatively few. There are some technologies that are complex, and do require investments of study and experience. However, I would argue that the majority of software products should not be like that. David Platt explains this brilliantly, I think:

        Why Software Sucks: Geeks Drive Stick Shift Cars (about two minutes)

        Why Software Sucks: Geeks Think You Want To Use It (about three minutes)

        Why Software Sucks – David Platt (about six minutes)

        It’s not that I don’t understand what arrogance is. Blaming your customer for a problem that you could fix? That’s arrogance.

        And do say hello to the wolves for me.

        —Michael B.

    3. andrea

      Well said MB. Professionals of course know how to install, update and use their computer. A computer is a tool and therefore should work. My car is a tool, I put the key in, turn it, it starts and I drive. I don’t need to know how to calibrate the fuel injectors or the timing. I really don’t understand how an automatic transmission works, but when I put it in drive I go forward. I don’t need to be a mechanic in order to drive.

      I did tech support, I wrote programs, I designed office systems from the word go and I taught computing. If you are support your job is to support people in doing their jobs. If you don’t like yours, don’t blame the ‘morons’, get another job.
      If people can’t follow your ‘simple’ directions YOU have a lack in communication skills, don’t blame them for your lack of skills.

      Being a CIS graduate, I need to be able to communicate with management and understand their needs, users and what they want, technicians and programmers. They each speak a different language and I can’t just use my jargon and expect them all to understand.

      When I run into a problem I cannot solve and call tech support, the last thing I need is some self-important dweeb, reading from a list telling me to unplug and reboot my router. If the best you can do is troubleshoot from a book, learn to troubleshoot for real, start by listening to the customer and determining the real problem, not reciting your “Troubleshooting for Dummies Manual” as provided during your help-desk training.

      Its amazing how much time you can save when you ask the right questions. Don’t know what questions to ask? Then YOU don’t know how to do YOUR job.

      1. Michael T

        I’d have been much more impressed with Dr Platt’s talks if when I went to his website to contact him it wasn’t *BROKEN*!

  34. Pingback: 10 cosas que los usuarios no técnicos no entienden sobre tu software | Linux Hispano

  35. Jerry

    > Wrong. This is the stuff all users should learn.
    > People need to take responsibility for their own
    > computers. Enough with the excuses.
    > — Jodo Kast

    Oh, come on. I guess you can always fix your car when it stops working, fix your own VCR and TV when they break and know how to patch the roof on your house when it starts leaking?

    Perhaps you meant, people should be able to “use” a computer intrinsically just like how people can all “use” cars with absolutely no problems. What about people who have never driven a manual transmission that get in a car with one? Should they auto-magically be able to drive it without asking for help? It’s the same thing except computers are far more complicated to use.

    Can you think of even one item that you have used where you don’t know every little nook and cranny of every possible make and model of that item?

    Just because people should be able to solve all their own computer problems doesn’t mean that the same sentiment shouldn’t apply to every item and device we use. Clearly it’s asking a bit much?

    Some people are like this with their cars, some people are like that with their VCR and some people are like that with their computer. No one knows every nook and cranny of every single item they have ever touched. And I don’t think it makes sense to do so.

    Sorry about the rant – I didn’t realize I cared quite so much what other people thought…


  36. Mary R

    I fall in the ‘nobody was born knowing this stuff’ camp. A great many of our senior citizens retired from the workforce back in the day when you it didn’t take much to crash your system (anybody remember Windows 3.0?), they watch the news in the evening with a once monthly story about clicking on the wrong e-mail can give somebody your bank account number (yes, WE know it’s not quite that simple, but that’s the way it sounds on the news), and then we wonder why they’re hesitant to try any unsolicited right-clicks, dragging, whatever.

  37. azaz

    I have come across many usability testings such as for projects which i made at my academic level.In india main problem regarding the software is language also…So we need to represent our software and documentation more pictorically than textual formats………….I hope u will get the idea and think abt something on it………..

  38. Oleg

    It is not always true for all types of software. About 90 % of my customers are very professional users and sometimes give me very useful advices. Being not in crowded niche not always bad.

    1. Andy Brice Post author

      If you are writing software for developers or other professional IT people then (hopefully) a lot of the above doesn’t hold. But you have other problems – probably including lots of free competition and the ‘not invented here’ syndrome. I think that is a subject for another post though.

  39. Fingon

    I wonder how basic knowledge of non-technical users about software will change in let’s say 10 years as the popularity grows. I guess many of issues presented in this article will vanish, because computers and software will be no longer considered as magical stuff, that only geeks understand. On the other hand maybe we will get to the point where people must possess some computer’s license to work with computers like now they must have driver’s license to drive a car. Time will tell.

  40. Rick

    lots of aggression in places.

    I do NOT program PC’s but I do write PIC software (in assembler), I design printed circuit boards and I can repair a car, a VCR, even an old 2 inch quad VCR (That’s broadcast stuff of long ago).
    i have a pile of duff laptops I cannot even get into, yet alone fix.

    Here is my take on software and users.
    Look at the MANUAL. The more intuitive the software is to use, the thinner this should be.

    Error Trapping.
    Like an adventure game, you SHOULD be able to get to the end by different routes OR it should be impossible to proceed until the correct input is received.
    MOST of my code revolves around error trapping and my manuals are THIN.

    Like Windows though, once you know, you will turn the helfull widgets OFF because that’s too much like a know-all Mother In Law.

    When I install a PC program, like the ones I use for writing PIC code, or for designing printed circuit boards, I would not be impressed by “An error has occurred” without knowing where the error was or better still how to correct it.

    Occasionally I will get these and I wonder why the error message is so terse… it’s not like the words are being sent by Morse Code to the moon.
    Maybe WINDOWS error boxes should allow a “MORE” box for those who want more, like “Type YES or NO”, reference “Y=S” earlier.
    I don’t know.
    This is what happens when computer operating systems are written by people who understand operating systems. maybe we should let the housewives and computer illiterates have a say before giga bytes of unhelpful code is released.

    SOME code by its very nature is just complicate stuff. The manuals will have a gravitational effect and the language used will be super technical.
    The language should match the target audience however.
    You will never see a book “Brain surgery for dummies”.

    The analogy with driving cars is appropriate because in the last 50 years, the wheel and the pedals stay in the same place.
    Imagine the fuss if we changed to driving on the other side of the road, started using Nintendo Game Boy keypads instead of a steering wheel and the pedals did different things depending on what you did last…

    Sadly, operating systems move stuff about, change routines and make assumptions.
    There is no easy solution to any of this.
    As much help as a unicyling Guide help Line ?

    Is it MY fault I cannot drive your software ?
    Maybe so, maybe not.

    keep up the banter guys.
    keep it polite though
    Long Live JEB and “technical Support”

  41. Pingback: links for 2010-08-26 « MYAM's Blog

  42. Chuck Brooks

    Thanks for the reminder, which should be in front of every application developer, along with the goals of reducing keystrokes and keeping things simple.

  43. John R Ramsden

    Some people have huge difficulty understanding the distinction between an installation package and an installed program, expecially if the package is a program itself.

    A friend of mine has a compulsion to download every freeby program, and worse still some cracked ones, and browser add on until his laptop runs like a three-legged donkey.

    I have had to restore an image of the C drive a couple of times to sort this out, or even get rid of viruses, and then of course he complains that some program he needs is no longer installed.

    I drummed into him that he must keep install packages (and licence keys if he ever buys anything) on an external drive for easy re-installation. But a couple of times he has asked why programs cannot be installed on that drive, like the installation packages/programs stored there.

    I’ve tried an egg/chicken analogy (egg = install package, chicken = installed program), which he seemed to grasp. But I still don’t think the idea is clear to him.

  44. Pingback: 让人震惊的10个非技术人员无法理解的软件概念

  45. Pingback: 让人震惊的10个非技术人员无法理解的软件概念 | 爱宅网

  46. WampDeveloper

    I’ve found that about 30% have some difficulty understanding what the file system is / how to use it.

    That about 50% (at least) will not read instructions, or even the text the application displays when installing, throwing an exception, etc (they’ll just keep clicking the button thinking the next time will be the one when it works).

    > Some people have huge difficulty understanding the
    > distinction between an installation package and an
    > installed program, expecially if the package is a
    > program itself.

    I’ve tried solving that problem by getting rid of the idea of a traditional installation package and integrating the “installer” into the main application…

    If it detects an uninstalled state, it performs an installation (runs installation tasks), and installs as-is (into/as the folder it’s in).

    If it detects an installed state, it runs the application.

    But you still need to package it into an exe that extracts the contents to a folder in the filesystem initially, or the user will install it right into the temporary WinRar folder when they open the zip file and click the application binary. And they will do this 30-40% of the time even if you provided explicit instruction and display the location where it is being installed and warned them that they are installing into a temp folder.

  47. Pingback: Nick Hodges | Flotsam and Jetsam #7

  48. Pingback: Steven's blog » 非技术人员无法理解的十个软件概念

  49. Pingback: 非技术人员无法理解的十个软件概念 | 中国数字时代

  50. Pingback: Email advice for the rest of us « Security For All

  51. Pingback: 让人震惊的10个非技术人员无法理解的软件概念 « Seven's Pad

  52. Pingback: 10个用户不理解的概念 - 数据力量

  53. Pingback: 呼呼博客 » 非技术人员无法理解的十个软件概念

  54. Pingback: let's try » 非技术人员无法理解的十个软件概念

  55. Pingback: I’m a millionaire! « Successful Software

  56. Pingback: 非技术人员无法理解的十个软件概念 | 狗尾巴草-WEB技术

  57. Swarup Sengupta

    This advice is really a GREAT lesson to people like us. There are so many content and information in the web that user need to concentrate only to what they need exactly at the time of work. I think success story of Google is its simplicity. They are rich in content and people are interested only in that part.

  58. Pingback: www.christian-rehn.de » Gefangen, nicht gefunden! #12

  59. Pingback: 非技术人员无法理解的十个软件概念 « 逍遥阁

  60. Barcode

    This is a great blog.

    I’ve certainly noticed some similar things with my customers. Also, I’ve noticed that 90:10 rule applies (in fact it’s more like 99:1 – 1% of my customers seem to cause 99% of my support queries, while the other 99% of my customers just get on with using the software without any any problems or contact after initial purchase).

    1. Sylver

      This could also mean that a large percentage of your users tried, couldn’t make it work and gave up without letting you know.

      That’s particularly the case with cheap/free software. There is a lot of software which I download, find that it doesn’t work for my purposes or doesn’t work at all and just uninstall it, without ever contacting anyone about it.

  61. Mark

    An excellent post Andy. I started my programming career with a year and a half on a support desk for internal users at a large corporation. Because of that, I am a firm believer that all developers, as part of their apprenticeship or training, should have to work 1 or 2 years on a technical support desk. It is a true learning experience.

  62. Pingback: 這不是秘密,但是爸媽很少這樣想@囧評20100912 – Razorcap Studios

  63. Pingback: 让人震惊的10个非技术人员无法理解的软件概念

  64. Tez

    I would like to add 2 more:

    1) Unfortunately some users think all messages are errors in the software. Even instructional messages. For example I have made some library software and it had the following message

    “This book is currently on loan to another user (X), you will need to return the book first before you can loan it to X”

    (where X is the real name of the appropriate user)

    The librarian called support saying they had an error message and they could not loan a book.

    2) Licence keys that span multiple input boxes. These annoy expert and novice users a like. The expert cannot copy and paste a licence from an email to these boxes, and if they are badly designed a novice will type out the whole 32 digit code and realise they are still stuck in the first 4 digit entry box…seriously poor programming and I have seen it too much…

    1. Kanzie

      > Unfortunately some users think all messages are errors in the
      > software. Even instructional messages. For example I have made
      > some library software and it had the following message
      > “This book is currently on loan to another user (X), you will
      > need to return the book first before you can loan it to X”

      Unfortunately whenever there is any possibly of a disconnect between the physical world and the data model, people can get confused.

      If I’m the librarian and I’m trying to lend out a book, “user (X)” is obviously not in possession of the book if I’m holding it, and shouldn’t be on loan to that user. Since what the computer is saying is obviously wrong (the book can’t be on loan to that user), the program must be wrong…

      1. andrea

        I wrote a program for video rentals that had a similar function. Someone would bring up a video (ie it exists in the physical world) and the computer would put up a message:

        “Records indicate this video is on rent, would you like to return it now.” Y/N . Of course the simple thing is hit Y and then you can rent it.
        If it got put on the shelf in error there would be late charges possibly and to address that, if it was now late due to our error another message appears:

        “This video appears to be returned late; would you like to waive late charges?” Y/N. of course if it was on the shelf it means someone (staff probably) made an error and therefor the customers should not be charged. IF you selected yes waive late charges you had to supply a reason, a box appeared to type in with the cursor in it already, so all you had to do was type….Found on shelf.
        Simple Y Y Found on shelf and then you carried on renting it. Didn’t need to go to the “Return” screen, then back to the new client file. Simple and direct, NO ONE had problems with it.

  65. Pingback: Writing for non-technical Readers | Journal

  66. Adrian

    People get confused, even smart people. It’s our job as programmers, designers etc to make an application easy to use. You won’t please everyone, but that shouldn’t stop you from ignoring user experience issues. Bitching about it won’t help, doing something about it will.

  67. Pingback: - TJ SingletonTJ Singleton

  68. marvin nubwaxer

    how about the concept of partitioning your hard drive into at least a system partition and a file storage partition? that usually draws a blank expression.

  69. andrea

    I also worked for a college writing an operation manual for ALL their administrative functions. It was over 400 pages long. For 25 years people had been teaching each other and the manuals/instructions where outdated or gone. I had to go into every screen/program admin might ever use (student admissions, grades, teachers salaries, courses….)and document how to use each particular segment of any program. Document down to the tiniest details, check every single data entry line, ensure all functions worked correctly.

    In the process I discovered a few holes and boy did that get the IT department hopping. I was able to access areas with password protection when I didn’t use the password….oooops.

    BTW I also has SU status so I could access everything when necessary.

Comments are closed.