ChaniBlog











{December 26, 2010}   Activity-oriented vs Application-oriented workspaces

I don’t normally comment on other people’s software… but… a little while ago, opensuse was wondering whether KDE apps would work with these Gnome Shell requirements. Last time I checked, their “Activities” sounded like virtual desktops, but now they’ve returned to an application-based shell. This in sharp contrast to Plasma Desktop’s increasingly Activity-oriented workspace.

So what does that mean? Well, in gnome-shell, windows are organized by application – by the binary that spawns them. All your firefox windows are grouped together, all your okular windows grouped together, etc. You can still group windows on virtual desktops, but alt-tab is application-based, so as soon as you’ve got more windows than screen space you may as well have everything on one desktop.

In plasma-desktop, windows are organized by activity. This requires a bit of work on the user’s behalf (creating and switching between activities), but I have all windows for my odfkit work grouped together, all school windows grouped together, etc.

Obviously I think my way is better :) but I do have reasons for this, and I think it’s worth sharing them. I think that grouping by application is.. well, application-centric, application-developer-centric. It puts the branded applications – Firefox, Okular, etc. – front and center. This is easy to implement, and great for app devs’ egos, but I don’t think it serves the user very well. Why should they care that pdfs are opened in Okular, but jpegs are in Gwenview? (especially when some pdfs are just glorified images…)

Grouping by activity, in the KDE sense, is fundamentally user-centric. It puts the activity the user is doing – researching a paper, working on a project, reading comics, etc – first. The applications used to accomplish this activity are incidental, mere implementation details. The user might not even know their names, referring to them as “the web browser” or “the news reader”.

I’m a little doubtful about the gnome-shell assumption that applications shouldn’t be run more than once, too – but then, I’ve stopped using regular app launchers at all. These days I type stuff into krunner, usually a url… or dolphin, if I want to find a file… or I click links. I’ve set konqueror to open links in new windows, because activities make tabs almost obsolete. :) My regular apps stay open all the time – well, so long as that activity is open. :) Organizing my windows this way is *so* much nicer, I think I’d already go nuts if I had to give up using activities…

Anyways, since gnome’s choices seemed like big mistakes to me, I decided it would be polite to actually talk to them instead of just ranting in a blog. ;) I visited their irc channel for a few days, and although I don’t think I found any of the core gnome-shell people, I did find some people who were able to explain their motivation.

Apparently, they wanted to solve the problem of applications being started more than once when they’re not designed to. They do have their own gobject equivalent to KUniqueApplication, GApplication, but not all apps use it, so they’ve still got some apps where it’s possible to have two instances and Bad Things happen. So, they decided to solve it at the shell level by not launching more than one.

After doing my poll, this doesn’t sound quite so crazy; there *are* a lot of apps people only have open once. However, nearly everyone has that one app that they want two of… and in gnome-shell it’s up to the application to offer a way to do that.

Anyways, it may have been this one little decision that shaped the whole shell. Once applications were assumed to be unique, then switching windows *is* switching applications, and an application-oriented shell is the natural conclusion.

Also, I was wrong about them calling applications activities. They’re not calling anything activities, really. :) Their overview screen (a concept we toyed with in plasma actually) was called “Activities Overview” because activities means “what you are currently doing” – and then the string was too long for the UI, so they shortened it to “Activities”. I wish they’d shortened it to “Overview” instead – it would have saved a lot of confusion. :)

So… in the end, I still disagree with gnome-shell’s design, but I think I understand how they got there. It’ll be interesting to see how it’s received when it’s released, and how it evolves from there. After all, the world would be a pretty boring place if we all made the same decisions. :)



nick says:

I am one of those that believe in kde’s activities, and I think one way to promote them would be to have a “Create activity for open files and windows” button.



Blackpaw says:

>”I’ve set konqueror to open links in new windows, because activities make tabs almost obsolete. :)”

I’d appreciate it if you could expand on that – how do activities (almost) make konq tab obsolete?



Markus says:

poll results



Blackpaw says:

I don’t see how that explains it at all



Sekar says:

It doesn’t. I use tabs because I want to see the loading progress of the tabs. Can I do that with separate windows? Can I refresh all, if all tabs are separate windows?



Chani says:

I… don’t see how that *doesn’t* explain it. :)

