View Full Version : What would you like in a interface?

07-28-2002, 08:21 PM
Hello again.

This is about commander again.

Basicly, this is a question about what you want in a interface that links the user with the system commands. How would it look, how would you like to view files on your computer?

07-29-2002, 12:22 AM

The most effective such system would be console based. You would be presented with a console window (command line) as a sort of popup window which can be set as "always on top". You would be able to quickly duplicate the window in its current state and tile it at the edge of the current window with system commands.

All system commands would have a uniform naming standard. Documentation for all system names would be available from the command line. Documentation on all system commands would be available from the command line.

Important to such a system would be word completion: not only for files in the current directory, but for all partially-entered paths. Instead of always completing with the next best match, an alternative key command would present the user with an inline, scrollable list of the files/folders in the directory your partial path is currently at (ala msvc++ editor).

Not only this, but such a system would, by another set of key combinations do word completion from past commands entered into the console rather than completion for paths; the two varieties of completion found with paths would be here as well. Separating path completion from command completion would be important to increase effeciency.

This popup method would also be essential for finding something in the current directory where a ls or dir would return a list too long to fit on the screen.

Additionally, these popup lists could be forced to stay on the screen by moving the mouse over them and issuing a key combination (and allowed to leave the same way).

The benefit of this is for another element of the system. This is that scripts would be written via a popup launched by a key combination and which would compile right into the allow console instances (kind of like a Forth frontend). Any language system that impledmented the particular API could be used, but preferrably it would be Perl with all system commands (mentioned above) in the global namespace.

Now, this would not be a command-line only system. Applications would, when launched from the console, run visually much as they do on current systems with a GUI, but managing their use of the screen would be greatly improved.

Minimizing, Closing, Maximizing, Positioning, Locking in Position, Docking, and Tiling would be done through a combination of the mouse and keyboard so as to allow maximum effeciency. A simple operation would be holding the mouse anywhere over a window and pressing a key combination to activate one of these; those requiring motion (dock to which direction, move to which direction) would be accompanied by a mouse "gesture".

No time wasted trying to grab the edges of windows, or to line them up just right. Why use one hand when you can use two? You, with both hands, issue commands to the windows as fast as you can move a mouse over them and hit the keyboard combination.

To perform operations on a set of windows, another key combination would be used to add the window which the mouse is currently over to a pool of windows on which to operate (sort of like a clipboard). This would be useful for minimizing, closing, or tiling a number of windows.

Note that this same system would be used on minimized windows (which would goto a taskbar on the bottom of the screen).

There would be no application icons or start menu or clock wasting screen space, but rather there would only be a taskbar. Often used applications would be launched via keyboard shortcuts for those most often used. For those less frequently used but still common, they would be stored in directories accesible by the console. However, this would not be tedious, as you could create console keyword shortcuts to these directores, such that cd "directory-shortcut-name" would change to that directory.

Every visible containment box is a window and can be maniuplated via keyboard commands combined with mouse gestures.

Additonally, you would of course be able to create new virtual desktops through another keyboard shortcut. Multiple desktops are navigable via keyboard shortcuts alone, but they are not just floating somewhere unknown, but are logically positioned relative to the desktop from which they are launched. This allows an alternative means of navigation. Through a mouse gesture combined with a keyboard shortcut you can scroll seamlessly between your desktops, or quickly flip (with a flick mouse gesture) to desktops logically postiioned around you. This gives you a very intuitive feel of where things are; above you, left of you, over to the right of the open text document, down below you, etc.

Would all these desktop space be a hassle? No, you can always bring up the overal map to quickly navigated to any specific area. Additionally, you can tie any window, particularly open console windows to a key combinations on the fly so that when you navigating around your desktop space, you can summon the window, preferrably a command window, to appear for you on top of the currently visible desktop space.

What about movign windows around all of this? Of course in the map view you can manipulate windows in all of the same ways you can on the single view via keyboard commands and mouse gestures. If you do not like this approach, you can also add a number of windows to your pool of windows, and via a keyboard shrotcut, drag them with you where you go when you scroll to or navigate to other areas of the desktop with keyboard shortcuts and mouse gestures.

In some cases what you have is just too big to fit on one screen, but you need quick access to both. In this case you can bookmark any desktop area so that you can traverse between them with a system key and one of the function keys to which you assigned it. Also there is a simple forward/back traversal of these bookmarks. Need what you have at one bookmark to where you are now? Just pool up the windows there, switch bookmarks, and summon them.

You are the master of your computer, commanding your virtual desktops and windows with both hands, always with both hands. You give the orders and they are obeyed immediately and in an orderly and effecient fashion.

07-29-2002, 05:29 AM

Thanks heaps! I really wasn't thinking of someone to write that much of what they wanted. That's a huge help, thanks again.

Yes, console based is a huge thing that is going into the interface, that's where the name commander has come from, and command line based gui. Although i would like console only, it wouldn't be supported by all. It will be an optional gui however, so for those who rather get a few extra fps in quake or unreal, they can do so. Basicly, the console is much the same to common games today, where you can drop down the console with a hit of the ~ key. I like the idea of two hands alot, and understand where you're coming from the more i think about it. It's like when doom first came out, people all used the keyboard, now we are on to more sophisticated games, we need the action of our mouse.

So thanks again, I'll try very hard to include all of what you've said.