[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
|
|
Subscribe / Log in / New account

Activities and the move to context-oriented desktops

May 27, 2009

This article was contributed by Bruce Byfield

The next buzzword on the desktop is likely to be "Activities." Today, the chances are high that you have never heard of them, or, if you have, that you have not identified the different uses of the term as having anything in common. However, what all the usages do have in common is that they signal a move away from a static desktop towards one that changes with the tasks being performed.

Any more exact definition is elusive. All the same, Activities are already part of the KDE 4 series, and scheduled to become more prominent in the upcoming 4.3 release. Similarly, GNOME 3.0, which is due out next year, will include its own, more limited concept of the term. But, under any implementation, the term signals a shift in the desktop, with free software developers leading the way.

The concept of Activities originates in Sugar, the desktop designed for the One Laptop Per Child (OLPC) project. In Sugar, "Activities" is used as a synonym for "application." However, Gary C. Martin, one of the coordinators for Sugar's Activity Team, explains that the change is more than semantics or marketing. Because Activities run within the general collaborative frame of Sugar, using them is intended as a very different experience than running a standalone application on a traditional desktop.

For me, the key parts of Activities are that they combine concepts of document, executable, and collaboration state into a single, simple to use user interface. With the Activity state automatically kept in the Journal, it's easy to resume or reflect on past work, and, with realtime collaboration as a first class feature, peer sharing and group work is strongly encouraged.

In other words, Sugar's Activities are not just about running an application, or learning how to produce a spreadsheet or a presentation. Instead, they are conceived as part of the total learning experience that Sugar is designed to provide.

"It's not about producing documents in applications", Martin explained. "It's the learning that happens while doing Activities. Activities are at the heart of learning in Sugar. They support a class working together, seeing what others are doing, sharing, learning, never losing their work, and [being] able to reflect on that work with their parents and teachers." Although the mechanics of running an Activity may not be all that different from running an application in GNOME or KDE, what matters is the context in which it is used.

The KDE implementation

Part of the design philosophy of KDE 4 is to accommodate the growing sophistication of users, according to long-time KDE developer Aaron Seigo. Thanks to mobile devices and gaming consoles, many users — particularly younger ones — find a static desktop confining. Nor is a traditional desktop especially suited for multiple, specialized uses that range from office productivity to social networking. Depending on whether people are working, attending classes, or socializing, their ideal desktop could vary considerably.

Even within a single activity, desktop needs can change, Seigo said:

Watching people use their computers, we noticed that a lot of people who work on more than one project at a time were manually arranging their icons between projects, Graphic designers, for instance, would have two or three projects they're working on. When they worked on one project, they would take all the icons and files they're working on, and they'd put those icons on the desktop. Then, when they were done with that project, they'd put those icons back in a folder that wasn't showing on the desktop, and move all the icons for a second project out on to the desktop.

To simplify computing for these more sophisticated users, the KDE concept of Activities was born: desktops with their own custom sets of widgets, icons, and applications, that could be switched by keyboard shortcuts or by zooming out via the Desktop Toolkit, the cashew-shaped icon on the upper right of the desktop.

Originally, these desktops were called "containments" by Chani Armitage, the developer who first implemented them:

But I didn't really like the word 'containment' because it was pretty technical. I'd been using an OLPC for a while at the time, so I actually got the inspiration from there. We've kind of co-opted the term and put it to a slightly different meaning than what they've been using.

In some senses, Activities resemble virtual desktops, which KDE and other desktops have had for years. And Seigo acknowledged that "they're complementary ideas." However, he suggested that the resemblance depends on how you use virtual desktops. If you use virtual desktops mainly to separate out windows — for example, to keep a virtual terminal always ready, or to run a full-screen browser — then there is little to choose between virtual desktops and Activities.

By contrast, if you use separate virtual desktops for different tasks, then Seigo suggested that Activities provide a superior experience, one closer to that of mobile devices and more suited to some of the functionality planned for the KDE 4.4 release (see below). Still, because of user demand, KDE 4.2 allows an Activity to be tied to a particular virtual desktop by changing a configuration setting, and the final version of KDE 4.3 will include a setting for the same task.

Seigo emphasized that the increased visibility of Activities in the 4.3 release is not intended to pressure people to use them. "What's really nice about this concept is that you can completely ignore it," he said. "It's completely unobtrusive." After all, he added, "for certain people, the current metaphors work well," especially those who do not carry their computers about or those who use them for basic productivity.

The main change heralded by Activities, according to Seigo is that, unlike on the traditional desktop, they do not enforce one particular way of working for every task:

This is no longer about forcing people into a mode of work or behavior. Rather, we're trying to build interfaces that are relevant to the device you're using them on, and also relevant to the user — which means where are you and who are you? That's something that hasn't started to sink in with a lot of people.

People are demanding more flexibility, and, with the current state of hardware, it can be provided today without any undue strain on system resources.

GNOME 3.0's workspaces

Possibly because of KDE's use of the term, the implementation of multiple workspaces (aka virtual desktops) is causing some confusion about GNOME-Shell, which is scheduled to become the basis for GNOME 3.0.

As implemented so far, GNOME-Shell's Activities is an overlay mode for organizing workspaces and arranging groups of windows on them. To a large extent, it resembles the Zoom view in KDE. However, some people are incorrectly referring to the workspaces themselves as Activities, a change in reference that might just stick, and make GNOME 3 more closely resemble KDE 4.

So far, these workspaces seem to function the same as those in recent versions of GNOME and KDE, with no capacity for separate customization. Nor have any plans to extend their functionality been announced. But, with ten months before GNOME 3.0's estimated release, that could change, especially if KDE's Activities become widely-used. At this point, though, even if the reference is different, the use of the term does suggest that GNOME developers are also thinking about contextualized computing. And even if the implementation remains what it is today, the overlay mode remains a de-emphasis of the single, static desktop.

Coming attractions

Exactly how GNOME 3.0 will implement Activities remains uncertain. Meanwhile, KDE developers are already contemplating future developments for contextualized computing. Armitage talked about allowing Activities to be de-activated and stored. Perhaps, too, she mused, applications could become more contextualized; for example, KMail might be set so that it used a particular address book when opened on a certain Activity.

A change already planned for KDE 4.4 is to associate an Activity with a certain location via the new geo-location layer in KDE. University instructors, for example, could have one Activity with their notes and slides that would automatically open when they started KDE in the class room for a particular class, and another Activity with their research that started in their offices. "You would basically train the computer," Seigo said. "As you move around, the interface comes to you."

Meanwhile, the different uses of the same term can obscure exactly what each project means by it. But, as Seigo said:

The idea that binds them all is a movement towards task-oriented computing. Our viewpoint is that tasks are highly-contextual: What are you doing? Where are you doing it? And who are you?

Whether Activities in any form will come to dominate the desktop is still uncertain. Possibly, they will remain the interest of a relatively small set of users. However, regardless of their ultimate success, the fact that the context-based computing is being emphasized more strongly is a shift in thinking about the desktop, and one that free software is leading. Virtual workspaces -- let alone KDE's Activities -- remain non-standard on Windows, while OS X's Spaces are turned off by default. On both, the static desktop remains the norm.

"Nobody else is looking at these things," Seigo said. "You don't see it on Windows and you don't see it on Mac. This is very much an innovation that free software pretty much owns. And I'm really happy to see that in GNOME and KDE we're right at the front of this development."


Index entries for this article
GuestArticlesByfield, Bruce


to post comments

Activities and the move to context-oriented desktops

Posted May 28, 2009 3:07 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

Sounds like software componentry applied to the user interface.

Not necessarily a bad idea.

Activities and the move to context-oriented desktops

Posted May 28, 2009 3:50 UTC (Thu) by lothar (guest, #14052) [Link] (1 responses)

I love the context oriented work that one get with Mylyn in Eclipse. It's great if one
switches between programming tasks. I can envision a similar powerful use for the
Desktop. Tasktop (the commercial part of Mylyn) already shows what's possible by
integrating email and web browsing into a task focused environment.
But in order to do the focus/filtering that Mylyn provides and that makes it so powerful, the
desktop environments need to define APIs, so that they are interoperable.

Activities and the move to context-oriented desktops

Posted May 28, 2009 5:25 UTC (Thu) by pkt (guest, #53879) [Link]

Indeed, I think something mylyn-like could be very beneficial to KDE (I don't know about GNOME since I don't use it). KDE already has the mentioned "Activities" concept, Nepomuk, geo-location etc and most importantly it has KDE-style APIs for a great variety of things, like hardware (solid).

On the other hand, a way to automatically and dynamically build a "context" by just looking at what the user is doing right now is currently missing and mylyn (to the extent that I understand it) is mainly about that.

E.g., imagine the system "remembering" that when you are in your "graphics design" activity, you are very likely to be using gimp, inkscape etc, so it preloads parts of them in RAM to make them really fast to start.


Activities and the move to context-oriented desktops

Posted May 28, 2009 5:12 UTC (Thu) by mjthayer (guest, #39183) [Link]

This sounds to me like an evolution of session management (which X11 has had in theory and KDE in practice for a long time). Now all that is needed is to rewrite applications to work better with session management, and in particular to start up faster. We currently have a situation in which you can boot to an empty desktop in less than thirty seconds and your applications take several minutes to start. Perhaps the application maintainers can learn something from the efforts of Arjan van de Ven and the kernel people?

moblin2 WM

Posted May 28, 2009 7:45 UTC (Thu) by zdzichu (subscriber, #17118) [Link] (1 responses)

Recently released Moblin2 beta has WM which emphasise concept of desktop/activities. How "zones" compare to GNOME & KDE approaches?

moblin2 WM

Posted May 28, 2009 11:14 UTC (Thu) by nedrichards (subscriber, #23295) [Link]

Zones are not places that you go to. They do not persist. They are created and destroyed on demand as you open and close applications or drag and drop them between zones. Zones are to allow you to fully focus on what you're doing right now and then really quickly switch to doing something else.

It's a concept designed specifically for the constraints of netbooks, particularly resolution and screen size and as such it may not work as well on much larger desktop or laptop screens.

Disclosure: I work on Moblin at Intel.

Activities and the move to context-oriented desktops

Posted May 28, 2009 12:12 UTC (Thu) by nix (subscriber, #2304) [Link] (2 responses)

Well, this was as clear as mud:
After all, he added, "for certain people, the current metaphors work well," especially those who do not carry their computers about or those who use them for basic productivity.
How does carrying your computer about relate to a desktop (background/ widgets/visible apps) that changes between configurable sets on demand? And what on earth is 'basic productivity'?

I'd say a better way of putting it is that activities are useful if you switch tasks a lot: they mean you can put Plasma widgets in appropriate configurations for each task and have them follow the tasks around, while if you only used non-linked virtual desktops you'd find the widgets static and thus much less useful.

The advantage of not linking virtual desktops and activities is, to me, simply that you can have multiple desktops associated with the same activity, and changes to the widgets in one desktop propagate instantly to the others. If you linked the activities to the desktops, and you used several desktops for one activity, you'd need to make any changes three times.

Activities are a very nice concept, but, er, they're not revolutionary, sorry, although maybe they have revolutionary consequences. If anything was revolutionary it was the plasmoid idea --- somewhat pedestrian itself in hindsight --- that your desktop background could be more than just a file folder. Once it was dynamic at all, allowing saved, interchangeable states (which is basically what activities are, counting window presence as part of the state) seems a straightforward generalization. (I was actually surprised find that KDE4.0 hadn't done it already, and chalked it up to Plasma's unfinished state in that release.)

Activities and the move to context-oriented desktops

Posted May 28, 2009 12:59 UTC (Thu) by nye (subscriber, #51576) [Link] (1 responses)

The thing is that activities, at least to the extent to which I've been able to figure them out, just seem to be a way of changing the content of the Plasma desktop.

I never interact with my desktop - it's just a backdrop for whatever I'm doing if that happens not to cover the screen, which is uncommon. If I wanted an interactive window, I'd use an interactive window and get the benefit of the usual alt-tab behaviour, and other window management features. Hence I personally find the Plasma desktop to be a flashy gimmick of no real value or interest - so far no real examples seem to have been given of how it's used for anything but bling - so activities seem rather useless.

Activities and the move to context-oriented desktops

Posted May 28, 2009 20:39 UTC (Thu) by nix (subscriber, #2304) [Link]

It *is* useful if you have a big screen so can avoid maximising your app
all the time, or if you bind a key to windowshade your app (trivial with
any decent wm). Then you can have a bunch of per-app widgets (generally
folder widgets) giving things like graphical file management (useful? yes,
if, say, you're working on something with images in it: instnt
thumbnailer!) on a per-project basis.

One thing I'm not clear on (because I haven't looked) is how much of
plasmoid functionality you can bind to keys. (Next time I'm near a system
running X I'll have to check, but I'm on the wrong end of a modem right
now.)

Hey you kids! Get off my lawn!!!!

Posted May 28, 2009 13:36 UTC (Thu) by dskoll (subscriber, #1630) [Link] (2 responses)

Activities, shmactivities. Metaphors, shmetafors. As long as the NewFangledDesktop doesn't get in the way of my wall of xterms, I don't care....

Hey you kids! Get off my lawn!!!!

Posted May 28, 2009 19:13 UTC (Thu) by joey (guest, #328) [Link]

Well, some of the tiling window managers that were designed for your wall of xterms have some similar ideas about workspaces that are customised to a task.

For example in Xmonad I have workspaces with different layout rules, which are tuned for different activities like coding, chatting, web browsing, reading ebooks, etc.

Hey you kids! Get off my lawn!!!!

Posted Jun 3, 2009 3:11 UTC (Wed) by GreyWizard (guest, #1026) [Link]

The LWN comment system needs a Facebook-style "like" button whereby you can indicate that a comment was particularly insightful (or in this case entertaining) without polluting the system with comments that... er, resemble this one.

Activities and the move to context-oriented desktops

Posted May 28, 2009 19:13 UTC (Thu) by dlang (guest, #313) [Link]

other than using the same name, there really isn't any connection between the OLPC activities (which really are applications and their state) and what KDE and GNOME are calling activities (which are workspaces with custom configurations but containing multiple applications)

Multiple computers...

Posted Jun 4, 2009 9:12 UTC (Thu) by forthy (guest, #1525) [Link] (1 responses)

What I miss is a way to get a conclusive environment on multiple computers. I've a laptop, a desktop at home, and workstations at work. For the workstations at work, NFS provides a solution - log in on any of the computers, and your mail, newsgroups, calendars, address books, desktop settings, etc. are all synchronized and up to date (actually, they aren't synchronized, they are just stored at one central place). For the other two computers, IMAP-based e-mail is synchronized, but the rest more or less falls apart.

So what is also necessary is a facility to synchronize all those settings across computers, especially mobile ones where NFS is no solution. Putting .kde4 into a git/hg/bzr repository might give some improvements, but for news, the next difficulty is that I'm using different news servers depending on where I am - simple article numbers for which articles I've read aren't sufficient.

So while I like the idea of a context-oriented desktop, the next step is to make sure that a context is something you can transfer and synchronize between computers. And with all the fuzz about "ext4 ate my files", please simply use a DVCS for storing and synchronizing contexts.

Multiple computers...

Posted Jun 4, 2009 14:14 UTC (Thu) by Duncan (guest, #6647) [Link]

One solution that's actually practical now, and used by many, is the USB
thumb drive. It gets difficult when it's different OSs at each place (tho
individual x-platform apps may still be synced), but when it's the same
general OS or at least the same UI (say KDE on Windows as well as X on
various Linux distributions and BSDs), one's home dir, with all the usual
KDE and etc config, can often be mounted from the thumb drive no matter
what it's plugged into.

Attach that thumb-drive to your keys or ID card and it becomes
your "computer pass key" that brings your preferred working environment,
possibly including open applications and etc, to whatever you plug it
into.

Of course that doesn't directly deal with challenges like the different
news servers you mentioned, but to some extent that can be dealt with
using scripts triggering on that geo-location data, or sensed hardware IDs
or the like if it's only a few machines one switches between regularly.

(FWIW, I'm a heavy news user myself, but while I use KDE (still 3.5
mostly, as my aging Radeon 9200 doesn't cope so well with KDE4's effects
at the 1920x2400 screen size I run) as my desktop of choice, I use the GTK
based pan news client. It does some of what you want with its multiple
server setup, but would still need some tweaking and workarounds as it
doesn't cope well if it can't access a configured server, so some scripts
to change out server config and a but of working around its limitations
would still be needed. You're welcome to drop by the pan user list if you
like, available on gmane.org's list2news for news clients, as I
participate, or with subscription info available from the
pan.rebelbase.com homepage.)

Duncan

Activities and the move to context-oriented desktops

Posted Jun 5, 2009 15:21 UTC (Fri) by Penn (guest, #1890) [Link]

I have organized my desktop to have multiple desktops (actually 45), that I can easy switch to by single keypress. It is not the ideal context-oriented desktop, but as close as one can using fvwm window manager:

http://skliarie.blogspot.com/2008/11/my-45-workplaces.html

I think fvwm would allow do further customization to change the FvwmButtons menu in the corner to be activity-specific (for the particular workplace to include the most used buttons and automatically open most frequently used windows for the activity), but for fvwm it would be is manual process which I would like to avoid.

What a pity gnome is not as customizable as fvwm and the technology of'95th is better than 2009th for me...


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds