6 ms·
> a common way for regular people to interact with a system is they just... don't have a model. None at all. Like, they click a thing and see what it does, and
by DrewADesign 18d ago
> a common way for regular people to interact with a system is they just... don't have a model. None at all. Like, they click a thing and see what it does, and if it doesn't do what they expect they shrug and click something else. The horror of seeing a non-software person using a software system is realising that they usually cannot tell the difference between expected and unexpected behaviour, because they don't really form expectations in the first place. The computer is more genie than machine.
This is completely lost on most developers, which is why interface and UX designers exist. Developers, especially in FOSS projects, often love to condescendingly assert that users are just not reading the docs, or are not smart enough to understand the software. They’re smart enough— they just don’t want to have to learn about technical implementation details for the same reason most developers are perfectly content to use personal bookkeeping apps instead of learning the best ways to organize that data and making the spreadsheets manually. Most non-technologists get no dopamine hit from solving technical problems, have no need for the requisite knowledge needed to confidently do that, and are often just trying to make the computer do what it must so they can get back to doing what they’re actually passionate and knowledgeable about. When a competing product has an interface built for people without that mental model, it would have to be pretty fucking expensive to not be a no-brainier for most nontechnical users.
- atmavatar 18d ago> They’re smart enough 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.
- Groxx 18d agoOne 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)
- jiggawatts 18d agoThe 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.
- Groxx 18d agoAbsolutely, 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.
- the__alchemist 18d agoThis 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.
- brabel 18d ago> The world is fully of people who's intelligence What an example of a sentence a person *whose intelligence is lower than you might expect would write. I can only imagine this was intentional.
- the__alchemist 18d agoCould you clarify? Are you using the typo as this basis, or something else?
- mkl 18d ago
- Jach 18d agoThere'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.
- carlosjobim 18d agoDesigning for the stupid users also makes life easier for the smart users. No matter what you are designing. It makes your product better.
- matkoniecz 18d agoSometimes, not always. It may result in power users losing some features.
- carlosjobim 18d agoSure, 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.
- matkoniecz 12d agoOh, I agree with that. Just dispute claim that any improvement for newbies is improving things also for experts.
- DrewADesign 17d agoNot necessarily. Interface design is a communication medium. A skilled designer can often communicate to multiple types of users solving different types of problems. When an interface is “dumbed down,” it’s usually because a non-designer was trying to ‘clean it up’ or make it pretty by removing what they didn’t need and ignoring what everybody else needs. It’s difficult, and that’s why it’s a distinct field with its own degrees and professional programs.
- eru 18d ago> 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.) It shaped attitudes and cultures quite a bit.
- Xymist 18d agoThe 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.
- pixl97 18d ago>The net effect has been to make me hate customers So what every support person lives thru on every day of work. And really being a good support person involves figuring out what bucket the customer belongs in. "Customers that are smarter than you and if they are talking to you, your shit is wrong somehow" "Customers that are smart in general, but need some guidance accomplish more complex tasks" "Customers that aren't very smart, but handholding works to solve their problems" "Customers that are dumb, realize they are dumb, and persistent at being dumb" and finally the worst "Customers that think they are smart and are belligerent if their intelligence is questioned as they are doing something horrifically stupid"
- eru 17d agoOh, I don't think MathWorks has a regular rota. As far as I remember, You do your duties when you join, and then you are free.
- IsTom 18d agoI 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.
- DrewADesign 18d agoWell, 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.
- steveBK123 18d ago> 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.
- DrewADesign 17d agoThe thing is that good interface design is basically invisible, so most people, developers notwithstanding, take it for granted. In the late 90s, there were entire books published on using popular email clients like Eudora, but a literal child can figure out how to use, say, fastmail entirely through feature self-discovery, and fastmail has more features! I also think the ego stroking borne from disproportionately high labor demand has given many developers a serious case of main character syndrome.
- HappMacDonald 17d agoThere exists a floor to how "idiot-proof" Motor vehicles are since they do require a skill test and a licensing protocol to legally operate that do weed out some number of humans not competent enough to operate them (and even beyond that insurance qualifications can weed out some more: crash or commit infractions too much and you lose and/or get priced out of your ability to legally drive). And rightly so due to the unique hazards that they pose: but for want of those things one may easily still have to try to support their software for users incapable of gainfully handling a motor vehicle. Automobiles and the international road network have also had well over a century to standardize themselves over a glacially slowly changing set of expectations while we're writing drivers for 400GBE chipsets that only got invented last Tuesday and building agent management harnesses for styles of neural networks that literally weren't even a twinkle in the milk-man's eye yet as recently as fidget spinners being in style.
- steveBK123 17d ago
- mcbishop 18d agoI love the UX-design book: Don't Make Me Think.
- code_biologist 18d agoSteve Krug's other book, Rocket Surgery Made Easy, got me into usability tests with real users, and how to get it in place in a corporate environment. It's shocking to watch real users use software.
- nextaccountic 18d agoThere's an idea in this book, that when using a mouse, smaller buttons are harder to click because you need to stop the cursor inside its hitbox, but moving the cursor to the edge of the screen is easy because it's effectively a huge button whose height is infinite (or infinite width for lateral edges). And hitting a corner is even easier because it effectively has both infinite width and height! This means that if there is an actual, finite button on a corner, the easiest way to click it is to position the cursor on the very corner, rather than attempting to position the cursor in the middle. But this is ruined if this button has padding. So for example, the start button on windows at the bottom left corner had padding in earlier versions of windows like windows 98, but the actual hitbox of the button shouldn't have padding, so that it's easier to click. This is all to say that I use Firefox maximized, without a titlebar or menubar, so that the "back" button is at the top left corner of the screen, and the hamburguer button is at the top right corner. But those buttons have padding! If I actually move the mouse to the very corner before clicking, I miss the button That shit is infuriating
- stevoski 18d ago> There's an idea in this book, that when using a mouse, smaller buttons are harder to click That would be Fitt’s law, which - if you can believe it - dates back to 1954! https://en.wikipedia.org/wiki/Fitts%27s_law https://en.wikipedia.org/wiki/Fitts%27s_law
- tim1994 18d agoPadding is typically part of the hitbox, margin is not. What you are describing sounds like margin to me. Especially for Firefox since their UI is made with web tech. But besides being overly pedantic I agree with your general point. If their is a small gap between hitbox and edge of the screen it is very annoying. But the worst thing IMO is Windows 11 windows which you can grab by the titlebar but not the content area. However often there is no visual indication of where the titlebar starts/stops.
- hypfer 18d agoI think I can see where you're coming from - and it is true that there are cases of dogmatism as a defense for just sucking at UX - but I violently disagree here. Good UX I believe doesn't mean that the implementation details are hidden, but conveyed in a way that is human-readable. You do not hide the machine from the man, but translate between them in a way that makes neither of them invisible. This makes for better experiences, as reality gets bound by.. well.. reality. So you don't get these weird failure modes that live in the gap between the narrative (e.g. "everything just works") and reality (e.g. "networks are always black magic"). This is also important for the user, because by having _a_ mental model (even if it is very low-res), they gain the ability to diagnose issues themselves and not be completely helpless once the magic box breaks down. They might not know exactly what to do, but the direction is very clear. Agency is important. A lot more important than convenience. And fake convenience through frontloading short-term rewards for long-term systemic instability.
- swiftcoder 18d ago> Good UX I believe doesn't mean that the implementation details are hidden, but conveyed in a way that is human-readable. You do not hide the machine from the man, but translate between them in a way that makes neither of them invisible. This is where skeuomorphism used to be king before computers ate the world. In the 90s everybody knew how a paper book worked, so document readers presented as books. Everyone knew how a tape deck worked, so audio apps presented as tape decks. Floppy disk as save icon, etc Unfortunately, the passage of time is inexorable, and by the late 2000s we had a lot of users who had never actually seen a tape deck/floppy disk. And the whole skeuomorphic project came crashing down.
- andyroid 18d agoDid it though? Most people young today probably never pressed a physical play/pause/stop button in their lives. Still, they get it. Some icons outlive their era, some don’t. > In the 90s everybody knew how a paper book worked I hope that’s still the case!
- 18d ago
- recursivecaveat 18d agoNobody reads the docs. This will be even more true soon as LLM generated docs become more popular. I once read a user report "would be nice if I could move large Xs to uncover Y", filed a bug report myself to add the feature, and then realized that feature was already added and documented months ago, by me! I just updated it with an unobtrusive prompt/instruction to the UI when relevant. I definitely get lazy sometimes, but if you don't take the extra step to make sure a feature is easily discoverable and understandable in the UI, you're wasting almost all of its potential benefit.
- steveBK123 18d ago> often love to condescendingly assert that users are just not reading the docs, or are not smart enough to understand the software. The older I get, the more annoying I find this habit in the SWE community. It's not even a well earned condescension. Software is often horrible! Physical hardware products are not put out into the world with the kind of defects that software so regularly is. We get away with it because we say we can patch it later, though often all we do is move defects around. It's amazing picking up pre-internet connected era electronics from 30/40/50 years ago and they just.. work. Meanwhile software decays at a faster and faster rate each year. I am coming around to the idea of keeping air gapped old-OS machines around just to maintain pieces of software that otherwise auto-update themselves into oblivion.