activities overview, take N

Marco Martin notmart at gmail.com
Sun Oct 11 23:06:29 CEST 2009


On Sunday 11 October 2009, Aaron J. Seigo wrote:
> hi all ...
> 
> so i've been piddling away at code-level design work for the activities
> overview.
> 
> and i kept finding myself getting frustrated by it.
> 
> the ideas are sound (mapping windows to activities, a simple activity
> switcher...) and yet the word "but" kept coming up in the back of my head.
> 
> in the shower today i was composing in my head a hypothetical blog entry on
> what i think of gnome-shell. (i'm getting that question probably once a
what else one can do in the shower, i always say? :)
>  week right now.) i don't think i'll actually write such a thing in the
>  near future, but it was a really great exercise and i had a "oh .. yeah"
>  moment in the process.

well, right now it would be a bit dangerous, but yeah, communicating that this 
overview thing is not a mere copy of it and is indeed totally different will 
be a really important, difficult and slippery task, just the evidence that yes 
is totally different sometimes isn't enough :p
 
> to be perfectly blunt, the whole "activities and windows combined overview"
> topic has been driven at least to some extent by a reaction by some to the
> previews and demos of gnome-shell. and that's where we got off track.
> 
> gnome-shell is a panel designed for one segment of users (e.g. those who
>  use IM, among other characteristics) combined with a search driven file
>  and application launcher and a "desktop grid on steroids" composition
>  manager effect that is meant to run on desktop/laptop systems.
> 
> this is not at all what plasma-desktop, let alone plasma as a whole, is.
> 
> so what's wrong with the overview thing in gnome-shell? in one word: it's
> modal.
> 
> in gnome-shell, i'm either working with an application or i'm working with
>  the desktop shell. when i want to switch from one task to the other, i
>  need to switch the mode the shell is in. i do that by hitting the
>  Applications button which brings up the app/file launcher (whether i want
>  it or not) and gives me a desktop overview (whether i want it or not) and
>  i can now go about managing my applications.
> 
> the philosophy dualism has never been better served.
> 
> then i realized that the proposed overview we have dreamed up with window
> groups and containment thumbnails is essentially the same kind of dualism.
>  it is a mode.
> 
> in that mode the user must switch from "i'm using the web browser" thinking
>  to "i'm managing the window of this web browser".
> 
> the whole screen would change.
> 
> applications would get little dummy representations of themselves drawn in
> little boxes. i kept thinking "this is really just another form of the
>  tasks widget".
> 
> we don't do that anywhere else in plasma-desktop, really. the desktop shell
> frames the applications you are working on and compliments that work. it is
> visually and interaction-wise distinct from your applications, causing a
>  "this is mine" and "this is the computer's" distinction to become clear
>  (which is also a dualism), but we never create a modality along those
>  lines. they coexist peacefully. to accomplish that peaceful coexistence we
>  have these "shell" and "application" visual identities.
> 
> so i started asking myself: how can we break this activities overview
>  feature set down so that it is no longer a mode but "melts" into this
>  coexistence?

"mode" is bad, but the existence of the "desktop layer" concept is a "mode" 
itself, will ever be possible to overcome that? (yes is somewhat ot in this 
context but more on that later in the msg nevertheless)

> here are some thoughts i had:
> 
> * in the same panel controller window that we now show the Add Widgets
> interface, we could show a Choose Activity interface. it would share a lot
>  of presentation code with Add Widgets for consistency.

so just a list of thumbnails?

> * instead of categories in the tab widget it would have  "Active" and
> "Stored". instead of destroying an Activity, you could store it for later
>  use. these stored Activities would then show up in the Stored section; an
>  rc file and a screenshot pic would be saved to disk for each stored
>  Activity. store and trash would perhaps appear in the hover interface that
>  pops up when the icon is moused over or in a touch based world selected.
> 
> * a "New Activity" tab would appear Active and Stored and would allow you
>  to create a new activity, including picking what kind of activity and
>  optionally what other activity you would like to clone
> 
> * associating a Window with an Activity could happen in one of two places:
>  a new button in the window title bar (would mean some adjustment to kwin)
>  that would list activities from nepomuk. the other place would be the
>  context menu of items in the tasks widget

