>>30361A more general reply follows, but hitting a few points quickly: I think folding tree menus are fine, as are ordinary "display the contents of this folder, its file path, and - if entered from another directory - a back button, plus a folding tree on the side" type file menus. both show you the menu in a context while - thanks to the file tree and back button - doing nothing to hamper understanding of the overall structure. The windows right-click menu, in different order, contains every menu option you list and more, provided you treat "open with…" as a stand-in for "feed to another program". Nethack doesn't
have to output any feedback (you could just keep dying randomly with no explanation!), it does so because doing so is good design. You raise arabic numerals - but why use base ten as our default? if we counted using binary, you could finger count up to 1023…
Success being assumed is terrible UI design. It costs almost nothing to output "x deleted" - and in the cases where it does cost something (such as in a script that deletes a lot), it costs almost nothing to add a flag telling it to shut up. i assume, to you, this appears terribly redundant (why tell the user the computer's done doing what they asked?) and perhaps even in violation of the unix philosophy (rule 2!!!) - but there's value in redundancies. planes have two pilots for a reason. (a graphical interface doesn't need to pop up "file deleted", you can see it disappear in response to your actions without having to type "ls" and look for it)
i'm not assuming bad faith here, but i'm not sure i can productively convince you of my point. (which, going way back, is really about treating the user with contempt for using the computer "wrong", rather than UI design itself.) there's just too wide a gulf in assumptions about the default - it's like trying to convince a native japanese speaker that most people find it easier to work out the meaning of a sentence based on word-order rather than by marking everything with particles. (although i think this is only true thanks to English and Chinese tilting the statistics, whereas a preference for the convention of graphical interfaces is - i suspect - closer to "human nature". I mean, sticking with games, there's a reason there are more graphical games than non-graphical games! and, for all the terminal use involved, linux is still a much more graphical operating system than DOS or old-old-old Unix.)
as a result, you (quite naturally, perhaps) ask me to justify each little detail, each piece of feedback, each option displayed on screen instead of held in memory, which can be a useful exercise individually but ultimately feels rather like trying to explain why i'd rather
feel a cup touching the table when i put it down - why not just put it down, remembering the relative height of the cup and the table, and assume success? or, if i can
see the cup, why do i need to
feel a bump? why do we need a sense of touch?
what is the use case? (less is more!) and there are loads of other little details like this, not just in terms of feedback, or in taking the load off the user's memory by displaying things from the computer's memory: why (in principle, not technically) is it that terminal commands are generally one-way, while graphical commands can be ctrl+z'd if you fuck up? is it really necessary to explain that users like systems to be forgiving, and that a digital system is usually capable of undoing them?
in good faith, I'd recommend reading the apple UI guidelines pdf linked above. all of the general principles are fairly well explained - they're not right about absolutely everything, but they hit the main notes, and it's not just an anti-terminal polemic. most of it is about how to avoid making a bad GUI by the standards of 1987. i think that's more productive than me trying to reinvent the wheel by explaining that some menus are redundant and badly designed, others are very helpfully showing the user the options available to them. (would a paint program be improved by hiding all the tools available and expecting you to remember them?) based on my own background assumptions, which often diverge from yours, especially when my ultimate point isn't about UI design so much as about attitude: it is no good chiding the user for using the program wrong or for using the computer wrong, helping the user achieve their goals is the ultimate point of the whole enterprise. (and, more generally, only by adopting a user-first approach, and a user's-goals-first approach, can you [a] get people using free software, and [b] build websites and tools that draw people in, that have something of value to offer beyond being a gluten-free alternative to the status quo.)