My first version of CPM Wordstar, in the early '80s, had an interface that made a lot more sense. It had menus, mostly of Ctrl keys (CPM didn't have Alt keys). Once you learned the menus, you could disable them, in several stages, and just use the keyboard commands. It was much faster than using a mouse to push virtual keys. It seems like interfaces have degenerated since then.
Programs of all kinds should be designed with a very elaborate configuration program, which could be kept on a floppy disk to save hard disk space. Many programs have a choice of giving many commands by Alt or Control keys, cursor key and Enter, or mouse and icons. Instead of so many choices, I'd eliminate all but the one I found most convenient for each command thereby reducing memory and hard disk space, and screen clutter. The other options could be reinstalled from the configuration file if desired.
I'd start out by eliminating the need for mouse and icons. One- and two-letter Alt commands can be much quicker than either mouse or menu and cursor key commands. (Of course Alt and Ctrl commands are simpler for me because I've rebuilt my keyboard so Shift, Ctrl and Alt keys are all handy under one thumb instead of difficult for my pinkys. )
I want to be able to program any key for any possible meaning, both in the configuration of the operating system and in any application program. In applications, if I changed key format, such as to Dvorak, or for other reasons, I might want to change command keys to new letters, maybe arranging them by position rather than by letter. All command keys should be programmable, independent of their text meaning. All defaults should be changeable. (I now have much of this in Vedit. I'd like it in DOS, to be available to all programs.)
In Windows, and most Windows programs I've tried, sometimes by default, I find myself reading long lists or texts in small windows, while the "frame" is cluttered with distractions. If I enlarge a window, it's small again the next time I use it. Many windows can't be enlarged. I'd like a way to change this default so each window, when opened, would be the size I pre-set it.
Many menus, including the World Wide Web would also be improved if web browsers didn't depend so much on mice. Each hilighted link could be numbered (or lettered) and selected by just pushing the desired character key. Numbers could be either displayed or not.
If we must use the mouse for pushing virtual buttons, I'd rather the cursor would just jump between buttons (icons, menu items), or in text, between letters and lines, rather than accessing each pixel. Some programs are beginning to do this now.
There are also alternatives to mice coming out. One, Glidepoint, which I now have, is a small touch pad where your finger is the mouse.
Another works more like a joy-stick. It's a little ball like a pencil eraser, in the middle of certain keyboards, on which one just applies pressure to make the cursor move. The joy-stick principle is to the mouse principle what a fully-automatic weapon is to a semi-automatic. With a joy-stick, you just activate it, in the right direction, and it does it's thing, "under it's own power", until you release the "trigger".
I can also imagine a simple adaptation of cursor control keys to make a simple joy-stick.