I often have to explain computing concepts to non super users, and I often do it by relating computing concepts to real life situations.

I wouldn't mind seeing how other super users do it, and some really good explanations might come in handy instead of me having to wing it.

So, how do you explain advanced computing topics to the 'normal' people?

Notes: One explanation per answer, and let the best float to the top. CW turned on, since this is subjective. Also, feel free to edit my tags if you can think of better ones =)

  • I updated the answer. I'm actually looking to see how people explain specific concepts. For example, how would you explain bandwidth? A TCP/IP connection, etc. – EvilChookie Oct 6 '09 at 15:48
  • @EvilChookie: I think you should just keep the question about approaches/techniques of explaining topics. That is the direction that as least the first answers are heading. Specific analogies/terms could make this question have 88902 answers. – Troggy Oct 6 '09 at 16:12
  • Too broad. "How would you explain bandwidth?" alone would have been a better question. – hyperslug Oct 6 '09 at 16:15
  • @Troggy - Fair enough. I can see how this would be a bit broad. – EvilChookie Oct 6 '09 at 16:25
  • I do agree with hyperslug though, this is a bit vague to begin with, but you did make it wiki from the start. – Troggy Oct 6 '09 at 17:05

13 Answers 13


I think this not only covers fixing a computer, but figuring out how to do any kind of advanced concept. This is honestly the approach I take for every piece of software it seems.

Tech Cheat Sheet

Even advanced users will follow the same chart. The only difference is that they're better at googling, and for help, they ask SuperUser.com

  • +1. emailed this to my dad the day it was published. he's got it printed out beside his office comp. – quack quixote Oct 6 '09 at 16:04
  • +1 what's even worse: it's 100% true – Ivo Flipse Oct 6 '09 at 16:28
  • 4
    And how do you explain flow charts to people who don't understand flow charts? :) – Ernie Dunbar Oct 6 '09 at 17:05
  • 4
    @erniedwork - there's an XKCD for that! xkcd.com/518 – quack quixote Oct 6 '09 at 17:30
  • [citation needed]* OK, here: xkcd.com/627 (this is the link to the comic in Guard's answer). *Now the link to the reference in this comment: xkcd.com/285 – Dennis Williamson Oct 6 '09 at 18:21

The most common I've run across is that non-computer people think computers are smart. The 'smartest' computer on the planet is 1000 times dumber than the dumbest dog. A computer does what it's told, but a dog can learn. Well, not my dog, but everyone else's ;-)

I typically explain that a computer is like a cookbook that knows how to bake its own cakes.

No one thinks a bread machine is 'smart' because you throw in flour, yeast & water and a few hours later fresh bread comes out.

Furthering the analogy:

  1. Computer code is just a recipe.
  2. Programs are just trying to run through their recipes.
  3. Sometimes the cook gets it wrong. Too much salt, or 'waiter, there's a fly in my soup'
  4. There are many recipes out there and they tend to cater to different tastes. Windows, mac, linux. Don't be afraid to experiment. Not every flavor will appeal to everyone, but if you eat oatmeal every day, you'll never really find out what tastes you like.

Pick an analogy that they are familiar with. For example most people drive a car, or at least ride in a car. So you can use the number of lanes on a highway as an analogy to bandwidth. The data packets are cars. Just a few cars and many lanes available, traffic will move very quickly. Add too many cars or reduce the number of lanes and traffic slows down.


I find its best to relate a complex topics to something familiar to the audience.

For instance:

  • I'm a software developer and my wife (who is not a computer guru) often asks me how my day was when I get home. I will usually start telling her about the whatever problem I worked on that day. Once I tried to explain about how I discovered someone had implemented a database caching mechanism backwards. I told her it would be like dumping out her purse before heading out for the day, then coming home and grabbing a single item she needed, using it then leaving again with an empty purse.

You don't explain advanced computing concepts to non-technical people. You explain simple computing concepts to non-technical people. Bandwidth and CPUs and routers are simple computing concepts. And concepts that they actually want to know about.

What non-technical people rarely want to know about are things like the South Bridge on a motherboard, or the LAMP stack, or the inner workings of a MySQL database. As such, you rarely have to explain these things.

When explaining simple computing concepts, avoid using acronyms and technical terms. There's no faster way of making anyone's eyes glaze over than using vocabulary that's unfamiliar to someone. A fine example of this is when one day my boss tried to explain a tidbit of macroeconomics to me, and used no less than 5 unfamiliar terms in about 3 sentences. I was immediately utterly lost.

It's also fine to use rough approximations that might not be strictly true (something that we geeks are sticklers for), but explain it simply enough. "Bandwidth" is "the speed you're able to send information to and from the internet", "CPU" is "that one chip in the computer that does all the work - the calculations and data management", hard drives are places where information gets stored, and routers are "the boxes that separate and manage networks - and block malicious internet traffic".


One of the qualities of a good technology professional is being able to explain modern computing concepts and procedures in lay man terms/illustrations for the every day user.

First off, you cannot speak down or in a condescending manner. This is one of the most common complaints of poor technicians and support staff.

I like to use everyday modern analogies and to explain at least the basics of a concept. Use something they use often and something they would be familiar with. Most users do not care that much about the little details. They just want to know the concept/idea.


Explain more advanced computing concepts to a non super user?

The most you can do is explain these concepts using analogs. You might think that you've explained the problem well, the other person might believe that he understood the explanation, but all you're having is a magnificent misunderstanding on both sides.


My first approach is to question them rigourously to find out what it is they are trying to do, trying to understand, having problems with, and ideally show me the problem or explain in detail what they don't understand. That way I don't spend hours trying to do things, or offering suggestions for a problem that doesn't exist or a problem that has been badly described intially. As to concepts it always has to be a case of talking to the person in terms they understand, so know your audience .


Visualizations are key. When I try to explain how RAM or CPUs work, drawing them out is always best. You can show data flow and all kinds of cool stuff. Visualizations let others see how these concepts work in a normal way.


Depending how advanced you're getting and the topic you're explaining I don't see a need to get too technical with non-computer people. Whenever I'm in a meeting with the business talking about what can be done technically I tend to stay away from the "geek speak" unless absolutely necessary. I do find myself going off on a wild hair but that is usually when other technical people are in the room and we are discussing something the business wants. But once we've decided on a solution then I would explain it at a high level to the business team. Besides all they are concerned with is: Will it work and how much will it cost me?


There are multiple ways that we can explain things to normal users and one of best way is to make simple and clear power point presentations / Movies with real world examples

  • 1
    No, not power point! How many power point presentations can you remember? – ianfuture Oct 6 '09 at 18:38
  • Sometimes I remember the content, if the person doing the presenting did a good job. (And I'd use Keynote if I could :) ) On the other hand, I don't sit down and make a presentation for every question asked of me. – John Ferguson Oct 6 '09 at 22:22

Computing topics = Software or hardware or both?

For software I explain a basic abstraction of how the software sees things and how it processes input. Processes are described as people performing tasks.

For hardware I often make traffic analogies where the architecture is a city.


Quite simply, I DON'T. At least not unless I absolutely have to. And if I have to and I am sure they won't understand, I just talk in some sort of parable. :-)

A few months back I tried to get a total technophobe to install something really really simple that just required you to double click on the file and click the finish button when done.

Well, she is a hairdresser. I got a long email response back explaining to me that it made about as much sense as how to perform a "uniform layered haircut".

But if you really must explain bandwidth. Lets give it a try. The wider the band the bigger it is, and bigger is usually better right? and hey, it costs more so it must be better.

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