Two presentations this evening. The first from Steve Walsh about Eduroam,
a system that allows academics from a participating institution to go to
any other participating institution, log on using their own credentials,
and get internet access from there. So I could go to University of Glasgow
and log in using my ANU password and get internet access from there. It's
obviously not "access as if you were a staff member of that institution",
but it means you don't have to pay for dialup and roaming dialup logins or
make special arrangements for each person visiting somewhere else. A
simple idea and a good one, although their fights with LDAP servers and
authentication systems need to go down in legend, preferably in Old English
to sit alongside that of Beowulf.
The second one by Pascal Klein was about the Tango Project, which is a
project to create an icon set under a Creative Commons license, so that a
consistent look and feel can be applied to GNOME, KDE, XFCE, and (if Pascal
gets his way), XGl. Too many old-school hackers deride anything more complex
(or simpler) than a command line as dumbing things down, usually in the same
breath as they whine about how proprietary operating systems are taking over
the planet. You cannot underestimate how valuable it is - both for new users
and old - to have a consistent interface. The same command-liners will
probably cringe when you take their beloved emacs away from them and give
them an ordinary GUI text editor, because it doesn't have their favourite
alt-left-shift-control-spoon key combination for correctly indenting XML
in a boustrophedontic environment. That's called the interface, you morons.
Get with it.
The third, 'unofficial', presentation, was by Chris Smart, showing off
Kororaa and XGL. Heaps of funky stuff, some borrowed from Mac OS X, some
completely new. Pascal made himself dizzy by holding down Ctrl-Alt-Shift-
Right-Arrow and watching the cube of the workspaces whizz around before his
very eyes. Hopefully it will support i810 integrated graphics, because
that's what Pascal's new laptop is going to support, and he's going to be
a very disappointed boy if he doesn't get shiny and whizzy. Actually, I
should lay off Pascal because he copped enough stick from Steve over his
double-edged-sword work with Mark Shuttleworth. But we do need to register
www.ucultu.com.
The thing I wanted to note here is that one thing I'm worried about with
things like XGL is that we're just going to have rubberised windows as the
only behaviour because it's whizzy enough. I think there are a lot of ways
of making things behave on a desktop, and I think Linux is all about
choosing what behaviour you want. Just on the issue of window moving, I
see several more ways to make windows behave as you move them around the
screen:
- As you drag the window, only the nearest edges come with you - the
further edges from your direction of travel stay put and the window
stretches out like rubber. Then when you let go it snaps into its new
position and shakes briefly.
- You drag a partially transparent copy of the window around. When you
drop it, it flies up toward you and falls back down to where you put it.
- When you pick the window up it pushes back into the screen, and then
when you drop it it comes upward toward you into place.
- When you pick it up it starts folding itself into a little origami shape,
and then when you drop it it unfolds into place.
- As you drag it around the desktop all the other windows are 'pushed out
of its way', and they snap back into their original place behind the focus
window's new position.
- (A novel new idea would be to do what Google Earth does with
motion-drop: you can 'throw' a window by releasing it while the cursor is
still in motion, and it slows to a stop further along the line of your
'throw' than where you released it.)
There are a couple of key issues here regarding behaviour.
- It has to be quick. Don't do some glacier-like melt and flow or
a Cheshire Cat fade and reappear if it takes ages to do. People
instinctively wait while these things happen, because (a) they think that
the system is too slow for them to grab another window while the first one
is moving, and (b) they want to know where that new window has ended up
before they make any more decisions about what they can click on. If this
takes more than about half a second, people are going to get very tired of
waiting. It will feel slow to use and the glamour will wear off all the
effects.
- It has to show you where the window will go. Imagine starting to drag
and only having the cursor go with you - the window stays where it was.
Only when you drop the window does it appear in its new spot. What if
that's not exactly where the user intended it? They have to guess again.
That's bad. Providing constant feedback as to where the window will end up
is essential. (It doesn't have to be perfect - you can just show an outline
or a shadow or a translucent image. But the user has to know where it's
really going to end up.)
- It should maintain the idea that windows are semi-solid things that have
a physical presence in some virtual space that we're looking into.
Imagine if the window sort of melted into other windows as you dragged,
and solidified into position when you dropped it (with all the other damage
to other windows being undone in the process). People are going to be
afraid to move anything in case it doesn't undo correctly, or in case the
text from one window does get mixed up in the other.
- It shouldn't startle the user or make them think that something's gone
wrong. Rubberised windows is OK because as soon as you let go it all
snaps back into place and everything's OK again. Having a dematerialisation
process that throws electric sparks out of the window as if it's suffering
a major electrical failure, and then plonking down the window in its new
position like a new clone in Paranoia is going to be disturbing.
And now I really have to fly - bowling tonight with friends! Whee!