The GUI lovers really should read Locutus's article: Just because it's pretty, doesn't mean it's easier. One of the reasons that some people (including me) prefer sticking to CLI is that you don't have to get into the labyrinth of layers of menus when the GUI changes, either because of software upgrades or because of moving from one's own computer to someone else's running a different distribution, etc. Finding the right entry in an unfamiliar menu tree really isn't more user friendly than using a terminal.

Then what about finding it in a menu graph instead of a menu tree? There is no technical reason why the scriptable fun educational math program drgeo should be accessible only from "edutainment => math => drgeo" (as is the case with my slax mixed with ubuntu packages) and not from "development => scripting => drgeo" at the same time. If it makes some sense for a program to be categorized as belonging to more than one group, then why not do it?

But this is really nothing new. It can be seen as tagging. Categorizing books or articles into non-overlapping groups of subjects (and non-overlapping subgroups, etc.) is the old way of organizing information. Tagging a bookmark or a blog entry with as many relevant tags as possible, is the more civilized way of doing it in the 21st century. But I don't know why the idea that a menu should be structured as a tree seems to have failed to evolve along with everything else.

When you have too many alternatives to reach each and every program, the menu and submenus become lengthy and/or deep. A text search box becomes a more natural alternative. As a user, I would like to be able to type "pppoe connection" and be prompted with a list of all possible programs (preferably just one) each with a short line of description. That way I don't have to know that it's pppoe-setup in my slax bootable usb key, and pppoeconf in ubuntu (my second favorite distro). Actually for a total newbie, he would type "adsl network" or something even less technical and arrive as fast as I do at a small number of choices of relevant programs no matter he is using GNOME, KDE, or LXDE. That's also one less reason to argue for unifying under one and only one distro for the sake of bringing Linux to the masses. Frequently used combinations of options can have separate entries, e.g. searching for "convert odt html" would bring up "unoconv -f html" while searching for "convert xls ods" would bring up "unoconv -f ods". It will be even better if a suggested list of possible keywords is constantly refreshed as he types through a keyword -- just like what google does for a search. We can conduct a user-friendliness competition among GUI, CLI, and KUI for a group of computer newbies. Or maybe the likely outcome is too obvious for the competition to be held at all in the first place :-)

This idea can be applied within a single complicated application, for example gimp. Searching for "cut subject" (or a more accurate English phrase to express that I want to isolate this cute tux mascot from its background) would bring up a list of dialogs containing "Foreground Select Tool" and "Intelligent Scissors tool", etc. Extending this idea, the unoconv example can be simplified by wrapping the command inside a simple GUI dialog. Ditto for ffmpeg and ImageMagick's "convert" command. In these cases, the process of invoking a command may become a two step keyword search, or a keyword search plus GUI dialog filling.

Old timers can always be given the option of falling back to GUI and/or CLI, of course.

Now think about how you would like to use your computer in the future. I imagine to be able to navigate a computer using speech and/or gesture. Well these are already somewhat feasible now. Even brain-computer interface has come to existence. (Please search. I hope one day Bug Labs would sell such an input module) I no longer do serious programming for a decade or so, but I used to program in my youth. If you ask me, I would vote for implementing these interfaces using KUI rather than GUI or CLI.

And I don't mind sharing this idea with Microsoft and Apple if they care to read this. We will not only see from which camp the innovations come, but also which camp implements it faster and better ;-)