{February 28, 2010}   post-tokamak

it’s over? already?
damn, time flies when you’re having fun…

I spent the last days of tokamak working on the activity UI and homework (ok, so it wasn’t all fun – I’m not sure I really care whether I finish that homework now :P). I also ended up being a human tripod for a while. :) and had a short interview with HR – I’m considering doing an internship over there (unless I get a better offer… *cough*).

The last night, we went out to celebrate – and ohh, what a night. Karaoke and drinking and dancing and drinking… Tip: don’t make towers of shotglasses. they chip easily. >.<

…and oh god, what a hangover the next morning. Trust me, you don’t want to fly with a hangover. >.< I still felt hung over when I finally got home.

Oh, and think I might, maaaybe have figured out a way to do the activity-session stuff I want with the existing XSMP protocol. maaaybe. I need to look into it some more. :)

So all in all, a great week: lots of planning, a bit of hacking (damn you homework!) and a fun party at the end. I wish I could’ve cloned myself and joined in the mobile track too.

{February 24, 2010}   more on tokamak

the days are all blurring together… where did I leave off? monday lunchtime? I’m not sure what I was working on that afteroon – I just remember talking with lubos about sessions, but I know there was hours of other stuff. in the evening we had the open day (users! eek!) and got to show off plasma running on a whole spectrum of devices. :)

on tuesday morning, I spent some time untangling all the stuff that had been said about sessions, then spent the rest of the morning working on homework (ick). not much fun, but it has to be done sometimes. in the afternoon I switched to the fun stuff: actual code! the very beginnings of an activity management UI. it’ll be a while before there are screenshots, though, because I have to factor out some other code instead of writing it from scratch, and so I have to actually think about how to do things properly… ;)

I’ll probably keep working on that today, too. and then… tomorrow is our last day! waaah :( I don’t want it to be over…

{February 22, 2010}   tokamak continues

it’s monday morning already? wow. and it was saturday lunchtime last time I blogged…
already I can’t remember what I did on saturday, just that I felt quite productive in spite of the jetlag. sunday I was more of a zombie – but still, much was accomplished. :) There was an activity/context meeting with the nepomuk and kwin people in the morning, and we got a first draft of an API for accessing the simple stuff like “what activity am I on?”. I talked to kwin people about the hiding-unrelated windows bit too, and me and lubos went over the existing session spec (the one that lets you log out and back in and have your stuff reopen) and talked about which parts of it were useful and what other stuff we need to be able to do that for activities. :) Other stuff happened that day, but I was verrry verrry tired… I tried to take a nap twice, andthe second time I think I actually got a few minutes of sleep. :/

Oh, and sunday we checked in at the hostel, where we’ll be staying for the rest of tokamak. The building used to be the castle stables, apparently. It’s quite a nice place, apart from the floodlights lighting up the tower – and also our rooms. :P Still, I slept better last night, so I’m feeling a bit less zombified today. ;)

This morning we presented our activity/context API to the rest of tokamak, and had lot more good discussion, and then moved onto the UI stuff and figured out what that’s going to look like. :) We’ve got most of the tasks assigned to people, so I guess the next step is to get hacking. :) There’ll be more to discuss when we’ve got the basics functioning.

Time flew by, and then it was lunchtime, and there is a wonderful indian place down the street. :) I think I’m going to attempt a nap again before I figure out what I’m working on this afternoon.

{February 20, 2010}   the limits of virtual desktops

so… we’re going to be talking about activity stuff at tokamak this week. there’s a lot of things that aren’t final yet… but… one thing that’s pretty much settled is that the activity/context stuff is going to be separate from virtual desktops. regardless of whether we *should* do such a thing, it’s not possible to do it properly anyways. I’ve been asked about this a few times so I’m going to explain the whole thing in excruciating detail so that I never have to explain it again. :)

virtual desktops are a useful feature. they’re nice. I use them lots. however, they have their limitations. some of these could *maybe* be overcome; some not.

1) you can only remove the *last* desktop.
the way the spec works, you aren’t really removing a desktop, you’re reducing the number of desktops. perhaps you could hack around this by shuffling all windows from higher desktops over one and renaming all those desktops and then removing the last one. it’d be icky, though, maybe slow, and probably prone to glitches.

2) adding a desktop messes up their spatial layout.
if I have six virtual desktops in two rows, then desktops 3 and 6 are adjacent. so are 4 and 5. but when I add a seventh desktop, suddenly 3 and 4 are adjacent, but 3 and 6 are further apart, and so are 4 and 5. this is really annoying if you like to organize pairs of desktops (one for code, one for documentation). I’m not sure what could be done about that; you can’t just swap two desktops around (although perhaps you could implement a hack like in (1))

3) a window is either on one desktop, or all of them.
you can’t have a window on *two* virtual desktops. maybe you could lie to the window, tell it it’s on all desktops then just not show it on the desktops it’s not really on? but lying to the windows doesn’t feel like a great idea, and I don’t know what sorts of strange assumptions applications might make…

