I worked at a small company that had a policy of putting devs on front-line support in a rotation, both because it was too small to have dedicated support staff and because the owners wanted devs to understand how users interacted with the system better.
I can assure you that while some users merely think differently than devs, there is cohort of users who are absolutely not smart enough. It's impossible to do any amount of front-line support without collecting some horror stories.
One of my favorites is spending nearly 10 minutes trying to get someone to read a single word on their screen correctly, in a dialog box that was blocking them, containing fewer than 10 words, so I could find the cause of their problem. After nearly 30 minutes to figure out that they had a popup blocking them, and not "the computer doesn't work".
What eventually worked was getting them to spell it to me backwards. That strategy has worked out quite well in other cases too - I suspect because it avoids some of people's built-in autocorrect and dyslexia (autoincorrect).
(I honestly mostly enjoy tech support, and I've done it for many years, sometimes professionally. But some people do seem like lost causes, and are not just having a bad day)
The flip side of this is the pleasant surprise of working with a near-retirement age grandma who assures you that she "isn't technical" and "doesn't know how to use a computer", but will studiously write down every keyboard shortcut on little post-it notes and add it to their collection like they're porcelain cats she found at the Sunday markets. I've watched some of these people operate a computer in a manner reminiscent of watching an F1 driver at work, the screen just a blur as their fingers dance over the keyboard.
Absolutely, the ones that are clearly trying more than make up for the rest imo, and some are stunning. There are a lot of them. And many of the rest are just having a bad brain day and need help rubber-ducking to see the thing right in front of them - we've all been there, many times.
This sounds like "Smart person who has little technical experience and might have cognitive decline from age". The world is fully of people who's intelligence is legitimately lower than you might expect.
I'm not the same person, but probably. There are at least two errors in the quoted fragment, though personally I don't think either is especially indicative of a lack of intelligence.
There were 2 typos in that sentence (the one I didn’t mention is “fully” instead of “full”). Talking about intelligence in such a sloppy manner sounded like a joke to me.
I have experienced this in person with a developer who was failing to debug something. An error message was popping up on screen and he was reflexively clicking it away faster than anybody could read it. Even after being told “an error message is popping up, don’t dismiss it”, even after being told “[do the thing that triggers the bug] and then completely stop without doing anything else”, and a whole bunch of other ways of phrasing it, he was unable to understand that the error message contained useful information that we needed to see. I’m not even sure he was consciously aware it existed or that he was doing it. After many failed attempts at getting him to stop I literally had to take the mouse away from him and do it myself. I was shocked that apparently nothing anybody could say would stop him from dismissing the error message without even looking at it.
Developers should adapt to human behavior not laugh at users for using their precious thing wrong. It's not precious to the user. A probably misremembered quote from Joel Spolsky is users don't love your software, they tolerate your software because it's the least annoying obstacle in the way of doing what they want to do.
The person I replied to described their frustration with a colleague dismissing an error message without reading, not a user. I'm not shaming users not providing clear actionable feedback with stack traces and reproduction steps. I've known fellow software engineers throw their hands up and ask for help because they're 'getting an error', that's what's annoying (because they should know better, ok what have you done before asking me, etc.) not users.
I think this comes from the same problem as notifications on iPhones: if you dismiss them accidentally then it is very difficult to find out what it was.
It is missing the equivalent of the "history" in e.g. browsers and YouTube.
If a user dismisses an alertbox on desktop, why isn't there an history menu item that shows the previous 100 alert messages?
It's so weird to me that this kind of thing wasn't a day-1 kind of thing. Android's has loads of issues too[1], not least of which is that you need to manually enable it.
1: you can't get access to actions or details in the history (e.g. no long-press to change settings), nor does it show you ones you didn't dismiss by hand afaict (I've been having Discord notifications disappearing almost immediately after making a noise, but there's nothing in history even though I saw it for its whole half-second existence because it popped over my screen).
That may be an issue for messages from people but almost anything that pops up because the computer wants to tell you is useless and certainly doesn't need to be findable later. If you want to work on the problem, you can do that when you're ready, at your own initiative, not in the middle of what you're actually trying to do. Programmers wouldn't stand for a language that pops up a modal dialog when you type incorrect code but we think users are somehow less deserving of respect and ready to drop everything to deal with some stupid notification telling them they did it wrong or the software is broken like a crying child demanding his mother knows that he hurt his finger.
Reflexively dismissing error message popups is reasonable behavior because they're almost always unhelpful. It is often easier to mindlessly trial-and-error your way around obstacles than waste your attention on them.
> Programmers wouldn't stand for a language that pops up a modal dialog when you type incorrect code
I have no idea why you think this. The only reason I wouldn't like it is because I might be doing something that requires incorrect code as a placeholder, but if the modal didn't come back after being dismissed (and just sat in a history) I'd be pleased as punch. It's why I moved to rust - I wanted the compiler to stop me.
Not only do you think this, but you think it's somehow a sign of being egotistical and disrespectful that anyone would like to know when they're screwing up. Weird.
> If you want to work on the problem, you can do that when you're ready, at your own initiative, not in the middle of what you're actually trying to do.
As I explained earlier, what we were actually trying to do was debug the problem, and reading the error message was a necessary part of that.
It’s weird you’ve cooked up this little fantasy that the error message was getting in the way when it was the most important thing in the whole process and that was the entire point of the anecdote.
> Reflexively dismissing error message popups is reasonable behavior because they're almost always unhelpful.
Not when you’re trying to debug the problem the error message is telling you about!
There's a selection effect here in that smart-enough users won't bother contacting support if they work around an issue on their own, or if something is actually a non-issue for 99%+ of the user base. The ratio of usage and support contacts can be monitored. I fear a lot of devs develop unproductive mental models of the user purely from a minority sample.
Sure, but whenever you can make life easier for those who have are having hard time without making life harder for those who aren't, you should do it.
For example, no power user benefits from having to use work arounds to make a product function. It's an annoyance to them, and it's an insurmountable obstacle to others.
> I worked at a small company that had a policy of putting devs on front-line support in a rotation, both because it was too small to have dedicated support staff and because the owners wanted devs to understand how users interacted with the system better.
In the 2010s Mathworks, the company that makes Matlab, had a policy that everyone started in frontline support. Including developers. (They probably still have this policy, I don't know.)
The shaping isn't necessarily productive, though. My company has a policy wherein a the dev team are on a rota to assist the support team (and by extension clients) with technical queries. The net effect has been to make me hate customers with a passion usually reserved for opposing political regimes and childhood bullies.
I wish it was just users. I once had to explain to a PM on client's side for 10 minutes that no, the software can't split $1.00 into three exactly equal invoices and we need to put that remaining $0.01 somewhere. In the end it seemed like he's given up without understanding the nature of the problem and escalated to have someone higher up to tell us to add it to the last invoice.
Well, software doesn’t exist for its own sake, the sake of the people that made it, or the sake of some kind of exclusive smartypants club. The purpose is to solve problems or accomplish tasks for people— some of whom are not cognitively gifted. A good interface will take everybody that needs it into account, including people that need less handholding if the usage is different enough.
> there is cohort of users who are absolutely not smart enough
The average IQ is 100, half of people are below that.
Being surprised that customers may be of different intelligence is the kind of thing that comes out of people who have never had to work a retail/restaurant job in high school growing up. If someone has made it that far in life before finding this out, they've lived in a bubble.
People of varying intelligence levels can operate a motor vehicle and yet software can't be designed well enough for them? The failure may be on the SWEs.
I worked at a small company that had a policy of putting devs on front-line support in a rotation, both because it was too small to have dedicated support staff and because the owners wanted devs to understand how users interacted with the system better.
I can assure you that while some users merely think differently than devs, there is cohort of users who are absolutely not smart enough. It's impossible to do any amount of front-line support without collecting some horror stories.