I had been using tabs and windows to group web pages – if I had several pages in one topic, I tried to keep them in the same window, and when I started branching off to another topic I’d try and remember to detach the tab and start a new window (although I usually forgot).

Occasiionally I tried to group them with virtual desktops too, but since I often open links from mail and irc, which I keep on desktop 3, that didn’t work so well.

Now instead of using tabs and windows, I can use windows and activities. Each page gets its own window, and I only see the windows for that activity. I haven’t completely quit tabs (they’re great for search results) but I use them a lot less.

I just need to make it a bit more convenient to tell the computer “oops, those last two windows really ought to have been a new activity”… anyone got ideas for that? :)



Fri13 says:

“Occasiionally I tried to group them with virtual desktops too, but since I often open links from mail and irc, which I keep on desktop 3, that didn’t work so well.

Now instead of using tabs and windows, I can use windows and activities. Each page gets its own window, and I only see the windows for that activity. I haven’t completely quit tabs (they’re great for search results) but I use them a lot less.”

I see there the problem what activities will make for normal people.

As people like tabs (or they dont) they find it very easy to separate and organize their tasks (better name for activity) to virtual desktops. Then at one virtual desktop they have all the apps what should belong to that specific task. Like browser with a few window and multiple tabs open. Text editor and few konsole windows/tabs.
Then on other virtual desktop they have same thing, different apps with multiple window open.

If they have four task, they have four virtual desktop.

And now we should forget the virtual desktops and take activities.

What I see, is that activities tries to be a “virtual desktop 2.0” but fails on that making everything just more harder and difficult.

I believe everything could work better way if every virtual desktop could be a own activity or the virtual desktops could share the same activity.
And everything so easily that spawning a new activity for a task is like adding a new virtual desktop or changing a virtual desktop with KWin “Desktop Grid” effect and clicking the +/- signs bottom right corner or clicking empty virtual desktop, giving a name for the activity or linkin it to other activity and start using.

Like if the user has a 6 tasks, where every task has 3-6 window and different apps.

The user can easily just set up a 6 virtual desktops and he is totally find.
Now the activities demands that user set a 6 activities where every activity has a default amount of virtual desktops (what would be 6*4) so the user has 24(!!!) virtual desktops.

The GNOME idea to have one program (the binary what belongs to the application) running is as well very silly for me. As I really know that people wants to mix different apps and amount of those to same time.

And then what about the quick tasks by the multitasking person? Someone comes and ask quick question while reading a project documents from web, like when is the movie starting. The user definetely is not going to change to “random” activity for that. User simply start a new window or open a tab and types there the search.

Now that search is linked to that activity by Nepomuk and the whole beautiful idea for semantik desktop is ruined.

And most times there is need to have many same apps for many different tasks. Like you need to open a digiKam to get few photos for report what you are writing while the digiKam is open for the photo management activity as well.
How does Nepomuk manage to actually understand when digiKam and what belongs to what task (activity)?

I still believe the virtual desktops are the best way to actually organize the tasks and activities is just inventing the wheel again, while still being less silly than what the GNOME idea (overview) sounds at all.

The activity/overview sounds very nice and smart as long as the user does not do multitasking at all (switch between different tasks and applications) but focus just for one task at time.
So the work would be: create a new activity -> start a new report -> Write the report -> pause the report -> create new activity -> open a browser -> go to TV.com site and check out what is coming next from TV -> Close the browser and/or pause the activity and switch to report activity.

Why can not user just simply open a browser, check what is coming from TV and continue working with report?

As all tasks really are simple as that for the advanced users.

The basic users still feels that they need to close any window what they had to do the next step.
Like if they have browser open and they want to listen music, they close the browser window -> open the menu -> starts the musicplayer.

If they later want to browse web. They close the music player and open browser.

Those people does not do multitasking at all and the activities/overview seems to be designed only for such people.



Chani says:

mrr, I wonder if I can change wordpress’ comment threading…

anyways – sekar, those are valid points. I don’t use refresh-all myself, but I suppose the loading progress is useful… that and opening tabs in the background. maybe that’s why I find myself still using them for searches. When I’m just loading one page then I want it in the foreground and don’t care about loading progress, but with searches I tend to open several things one after the other, and then start reading once the first one’s loaded…



