I think a good UI has to intuitive. If you know the terminology used in the field the software is oriented at (if any), you should be able to learn to use it by tapping a bit on properly labeled menus, and if you don't, or if it's impossible to make it more clear, you should be able to click on it and get a description of the functions of that menu, option or tool in layman terms. Basically, get linked to the appropriate part of the manual, because you probably care naught for the other 300 pages at the moment. A good user manual with practical examples is also vital.
>Good UI
<The Linux Kernel's "make menuconfig" would be perfect if it had better documentation for all options, and what are they useful for, or for which reasons you would generally need them.
<The Slackware installer shows a little, very comprehensible description of several programs during their installation. It's the same idea behind loading screen tips in videogames, but this time they are actually useful and offer interesting information.
<GNU Nano. Yes, I am dead serious. The fact you can actually see which commands do stuff (even if most absolute noobs will be confused by the fact that ^ means Ctrl) at any given time is real nice if you are using a single tty or have no quick way to access the manual, and have absolutely no idea about the program
>Binance's basic trading UI. Shit's real nice, and includes some links to parts of the manual to describe the most specific types of orders.
<Xombrero. It just werks.
<LuCI. Makes configuring a router real easy.
>Mediocre UI
>GIMP. Given it is fairly usable at a basic level just by guessing what the icons mean, advanced functions require a manual distributed separately just to know how to operate them.
>LibreOffice. Same as above.
>Post-Australis Mozilla Firefox. Ever had a difficult time finding an option, just to find it either was offloaded onto a plugin (not documented yet in the official website), documented to be in a menu that no longer exists, or explained as if you were a Firefox developer and not a regular user trying to reconfigure their insane defaults? Despite that, it is still fairly usable at a basic level.
>uMatrix. Gotta say it is one of the best in this list because what it is trying to achieve is kinda complex and I think it couldn't have been done better, but it lacks some quick documentation on how to use it. Policeman was slightly worse in terms of efficiency and clarity, but at least all options were documented with a proper label
>Bad UI
>iptables. Everything about iptables is weird, including the way of applying rules at boot. It really requires you to read a guide on how to use it; preferably one made by someone who has figured out how to use it for a specific example
>Most TWM. Have fun opening a browser to read the manual fter booting one without having memorized one beforehand. And I say this as someone who loves i3 and can't use anything else
>vim. "How to exit Vim" is one of the most asked questions on StackOverflow about Vim, and given it is mostly asked by JavaScript Pajeets, it still says miles about how fucking obtuse it is. Why the fuck is :x even a thing, which isn't even a proper mnemonic, and for all intents and purposes :wq, easier to memorize, is the same? Why the fuck do I have to read the whole manual, or even worse, play a tutorial just to make a small change to a config file? Note that I use vim at home, I just think it is idiotic.
>Windows administration in general. Making it GUI-only based in the first place was bad, but it was even worse not having the most useful tools registered in their convoluted control panel, but instead require to type their full, idiotic name in a search engine that can either search on the web (and open fucking Microsoft Edge for that) or open an appropriate or inappropriate command instead, depending of if Cortana is on her period or not. Full retard.