This text might be considered as "raw data", so it's not necessarily
structured as well as it might be.
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
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...
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.
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.
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)
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.
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
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)
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.
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