Vito De Tullio says:

“Why should they care that pdfs are opened in Okular, but jpegs are in Gwenview? (especially when some pdfs are just glorified images…)”

because it *matters* – and a lot –
It’s not only a simple “visual” point-of-view (gwenview interface is different from okular), but the application used specify also what the user can do to the data: if I want to retouch a photo (in .jpg) and my system launch okular to open them, I’m out of luck!
If I want to add annotations to a book saved as a collection of .jpgs, with gwenview can be a pain in the ass!

And here we’re comparing just two “readers”, two programs doing nearly the same thing: show the user a bunch of “finished” data, and let him just add some retouch.



Rasmus Steinke says:

To be honest, i cant see how having several open browser windows open makes things more organized. i simply install the tab tree extension for firefox and have all my tabs in a single browser window – seperated in groups.



Chani says:

ooh, that sounds like a nice plugin. :) I wish konq had something like that…

then again, I have more than just my web browser to organize. when I’m doing school stuff I often have a ridiculous number of pdfs open… and okular doesn’t do *any* tabbing.

anyone interested in making a tree taskbar? :D



I haven’t used Gnome in years, but I am forced to use a Mac every day at work and I hate it, in a large part because of Apple’s application-centric UI design. It sounds like the same problem.

My biggest peeve: I have a dual monitor setup at work, where I’m a web developer. Monitor 1 has my mail client, IDE, and web browser with “work” tabs: Time tracker, project tracking tools, etc. My second monitor has a web browser with various views of the app I’m working on. Sounds great, As I can then see what I’m coding and what its result is.

Except that as soon as I Cmd+Tab from the IDE to the web browser, it brings all web browser windows to the forefront. That means my code editor is covered up by the other browser window. And god forbid I try to open up a new mail window, as then I can’t tab between that (small) window and anything else without the entire Thunderbird window covering up everything on the page. It’s a truly horrible design.

After that nonsense, coming home to my KDE box with a working Alt-Tab is a breath of fresh air. And I still have no idea how Activities work so I don’t use ’em. :-)



Antti says:

Activities may be nice when people learn how to use them. However, I don’t think that many users will discover them by accident.

I had been using a KDE4 desktop for a year before I found out that the strange bean with text “unnamed” in the upper right corned meant something more than just a shortcut to add widgets. I had also thought “unnamed” was supposed to show my computer’s name but failed for some reason. Of course, it was an unnamed default activity.

Once I knew there were activities (after reading some KDE blogs) I tried to use them. I just couldn’t figure how — no kidding, I had to google for instructions and felt like a total newbie :)

I’m not sure how the discovery process could be made easier, but it really should.



Fri13 says:

Maybe the activities should work more or less like you could drop window or files to the activity tab on the screen edge (the cashew = unnamed) where the activities would be shown.

I think that way we could easily switch between activities when every activity is a tab in the side of the desktop. And as well there would be a [+] button at bottom of the tab list to create a new one.

Then when someone wants to tag/move window or file to specific activity, user simply drags it to that tab and it gets assigned to it or drags it over the [+] tab and new activity is created by asking its name.

The activity tabs should be possible configure being top of all window or being shown when moving mouse to that edge/corner.

Idea would be littlebit like my other idea for the notification system
http://forum.kde.org/brainstorm.php#idea91258_page1

Just swing the mouse to edge/corner and you could see the list of activity tabs and click them or move window/files to them create/move them there.

And there is a wish for getting the different panel setups tied for activities & virtual desktops http://forum.kde.org/brainstorm.php?mode=idea&i=91035#anchormain



wassi says:

Hey,
I’m not sure where I could post this so I’ll just try here. The following is my proposal for an intuitive activities UI:

It would work as follows: A1 and A2 stand for the activities I have configured, all of them are shown (except if I have lots of them they would be collapsed, similar to how running Programs are shown). I can simply drag programs onto an activity (dragging either by its window decoration or its representation in the “window bar”-plasmoid). The plus symbol obviously creates a new activity, either by clicking on it or by dragging a window onto it.

Once you start an actitvity, its windows collapse and get shown next to it:

Windows that are not attached to any activity get attached to the right of the plus sign.

I know I’m really bad at mockups, but this just came to my mind and I thought it might be worth sharing.



