Hacker News new | ask | show | jobs
by jdiff 957 days ago
This is exactly the problem. These two things are not at odds. Good design is functional. Good design makes information easy to find and digest. Visual soup is hard to organize and make sense of. Form is a component of function. A knife with another blade instead of a handle can do less cutting, not more. A knife with a contoured handle is easier to wield than one with a flat block handle. These concepts translate well into UI.
1 comments

If you don't think they're at odds, then you should try your hand at implementing what you think looks good without breaking upstream features. Then try maintaining it indefinitely.

> Visual soup is hard to organize and make sense of.

Initially yes but once you know where things are, having everything be visually distinct can sidestep a lot of unnecessary GUI features (search boxes, configurable views, toolbars, etc.) to overcome the impenetrable and dishonest sameness that comes with "good design". If there's a way to avoid writing more code to maintain, they're going to find it. Why obscure the reality of the underlying logic and data when it just gets in the way of progress towards more functionality?

In a production setting desktop environments are rare anyway and that's where applications are at their most complex. That should be proof enough that visual design isn't functional. You want functional and accessible? That's a simple 1KB config file on a server somewhere that you edit from a terminal instead of an endless sea of GUI menus and a lifetime of wrist and eye issues. The ultimate "contoured handle" is a copy of vim! If you don't see the equivalence then you don't understand how much of an unnecessary and tortured metaphor the desktop really is. It's a concession, not a requirement.

Information can be dense and designed. It's actually more important for dense information to be designed well to avoid devolving into soup. KDE and its many design inconsistencies and automatic collapsing of menus into "... and X more items" leading to menus nested 5+ deep is not good design.

Away from KDE, away from GUIs, a dense text readout of key value pairs with no new lines presents a lot of information, but is functionally useless. A tiny dash of design - pairs on new lines, some boldness for keys, indentation for values that wrap to new lines - drastically increases the readability. No matter how familiar you are with this particular text dump, this remains true. You can't escape design by running off into the terminal.

In GUIs, having movable, modular panels can be good design. Blender's design is quite good, especially among its peers, and everything about it can be shuffled around in ways most apps with modular panels can only dream of.

Again, we're not talking about a 1 dimensional spectrum between design and density. Design isn't just "add padding" and "remove customizability."

I fully realize I'm just talking to myself at this point but I want to get this thought out of my head and add that a big part of Blender's good design specifically comes from its flexibility. Every workspace is built from well-designed panels that are consistent internally and with each other, and that can be moved around at will to suit particular parts of the 3D workflow. Blender's modularity and customizability is actually a vital part of what makes its design good.