When I do GUI work, it's usually for hobbyist or internal projects. I value quality UI/UX extremely highly. I often get 'analysis-by-paralysis' here because I try to do the design and development in a synchronous single pass. Your comment about tight and rapid iteration being the only solution resonates with me.
One 'trick' I discovered recently was to completely ignore UI design and focus on _formatting_ instead -- the placement of elements in a proper and useable way. Saving the visual aspects of design (widget design, margins, padding, color, animations, etc.) until the very very last step.
My hypothesis is that "good UI" = "good page formatting" + "pretty UI elements".
Nice to have, icing on the cake, but what I need if it was to be mission-critical is at least 10x better workflow than average these days.
As a child, before I had any concept of software, I just wanted to get something worthwhile out of electronics itself.
I'm so old that most adults didn't have a concept of software either in those days. "Software awareness", that it even exists as an entity of its own has by now proliferated by many orders of magnitude like most other things do not.
One thing that's stood the test of time, if you can make the electronics do something it wasn't doing before, well that might just be remarkable. Maybe even game-changing. Maybe even like never before.
Sometimes you program, sometimes you don't.
In the right balance it can end up quite a system.
Decades ago for my own purposes I separated the UI from the rest of the code, and this was of course a monolith with line numbers. The equivalent of punch cards, but when you think about it the UI could be in the final 25% of the deck of cards, and quite easily physically replaceable in that media form factor. Plus, if you're transparent about it, it can really come in handy sometimes to deal from the bottom on the deck. GOTO can easily be your friend if you know how to accommodate each other ;)
But code also doesn't necessarily have to have any electronics involved.
Software alone can be considered more independent of constraint by a "system", because it can be so abstract.
Doesn't have to be so abstract, but that is a serious option sometimes.
The ultimate would be pure software which is not part of any other "system" at all.
I'm so out-of-date I'll probably just stick with the electronics ;)
I agree. Layout and styling should be completely decoupled and be made orthogonal to another. Basically, by default styling should exclusively be theming.
One 'trick' I discovered recently was to completely ignore UI design and focus on _formatting_ instead -- the placement of elements in a proper and useable way. Saving the visual aspects of design (widget design, margins, padding, color, animations, etc.) until the very very last step.
My hypothesis is that "good UI" = "good page formatting" + "pretty UI elements".
Any thoughts on this approach?