Chani, you might want to take a look at this related Gnome bug:
https://bugzilla.gnome.org/show_bug.cgi?id=632044



Chani, you might want to take a look at this related Gnome bug:
https://bugzilla.gnome.org/show_bug.cgi?id=632044



Thomas says:

Antti made a very good point.

The new features like Nepomuk, activities and so on aren’t explained or introduced on a place like the official KDE website.

So some screencast showing the most important things wouzld be fine for the “casual” user. I haven’t used activities so far because I donĂ„t know anything about them (currently using virtual desktops for different tasks).



yagami says:

its really amazing. and really sad.

reading about how activities are not needed and how virtual desktops are the best.

what tha f*** ???? virtual desktops are and always been about screen estate. they were never for activities separation. people use it that way because they create that mental separation, and of course have to do the “activity management” by themselves.

now people are trying to create desktops that are not about screen estate but about the content and context in which people use their computers.

and people come here and say that its not needed ? that some unix/xerox concept that is older than me is better than the proper solution ???

damn…

tell you what … why dont you guys just use a pen and paper … you dont even have to use a computer



chromatic says:

I find very interesting that some users don’t know how to use activities or in which situation to use them and that others want to make them act as something similar to virtual desktops. It’s good hint to push developers to brainstorm about how activities goal should be clearly exposed to the users and how they should evolve.

In my particular case activities are very usefull, maybe because I spend too much time in front of my computer and I use it for doing many things.
My own personal view and use of activities is to group a set of tasks or windows that are related to one activity, I use them like that actually :
– I have a default one for everyday use, browsing the web, reading mail, instant messaging, listening music in background I can still choose to use virtual desktop and put each one of this app on a separate VD for example.
– I have an activity for work, with plasmoids to quickly access apps, folders and documents that I need. Again, I still use VDs for organizing stuffs, for example, when there’s a lot of documents open. Here there’s the possibility to make all works related stuff in one activity or to create different activities for each projects I work on if they are big or time consuming for example.
– I have an activity for recording music with again, easy access to program/projects related to this activity.
– I have an activity for photo retouching/tablet drawing.

So I’m a “multitask person” but multitasking as it’s limit and I use activities to clearly separate “topics” (my limited english prevent me to find a good synonym of activity).
To use a bad example, I can play tennis while listening to music in background, talking to the person I play with and quickly looking at a girl walking in the street, it’s multitask but it’s one activity; but I can’t hardly play tennis while cooking food, it’s 2 separate activities :o)

But for me activities are not a replacement for tabs or VDs, each one is a tool that I use to be more productive and quickly do tasks in an effecient way. And I could probably only be frustrated with gnome-shell because it take out all the power and even the choices from users.
OK, activities are probably useless for people using computer 2 hours per day, and that are just spending time on facebook, youtube and messenger. But the same could be said about virtual desktops or even tabs…



Bernd Nachtigall says:

For a long time i have search for a describtion how to use Plasma Activitis as a KDE user (not a Developer). Now maybe i unterstand the idea behind them. But i need a switcher to change my activities. What is the right way to switch quickly between activities?



Chani says:

well, that’s a bit like asking what the right way to travel to work is ;) but I find that the Activity Bar plasmoid, on a windows-can-cover panel, is the most convenient way for me. I can just shove my mouse to the top of my screen and click the activity I want, and it only lists the ones I have open (which is important, I’m up to 12 activities now!)



chromatic says:

12 activities ! hehe ^^
About the activity bar plasmoid, any plan to make it more beautiful, like showing activities icons in front of the text ? or an option to only show icons and not the text ?

And if some users want alternative ways to manage activities, there’s shorcuts in KDE 4.6:
– Meta + TAB to switch between activities
– Meta + Q to show activity bar
And there’s also an alternative activity manager plasmoid that can sit in the tray here:
http://kde-look.org/content/show.php/Activity+Manager+Plasmoid?content=136278



Bernd Nachtigall says:

Thx for the hints. maybe i use the wrong describtion. I search the ‘standard’ way to switch activities. But now i have found that the Button ‘Activities’ is missing in KDE 4.4.4 (version3) on openSUSE11.3.

I think i should update my KDE Version



Comments are closed.

et cetera