logoalt Hacker News

Bring Back Idiomatic Design (2023)

684 pointsby phil294last Sunday at 12:21 PM370 commentsview on HN

Comments

graemeplast Monday at 9:57 AM

This is a feature, not a bug. By making your software different you make it harder for people to switch.

show 1 reply
marcus_holmeslast Monday at 6:58 AM

It's not only the users that are frustrated.

Developing a VB app in the 90's was simple; just drag'n'drop components around the place and boom, you're done. There were very little design choices to make, and most of those were about accessibility rather than style. It had to look like a Windows app, and that was it. A developer could (and we did) slap together screens in minutes, and while they would never win any prizes for best-looking application UI, they were instantly usable by users because they all shared a consistent UX.

Making a web app means following a Figma thing where a designer tried a new experiment with some new thing they read about last week, and it kinda looks OK as a static screen design, but has huge problems as a User Interface because users don't understand it (and that's not even considering accessibility). And as a developer it's a pain in the arse to implement; lots of work to work around the standard way of things working because the designer thinks it looks good.

My personal bugbear on this is scroll bars: just leave the fucking scroll bar alone. No, it's not "pretty", but it tells me how far down the page I am and it's useful. Removing it is actively making my life worse. You are spending effort making my life worse. Stop doing that.

zetanorlast Sunday at 4:56 PM

Day-to-day usability doesn't bring much "wow" factor to a sales pitch.

zephenlast Monday at 2:46 AM

Hell, I'd be happy if, when I started reading text, the websites would just let me keep reading text rather than popping up an interminable number of ads, video, alert/app/notification options, etc.

I mean, you know that if they can't do that, any other idioms from last century are right out the window as well.

readitalreadylast Sunday at 3:26 PM

This is a really huge and a fundamental flaw in AI-driven design. AI-driven design is completely inconsistent. If you re-ran an AI generated layout, even with the same prompt, the output for a user interface will look completely different between two runs.

show 1 reply
basiliumlast Sunday at 5:18 PM

Am I the only one who doesn't know what that "Keep me signed in" checkbox is for? I mean, I was a web developer for many years and I rarely encountered this checkbox in the wild, don't remember implementing it even once. I mean the choice itself is very ambiguous. It is supposed to mean that the login session will only live for the duration of the current browser session if I uncheck it. But for a user (and for me too) that does not mean much, what is the duration of the session if my browser runs open for weeks, what if we are on mobile where tabs never close and tabs and history is basically the same thing (UX-wise). If I decide to uncheck it for security reasons (for example when I'm on someone else's device) I want to at least know when exactly or after what action the session will be cleared out, and as a user I have zero awareness or control there.

I don't advocate for removal of this checkbox but I would at least re-consider if that pattern is truly a common knowledge or not :)

show 2 replies
stavroslast Sunday at 11:02 PM

> The visuals feel a little ugly and dated

It's... beautiful.

DoneWithAllThatlast Sunday at 3:21 PM

Idiomatic design will never come back. The reason being companies believe (correctly) that they design language is part of their brand. The uniqueness is, basically, the point.

show 1 reply
jgalt212last Sunday at 10:14 PM

See also:

> The easiest programs to use are those that demand the least new learning from the user — or, to put it another way, the easiest programs to use are those that most effectively connect to the user's pre-existing knowledge.

The Art of Unix Programming

http://www.catb.org/esr/writings/taoup/html/ch01s06.html#id2...

allthetimelast Sunday at 3:51 PM

Apple was doing a pretty good job until whatever happened with v 26.

On the web, the rise of component libraries and consistent theming is promising.

show 1 reply
amakhovlast Sunday at 1:41 PM

... and please stop doing paralax...

show 1 reply
brycewraylast Sunday at 4:53 PM

(2023)

jjcmlast Sunday at 7:18 PM

Worked at Figma for 5 years. The author uses Figma as an example, but I think misses the point. They're so close though. Note these quotes:

> Both are very well-designed from first principles, but do not conform to what other interfaces the user might be familiar with

> The lack of homogeneous interfaces means that I spend most of my digital time not in a state of productive flow

There are generally two types of apps - general apps and professional tools. While I highly agree with the author that general apps should align with trends, from a pure time-spent PoV Figma is a professional tool. The design editor in particular is designed for users who are in it every day for multiple hours a day. In this scenario, small delays in common actions stack up significantly.

I'll use the Variables project in Figma as an example (mainly because that was my baby while I was there). Variables were used on the order of magnitude of billions. An increase in 1s in the time it took to pick a variable was a net loss of around 100 human years in aggregate. We could have used more standardized patterns for picking them (ie illustrator's palette approach), or unified patterns for picking them (making styles and variables the same thing), but in the end we picked slightly different behavior because at the end of the day it was faster.

In the end it's about minimizing friction of an experience. Sometimes minimizing friction for one audience impacts another - in the case of Figma minimizing it for pro users increased the friction for casual users, but that's the nature of pro tools. Blender shouldn't try and adopt idiomatic patterns - it doesn't make sense for it, as it would negatively impact their core audience despite lowering friction for casual users. You have to look at net friction as a whole.

show 1 reply
nottorplast Monday at 11:42 AM

> Apple is a great example.

... checks publication date ...

... right, 2023. I think the article needs an update.

robertoandredlast Sunday at 9:17 PM

Now we’re blaming React for bad UX?

kfselast Sunday at 5:51 PM

[dead]

ruslangunslast Monday at 6:00 AM

[dead]

shamclerenlast Monday at 3:29 AM

[dead]

hungryhobbitlast Sunday at 3:19 PM

"Avoid JavaScript reimplementations of HTML basics, e.g. React Button components instead of styled <button> elements."

Tell me you know nothing about web development without saying you know nothing about web dev ...

1. React is an irrelevant implementation detail. You can have a plain HTML button in a button component, or you can have an image or whatever else. React has nothing to do with the design choices.

2. React is also how you get consistent design across a major web app. Can you imagine if every button on every site was the same Windows button gray color, regardless of the site's color? It'd be awful! React components (with CSS classes) are a way for a site like Amazon to make all their buttons orange (although I don't actually know if Amazon uses React specifically). But again, whether they look and act like standard buttons comes down to Amazon's design choices ... not whether their tech stack includes React or not.

Look idiomatic design is incredibly important to web design. One of the most popular web design/usability books, Don't Make Me Think, is all about idiomatic design!

But ultimately it's a design choice, which has very little, if anything at all, to do with which development tools you use.

show 7 replies