Ask HN: Why Are Programmer Design Tastes So Utilitarian?
As seen with things like open source software, many developer tools, Hacker News as a website and people's opinions on CSS and modern web design on places like Reddit?
Cause it feels like many people's tastes come from the 80s/early 90s, with the idea that any sort of visual flourish or attempt at readability is completely irrelevant.
And it makes me wonder why this is. Why do so many... hacker type individuals seem to prefer very brutalist, utilitarian designs over anything more fancy? Where did this preference for plain text at the expense of all else come from anyway?
Because I don't think this happens quite as much in other fields, like architecture, cooking or construction.
83 comments
[ 3.0 ms ] story [ 173 ms ] threadOh wait, nevermind
You seem to be suggesting that liberal arts majors didn't know how to read in college. At the very least, English majors. I'm confused why you think extensive study of language would be attractive to someone who didn't know how to read.
The study of language is frequently a dead end, witness how structuralism and post-structuralism became irrelevant. Linguistics is a “science” in the Kuhnian sense that the community can pose and solve problems but it has nothing to say about how machines can understand language or how people can communicate better.
If you get PhD in physics you learn how to do quantum mechanics which lets you explain why matter is solid or why sodium has a yellow spectral doublet. If you get a PhD in English you learn to read Finnegan’s Wake and pretend that you understood it. Both are hurdles that divide one group from another but one of those is a useful skill and the other one isn’t.
In Japan there are popular books about postwar French philosophy that make a lot of sense when translated to English. A major enterprise of the humanities in the anglophone world is the obscurification of French philosophy which starts with the (usually) bad translations but continues in the way people talk about the subject. (E.g. outsiders to the humanities often think there is something morally wrong about Derrida but don’t understand at all what his game is or that there are other authors like Badiou who play the same game at a much more evolved level.)
There's an entire subfield of computational linguistics that would disagree with you.
> pretend that you understood it
This seems to suggest that no one who claims to have understanding does, which seems like a large claim.
> one of those is a useful skill and the other one isn’t.
I strongly disagree that understanding language is any more useless than understanding quantum mechanics, but based on your stance as I understand it, I can't imagine either of us will have any success in convincing the other.
So far as computational linguistics is concerned there is a long term fight which is something like large language models 99 - Noam Chomsky 1. That is, the productive half of computational linguistics solidly rejects the dominant paradigm of the rest of the field.
- "Dopamine Sucks" Model: The typical view on design, or even the typical a e s t h e t i c is overwhelming in this way or that, perhaps even at a biological level
- Preferring-informational-over-visual-design Model: We leverage information far more effectively than visual/sensory cues
- Fluff PTSD Model: In the past we learned to interpret social signaling cues and design cues (often the two are mixed in design processes) as Jedi mind tricks to cover up a lack of circumspect treatment of other cues that also matter. Show me the raw data plz (also seen on Wall Street)
- "Pro-emotional? More like Con-emotional" Model: Programmers sometimes prioritize information so much that they neglect emotions too long, and are left to recover their emotional bearings starting from a very dark place. Brutalism is, among other things, a symbol of a stark inner environment
- "Magnificent, My Nose" Model: We got used to having plain text dissed by really shallow people who refused to give our world more than a cursory glance. So we work to present it as a strength until others are forced to give us deference [1]
1. https://www.youtube.com/watch?v=nFiLIsMieiQ
Those glass and steel international style buildings have no real support from the community because they were designed for somebody else's eyes to begin with.
I find HN and other "brutalist" designs much more readable than most "pretty" layouts. I've had extended arguments with old school print people (as in, we were laying out columns on boards with tack wax) over the subject of column width and why did we even have columns at all?
My conclusion has been that most of those "design principles" about readability and so forth are religious tenets with no relation to the real world.
https://webaim.org/standards/wcag/WCAG2Checklist.pdf
http://www.catb.org/esr/writings/taoup/html/hackers.html
https://en.wikipedia.org/wiki/Tech_Model_Railroad_Club
http://www.paulgraham.com/gh.html
http://www.paulgraham.com/college.html
>> Where did this preference for plain text at the expense of all else come from anyway?
It stems from the clarity of text in communication and the use of textual formats and protocols in Unix and the early Internet.
http://www.catb.org/esr/writings/taoup/html/ch01s06.html
http://www.catb.org/esr/writings/taoup/html/ch05s01.html
You're not required to follow suit.
That said, a bit of attention paid to colour contrast in the text content makes me believe you want me to read the words, at least. :)
It might be worth asking the question: what exactly are they trying to communicate with such a forceful utilitarianism and then plan your own actions accordingly.
No it is not. A animation done right (that usually means very short duration), can give the information that some transition between states has happened. Animations are only a problem if they are there for the sake of animation. So when you notice the animation, it is already too long and the designer screwed up.
UI/UX in software is a field which, to me, hasn't found it's feet yet. In physical architecture(buildings), there are common patterns recognized to be aesthetically pleasing and useful. Industrial design like the cockpit of a car has done the same. Most people recognize a door or a steering wheel instantly and can make use of them. I don't think these things have materialized yet in software. So if your goal is to create software for a specific purpose and you don't have the interest, time, or budget to solve this general design problem, you're just going to punt on it and make the UI basic and functional.
When things get downvoted (like your post was, for some reason), they become gradually more gray on gray, which is hardly accessible for everyone.
Less popular => less viewable is good UX.
But gray on gray does not degrade equally for all.
Some won't be able to see any of it, and others will have text readers that don't censor based on grayscale.
Funny, I find it quite hard to read, since it just blows posts out to nearly full screen width. Humans read much better with wraps at 60-80 characters. The first line of your comment, on my screen, is 196.
I'm convinced the brutalist, utilitarian designs originate with those of us who spend the most time close to their machines and originate from the needs of the _system_ before the needs of the _users_. As you move closer to end users there'll be more visual flair and ergonomic attention will move from favoring system ergonomics to favoring human ergonomics.
The difference is very stark with computers because often times you'll see consumer grade software and software catered towards programmers that lean more towards tools existing in the same domain. Hackernews also isn't ugly, it's just simple. It works great on mobile and it's actually well done.
Some seem to think minimalism contradicts UX, but they aren't mutually exclusive concepts.
One example in another field is automotive interface design. Specifically, how one selects a gear for the transmission, controls the temperature and entertainment systems, etc. Automakers have tried different things ranging from touchscreen control, to dials and other innovative ways to select a particular transmission gear. But there are people who prefer the classic interface choices like dials and levers to handle these functions because people have muscle memory and don't have to look at the control to determine what they need to do in order to use the controls effectively.
Look at Linux desktop interface themes and design vs windows and macos. I want software that empowers meand gets out of my way, so my UX preferences follow suit.
Because chess isnt the pieces. The interface isnt the game. If you're attending to the interface, you're being distracted.
When you use computers as tools you don't want interfaces to appear as objects in the world, you want them to dissolve into the tool that they are.
The more I am "impressed" by a menu, button layout, interface, etc. the worse it is at being an interface.
The question is, rather, why do others want to be distracted by the interface? Why do they choose the oranate chess set?
Well, because they're consumers of computers, not users. They barely use them as tools, and so their default relationship to them is one of ornament.
An interface is, almost literally, ornamental to most people. Like a chess set on a mantlepiece.
People who make food to meet their needs vs ornate recipes and styles.
People who have a Toyota corolla from 1993 that gets them to work and back vs a Maserati.
Knife owners
Gun owners
Home owners
...
UI design need not be distracting.
There is a wide spectrum ranging from "fancy" flourishes of art to brutalist simplicity. Somewhere in the middle, careful use of font, color, and layout can drastically improve readability and usability.
Compare, say, the default appearance of an unstyled HTML page, to that same page in your browser's reader mode. Both are very plain, but the latter is much more pleasant to absorb.
I believe this is what OP is referring to.
At the extreme ends of the spectrum, design can be distracting as you say, but lack of it can be equally prickly and unpleasant. Neither is good.
Consider that few people play chess with rocks and sticks standing in for pieces.
Beyond the experience of a loaded site, its ability to emphasize the text and to not interfere with the current visual field / search (badly implemented lazy loading for example), size alone impacts experience on bad internet connections. I use HN as a test website to see if the internet works over something like msn because it is so lightweight. I measured around 8KB transferred after caching on the home page. (>3000KB from MSN with an idle transfer of 7KB every couple of seconds.)
When I'm using software I want to USE it, not look at it. Sure some basic aesthetics are fine, I have animated wallpaper on my desktop that I think looks nice and I have white/orange themed LEDs and custom-sleeved cables in my PC case. The difference is past initial setup those stay out of the way. My interfaces are stark, bare, and I can do more with 5 hotkeys than most regular users could do with a solid minute of mouse clicks.
Each of these is much more constrained than software - software you can draw anything on the screen. You can't turn up and say in a UX-calm voice, "we should try an A/B test on cars that are tall instead of long".
A website like HN isn't brutalist - you can't see the database or the wires or the inside of the computers working. You're just seeing the tiny, microns-thick veneer on the hidden host of complexity that goes into looking at a website. It has a decent font and decent but simple colours. I agree it doesn't have any pictures or video, but I that doesn't make it brutalist.
Modern web design usually has horrible usability. Try to read modern web in brail terminal to get an idea. Or on GPRS connection (2G phone, 10kbps internet speed).
And I ensure you such trend is also in architecture, cooking etc.. Modern architecture often does not have basics like windows or daylight. Architect wants smooth facade, so people inside suffer... Modern cooking is preprocessed garbage, so even basic potato diet is better and so on...
Then once it's working, there is a fair amount of CSS tweaking just to get basic spacing and other things to look okay.
At that point, there are usually functional bugs to fix, one more feature I need, and two other projects I want to work on. Satisfying the latest design trends is usually a very low priority.
For my recent project aidev.codes, I actually used Bootstrap, which is not something I normally do. But AI helped me with class names and stuff.
How is the UI not part of the software?
This is what people get wrong. UI work is not mapping a DB to a screen and aligning things with CSS.
Computers and software (like anything) can be beautiful, charming, fun, funny, tragic - anything we want them to be.
It’s not just software though - look at modern architecture, look at furniture, look at cars. Any sort of ornamentation or detail is verboten now. I think it’s the bean-counters’ fault, personally. Any effort/cost to deliver a little something extra would take money out of the wrong people’s pockets, so we do the bare minimum.
It may not be as obvious in architecture because of the time scales involved, but it has been trending in the same direction for decades and centuries.
And if you look at websites, well Hacker News is the last of a dying breed of websites. There aren't many sites that look like this anymore. Indeed a lot of the "modern web dev suckssss" crowd are not the people who actually build websites. Or if they do, it's only personal ones where they can have full control. If you asked any front-end developer to design you a Hacker News clone, at the very least they would limit the line length and increase the font size. It's just the vocal minority who insist that sites like Hacker News are the pinnacle of web design.