upvote
Constraints != Compromise.

Compromise is stuff like what I'm going through, right now. The user needs to know that a set of locations on a map, can also be displayed as a sortable list, but the affordances for that access are not working with the overall design. It's extremely easy to add a button, but it messes with the screen layout.

We'll figure it out, but we can't ignore it. It's too important to our users, so we may have to make a graphical compromise. It's really tempting to think that "stupid users should know better," but that's a fairly destructive mindset.

reply
Optimization implies constraints. But multiple targets implies compromise. How do you optimize for multiple measurements without compromise? You have to decide how to weight each against the other.

"How can I maximize my widgets-produced-in-six-months output given that I'm constrained by having $x budget?" - constraint that could give you a different solution than higher or lower budget.

"How can I maximize my widgets-produced-in-six months output AND my customer satisfaction given that I'm constrained by having $x budget" - now you have to compromise one or the other.

Here I'm talking about the physical design of how the widget is made as it's the first super-concrete example that popped to mind, but almost any sort of design operates in a similar multiple-goals world.

reply
"Design is compromise" is basically saying that the thing you're optimizing is not at its optimum for all the variables separately which is often true, and therefore it is not a remarkable thing to say, and it is also not necessarily true.
reply
To join in the pedantry: I always see optimization as being about compromise. Free wins that are strictly superior aren’t optimizations, they’re just doing it properly. Optimization is to make certain properties better, usually at the cost of others.
reply
Optimization is not same as compromise. Optimization is about having freedom to tweak the parameters with the goal of maximzing somthing. Compromise focuses on lack of freedom. The terms focus on different areas of the overall situation. Design happens within the optimization context, which is shaped by the constraints.
reply
Compromise is one technique in doing optimization: as someone mentioned, you could be maximizing a known good property of your product with no ill-effects on any other property. But you might be optimizing an overall experience for two needs, which means balancing potentially conflicting goals, and choosing imperfect solution for both — some might use the term "compromise" for this.

Other terms are in use, like "balance" or "trade-off" from the OP or... But I believe the message is clear in that the OP believes majority of design is about balancing opposing forces and their tension and they call that compromising.

reply