{November 28, 2009}   The Future of Activities

Since last Akademy, several plasma people have been thinking about activities, and virtual desktops, and What It All Really Means. We had some good discussions at akademy, and at tokamak, and online too. KWin and Nepomuk people were involved as well, although I wish that KWin guy (..mgraesslin? sorry, I suck at names) had been able to stay at tokamak longer. :)

We’ve emerged with a new vision of what activities are all about, and I’d like to share that vision so that I don’t get blank stares when I mention how much I wish I had activities already. ;)

Where We’re Going

See, what we have right now, that we call activities… they’re not what I think of as activities any more. They’re just desktop containments, groups of plasmoids. They can have a name, but nothing makes use of that yet. What I think of as an “activity” is the entirety of what I’m working on at the moment – be it a kde-related project or a university course or just reading lots of comics. :) This activity includes several windows from several applications. It includes files needed for the project. It includes a set of plasmoids, like the one I put my list of math questions on and the calculator plasmoid to go with it. At times it includes only *part* of an application: show me school email folders when I’m doing schoolwork, hide the KDE lists so that I’m less tempted to procrastinate. ;) Some activities have lots of associated windows, and since I can’t carry around a spare monitor with my laptop, I’ll use virtual desktops to have more “space” to lay out my windows for that activity.

When I’m working on one activity, I don’t want to be distracted by other activites. Everything related to the other activities is out of my way, sitting on *those* activities only. If my hardware isn’t up to leaving all my activities running at the same time, or if I just want to pack one away because I won’t be needing it for a while, I can do so, and everything that’s no longer needed will be closed. When I want that activity again I can load it up and return right where I left off.

If I open a document tagged for a certain activity, it’ll be associated with that activity by default; if there’s no obvious association then the new window will be available on all activities until I choose to associate it. Windows can be associated with any number of activities, so I can have anki associated with both of the courses I use it for and still not be bothered by it when I’m hacking on plasma.

Now, that vision is fairly bold. It includes a lot of features that don’t exist at the moment. You will *not* see all these features in KDE 4.4, not by a long shot. However, a lot of the framework already exists. Code was recently committed to Nepomuk to represent activites there; and from there, any program can ask what activity we’re on and update itself to fit. KWin code can be written to hide windows that don’t belong. Plasma will have a new bar (a bit like the new add-widgets bar probably) for managing actvities (not until 4.5 now, I’m afraid). Saving little mini-sessions of windows along with the activity is something I’m going to investigate over christmas (hoping it won’t be too painful :).

There are still details that haven’t been filled in (like, what happens to the activity-per-desktop setting? is it possible to have a mode where activities and virtual desktops act as one?), but we have another tokamak in february, and I’m sure more good ideas will come from that. Once things actually begin to take shape, more of the pieces should fall into place, and in the end we’ll be another step closer to a workspace that enables you to get work done instead of having to be worked around. :)

How We Get There

Here’s a rough roadmap for when I expect these features to show up. It’s not set in stone, of course; we could get an awesome volunteer who goes and does half the work in a few weeks, or we could lose a key person to other commitments and not be able to get it done as fast… but I’m hoping it’ll go somewhat vaguely like this:

Plasma still has a ZUI, although the only feature not reachable from elsewhere is dragging a widget between activities. Nepomuk advertises which activity the user is on, but no applications are listening yet.

Windows can be associated with activities; those windows will only show on the activities they’re associated with. Plasma will have an activity manager instead of a ZUI. Saving and loading the plasma side of activities will work, but windows won’t go with them.

Windows will be saved and restored with the activity. Applications will start offering the ability to show data specific to the current activity. Experiments with automatically associating new windows to the right activity begin.


Profit! ;)

So, it’s probably going to take a while – but I think it’ll be really cool, and really useful… almost every day now I’m wishing I could organize my stuff by activity instead of having lots of windows all mixed together… even with 6 virtual desktops :P there’s just not enough flexibility in what we have now.

{November 20, 2009}   me too me too

Yep, I’m a Nokia Certified Qt Developer too.

Also, I'm going to CampKDE :)