4) compositing exposes lies.
imagine that kmail has the ability to only show mail folders related to your current activity. now imagine the desktop cube showing kmail on two desktops at once. kmail doesn’t know you’re using a compositing effect; it’ll display as if it were in the current activity, both times.
we had this problem with the taskbar, and got a bazillion complaints. we ended up removing panels from such effects to hide the issue. but we can’t do that with apps.

So, there are four main problems; three could perhaps be hacked around, but the fouth isn’t really solvable. and I don’t know what other strange assumptions apps may make about virtual desktops.

There’s also the fact that the spatial organization of the desktops often clashes with contextual stuff. I use kmail for pretty much every sort of activity, but I don’t want it on all desktops; I have it on a separate desktop I set aside for that sort of global stuff. Forcing those together would suck. and there’s lots of people who do stuff like putting documentation on one desktop and code on another – those are part of the same activity, just spread over more space.

We’re most likely going to continue offering the PVDA option, so I guess you’d be able to continue making it look like your activities and virtual desktops are one… but the more contextual features are implemented, the more awkward that’s going to get.

{February 20, 2010}   karlsruhe

so yesterday I was actually in germany already – but not in nuremberg. I was in karlsruhe, visiting sput and nightrose. :)

Sput met me at the airport in frankfurt – conveniently both his train and my plane were delayed equally, but inconveniently we just missed the train we wanted.. oh well, we just arrived a little later, and went directly to the pub to meet nightrose and.. someone whose name eludes me. We had a good time there – they closed at 11, but I was quite happy to go to bed because my body thought it was 2pm the next day. :P

On friday me, sput and nightrose ended up seeing an interesting exhibit full of weird interactive media/art exhibits. There were rooms with 3D glasses and flying blobs and matrix-like stuff, a green-screen area that showed bits of the past mixed with the present, a weird game where you had to keep walking in circles to follow your character… lots of cool stuff. :) and of course a collection of old computers and game systems. :)

I was only there for the one day, so I had to get on the train after that (and promptly fell asleep – whoops). it was fun, though. :)

{February 20, 2010}   tokamak 4 begins

I’m sitting in the suse office in nuremberg right now. It’s the first day of tokamak 4, we’ve done introductions, and now we’re in the middle of presentations. jetlag won last night, so I’m not really all here… but still, it’s great to be at tokamak again. :)

We’ve got 26 people in the room right now, which is a hell of a lot for a developer sprint (although lexically, it’s three sprints ;). I’m pretty sure some people still haven’t arrived, too! I made some cute little plasma buttons to give to people, and I’ve already given out every one. :/

Anyways, we have a nice hack space, lots of little devices to play with, and a large supply of t-shirts. :) Theoretically we’re going for lunch soon… ah! now, actually. :) yay! … aaany minute now, yes. really. :)

{February 11, 2010}   screencast!

So 4.4 is out, and I’ve done my first plasma screencast! :)
It’s just a little guide to the ways you can navigate activities in 4.4 without using the ZUI.

hrm. apparently embedded (non-youtube) video is a paid feature on wordpress…
but notmart has kindly uploaded it here.
there’s a link to the original ogg there, too. :)

{February 6, 2010}   s/Activity/Context/

So… I brought up activities on plasma-devel again the other day. One of the reasons for this was that I noticed the word being used in a few different ways – mainly by me – and wanted to clear up confusion.

Well, it turns out I was the source of that confusion. :) What I’ve been referring to as “Activities” should actually be called “Context”. That’s what aaron was calling it, months and months ago, and somehow I remembered the word as something completely different and was avoiding it. Oops. So, when you read my old blog post or see my presentation from campkde, just replace 99% of the times I say “activity” with “context”.

Some other good things came of that discussion, but I have several essays to write so I don’t feel up to doing a long blog post on top of it all; either I’ll blog next week, or after we’ve discussed it at tokamak. :)

So, just to be extra clear: an Activity is a group of widgets on your desktop (what developers call a desktop containment). Context is all the stuff you need for what you’re doing right now (windows, files, etc). And if you only have one monitor, chances are you’ll have one Activity per Context anyways.

[Edit: the naming changed again (at tokamak 4, iirc). so this post is wrong now :) ]

{February 1, 2010}   busy bees

There’s lots of activity in #plasma the last few days. lots going on. :) With 4.4 being tagged on wednesday, that’s not too surprising… but it’s still nice to see everyone working to get this release as stable as we can in the little time we have left.

Although I haven’t quite caught up on my homework since campkde, I’ve still been chipping away at things where I can. There’s more screensaver fixes, and a panel bugfix too. I’ll go back to panicking about homework on wednesday. ;)

Thanks to rrix, practically all the widgets in kdeplasma-addons have had their security re-checked, and we’ll probably deal with kdebase tomorrow. :) hooray for security!

I’m already counting the days to tokamak, too. so close, and yet so far…

et cetera