Re: [Usability] Metacity Proposal: Grouping Windows



On Fri, 2004-03-05 at 18:29 -0500, Curtis Hovey wrote:
> On Thu, 2004-03-04 at 01:19, Ryan McDougall wrote:
> > This is a slightly more proof-read version of what I have already sent
> > to desktop-devel
> > 
> > Proposal to Add Grouping to Metacity, and some Rationale
> > 
> > 0. Abstract
> > 
> > Solution presented for solving problems associated with window
> > management by allowing users to categorically organize windows by
> > defining custom window groups, and performing window transformations on
> > the groups as if they were true objects in "desktop space". The purpose
> > of this proposal is to improve the spatial properties of Metacity so
> > that it fits into a long term goal of spatial consistency within the
> > GNOME UI.
> 
> ...
> lots of ideas cut

I hope they weren't cut because they were that bad. ;)

> 
> > 2. Proposal and Implementation
> > 
> > 2.1. Solution to Managing Windows
> > 
> > My proposal is two-step, and as far as I can tell, presents no major
> > technical hurdles: 
> > 
> > First, users need a way to more intuitively group their windows, and
> > groups of windows, into user-meaningful categories. Human understanding
> > heavily uses hierarchical categorization, and virtual desktops and task
> > bars show that we like to organize our windows into groups that hold
> > meaning to us as individuals. Allowing users to "grab" a set of windows
> > or set of groups of windows, and form them into a semantic group will
> > help us do so in a spatially consistent way. The method of grabbing a
> > set of windows should be more intuitive (than Virtual Desktops) for any
> > user who has performed a similar operation in selecting a bunch of files
> > via and modern file manager.
> > 
> > Second, users need a way to specify transformations on those groups of
> > windows. Expose provides such transformations, but they are limited to
> > three kinds, and have no concept of application groupings, nor any
> > understanding of the irregular grouping that make sense to us. Using the
> > arbitrary conceptual groups defined above, and arbitrary transformations
> > on said groups, we can mimic in desktop space the behaviour our hands,
> > arms, or other tools might have in real space. Some useful
> > transformations would be to “Tile all selected windows”, “Iconify all
> > selected windows”, or “Move all selected window to the left”, etc.
> 
> I put forth an alternate solution to a similar problem on the usability
> list a few years ago.  It's not with current GNOME use.
> 
> http://mail.gnome.org/archives/usability/2001-December/msg00033.html  

Some good ideas there, but what my real goal here is integrate several
window management tasks that are desired, ie expose-like functionality
and tabbed UIs, all under a spatial metaphor where the categorical tasks
we perform on windows become first class objects in their own right.
Workspaces as they are defined now arent objects, they are places that
are quite disjoint from one another.

> 
> I think your suggestion complicates the window manager.  I think a good
> solution will model user behaviour in the real world:

Since I am trying to fix the window manager, it think its a necessary
consequence to complicate it a little. ;)

> 
> 1. Users often have several projects to work on.
> 2. Users allocate space and time for them.
> 3. Users switch between projects through out the day.
> 4. Users put projects away, and get them out later.

Of course users do more than just this -- the above assumptions
presuppose a work-session problem, not a window management problem
(although the two are quite related).

> 
> I see this as a session/project/task problem.  I want to create a new
> session that is displayed as a workspace desktop.  Saving a
> workspace-session will save the application and document states. 
> closing the session closes the windows, possibly the applications, and
> removes the workspace desktop.  Opening a session will restore a
> workspace desktop, its applications and documents.

I think its a pretty good idea, but to keep thinking spatially, I would
like to see those workspace-sessions as first class objects. For example
one could create a new workspace-session via nautilus, which would
create an icons representing the workspace-session. Clicking on the icon
would open the session literally, and any documents and associated
windows therein would be bound by the "lifetime" of the workspace-
session.

> 
> OS/2 had a similar concept of desktop folders that grouped applications
> and documents and managed their state.  While the user could have
> several session open at once, it was difficult to switch between them. 

Switching easily between groups of related windows is exactly what Im
trying to accomplish with my proposal. 

> The Workspace Switcher is the natural way to switch between desktops, to
> open new ones, and to close the existing ones within GNOME.  

So you want to map "virtual desktops" aka workspaces to your workspace-
sessions, and in doing so we can reuse all the current workspace
concepts?

> Unifying
> sessions with workspaces preserves the behavior of the task list in the
> panel and the window manager.

I'm not sure I understand this sentence, can you clarify? Also, there is
a very real question of whether current task list and window manager
behaviour is optimal.

> 
> Users must get out the materials and find a space to work with a project
> in the real world.  Employees in my workplace have two or three desks in
> their cubes, with 2 to 4 storage areas.  Workers already understand that
> need to allocate space, gather materials, and will alternate between the
> spaces during the day.

Agreed.

> 
> So I don't think the window manager needs to be involved in a solution,
> so much as we should extend the concept of session and Workspace.  
> 

Why not do both? I think you think there is one "problem", and are
proposing your solution, which I think is a good idea that greater minds
than ours have already come up with.

There is only the never ending problem of optimizing computer systems as
tools for humans beings to do real work, and there are many ways we can
try to get it right.

ps. Given the amount of UI guys kicking around, Im rather surprised that
what I wrote hasn't gotten more traction. Is it because my writing is
too tiring to read, or simply most hackers are desperately trying to
finish 2.6?

Cheers,
Ryan




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