In my opinion it's about priorities. So get the basics done first and make sure it's (as good as) bug free.
To make sure that most people are satisfied, make an interface that can be customized. This is what you typically see in most professional programs. Were the user can practically change everything.
That's the problem. Tools like KICAD or FreeCAD were
not started/written with the intention to become professional tools or to satify the needs of more users than the author of the software. So once the projects got large enough and useful enough for being of interest to the larger community, there was a technical debt to pay.
That's not an excuse but people tend to ignore that large projects like this weren't developed overnight and that there are years of technical decisions and reasoning behind them which are the reasons why they work (or don't) in certain ways.
If you are designing something from scratch and you know that your objective is to sell it or to be used by a large community of people, you design things differently. However, when you are working on a 25 year old codebase that you have "inherited" from someone else (KICAD), it is a different story.
Of course, that also assumes that the developer is actually an experienced software developer - e.g. the KICAD main author was a French university professor in an unrelated field (electrical engineering & image processing), not a software engineer or UI designer. He made it work well enough for what he needed to do - capture schematics and design boards.
In fact I am working on some software myself with some people (for acoustics). All the way on the top in the priority list are; GUI first, gui first and gui first
Only after you nailed the gui, work on the fancy graphics.
I thought one would first work on getting the basic functionality right, not the UI. That doesn't mean the UI isn't important (and for some applications the UI
is the application!), but beautiful UI is of little use when the code behind isn't doing its job ...
Ones again, it's not blaming developers (cutting slack), but like I said, it's very frustrating to see things with potential failing on relative simple things.
See this more as a piece of advice.
Yeah, that's true. It irks me too. On the other hand, it is not the worst issue one can have
The programs are usable for what they were designed to do, working and free.