Proposal for new thinking in Session management



Note, this was in part inspired by a comment at gnomedesktop.org on the 
story Simplifying GNOME file management.

Goal:
Make the session system less obtrusive, and more intuitive to use for 
any user. To provide a new innovative look into session management that 
makes the concept of "sessions" transparent to the user.

Current Situation:
The current Session System in GNOME asks the user whether to save his 
session or not, when logging out. This concept has no meaning to the 
user, and even advanced users, may sometimes use this wrongly. As an 
example, I have sometimes myself checked the box while logging out just 
to "make sure my session is empty" the next time I log in, even though 
I've never used the session system.

It is a powerful concept that is out of reach for the novice user as it 
is currently, and the current system do not encourage the user to try it 
out.

Proposal:
I propose a new system, that ALWAYS saves the session without asking, 
and gives the user the chance to open up his previous session when 
loggin in. The system should keep a list of the last X sessions (ordered 
by date), and allow the user to copy some of these sessions into a list 
of "saved sessions", which the user can rename to make them more 
memorable. It might be a good idea to come up with less technical 
terminology.

The above was the main part of the proposal. The rest is just UI ideas 
which could probably be done better by others.

Additional ideas:
One could ask an interactive question when logging in, forcing the user 
to make an annoying choice whenever logging in. That is pretty much out 
of the question.

However the splash screen could be used for instance by adding in a 
button for 
"start where you left off last time" and "start clean workspace" with 
one of them being default (subject to user preferences). These are 
displayed as long as the splash screen is shown and for a minimum of N 
seconds with the default being chosen if nothing is done. This requires 
a time bar that counts down and this question should only be asked if 
the user has actually logged in before.

For the advanced user a "show list of sessions at start-up" option in 
the session dialog might be a good idea.

The dialog itself could contain:
* A date-sorted list of last sessions
* A "show date list on start-up" option
* A stored-session list with renaming capability and a way to select a 
default session out of them. Where "start clean workspace" is a 
permanent item that can't be deleted. The selected default should 
replace the "start clean workspace" button in the splash screen.
* A "show stored-session list at start-up option.
* A standard way of copying items from the last sessions to the 
stored-sessions, and removing them again.
* A "don't show anything on start-up" option

When the user logs in the second time and sees a "start where you left 
off the last time", he/she will not have to understand any concepts of 
session management at all to take advantage off it. If the user is in 
the habit of closing all windows before logging out (which is not 
uncommon), this question can be used to change the habit of the user 
with an "aha, if I just leave things, I can come back later to find 
things exactly like this".

If the dialog is cleverly thought out, the concept of session management 
can possibly be abstracted away even here, just making the users think 
of dates and type of work being done instead of the technical idea 
"session".

It will still allow advanced users to do anything they want to do with 
sessions, but in addition introducing a little bit of that power to the 
complete novice, which I think is very much part of the current GNOME 
philosophy. In fact, I think this will make some GNOME-users think GNOME 
has some new fantastic feature they have never seen before, even if 
everything was already possible in the current system without them 
knowing it.

I don't know if the main part of the proposal will require serious 
changes to the session system or not.

A good counter-argument might be the amount of data needed to 
automatically store the last N sessions, which should be considered.

--
Gaute Lindkvist



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]