
Ask HN: How to reduce the complexity of software interfaces? - whitepoplar
Hi HN, do any of you know of particularly good, pragmatic, resources for building better (web) software interfaces, particularly along the lines of:<p>1) Decreasing complexity.<p>2) Increasing real ease of use.<p>3) Increasing optionality (Features will be added in the future, perhaps many of them. How does one design an interface that can adapt to future requirements?).<p>4) Long-lasting, not chasing design trends.<p>Any input as to what makes an interface wonderful for you to use? Any favorites?<p>Thanks in advance! :-)
======
evek
Techniques of interaction design might help you, as many of them covered
exactly this problem, namely:

-User interviews will help you understand the problems and contexts your target users have. -Personas for focus on the target user. "Jobs to be Done" is a popular alternative. -Scenarios and user flows will help you better understand the temporal context and flow between states -Prototyping in tools like inVision, etc will help you test ideas before committing too much time and effort -User testing goes hand in hand with prototyping, you will better understand how your users perceive your software, which usually differs quote a lot from makers perspective

I don't know what type of software are you building, but design systems like
Salesforce Lightning Design System and Google Material Design provide ready-
made patterns with extensibility in mind. They usually have similar patterns,
but enterprise ones are more focused on "optionality".

------
swatcoder
> Long-lasting, not chasing design trends.

Your "design trend" might be my "prevailing idiom". I have different
preferences depending on what language, platform, and industry my work
involves.

Even if they aren't speaking to each other, I like it when the collection of
services, modules, libraries, etc used by my project share a common mentality
and (when appropriate) terminology.

If it helps, you might want to think about who is most likely to use your
interface and what they individually prefer. Consumers from Rails and React
and .NET are each going to think of things a little differently and want
different things. Lean towards one and help the rest adapt.

