graphical user interfaces
Topfnotes
home -> gui environments [ prev ]  [ home ]  [ next ] 

ATTENTION: You will need Netscape Navigator 4.0 or better in order to watch this properly!

Thoughts on Graphical User Interfaces and Operation Systems

This text might be considered as "raw data", so it's not necessarily structured as well as it might be.

Windows
Problems with well-known GUIs, like that of Windoze
Alternatives
Ideas for a better future

Windows

The whole GUI development is today focused on things we call windows: rectangular areas on the screen which also can overlap. They are invented as metaphors for sheets of paper on a desk which can also overlap.

But is this good? Actually it always annoys me when I have to search for a particular window, which is somewhere down there and is hard to find. Moreover (but depending on the GUI) it disappears again when I click another window which comes to the front. Also it's sometime neccessary to see two windows at once but because todays user interfaces are usually quite overloaded it's hard to set up your windows in a way so that both can be viewed..

So one might ask if the metaphor of the sheets of paper is a lucky one. If I look on my desk right now there are all sorts of papers and other things. But I am not that lucky with it as I sometimes have a hard time to find things. So the question arises if it's not time to invent something better than overlapping windows. Actually on computers we have the chance to make something better than just copying what we're doing right now..

(There also have been some things done, so e.g. Oberon comes with it's own windowing system which just consists of windows you cannot overlap.. This might be good but care must be taken to let this be as flexible as normal windows.).

Problems with well-known GUIs, like that of Windoze

Everytime I work with Windoze at some point I start to hate it. (You should know that things which sell best are not neccessarly the best things. Or did you made a comparison of all the operating systems around before buying or copying Windoze?).

It's not only the GUI but it takes a great bunch of it.

So e.g. you have this taskbar with it's START-button. Imagine you have lots of windows open and you want to get one of the focused. But you cannot read the names of them in the taskbar as there are so many that the names are cutted at the end. And making it bigger is also not the solution as it takes too much space. Of course one can put it into background but then sometimes it will not appear again if you move your mouse to the edge of the screen. So after all you will try some buttons by random until you get the window you want.

Or you will press alt-TAB and get a list of all the windows with complete titles when you select it. But again this window is only open as long as you press ALT and you cannot select with the mouse but only by pressing TAB. Also some work until you get the window you wanted.

Then there is the start button. A actually not that useful buttons especially if you have lots of applications installed. So select programs and a list appears which is three rows long (depending on your screen resolution of course). So how fast will you find the program you need?!? Yes, you can make menus and submenus and arrange the programs as you want but you have to fiddle around with an explorer for that and it's not a very comfortable way to clean it up. And in the end you even cannot configure it as you wish it to appear. So you cannot switch off the raise-on-click behaviour of the windows. You cannot change the appearance of the taskbar or alt-tab-window. You cannot replace them by other modules. And so on...

Alternatives

Well, there are many but all not that widely user. Quite interesting NeXTStep always has been. Since the late 80ies it always had an very pleasant look and it was fully object oriented meaning that you can change whatever part of it as you want. Just change the text editor in one place and in future everytime you have to edit a text you will get this text editor object. And just get your apps you use frequently and put them easily into a application dock - an icon bar at the side of the screen.

And now there is Rhapsody, an Apple product which is based on NeXTStep and is planned to be released for Intel machines also.

Also there are all the unix boxes which always have been very configurable (not very user friendly though). There you can change every aspect of the look of your windows and GUI environment. Also all these programs used there are usually free software so there should be no problem to improve them or port them to other platforms.

Ideas for a better future

Well, there are lots of things which can get improved over existing GUI environments. So lets start with the Windoze things.

Taskbar

Actually not that neccessary on one special place on the screen. Just make it a window which is initially not visible (if you work on a text you don't need to see which other windows are open - you only need this when you want to switch.)

Then define a hotkey which makes it visible.

You then can switch between the programs/windows either by clicking on them or by using the arrow keys. With ESC you should be able to close it again.
Also sort the entries into groups of similar program type. Colorize them so one can differ better. Make all this adjustable so that everybody can change color, etc.

But put this under a experts mode so that beginners are not confused.

Start-Button

This is the equivalent to a application dock. But both, dock as start button, are not that great. So let's take the idea of Amiga's toolmanager and use it. So we can define app docks which can be made visible/invisble by a hotkey or which also can just be there. These dock icons again can contain a dock - so click on one and another dock opens (or as afterstep does it, move it outside the clicked icon). The list of programs in a dock should easily be managable by drag'n'drop, either directly on the dock or on the configuration editor of it.

I can also think of some tabs at one side of the screen on which you can click and which will then move to the middle of the screen opening a dock. See the bars at the right (only with Netscape 4.0+. This implementation here is not that great but it might show you the idea.. and actually there are also already WM around which will do that)

Window configurations

Some programs give you the possibility to store your layout of the windows and retrieve it again later if you want to continue to work. This should also be general possible for the window manager. It should be able to store and retrieve sessions.

Usability

All actions should be performable without too many keys or things you have to remember. Better let the user press a hotkey and a menu appears from which is obvious what to do next.

Also make the fonts anti-aliased. This is a simple idea which goes back to the early 80ies (MIT Media Lab) and should slowly be built into the GUI environments. Some begin with it (even Windoze) but nobody has real support for it. (For the speed's sake you can make it configurable if enabled or not)

Themes

Different people like different appearance. So make it configurable with themes known from Enlightenment and other window managers but also from Windoze. Give the user complete sets of configurations from which can be choosen. This is easier then making a configuration oneself. Also make it easy to save themes for later retrieving or for publishing them.

Development

Make the GUI environment open to many programming languages. The more languages the more people will code for it.

Make it free software so that everybody is interested in developing for it.


Mr Topf, 09/02/1998