Remix.run Logo
tikotus 3 hours ago

Compromise is the last tool in the designer's toolbox. Before settling with a compromise, the designer should relentlessly try to narrow down what the problem being solved is, while trying out all possibilities, until it looks like there is no solution that matches exactly the problem (or they run out of time).

More often than not, a compromise means that the problem wasn't scoped out well enough, and it ends up partially solving a problem that didn't need solving.

Edit: I do think it's about trade-offs though. Choosing to solve one problem, acknowledging another problem will be disregarded.

groundzeros2015 2 hours ago | parent | next [-]

That’s not my experience. Every decision favors one use case or principle over another. The best design is when you have the vision and confidence to say what’s important for each those decisions and what you’re ok leaving out.

suzzer99 2 hours ago | parent | prev | next [-]

It depends on how you define compromise. Is it a compromise to consider things like screen size, load wait times, or the average expected user's attention span? If so, then design is a big juggling act of compromise.

If not, and compromise is just stuff like "add yet another floating ad footer to make the c-suite happy," then absolutely it should be the last tool.

pixl97 3 hours ago | parent | prev [-]

When you give someone a problem, they can find a solution, but if you give them a dilemma then a compromise is almost a given.

20k 2 hours ago | parent [-]

True dilemmas are rare though, often it just means insufficient investigation of your requirements

necovek 34 minutes ago | parent [-]

I disagree, we are faced with "true dilemmas" every day numerous times, not even limited to work and creation — e.g. you might be going to a shop to buy crackers, and while you have a preferred brand, a new entrant might be half the price — do you use the opportunity to try the new one, or get the tried-and-true?

These types of things are ubiquitous when designing and building products — how do you communicate to your users, how much you communicate and how much you automate, how do you target slightly different users (new customer vs old one used to old patterns in your product), what use-case is the most important one (by customer type, customer numbers, and how commonly they do something...), etc.