activities overview, take N

Aaron J. Seigo aseigo at kde.org
Sun Oct 11 20:55:17 CEST 2009


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 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.

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?

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.

* 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

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

* 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?

* 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

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

* 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.

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?

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20091011/6252948c/attachment.sig 


More information about the Plasma-devel mailing list