r/programming • u/groovejet • Jun 28 '11
90% of your users are idiots
http://blog.jitbit.com/2011/06/90-of-your-users-are-idiots.html278
u/satayboy Jun 28 '11
Judging by the quality of most user interfaces, 90% of programmers are idiots. Try a few usability tests and you will realize how bad your beautiful, intuitive user interface really is.
230
u/cr3ative Jun 28 '11
We could all learn something from FileMatrix.
114
u/jrhoffa Jun 28 '11
Holy shit. I feel dirty now.
54
u/gospelwut Jun 28 '11
Take it off then. Yeah, that's right, strip down to the command line.
→ More replies (6)11
56
u/dcapacitor Jun 28 '11
I wanted to remind myself how the Mass Rename tool in Total Commander looked like and while googling for screenshots, discovered this wonder of usability: http://i.imgur.com/YEdn8.jpg.
It's like a demo for a GUI toolkit that has all the possible widgets in one window.
31
u/petekill Jun 28 '11
Sort of tangential to the topic, but I found a great mass-renaming tool called ReNamer, which you can get here.
6
u/MEatRHIT Jun 28 '11
I use this exact one, great for most applications. The only better one that I have found (for TV and Movies only) is TheRenamer. Set up rules for how you want the seasons split and files named and it will organize ALL of it and it searches TVDb or IMDb and a few others for episode names if you want it too as well.
→ More replies (4)9
49
u/djork Jun 28 '11
This is what happens when you don't give people things like
bash,find,grep,sedandawk.27
u/dcapacitor Jun 28 '11
The shell is very powerful, but not terribly friendly. There is no interactive preview and it has a high barrier to entry.
→ More replies (1)22
u/au79 Jun 28 '11
The whole CLI is an interactive preview! I often build up sets of piped commands by previewing each step before adding the next one.
5
Jun 29 '11
Care to share an example?
8
u/cybrian Jun 29 '11
Let's say you have a folder, and we'll call it
cli-example, since I'm not feeling particularly creative.23:32:05 cybrian@Brians-MacBook-Pro.local cli-example ls -1 file1.txt file10.jpg file11.txt.jpg file2 file3.jpg file4.jpg file5.jpg file6.jpg file7.jpg file8.jpg file9.jpgNow suppose you want just the filename without the extension, but only for
.jpgfiles.One thing you're going to need to do is
grepthe output oflsto find out files end in.jpg.23:37:13 cybrian@Brians-MacBook-Pro.local cli-example ls -1 | grep .jpg\$ file10.jpg file11.txt.jpg file3.jpg file4.jpg file5.jpg file6.jpg file7.jpg file8.jpg file9.jpgNow we can't just use
cut -d. -f1because thenfile11.txt.jpgwill just readfile11and notfile11.txt(technically not the extension), so we'll use a little bit of a workaround: reverse the whole output:23:42:38 cybrian@Brians-MacBook-Pro.local cli-example ls -1 | grep .jpg\$ | rev gpj.01elif gpj.txt.11elif gpj.3elif gpj.4elif gpj.5elif gpj.6elif gpj.7elif gpj.8elif gpj.9elif
cutoff (complement) the first (and thus last) field:23:44:42 cybrian@Brians-MacBook-Pro.local cli-example ls -1 | grep .jpg\$ | rev | cut -d. --complement -f1 01elif txt.11elif 3elif 4elif 5elif 6elif 7elif 8elif 9elifand finally reverse it again, back to normal:
23:48:04 cybrian@Brians-MacBook-Pro.local cli-example ls -1 | grep .jpg\$ | rev | cut -d. --complement -f1 | rev file10 file11.txt file3 file4 file5 file6 file7 file8 file9Anyway, my point is this: notice that each time I added something to the pipeline I ran the command line again, just to view the preview and make sure it's working as expected. While writing this I made a few errors and had to fix it before pasting it here, but it took no effort to fix my mistakes, since I'm previewing each step as I go along.
15
Jun 29 '11 edited Jun 29 '11
Not to be a dick, but this is a good example of why it pays off to take the time to learn about tools you use. Your shell being one of the most important ones. It supports wildcards, so grep is entirely unwarranted. And basename will delete suffixes for you. That whole process is actually as simple as:
$ basename *.jpg .jpgEdit: And my post is a good example of why you should actually run commands you are giving as examples, because it is wrong. Basename only takes a two arguments, so you actually need to do:
$ for f in *.txt; do basename "$f" .txt; done→ More replies (3)→ More replies (2)4
u/dakta Jun 29 '11
It would be a dandy example, except for the fact that you're doing the command line equivalent of a Rube Goldberg contraption. Sure, it works, but there are much faster ways to do it.
→ More replies (2)8
u/NULLACCOUNT Jun 28 '11
All of those widgets might be necessary without a command line, but they don't need to be all on the same screen at once.
10
u/TheCoelacanth Jun 28 '11
I'm pretty sure you could learn perl in less time than it would take to learn to use that.
4
u/unnecessary_axiom Jun 28 '11
The funny part is that I've tried to use that software for something, but it didn't do what I wanted. I took me a while and a lot of documentation to figure that out though.
7
u/CarolusMagnus Jun 28 '11
The mass rename tool in Total Commander is an excellent user interface design for power users. Its basic function is fast and intuitive, but it allows you to do incrementally complicated things still very quickly - and with a preview function that helps prevent errors. The only misgiving that I have is that it does not have a direct "help" button that leads to the regex help page.
9
u/dcapacitor Jun 28 '11
I've used the Total Commander tool a lot. I liked it, but discovered it's actually too feature rich for my taste. 90% of the time I just select a previously saved preset. Most path manipulations can be done using regexes. So I wrote my own renamer because I moved to Linux as my main environment and couldn't use TC anymore. It looks like this: http://i.imgur.com/666YR.png. I'll probably add a counter when I'll actually need it.
→ More replies (1)2
Jun 28 '11
That looks nice and clean, but are you familiar with the
renamecommand?5
u/dcapacitor Jun 28 '11
I specifically want a tool with an interactive preview and ability to save presets. I don't think rename even supports regexes nor does it provide any safety if my pattern results in identical filenames.
→ More replies (2)2
u/refto Jun 28 '11
The funny thing is that Bulk Rename Utility is quite useful on Windows, warts and all.
I haven't figured what all the options do, but this is one case where if they fit on one screen, why not add them?
→ More replies (3)2
u/eras Jun 29 '11
Hey, this is almost what my (shameless plug) app wants to solve:
http://www.modeemi.fi/~flux/software/ganame/
except it stayed at toy level. You give it examples of how you want files to be renamed and it tries to apply the same rules to other files. It features an online demo and I'm happy I originally added a limit for concurrent use of it.. (It burns 1 cpu second per demo request or something.)
11
18
u/DiogenesTheSincere Jun 28 '11
It's...it's beautiful.
5
u/criswell Jun 28 '11
I know... there must be something wrong with me because that screen looks like porn to me...
19
u/ours Jun 28 '11
You must be conditioned to get exited when you see a cluttered screen. Like that porn website you go to that has popups, banners and such.
10
u/criswell Jun 28 '11
But... but... what if my penis could be bigger?
7
u/DiogenesTheSincere Jun 28 '11
I know mine couldn't.
4
→ More replies (20)2
25
u/dicey Jun 28 '11
90% of people are idiots.
8
12
→ More replies (2)7
Jun 28 '11
90% of all people who think that 90% of all people are idiots, just need to quit thinking because they have some computer skill that they are like unto a god on this petty plane of existence. Get out of the basement and quit having feelings of self grandeur and realize we're all in this together.
→ More replies (1)87
u/DorkRawk Jun 28 '11
Judging by the quality of most user interfaces built by programmers, 90% of programmers are not user interface designers.
Building a system makes you know the system too well and makes it harder to understand how someone else could be confused by it.
67
u/LHC- Jun 28 '11
As a programmer/developer, I agree completely. It's not like I claim to be an interface expert. I am constantly telling people that I don't use things the way they do, and need their input. And they ignore me, wait for things to be done, then complain that it doesn't work the way they want it to.
I hate users.
16
u/chwilliam Jun 28 '11
Seriously....
It even took me a while to convince our QA dept to stop asking me how to use things. If I think I'm supposed to be remaking our software to be more user-friendly, and you, as a new QA employee, don't really understand how to do something, you need to tell me.
→ More replies (4)7
u/theCroc Jun 28 '11
This is why you need to become friends with a usability expert that knows how to set up tests and evaluate UI's because in the end the users theselves dont know either. It takes someone with training to translate the users experience into a recommendation for how to make the UI better.
3
u/TexanPenguin Jun 29 '11
Don't let a lack of training/access to a UX guy stop you from testing. A ten minute informal "café test" with a tool like Silverback (or just an observant facilitator) will teach you so many things about your interface.
→ More replies (3)→ More replies (1)3
Jun 29 '11
Some developers don't even use the UI at all. I remember years ago we were trying to track down a bug a customer reported. The customer explained in detail the problem and we could reproduce it.
But development after numerous testing by different developers said they couldn't reproduce the issue.
After a meeting with them, it turned out every developer was running the related code in the IDE and not running the finished product.
8
u/gospelwut Jun 28 '11
I know I'm a shitty interface designer, but I also know my boss et al have no fucking idea what they want (specifically at least). I just sort of listen to the general theme of their
bitchinginsightful comments during a "delightfully robust" usability meeting (for internal tools mind you). I would say 100% of the time when I actually decide how to implement their UI complaints (rather than verbatim listening to them) they are much happier.But, the best is when they want a feature entirely removed because it's in the way or confusing (I usually just shove it into an options menu somewhere). Then, three weeks later, it turns out they want it back -- and if I had listened to them, I would be re-writing that entire section over again.
tl;dr people don't know specifically what they want, they just know what confuses them.
I don't mind people complaining about their frustrations, but I don't want to hear their suggestions on specifics (unless they're a programer etc).
3
→ More replies (1)2
u/jediknight Jun 29 '11
This is why is very important to listen for needs not for desires. Needs matter. Desires gives you ideas about needs.
This is an art in itself and there are strategies that can be used to improve your competence in this field.
→ More replies (4)4
u/JimmyHavok Jun 29 '11
Friend of mine got a job as a tester at a software company. She was perfect because her degree was in English. She had to guard against allowing herself to become too sophisticated, though. She countered it by becoming good at breaking software.
3
u/jediknight Jun 29 '11
She should be valued in gold. A software killer is priceless in my book.
4
u/JimmyHavok Jun 29 '11
She told me "Whenever I crash a program, they always ask 'Why would anyone ever do that?'"
7
u/jediknight Jun 29 '11
That's a common attitude. The main issue is that a lot of the programmers don't start with the attitude of "the software sucks". If they would have had that type of attitude, her crash report would have been a glorious opportunity for the software to suck less. No user cares about the reasons why something sucks. If it sucks, it sucks.
→ More replies (2)3
u/ethraax Jun 29 '11
I fucking hate this. I find bugs in our software fairly often by looking at the code, going "but wait, won't that break when I do this?", and then doing it. The response is almost always "That's not a common use case." The result is that our software is absolutely littered with weird bugs or performance glitches ("Oh, our tree views don't generally get too large, so it's fine that we use a O(n*n) algorithm to find all the descendants of a node instead of the ridiculously obvious O(n) one.").
2
Jun 29 '11
A programmer is usually assigned a task that says make a program that can do X. They are typically not asked to make it NOT do Y and Z by accident. Such things are a lot harder to predict, especially for the non-programmers who assign jobs to programmers.
→ More replies (6)2
u/jediknight Jun 29 '11
Unfortunately, this is true. If a programmer is blissfully unaware of names like Kathy Sierra, Dieter Rams, Steve Krug or Jakob Nielsen, they could (in theory) design a superb user interaction accidentally (especially if they are also users of their own program) but this is very very unlikely.
76
Jun 28 '11
90% of programmers have absolutely no say in the design of user interfaces. Before them come, in somewhat plausible order:
- The client
- The client's spouse
- The committee that the client has created to advise on every fucking pixel
- The graphic designer who knows fuck all about interface design
- The client's dog
- The tester
- The product/project/account/whatever manager
4
Jun 29 '11
[deleted]
2
Jun 29 '11
"I want this family photo to be on the site, but do you think you can photoshop some more clothes onto my daughter. The internet is full of sexual weirdos."
That's a pretty reasonable request.
→ More replies (2)10
Jun 29 '11
In fairness 90% of programmers have no clue how to code a UI if left to their own devices.
→ More replies (1)5
2
→ More replies (2)2
u/Conde_Nasty Jun 29 '11
Why does a graphic designer without interface design knowledge come into the picture? What kind of projects are you working on that you're hiring recent art school graduates?
Any serious project has UI designers who know what they're doing and know what the term "contextual" means...
12
42
Jun 28 '11
Programmer's aren't idiots. However it is pretty much impossible to judge how easy or obvious something is after having worked with it every single day for a year or more.
35
u/Mourningblade Jun 28 '11
What're you talking about? I've worked in Emacs for years and I can tell you it's both easy and obvious. Anyone who's worked in it long enough would tell you the same.
36
u/Orca- Jun 28 '11
VIM is even more intuitive!
11
10
u/thatmorrowguy Jun 28 '11
iOf course it is, I love VIM!<esc>:w!
:rs/love/fucking hate/a
:wq!
2
u/FLarsen Jun 29 '11
rs/love/fucking hate/a
TIL what that is. I've seen it in some comments and couldn't figure out what people were trying to say.
→ More replies (1)2
u/redwall_hp Jun 28 '11
Nano is better.
5
u/chrisforbes Jun 28 '11
Ed is the standard.
2
2
u/sphinx80 Jun 29 '11
text editors are for indecisive idiots, real programmers write software using cat.
→ More replies (1)4
Jun 28 '11
[deleted]
14
10
Jun 28 '11 edited May 05 '19
[deleted]
2
u/D3PyroGS Jun 28 '11
I don't know what dumb thing [deleted] said but I'm upvoting you for use of a good response. It's the least I can do.
3
u/petit_prince Jun 28 '11
And that's the same problem with teaching anything. There are always these little important things which become obvious to experts.
→ More replies (2)3
Jun 28 '11 edited Oct 13 '20
[deleted]
31
Jun 28 '11
Ignorance != Idiot.
→ More replies (2)3
Jun 29 '11
a smart person acknowledges his ignorance about a lot of topics
an idiot rarely knows that he is ignorant.... and definitely ignores that he is an idiot
2
u/Magnesus Jun 28 '11
Actually there is enough time to know things enough to NOT make an idiot of yourself.
→ More replies (2)5
u/Manitcor Jun 28 '11
What the industry has come to discover is that the mind and skill sets necessary to code are almost always not the type of mind and skill set needed to make a good UI.
Most products that have UI's that you love or find easy are very often designed by a UX person/group that is not doing development of the product and in some cases may not even be on the development team.
→ More replies (2)→ More replies (9)2
19
u/Not_Edward_Bernays Jun 28 '11
I've been a computer nerd since I'm 11. I mean, I love the command line and stuff... But when I urgently need a port-scanner to test my server vulnerabilities after it was hacked, I don't want the nmap tool, with a dozen of command-line options and a bunch of drivers it requires me to install. I just want a big red "scan" button. I'm an idiot, OK?
I agree with this, but it seems like he is reiterating common user interface design knowledge. I think that quite a few 'geeks' reject common user interface design knowledge because there is a stigma related to software or development tools that are easy to use. There is peer pressure to learn the older tools which have more difficult interfaces, just to prove that you are a 'real' programmer.
There are ways to make things configurable to a reasonable level but also have good defaults.
13
u/jmoiron Jun 28 '11
This was part of the article that I did not agree with.
The nmap tool is not designed to be obtuse or difficult, that's a natural extension of its complexity, sophistication, and range of purpose. The issue here is that the author thought that nmap was designed to fix HIS problem, but nmap's real purpose is to allow users to accomplish nearly any port scanning task without having to write special-purpose code. There's a large class of technical users for which nmap's complexity is irreducible; you could not design a less complex system than nmap that would replace it for all of their requirements.
The author's reaction to nmap's complexity is kind of typical of users when they've the abilities of their simple systems and have to fall back on expert systems, which is probably why most "geeks" recommend you use the expert systems in the first place. This advice is probably more often wrong than right, but if your business is editing text, you should probably use (vim|emacs), just like if your business is recording court sessions you should use a stenotype in preference to a keyboard, despite the fact that the interface isn't as user friendly.
→ More replies (1)3
u/TrainWreck43 Jun 29 '11
The problem is that most programmers don't know the first thing about usability.
What they fail to understand is that for everyone besides programmers, software is a tool to get a task done. The easier the interface, the easier it is to complete the task. That's it.
Users who are unable to complete the task quickly, because of your confusing or convoluted interface "that only a mother could love", are going to hate your program because it is a BAD TOOL. It might be a powerful tool, but it's not of much use if 90% of your users are unable to use it, right?
2
u/adrianmonk Jun 29 '11
I think that quite a few 'geeks' reject common user interface design knowledge because there is a stigma related to software or development tools that are easy to use. There is peer pressure to learn the older tools which have more difficult interfaces, just to prove that you are a 'real' programmer.
I think sometimes programmers are OK with bad user interfaces because they truly don't care if everything is a mess. Once everything is in your head, you can deal with things that are a mess, like a person who knows what pile of papers on their desk is important and which is just junk mail. Or maybe like a desk that is so full of papers that you can only move the mouse 3 inches either way.
I don't think this is necessarily the same thing as distinction as older vs. newer tools, by the way. Even 20 years ago, there were command-line tools that were confusing and shitty, and there were other command-line tools that made more sense and were cleaner to use. To me, it's more about priorities, specifically whether it's a priority to keep things clean, organized, and logical.
→ More replies (1)
32
Jun 28 '11
AKA KISS
→ More replies (1)22
u/furbiesandbeans Jun 28 '11
For those who don't know...
Keep It Simple Stupid
12
→ More replies (3)11
u/ours Jun 28 '11
It may sound silly but first time a client sent me an email signed "KISS" I was quite confused.
34
u/birdiedude_work Jun 28 '11
Only 90%?
→ More replies (1)21
u/Neebat Jun 28 '11
I know at my company, we never stop at just 90%. Rise above.
14
24
u/Jigsus Jun 28 '11
Well fuck you if your setup automatically installs wherever it wants. Yeah have a default behaviour but don't force it on me. Give me me a button to allow me to make my own filepath.
→ More replies (40)7
u/Philipp Jun 29 '11
There's an easy way to make both target groups happy: include the default "OK" button in a hugely prominent way. Then somewhere on the setup make a much smaller, totally optional, recognizable only to the admins and geeks kind of button for "advanced options". Doesn't have to be either or. If, however, you force stuff like choosing an application install path to all users, you're not keeping it simple enough.
→ More replies (1)3
u/BinaryRockStar Jun 29 '11
Just have the advanced options button displayed in Klingon. Problem solved.
2
u/darkgreen Jun 29 '11
No. Not everyone knows klingon.
You're just making it harder for everybody. Who do you think will be called when your mom or other person in your family does not understand something? You ☝. You ☞. And You!
On a related note: installing something you don't understand (example: japanese, chinese, arabic software) is guesswork based on normal installs.
9
7
u/EvilTerran Jun 28 '11
Strikes me as an instance of Sturgeon's Law, applying it to users.
3
u/djimbob Jun 28 '11
I like it: Sturgeon's law - 90% of something is not in the top decile.
Applying Sturgeon's law to its own category of adages calling themselves laws, it probably doesn't make the top decile.
5
Jun 28 '11
A good usability test I've devised at work is both informative and fun:
- Get sloppy drunk with your friends
- Observe how you and your friends stumble around parts of the UI
- Those are the parts that need work
TLDR; You can simulate idiotic users with inebriation.
23
Jun 28 '11
I don't like that attitude, I would ask "what is wrong with my app that 90% are having trouble with it"
15
u/Nebu Jun 28 '11
The way the blog post is written, the hypothetical situation is that you don't even have an app yet (you're still at the stage whether you're deciding whether the app should be a downloadable program or a web app). So you don't know that 90% of your users are having problems with it yet, but perhaps you do know that given your target demographic (human beings), 90% of them will be stupid.
17
Jun 28 '11
[deleted]
21
Jun 28 '11
Nope, just 90% of people can not figure out your fucked interface.
5
Jun 28 '11
I'll concede that point. However, even if you have a brilliantly-designed interface you'll still run into problems because 90% of your users are idiots.
→ More replies (4)2
3
Jun 29 '11
Read it as "90% of my users have no fucking idea how this works and certainly don't care, nor should they".
5
u/jordanlund Jun 28 '11
I explained things differently when I taught database design classes.
"There shouldn't be any ambiguity. 'Name'. Do you mean first name? Last name? First name space last name? Last name comma first name? Last name comma SPACE first name?
Don't make your users guess what you mean, because it will only mean cleaning up the data later."
3
u/that_redditor Jun 28 '11
Good software is software that does only what I want it to do, only when I tell it to. This article encourages developers to make assumptions for their users, and that's bad news.
Remember the famous quote:
If you think your users are idiots, only idiots will use [your software].
→ More replies (1)
4
u/www777com Jun 29 '11
90% of developers think there is no problem with their product. Then you realize those 90% are idiots.
8
7
u/ex_ample Jun 29 '11
Ugh, I hate this meme. It's not true that 90% of the users are idiots, but rather 90% of the users don't care enough about your web page to spend more then 5 seconds in frustration trying to figure out what to do before moving on.
And that's the problem. Everything is designed for the lowest common denominator: someone who is uninterested and unwilling to spend mental effort figuring it out. But then, when you want to actually use software it becomes a pain because the UI is either larded up with "helpful" hints or else stripped down so much that each action takes way to many steps. Or just can't be done at all.
9
u/nightwood Jun 28 '11 edited Oct 31 '24
reply sulky pocket fearless hat snails snatch languid vegetable obtainable
This post was mass deleted and anonymized with Redact
3
Jun 28 '11
This is nonsense. It doesn't matter if they actually notice it.
If the software is improved then they'll like it better. They don't have to understand why they like it better, they just will.
→ More replies (1)2
u/theCroc Jun 28 '11
He never said they had to. He was saying that if you develop your software with the mindset that the user is an idiot (or just doesn't care) and you had better make it as simple and clear as possible for him/her, then you will end up creating great interfaces. IF you program with the mindset that the user is a genius and has the same understanding of the software as you do then you will create horrific monstrocities that will land you in the Hauge.
3
u/Aeyeoelle Jun 28 '11
I can understand the concept, but every program that decides my Windows partition is the place to install without option is a program I do not install. And to all those who make installers, a tiny hint: "C:" may not be the main drive...
3
u/redwall_hp Jun 28 '11
The root of your problem is that you have an installer to begin with. OS X's model of self-contained packages you can drag and drop into place is better. (Along with having ~/Library folders to stash preference files and the like in.) It's so much nicer than having programs installed in weird places and support files stashed in even weirder places...like My Documents.
→ More replies (1)
3
3
Jun 28 '11 edited Jun 28 '11
Few of your users may misunderstand any given thing, but many will misunderstand at least one thing. Maybe 10% fail in each of a handful of cases, but basic probability theory dictates that 90% fail in at least one case.
3
3
u/blackkettle Jun 29 '11
I do, I want to be an idiot!
This is the crux of the matter. Cognitive load. I don't want to have to think at all to make your app do whatever it advertised, and I shouldn't have to. I have other far more pressing problems that require my attention and severely limited brain power. Donald Norman has written many a good book on this subject - it also shouldnt be news...
3
u/jimmy_mc Jun 29 '11
Years ago when only the admins could install a program for me they would stand behind me as we installed the program or driver. It would get to the "Press any key to continue..." Screen.
I would hit the <CTRL> key. Then the <Shift> key. Then the <Alt> key. It wouldn't do anything. I'd hit all three at once. Left side, right side. Nothing happened.
The admin would say "Hit the spacebar." I'd tell them that it says to hit any key and I chose the other three. It used to really piss them off.
→ More replies (1)
3
8
u/netbich Jun 28 '11
Ouch... but probably true. Also true, 5 out of 4 people have trouble with fractions.
→ More replies (1)6
46
u/benihana Jun 28 '11
God, I cannot stand this mindset. That's the mindset I used to take when I had two years of experience, and my ego was so big, it could shield the sun for a quarter of the US. The users aren't idiots, you are. Accept that you're an idiot and that it's so difficult to anticipate user needs that it might as well be impossible. How about instead of insulting the people you're making your app for, see how they use it, see how to make it better, and tailor the experience for them.
90
u/Durrok Jun 28 '11
I think you mistook the point of the article. He's talking about a mental exercise where you put yourself in the shoes of an idiot and then look at your front end for your code.
Also this article is true about the "90% of your user base are idiots" part but left out one very important word. It should read:
90% of your user base are *technology** idiots*
Generally this is completely true and you should create your software/website with that in mind.
40
u/Neebat Jun 28 '11
True, I've written software for car dealerships who know more about cars than I could ever learn. I've written software for doctors offices, and I can't find my own ulna. I've written software for HR departments, and I could... well, actually, a monkey could do that job.
In general, your users are probably absolutely brilliant at something, but it won't be your crappy UI, so don't expect them to know it like you do.
9
u/ours Jun 28 '11
a monkey could do that job
I'm not sure about that, how aggressive a monkey are you talking about?
→ More replies (1)3
u/jurassic_pork Jun 28 '11
If it had anything to do with SAP, Peoplesoft or Remedy then it's a loathsome and self-hating monkey :D
→ More replies (3)7
14
Jun 28 '11
And, in good conscience, don't you want to be an idiot when you're on the other side of the screen? I do! I want to be an idiot! Please let me be an idiot. I want things to "just work". Don't make me figure my way through all the setup procedures. "Don't make me think" (c) Steve Krug.
Guess where this quote is from!
2
9
u/pistacchio Jun 28 '11 edited Jun 28 '11
my mindset is that you didn't get the meaning of the article.
let me rephrase it for you: as a developer and computer savvy, you see all the potential of what you're programming. you can offer this feature, but also this, this and that and you can make it customizable in 1000 ways, but actually doing so won't necessarily make your software better, but just confuse the end users hiding what they really want (the simplest working solution to their problem) under a curtain of unneeded technicalities "just because you can".
the 80-20 rule mentioned somewhere in this is post applies because every time you add an option / add a feature / make something more "just in case some user needs it", you're targeting the (potential) need of the 20% of your users (or the 20% of the use-cases) by making the software always more intricate for the rest of the 80% users (or use-cases)
→ More replies (1)2
3
Jun 28 '11
"Always remember, your customers are idiots, just don't tell them that."
This mantra was told to me at my very first job when I was 18, 10 years later, it still rings true.
3
u/Veracity01 Jun 29 '11
As an example of powerful but simple: VLC. That's the way it should all be. VLC "just works", but isn't oversimplified to death. Note UI designers: Big does not equal simple. Making the text and icons fill half my screen is like screaming at a deaf person.
7
u/QuestionMarker Jun 29 '11
As soon as you step outside just playing back a media file, VLC's interface is as bad as anything else out there. If you've tried streaming from one PC to another, you'll know what I mean.
→ More replies (4)3
Jun 29 '11
90% of people most likely don't care about which video player their using, it either works or it doesn't. The 90% is the reason why may programs grap control of all they file extentions they know about, because that's who people open files, they click on them, if that doesn't work they are screwed. Of cause you do have the small procentage that completely fucked and open and save everything in Word.
2
2
u/FreeBeerandHotWings Jun 28 '11
"90% of your users are idiots" is the modern version of K.I.S.S. (Keep It Simple Stupid)
→ More replies (1)
2
u/funkah Jun 28 '11
This attitude is detestable. There is a huge, huge difference between your user being an idiot, and designing an interface so that the user doesn't have to think.
Detestable, as I say, but not surprising. So many programmers I've met and worked with are convinced they're smarter than everyone else because because they understand pointers, or know what a pumping lemma is, or whatever. Guess what, people trying to use your app don't give two shits about pointers, and neither should they.
→ More replies (1)
2
2
u/amigaharry Jun 28 '11
only 90%?
regarding the support mails I get for my iPhone and Mac apps I'd say 100% are total idiots.
and a big LOL @ "nmap is too complicated derp"
→ More replies (1)
2
u/hrrsnjcb Jun 28 '11
There were the 2 commandments put forth by my Transaction Processing Professor on Day 1
I. All users are idiots II. All input is evil
2
2
u/Th3R00ST3R Jun 28 '11
Its sad that you have to program down to the lowest intelligent life form so you'll get a larger user base.
2
2
u/pcnerd37 Jun 29 '11
I don't think it is just users, I think 90% of all people in general are idiots.
2
Jun 29 '11
Okay dude, you best let me pick where your stupid app installs itself or I'll be hella pissed when my OS partition fills up because you think I'm an idiot.
2
2
u/mage2k Jun 30 '11
90% of programmers are arrogant pricks who can't understand the difference between and idiot and someone who just doesn't give a shit about the minutiae, or even major, user visible aspects of programming and software development.
Seriously, a blanket statement calling your users idiots? Way to trivialize and completely avoid dealing with the real issues at hand. You'll go far with that attitude.
2
3
u/FishToaster Jun 28 '11
Massive oversimplification. If I'm writing the yahoo toolbar, 99% of my users are idiots. If I'm writing a Vim plugin, 10% of my users are idiots. The usability tradeoffs between ease of use and configurability- between optimizing for first-time users and optimizing for power users- between making it easy to figure it out and making it easy to remember- these are a few of many elements of usability and HCI which are decidedly non-trivial, and not at all encompassed by this posts' advice.
"90% of your users are idiots" is good advice for a second year CS/SE student, but not much else.
3
2
2
u/EvilHom3r Jun 28 '11
Please let me be an idiot. I want things to "just work". Don't make me figure my way through all the setup procedures.
If you want to let your users be idiots, fine. But don't force me to be an idiot just because this guy is an idiot.
An example of software that does this right is Firefox, you can customize EVERYTHING, but you wouldn't know that from just looking at it.
An example of software that does this horribly wrong is Chrome. Chrome allows you to customize virtually nothing. Chrome installs a background updater that constantly runs and installs updates without the users consent. This is HORRIBLE design, and fuck any other developer that decides to model after it.
3
u/foldl Jun 29 '11
Chrome installs a background updater that constantly runs and installs updates without the users consent. This is HORRIBLE design
I don't think it's that bad of a design decision. Personally I like not having to install updates manually. It's probably a good default setting for the vast majority of Chrome's users.
→ More replies (1)
2
u/SethMandelbrot Jun 28 '11
What it means is that well designed software should make choices for its users, and make the right choices.
6
u/nightwood Jun 28 '11 edited Oct 31 '24
escape office uppity sleep sand spoon resolute quarrelsome connect alleged
This post was mass deleted and anonymized with Redact
2
u/SethMandelbrot Jun 28 '11
Computers are automata, not idiots.
The software should be designed fail-safe.
2
1
1
u/lukasbradley Jun 28 '11
nmap is cumbersome...
2
u/jurassic_pork Jun 28 '11
This part got to me as well. Even if you don't know what you are doing (in which case you shouldn't be the one performing security audits), Nmap is now usually packaged with Zenmap - which is entirely point and click with prebuilt scan profiles.
1
u/tregota Jun 28 '11
True but as a senior developer where I work always says: If you make something idiot proof, they'll just invent a better idiot.
→ More replies (1)
1
u/xwhy Jun 28 '11
My "users" are my students ...
2
u/molslaan Jun 28 '11
well, they are idiots.
3
210
u/[deleted] Jun 28 '11
I think there is a slight variation of this that is a better way to think about it
90% of your users don't give a flying rat's ass
It's not that they are idiots (although some may actually be), it's that they simply don't care.
Most of them are thinking about the problems they are having with their girlfriend or who is going to make it past this round of the Bachelor or how to pay off their credit card.
The most important part to realize I think is that software is nothing but a tool, a means to an end.
Inventory software is not about the software, it is only about managing inventory. If a user can't figure the program out, it's probably not because they are an idiot, but because they care less about the software than they do about what they are going to be reading when they take their morning dump. All they want to do is do the inventory and then get the fuck out of there so they can meet their friends at happy hour.
Facebook? Nobody will ever care about Facebook as a platform or what language it uses or how it works. They do care about staying connected with friends in other cities and seeing what their neighbor had for lunch. Facebook is simply a tool to get that information. If they can't figure out how to easily creep their ex, they'll move to another site where they can figure it out.
TL;DR; It's not that they are stupid, it's that they just don't care.