News for hackers. Stuff that matters.
Re:Fuckin' user interface design, I swear by webmaven on Wednesday March 10, 2021 @12:28AM (#26408121)
> The problem is also what we do with the ability to measure. Typically, we're making easy things intuitive, and difficult things impossible. This is exactly the wrong way to go about things, if you care about delivering value to users.

Right. We're prioritizing learnability over usability.

> We should be making the easy things easy, hard things possible, and forget about the whole intuitiveness thing.

Whoa there... Another way of thinking about 'intuitiveness' is in terms of affordances. We mustn't throw the baby out with the bathwater. While it is too much to ask that every function should be obvious upon first seeing the UI, it is not too much too ask that every function should at least be obvious in retrospect after trying to use it or having it demonstrated, and of course leveraging affordances and interaction patterns the user is likely familiar with from elsewhere should be given priority.

Re:Fuckin' user interface design, I swear by TeMPOraL on Wednesday March 10, 2021 @03:39AM (#26409168)
> Whoa there... Another way of thinking about 'intuitiveness' is in terms of affordances.

Yes, of course. Thanks for bringing this up. I apologize, I went a bit too far there - what I meant was just "intuitiveness" in the sense of expecting people to be immediately able to work well with something they see for the very first time, with no explicit learning or training.

I also don't mean to ignore familiarity with UIs in general - yes, unless you have a good reason, it's a good idea to copy design elements users are well familiar with (if they're not completely insane, or dark patterns). This matters particularly on mobile and desktop. On the Web, everyone is used to websites looking different from each other, but there are still higher-level patterns (like footer with company info, "contact" link somewhere on the site, site logo redirecting to home, etc.).

I totally agree about affordances, and mental handles in general. "Obvious in retrospect" is a great way of putting it - once you know a feature exists, or used it briefly, it should be easy to find it again. Once you familiarize yourself with a bunch of features, it should be obvious where to find them, because they should fit a consistent mental model. In a way, it's the job of the UI - to let the user learn the correct mental model of the application, and how it manipulates underlying resources.

For that to happen though, you as a software team need at least to a) have a consistent mental model yourself, and b) design both "backend" and UI around that model. I think this is one part where we fail frequently, but unintentionally - the developers and the designers don't spend enough time ensuring they have a shared mental model. When this happens, you have UI that may be consistent with itself, but feels off when used, and every now and then you see surprising behavior or incomprehensible error messages - that's the "backend" model leaking out.