by dragging the thumbnail of an activity over a window? (it would work better 
the other way around but since the window is live is not really feasible)
it could support drag and drop from the taskbar tough

> 
> * the tasks widget could have an added "show only windows for the current
> activity" feature

those windows will be hidden also from the screen, right?

> * a "hidden windows" button could be shown in the tasks widget when there
>  are hidden-by-activity-change windows around; switching to one of those
>  windows would switch the activity as well?

if a window can have more than one activity (and i would like so) where we 
switch?

> * a "Choose Activity" button would appear in the toolboxes (panel and
>  desktop)
> 
> * the kwin desktop grid effect would have remove/add buttons added to it to
> fill the virtual desktop management gap a bit more; we should offer a
>  plasmoid to trigger it and perhaps add it, by default, to the panel

perhaps even in the pager itself, an extra button that disappears on desktop 
effects off or if there is not the proper atom set (i.e. compiz)

> * windows associated with an activity could be listed in the mouse over pop
>  up in the Choose Activities interface

hmm, what about having 2 rows of thumbnails, the bottom one activities the top 
one windows, cllicking on activities thumbnails will filter the widnows row.. 
but it would be too tall parhaps, making it kinda modal again...

> * in a-containment-per-virtual-desktop mode (which i'm starting to feel
>  small amounts of regret over offering ... but maybe i'm just being
>  pessimistic :) the "Choose Activities" would be per-virtual-desktop. if
>  you wanted to migrate an activity from one desktop to another, you'd have
>  to store it first. the more i think about per-virtual-desktop containments
>  the more i cringe, though.

it feels like a totally conflicting concept to me, should think about the 
least painful way to remove it...
because it does a really similar things: it binds an activity, containment 
whatever to a set of windows, but is way too inflexible to be really used in 
this way. a window can stay only on one desktop/activity and a window has to 
be associated with one activity.
it won't make things more difficult to implement, i think, it just makes the 
user interaction and the concept of it rather broken

> 
> there's probably more than could be done along this line of thinking. any
> ideas?
> 
> the basic change in direction is that instead of making it a full on mode a
> person must switch into to get an overview of things, it becomes part of
>  the overall system that doesn't require you to put away your windows and
>  other tools in the meantime.
> 
> thoughts?

that yes, i do think that having to totally switch away from what you're doing 
is bad. however, the screen space is limited, even on a big screen, because 
the windows often use almost 100% of the available space, even if there were 
200 square metrers.
this is a problem in plasma in general, the desktop is often exactly that 
modal thing opposed to every possible window that stays over it, i'm trying 
hard to think about a possible solution but yet failing (the magnifying glass 
thing being the best attempt on that)

but now i'm badly derailing off track, but this makes a good junction on the 
idea i'm tthinking about:
the list  of activities in the panelcontroller is good, then there is a way to 
open one of those thumbnails in a more detailed view: it will open a window 
(not fullscreen, just a normal window, maybe with even titlebar, resizable and 
all, maybe plasma themed, i don't know) it will have a thumbnail of the 
activity (since is only one perhaps if it's a real zoomed out view could still 
be fast-ish enough) thumbnails of the associated windows, 
activate/load/save/close buttons, maybe extra data coming from nepomuk, like 
an annotation on what that activity is.

it would be possible to open more than one of those windows and drag windows 
thumbnails around to move and "copy" them, perhaps it could be, perhaps even 
plasmoids (we would lose the ability to move a plasmoid between containments 
at all without zui)
i wonder if with some kwin hook it would be possible to even drag live windows 
in it, this would not make it a tool where all other tool must be closed to 
use it, but a tool among the others that can interact with them.


Cheers,
Marco Martin


More information about the Plasma-devel mailing list