←back to thread

39 points thenaturalist | 1 comments | | HN request time: 0.207s | source

Hi HN,

coming from a data/ BE background I feel extremely familiar with reasoning about systems and performance from the cloud-infra to the pipeline stack level. Or I'm super familiar with data visualization.

I feel like falling off a cliff when trying to extrapolate that knowledge to the more customer-facing world.

Despite having some tool ideas in the past, I realized I shy away from going towards the front end because I really lack any conecptual frame of how to think about and subsequently implement UI or UX.

I don't mean that in a nitty-gritty-designer focussed way but more like first-principle understanding:

What makes a good color scheme?

What makes a great wording and why?

What's a good form of presenting information?

I feel like I can recognize good UI/UX when I see it (as is often the case with HN company LPs), but I'd totally fail at distilling check boxes that such good examples tick.

Any pointers to how I can learn about these worlds and develop an understanding of what principles UI/UX should follow?

1. catchmost ◴[] No.41908700[source]
Similar background here. I think what made it «click» into place for me was the notion of metaphors and mental models.

When someone (remember to define who!) looks at your app, they’ll subconsciously build a map/model of how your system works. This model doesn’t have to be accurate nor complete, and very often it certainly doesn’t match your system model and architecture diagrams. But it needs to be good enough for the user to get their task done. Example: many devs think of a git repo as a tree of commits, and they mostly get the job done even if that’s not at all how git actually works.

The challenge then becomes to communicate a sufficient mental model with the minimal amount of effort on the user’s part. (You could write a user manual or an interactive onboarding tutorial, but let’s be honest nobody is going to read that.)

How? Reduce the burden by explaining in terms of things they already understand. Examples:

* Practically all UI toolkits come with buttons that resemble real-life physical buttons. You don’t need to read the label or anything else to recognise that pressing it will trigger an immediate action. * A bus ticket app will visually display the ticket in a design that resembles a paper ticket. This helps drive home the point that «this box with a QR code in it is just like having a ticket in your hand».

A lot of design work can be seen as mapping out first what the users need, then how to communicate to them through the UI how your system can help them achieve whatever they want to do. This involves finding users and asking them a boatload of questions to understand how they think, what they really need. And also whether your UI communicates a sufficient mental model (don’t contaminate their minds by explaining your UI!) and how to fix it when it’s inevitably not correct on the first attempt.

After all that, you can start worrying about colors. There’s lots of good recommendations here already, highly recommend both reading some of the books and observing some real users trying real systems for the first time afterwards.