Life’s been crazy busy for me as well these days. last time I blogged was the end of devdays, right? well, the day after I got home I had a midterm. still managed to get an above average mark despite having ignored half the material. ;) then there were assignments, and projects, and all sorts of meetings… I also seem to have got myself volunteered for my friend’s school project. they let me borrow an n900 to help out; how could I resist? ;) Then there were the people from devdays aaron mentioned, and I’m trying to do one more redesign of my mouse plugin UI before feature freeze, and there are other plasma things I’m praying I can sneak in under that deadline (let’s not jinx it by saying what they are ;) – and on top of all *that*, I’m starting something at school as well… oh yeah, and my social life finally seems to have returned to the level it was at before I went off to china. :)

Still, there are only two weeks of classes left. soon, soon I will have a break. :) a few weeks of relaxing and bugfixing (I need my plasma fix!), then back to school for what will likely be an even crazier semester. I’ll be taking four courses instead of three, one will be a Writing course (with a capital W!), there’s campkde and tokamak (assuming no conflicts with midterms), and several other things to keep me busy. I need to get back to my german practice, too; I’ve been letting that slide for most of this semester.

I think I’m pushing the limits of how much I can do without burning out. It’s fun. :)

{November 4, 2009}   Qt DevDays SF

wow. it’s been a long few days. and suddenly they’re over.

devdays was great. :) I arrived on monday for the education track – nokia needs more qt developers, so it wants schools to use qt more. :) there were several discussions about available resources, upcoming resources and how people have been using qt in schools so far. I was surprised to find one of my former teachers here from BCIT – plus jeff’s teacher from SFU, and someone from UBC too. :)

We weren’t even the only Vancouverites here – later on I was introduced to some others, plus someone from Victoria. :) it’s a small world indeed. and of course there were friendly trolls here. :) it’s always nice to see familiar faces and make new friends.

tuesday and wednesday went by in a bit of a blur. the network wasn’t giving out IPs most of the time, so we weren’t online much. There were presentations, there was yummy food, a quiz thing during tuesday’s dinner where gary and alex both won n900’s… wednesday there were more prizes, and alex won *another* one. :)

In one of the presentations today, the Qt4 Dance song was played… I tried to get people singing (*cough*alexis*cough*), but they’re no fun ;P

I met lots of people here; some are interested in using kde stuff on devices, some are *already* using kde stuff, some are looking for interns and/or hiring… some are just generally cool ;)

oh, and Froglogic and ICS are especially cool; thanks to them (and alex) I’m sleeping in a hotel and not on the street. ;)

Tomorrow morning I head back to the airport; back home I have homework and a midterm and people’s birthdays. seems like another world sometimes… a world where I get a lot more sleep ;)

I’m down in San Francisco this week for Qt Developer Days. It actually hasn’t started yet, though; this weekend blauzahl and des organized an informal kde sprint. Gary joined us too, and Knut was kind enough to let us use the Nokia offices. :)

I arrived saturday… afternoon. eventually. :) the flight was delayed due to fog, and delayed again; I’m lucky I didn’t have a connecting flight. There was one bonus; the flight was circling over the fog just long enough for my movie to finish. ;)

Despite the fog trouble at the airport, SF is quite warm and sunny. :) It’s weird, but nice; Vancouver’s been having normal autumn rain so I haven’t seen much sun for a while.

At the nokia offices, Knut gave us a bit of a lecture on how to organize a sprint, and greeneg talked about where KDE needs to improve for enterprise users. Then we had lunch at 4pm (yes. lunch.) and chatted. We came up with a bit of an agenda for sunday. I don’t remember much after that, just that I was on my computer and very *very* tired. :) I do remember that knut’s n900 is very very shiny.

Eventually, rather late, we pulled ourselves away from the laptops and went out for dinner. Me, blauzahl and des wanted to go out for halloween next… but we hadn’t had much luck finding somewhere to *go*… I got dressed up in my costume (but I’d left my homemade mask at home! waah :( I ended up using a cheap dollar-store mask instead) and we drove around looking for a bar… well, we did find one, but by the time that happened it was so late (probably 1am) and we were so very tired… so we changed our minds and headed home. We took the scenic route back, though, and saw plenty of fun costumes. :)

Sunday we went out to the day of the dead festival (sorry, forgot my camera *again*). After lunch we headed to the nokia office. Me and greeneg worked on techbase’s git documentation. There’s only a little new material so far, but there’s a framework sketched out. Feel free to help us fill it in. :)
After that, blauzahl went through some questions about the new activity stuff (I understand what I mean a lot better after trying to explain it to her) and asked us questions about konqueror use.

Now it’s dinnertime again. We don’t get to use the office on monday, so we’ll probably hang out at the hotel then. :)

et cetera