@gilhad said:
I actually prefere "usefull system" before "GUI ridden inherently discoverable" one.
Maybe I am just affected by my history, but tell me please, how would in your ideal world would GUI enable user to do things like:
- every hour download some web paage, find all people mentioned there (by name and link), follow all the links, look what picture (green dot or red cross) sits near the name on the linked page and make me local html page with table of those with green dot with some pictures (copied to local disk for speed and independncy on internet connection) and links to original pages. Also made graf of when those people had green dot and when they had red cross (hour by hour, months of time)
- connect to distributed versioning system, get newest version of list. For eachline in the list ensure, that the mentioned directory exist (if not, create it) and contains updated related project (you can derive name of project from name of last directory in path). Whatever is after # sign consider just comment and ignore that.
- My GF in work have blocked all usual mail servers outside her company, but she is able to use distant screen (or how it is called in english - I mean log to windows via KRDC over VPN) and I am (so she is too) able to send email via my ISP, but only from inside his network (so no from external adress). Click-and-drag interface to let her send emails via my connection to my ISP (we are both on local net)
I am afraid, that such GUI would be too complex to be "inherently discoverable"(suppose, that such requests was generated on-the fly, not when the GUI was designed, so the GUI should allow all such actions and all other posiible combination of them)
Those things are real scripts, that I wrote in bash (which called and piped other CLI tools like sed, grep, git, wget ...).
Why would all that need to be part of a single GUI? That would be insane. The logical GUI way to do it would be to have a task scheduler that would invoke the necessary programs with whatever pre-made configurations you had saved in the order you needed them to do it. Each program you call (the equivalents of sed, awk, grep, etc.) would have its own GUI where you set those configurations up and then save them for recurring use.
I'm not arguing that the CLI should be removed entirely. For power-users, it may entirely be necessary to use a CLI to do things that the GUI can't do readily...but there's no reason to nearly *mandate* CLI usage just to use or configure a machine, as a lot of Linux users tend to argue for on forums and the like. Any common activity that someone who's completely unfamiliar with the operating system may want to do should have an easily understandable GUI attached to it. A properly designed operating system should be able to be installed, configured, and ready to use by a complete newbie for everyday usage without ever seeing a CLI or needing someone to decipher any part of the interface.
And the term I think you may have been looking for in that last example is "screen sharing" or "remote desktop", basically the visual equivalent of an SSH session.