Tuesday, July 31, 2007

there he goes again

today i took p. to his first day of swimming day camp. up at 07:00 to make that happen but he loved it. he fell asleep as soon as he got home. made a mushroom, baby bok choi and zuchinni stew over new potatos for dinner. drank chateaunef-du paupe.

worked on bits of code for plasma. commits today were bugfixes for various things that had accumulated over the last few days (aka "boring work"), but i was also going over design issues to address in oslo, which i leave for tomorrow. looking forward to seeing zack standing by the tracks as i step out of the train. looking forward to seeing the rest of the crew in TT offices.

and then to darmstadt for an e.v. board meeting. it's work but it's also life.

"i got soul, but i'm not a soldier."

these times together

i ask:
why your motion
in the air around me
fires imagery
of god
within
why skin on skin
in darkness
feels like enlightenment
(the sun pours through but my eyes are closed)

you answer with a twist of hips
a parting of the lips
a smile ridden by eyes
so coy they kill me

will i survive this.
we agree that no one does
instead rebirth comes
as someone new
leaving reflections
of our recent deaths
in rumpled covers

and now?
evocative rollings
we call sleep
play songs of friction
with my sheets
your soft breath
proves life

and then.
i sit awake
in the corner
peering at you
my quiet smile ridden
by eyes that behold you
sleeping, still coy

how do you do that,
it kills me.

Sunday, July 29, 2007

things that made me smile today


  • george-the-cat figured out how to remove toilet paper from the roll in the bathroom even with it turned so you have to "push" the roll towards the wall to get it to dispense. smarter than he looks (and he doesn't look all that smart ;)

  • p. busking on the sidewalk with his djembe drums. it was hid idea, and he's made somewhere around $40 over the last couple days by spending an hour or so a day out there. and its not even a walk with heavy foot traffic. his rhythms are getting pretty good with new bits added each time he plays

  • sebasitian starts a mash-up between superkaramba and plasma APIs. i hope this continues to the logical conclusions.

  • amarok adopts openid for its online services. what else in kde will go openid for 4.0? for 4.1? and just wait till you see the new first-login plasmoid that welcome a user to kde, giving them useful jump points (community, docs, download addons...) as well as a place to enter their openid account into kwallet or create a new one. the plasmoid itself is deeeeeeeelicious looking thanks to ruphy. i'll let him blog the screenshots and what not.

  • bille's awesome appearance on novell open audio where he speaks about kde4. i listened to it yesterday and was really impressed. bille's got a great voice, thinks on his feet really well and is a great ambassador to the project. dude, why aren't we hearing your voice more often around the 'net? ;)

  • tzander close a 2084 day old bug in kword. wow! talk about better late than never ;) koffice2 is going to rock

  • finally got t. on her way with a kde4 install on her new laptop so she can start on The Book Project

  • i'm going to the folk fest tomorrow with p. taking the whole day off in advance of leaving on tuesday.



btw, i'm officially jealous of boud's view from his hacking desk in the new house. when can i come visit, man? =)

Saturday, July 28, 2007

on red solaris herrings

it's great to hear about KDE/Solaris people spreading the word and looking to increase participation through community building exercises like presentations at user groups. go Alan!

it should be noted that there is a increasingly active KDE/OpenSolaris project already, so the "porting to Solaris" bit in Alvaro's blog is a weee bit misleading perhaps.

i'm really happy to see these discussions happen. i'd like to add some value to the discussion by addressing this point:

"[..] but I don't think it would be possible to support [KDE on OpenSolari] (ABI stability and C++ incompatibilities are still huge problems - besides all the politics" - Alvaro Lopez Orega


first, OpenSolaris is not Solaris. just because something is available for OpenSolaris or even included with it does not mean it needs to be part of support contracts or among the internal engineering efforts that Sun offers. honestly, there are lots of other companies that can pick up that slack should Sun decide not to capitalize on the opportunity, particularly in Europe.

second, while i understand, appreciate and respect Sun's commitment to ABI issues, it's probably useful to point out that other OSVs manage to support KDE just fine. c++ ABI issues have calmed down dramatically in recent years and KDE does have an ABI commitment for our own libraries. perhaps Sun people just aren't aware of all the effort we go to on that front. and, well, it's not like other desktop projects are particularly wonderful at ABI issues either. so it seems to me that if Sun had the desire to do so, but can't manage the same trick ... i'd be very surprised. Sun has a lot of great people working there, and the "can't do" attitude i discover when it comes to the desktop is not the sort of creativity and imagination i've come to expect from their engineers.

in other words, the "ABI!" concern is a red herring. i hope people let it off the hook so it can go join its friends in the cool murky depths below .....

Friday, July 27, 2007

is your plasmoid P.I.G.ish?

today i started a page on the plasma dev wiki for the Plasma Interface Guidelines. it's just a start, mostly with some categories that need filling in over time. only the category naming section is currently filled in.

but i thought i'd share it anyways because the acronym is just so ... fun. Plasma Interface Guidelines, or PIG.

we'll have version 1.0 of the PIG ready for kde 4.0 so that we can ensure that applets have a standard by which to live by, otherwise knowing as being PIG compliant.

mmmpf! i can hardly say that without giggling.

(props to the-other-aaron for suggesting the name ;)

Thursday, July 26, 2007

ZUI: credit where credit is due

after sitting and watching the positive comments roll in on the desktop ZUI (zooming user interface) blog entry, i started to feel a little guilty because people might think i actually came up with the basic idea. just in case that were to happen, let me offer a pro-active correction.

the idea of a ZUI has been around for a long time (in so far that HCI research has been around for a 'long time' ;). in particular, Jef Raskin spent the last years of his life with a team of talented researchers exploring the practical application of ZUIs to desktops. reading their papers on the topic led to a number of inspirations and ideas, such as why not to do just a free zoom but actually perform object abstractions as the user moves in and out.

we aren't going as directly radical as his ideas when it comes to a zooming desktop, at least not right away (e.g. we aren't going to let you zoom out further and see your local network, the again to see the intarweb ... yet! ;), but i'd feel pretty turdish if i didn't at least own up to some of the shoulders the plasma team is standing upon. Jeff being not the least among them.

what is new and interesting is that we're moving it out of academic applications and onto production desktops. we're making it pretty and we're melding it with a number of other ideas, some borrowed and some new (but none of them blue).



Jef Raskin, 1943-2005. RIP.

desktop zooming

our three level desktop zooming is now working in plasma. wee! the-other-aaron-in-plasma has been working on it the last couple days with some help and consultation and it's now in place and working. we've got a few features to add to it before it all makes sense, but the important bit is that the concept is now there in code in svn.

the idea is this: plasmoids (launchers, icons, widgets, games, mini-apps, etc) exist in groups. a group can be displayed to take up the full area of the screen. this is what one would most likely recognize as "the desktop" today. you are not, however, limited to just one full screen group. you can have several.

when you zoom out, you see these various groups and the plasmoids within them shrink to mere icons. this lets you pan around and rearrange plasmoids or pick another group (and little else).

zoom out once more and the groups become little iconified versions of themselves and the plasmoids themselves disappear. this view lets you see all your groups at once even if you have a lot of them. pick one and you zoom in on it.

the idea is to allow one to manage collections of items by grouping them and then quickly switching between them using zoom-and-pan where zoom provides overview (lowering detail), pan provides navigation and unzoom increases detail again (implying selection of another group to use).

the use cases are something like this:

aaron works at home. you can tell he's a happening fellow by his name. as such he does a lot of things with his computer, not just work. he separates his work from his family from his play "lives" on his computer by arranging different desktop sets. aaron uses the zoom-and-pan to quickly switch between "work" and "family" groups during the day.

lisa is a graphic designer. at any given time she is working on projects for 2-4 clients. she keeps the work files for each client project in a separate group, each labeled according to the project title. she also keeps the contact list for the other people she's working on the project with (copy writers, the client contact, the project manager, etc), the schedule calendar and current todo list (sync'd to the company's groupware/calendaring server) with each group. as she moves from one project to another, she zooms-and-pans to the appropriate group.

josh is a 16 year old lay-about. he should be working on his chem homework but instead is playing on facebook and myspace. he has the plasmoids for different sets of friends in different groups according to clique and a grouping for his class work. when he hears his mom approaching he quickly zoom-and-pans to the work grouping.

ok, the last one is a bit tongue-in-cheek ;)

note that desktop zooming is different from resizing individual plasmoids to show more or less detail in them. and yeah, i'll try and get this into a future screencast.

plasma and mac dashboard

"I never see my desktop because it's always covered with windows. What use is plasma to me?"


"Will plasma have a MacOS Dashboard style mode where the widgets pop on top?"


i hear these two questions about plasma often enough that i'm dedicating a blog entry to answering it. first, here's my obviously biased opinion of mac os dashboard: pretty but flawed.

there are some truly nicely designed widgets for it, but here's why i think mac os dashboard falls short:

reason 0: it's heavy. i was amazed at how much ram that thing took. and for just a screen cover layer?

reason 1: it's only available as an over-the-top-of-your-windows thing leaving you, the user, in the "modal muddle". forcing people to choose between modes of operation with no flexibility is stupid.

reason 2: they beat me to implementing the full screen widget display. this is my "sour grapes" reason ;)

in my earliest design presentations on plasma, i had a slide that showed the concept of allowing the desktop to be "z ordered" above other windows. i even had a crappy little graphic showing the concept because it was otherwise hard to get across to people at first because there wasn't anything i could point to and go "see, that's what i want to do". ("hm? desktop above windows? but.. it's the desktop, right?") that is, until dashboard arrive in the spring of 2005 with tiger. damn them! ;) while i was waiting for kde4 devel to start with all my plans tucked neatly away in my pockets, they were developing something that had a number of similar features. ah, the 100th monkey syndrome strikes again!

what they did get right was allowing people to do stuff in little portable bundles of javascript and html. plasma has support for them (well, it does on zack's laptop anyways ;) and that's only because they used js+html. unfortunately, some also have some macos binary bundles in them and those aren't very portable. oh well. they also got the "make a place for people to add their own widgets for others to grab" thing right with their widget website.

but they didn't go far enough, imho. it's too much of a heavy-handed add-on-esque thing. it also doesn't really change much about how you use your computer; but then to be fair neither have any of the other gadget factories, really.

in any case, to answer the original questions:

yes, you will be able to flip your desktop contents to the front of your windows if you have a composition manager around. the latter is because without it i can't make the background translucent, which i think is a basic requirement for this feature (so people don't freak out that they've lost their windows). maybe i'll change my mind on that so that if you don't have a composition manager running you just get the classic "show desktop" effect? perhaps.

also remember that you will be able to put these widgets on panels or even free floating about. you will eventually also be able to go into "media center" mode and see widgets integrated there as well. huzzahs all around.

so yes, even with all your windows in the way, plasma will still be relevant to you. remember that it's replacing kicker (the panels and taskbar) too while bringing other presentation formats with it.

and this was all planned somewhere between 2 and 3 years ago (was i showing this stuff off in ludwidsberg? i can't remember now...). not to have thought of this issue would have been a pretty major oversight. to paraphrase jessica rabbit, "i'm not stupid, i'm just drawn that way."

today's plasma; mosfet; travel agenda

here's today's plasma screenshot (tell me when you get bored of them ;):



so, what's all this you're seeing? well, there's the tiger svg applet written in javascript. then there's the digital clock and the twitter plasmoid. and finally a plasmoid that failed to load properly.

the js tiger is being run via the qtscript powered javascript ScriptEngine. ScriptEngine is plugin based so we can change up the scripting support pretty easily by just supplying different plugins. you could, for instance, create a kjs based ScriptEngine and use that instead of the qtscript based one. or create a python or ruby or lua or perl or ... whatever ... ScriptEngine. the plasmoids define what language they are written in and that determines which ScriptEngine plasma tries to grab. i'm not interested in non-qtscript ScriptEngines quite yet though as the ScriptEngine API is still new and i want to have a proven and tested API for scripts as well.

the tiger hasn't turned the standard background on, while the other two successfully launched plasmoids have. those borders and background are fully themeable using suitable svg. personally, i'm thinking we may want a thinner outer border by default; they look really nice but do take up quite some room. fortunately all it takes is playing around with the file in an image editor.

twitter shows how easy it is to bridge web services to the desktop (that lineedit lets you enter new entries, aka "tweets", to your microblog timeline).

what you can't see there are the animations, such as when you post a new tweet and the "syncing" label fades in and then back out. or when the time changes and the clock animates the number flipped "down" ala the real old school clocks. it's all subtle and so smooth.

what you also can't see is that layouting now works. the failed plasmoid is being circumvented by plasma and a (fairly useless at the moment ;) error message gets shown. eventually it'll be a nicer looking label (about 2 lines of code; damn i should just do it now) with slightly more information. but the point here is that the the geometry of all the label and applet are being managed by a dynamic layout. now that they are working i can start playing with the panel replacement.

so if all goes as it has been, i should be able to screen cast a panel and d'n'd installation of a js plasmoid package demo. suh-weet.

mosfet also poked his head up on kde-core-devel the other day. he's put together a little package of graphics utils that might be rather useful for 4.0. i'm hosting the tarball on plasma.kde.org for him right now, but will let him announce it. tune in to kde-core-devel tomorrow if you're interested.

and speaking of graphics gurus ... i'll be seeing zack and the rest of the norwegian trolls in about a week's time. i'm off to the trolltech offices for a (work) week of hacking and then its off to germany for a board meeting in darmstadt. i'm home for a day and then p. and i take off to my sister's place in washington state for two weeks, during which time i'll only be working 4 hours a day or so (in other words ... pretty much a vacation for me).

if you're in the oslo, darmstadt or seattle area and want to meet up for a visit i'm sure we could figure something out.

Wednesday, July 25, 2007

playground/base/plasma/

i've posted all this to panel-devel and keep repeating it in #plasma, perhaps if i blog it more people will read it and know what's up.

so, most of the plasma add-ons are in svn://svn.kde.org/home/kde/trunk/playground/base/plasma. if you install plasma from kdebase you get something very vanilla without a lot of visible add ons. two, to be exact ;)

we'll be moving over a bunch of the stuff from playground later to various places (kdebase/workspace, extragear, kdeaddons?,...) but this gives us a place to experiment and play. it also helps keep me concentrated on the canvas-that-is-plasma without being distracted in kdebase by all those plugins (while still offering a growing set of use cases from playground/ that push and pull on things)

and if you are having a hard time building playground/base/plasma, you need to make sure you have the latest FindPlasma.cmake from kdelibs/cmake/modules installed.

that is all. *hugs*

q(s)otd

[14:01] <shawn_work> IRC analysist Shawn Starr said, "#Plasma's annual growth keep up with expected demands, and will record a record profit in earnings for the fourth quarter. With rapid expansion into the gadget market. Plasma a subsidy of KDE is expected to explode causing unprecedented demand". When Shawn was asked about #Plasma's anticipated future growth and earnings, he declined to speculate other than to say "The market's on fire for Plasma".


[16:34] <zackr> aseigo: on a sidenote i fixed the ever popular LC_ALL/LANG bug in qtsvg today. i'm goin to start demanding virgin sacrifice/kingdom and a princess/my own nba team/chest hair/ for it


man, how can't you just love hacking alongside these people?

useful and visible. oh, and openid.

just read emannuel's blog where he opines a bit on plasma and gnome. he almost gets it, which is pretty great given that i really haven't tried to do much in the way of getting the design fundamentals message out there yet. but i figure i can help correct this one bit:

"KDE will get a truckload of useless stuff lying on a desktop which will be covered in windows anyway<" - Emmanuel Bassi


not quite. =) you can put these things on a panel, or promote the desktop briefly to a top level widget (think max os x dashboard if you need a visual hint; i have slides that were made before dashboard came out that show this concept, btw). and due to the ability to hook into meaningful data sets like hardware events, tasks and windows, etc... they'll be anything but useless. (particular things like the application launchers ;) though we'll have lots of useless things too because, well, it's fun and easy and life should be full of both of those things. =)

still, Emmanuel does get one of the overarching concepts:

"they will also get the attention of web developers writing small apps integrating with web services in a transparent way, using their own strengths and knowledge, without forcing them to learn the intricacies of a complete platform"


that's one aim. but i'm going even deeper. i mean, why stop at web developers? why not make it easy enough for mere mortals to get engaged and start creating and sharing little toys and tools with each other?

i've worked in a few places that were involved with securities (portfolio management; a stock exchange; an oil and gas trading co) and at one of them they had access to an app from reuters that let you create arrangements of various data feeds on screen and even connect them up. i noticed traders that were good at creating these setups would get tapped by others to help them create killer layouts. interesting what happens when you empower individuals to create things in simple ways out of complex building blocks.

in that same office there was one girl who made her entire (ms windows) desktop pink. from media player to soft phone to window dtitle bars and widgets to backgrounds ... she was as pink-a-holic. she got a pink (barbi!) computer for home, too, and then replicated that setup there. imagine if she could have created her strange little pink fetishist design and then shared it to her new barbilicious computer at home? or with her similarly pink obsessed best friend?

back to the web, social networking in various forms has hit all over the net. from online gaming to microblogging to virtual business card trading to .... you name it. that's the power of these sites. for every person i hear talking about online word processors, i hear 100s (literally) talking about things like facebook.

so yeah, bring on the web developers. but let's also give users the ability to move, manipulate and share their personal peculiar experience with their friends, family and coworkers. imagine picking from an online warehouse, where you can share with your friends and associates or people with similar interests and values.

i can just see the pink desktop category now.

and even that is just the beginning ... that reuters display? it was a custom app that reuters invests a lot of money in. it's fugly beyond fugly and the real value is the data. think about the possibilities.

and let's not forget more traditional cool uses like getting rid of the "new media found" dialog and replacing it with a little slider that moves out of the side of the screen (the start of that plasmoid is already in svn) or having a timestrip that marches across in time to the clock showing your calendar schedule as well as providing ad-hoc time management (by dropping items on it at given times). or live icons. or ...

"The curve for contributing to the platform is still too steep; and you don’t even get to use your own knowledges: you have to learn everything from scratch. KDE core developers understood this before we did, and their move might keep KDE from falling into the irrelevancy of geek-only usage" - Emmanuel


i not only want to help us from falling into irrelevancy, i want kde to become a new hotness that people want to use with an aching in their soul because they can share their pink horrorshow or financial-instruments-n-news ticker line up or create a cute little birthday card plasmoid to send to mom as a nice surprise for her.

i'm really glad to see that the gnome people are thinking about these things, too. we in the free software desktop community all need to. but let's try to not get myopic about it and concentrate on the current cool kid implementation (web 2.0 stuff) while missing the real lessons (e.g. what makes web 2.0 cool). let's not aim for yet another subset of humanity (web developers) while forgetting about the other 98% of people.

and while these are the things that haunt my mind in the night and guide my hands in designing plasma, i'm not the only one on this train in kde. i know the korganizer guys (cornelius in particular) have had similar long term goals for a while now; the games with ggz; the pervasive use of ghns (which we need to expose better, btw); marble and its slurping in of external data files ...

now, someone on Emmanuel's blog said this:

"How about making a freedesktop spec out of plasma and implementing it under gnome. Or better, implement something plasma-compatible in gnome and then create the spec." - anonim


their heart is in the right place, but it's not realistic (and Emmanuel notes that in his reply). but there are places we can and, imho, should be aligning with each other.

one example? openid. kde4 already has support for openid in a few places, including gethotnewstuff2 and an implementation in our libs that other apps can run with. (thanks to josef spillner; there's a guy who really gets a lot of this stuff, btw. we're lucky to have him around hacking on these things for kde =)

i plan to offer a way for people to associate their existing openid account, or create a new one, right from plasma via the first log-in plasmoid that will appear on the desktop (artists are working on layout for that bad boy right now).

this is one way for us to claim a stake in the brave new online world. we can spread it to other platforms with our cross-platform apps and encourage our own web services, as well as those of others who are open source friendly, to adopt it as well.

so... what say ye our friends at gnome, xfce, firefox, et al? can we join hands and push forward on the same online identification system? we don't have to formally agree or even coordinate the specifics... we just have to all start using it where it makes sense and telling our users about it.

shadows

a fellow named daniel commented in my last blog entry:


here's to hoping that the shadow in the future will actually be drawn by plasma or compositor, instead of being part of the packground pngs. Roll-your-own shadow was an annoying visual problem in SK, and I really hope Plasma moves forward on that one.


being tired (it's 01:00) and not really feeling up to any serious hacking, i took stackblur in hand and came up with this:



the shadow there is done based on the shape of the item (generically, not specifically for that shape). the png's shadow is on top of it (i didn't both lopping that off; this was a "i'm tired, let's do something quick and fun" hack remember ;) and if you look closely you'll see that the shadow seem sto be cut off at the bottom a pixel or so prematurely. performance wise it's quite fast, but could be faster yet if i bothered to do a few smart things with it.

in any case, i'm not going to commit this to svn (well, i am, but #if 0'd out for future reference only) because i know we (or rather zack, frederik, etc) can do even better with a little effort.

but you can see it's possible and pretty trivial with stackblur in hand (9 lines of code, to be exact).

various applet improvements

in the last plasma screencast i noted that the backgrounds of applets were fugly. i believe in honesty like that, if only because you'd notice it too as soon as you ran plasma.

today a few of us sat down to fix it based on a plan that ruphy and pinheiro decided was workable from an art and code perspective. today pinheiro did up some art and andred did a proof of concept implementation for the twitter plugin. i liked how it turned out:



so i went and had pinheiro clean up the svg a bit, then went in myself with inkscape to tweak a few things like object ids and rewrote the background drawing around the concept. here's how the digital clock looks now:



any applet that calls setDrawStandardBackground(true) gets the fancy pants treatment.

i also imported zack's opengl based Plasma::Applet subclass into libplasma and added a check for it to the FindPlasma.cmake file so you can look for PLASMA_OPENGL_FOUND.

we're also most of the way down to having a contents rect based coordinate system for applets with Plasma::Applet handling boundingRect itself

Tuesday, July 24, 2007

the bell tolls

kdelibs api freezes today. yesterday was the last "break the build in creative ways to make kdelibs better" monday. big step forward towards 4.0. tagging of a new snapshot is forthcoming. the release team is discussing things now. i'm off to the showers after four hours of sleep.

light bulb joke

Q: how many software developers does it take to screw in a lightbulb?
A: that's a silly question, it's a hardware problem.

ok, bad jokes aside ... the little overheating and dieing episode the desktop system apparently took its toll on the file systems which started hiccuping. at first i was concerned that it was bad RAM (damaged by the overheating?) as compiles started to randomly fail this morning.

and then it just locked. a reboot brought me to the dreaded "filesystem with errors, check forced" fsck. i stared bleakly as the check locked. i powered it off and went outside for a few minutes so as not to completely lose it. i had unchecked in changes, after all.

after i'd cooled off a bit, i came back in and started the machine up. stepped it through various file system recovery steps ... finally got things back with a new filesystem that isn't broken and most of the data back. well, sort of. i had to rewrite a few things but at least the system is performing well again and things are ok.

it's only my dev box so there's no valuable personal data on it (and i back that stuff up weekly to an external drive anyways) but yeah .. great way to lose a good chunk of the day.

i did manage to get a patch together to bring emblems to the icon loader. you know those cute little things on the corners of an icon? yeah.. them. it's ready for the naming spec emblem-* icons and more extensible for the future as well. hopefully it'll get approved even though the hard freeze is tomorrow already and today was BIC day. =( i'm not holding my breath, but we'll see.

Monday, July 23, 2007

A Presidential Address

As you may already know, at this year's aKademy the term came up for our past KDE e.V. president, Eva. She served for years on the board and in my opinion did a great job as president. Filling her void was the matter of quite a bit of discussion and I personally thought hard about whether or not to take on the position for days prior to going to Glasgow. In the end, it was decided amongst all the board members that I would do so. I'd like to write a little bit about what I see the presidency represents, how it will impact (or not) my own activities and share with everyone some of the goals that the KDE e.V. board of directors has for the next year.

Why On My Blog?



I'm posting this on my blog because it perhaps the greatest reach afforded to me right now and I think it is important for everyone in our community to have the opportunity to read this. The KDE e.V. membership email list is private, and for good reason (it has been a real life saver the couple of times that privacy was needed), but this is an topic that I believe should be shared with everyone. Increasing transparency of the e.V. and the board's work has been something we've worked on actively over the last couple of years, and this is just another step in that direction.

I have shared the contents of the entry with the rest of the board members already so that we're all on the same page and have consensus as to its contents.

What The President's Position Means



Perhaps I should have added "to me" in that subheading, since these are really my own viewpoints on the matter, but here is how I see it: within the KDE project being president of the e.V. doesn't afford any special influence. It doesn't entitle one to more say in technical discussions and it certainly doesn't mean that the person is now somehow not subject to the same processes
and cultural norms as everyone else. This is important given the (healthy) skepticism within KDE for empty positions of power.

Within KDE e.V. it does mean more responsibility, though not much more than the rest of the board has. My duties, and therefore time taken up, will not be considerably different from what they have been since I joined the board. Thankfully there are four other hard working and excellent board partners that I get to work with to get things done, not to mention volunteers from
within the e.V. membership itself.

The outside world is a slightly different matter, however. Outside of our community most people tend to perceive added weight along with titles. This is useful for someone who goes around speaking about KDE as much as I do on behalf of the project. It gives people more pause when a presentation is delivered, for instance.

The flip side of that coin is that I need to be careful about what I say as a public envoy. In particular, I need to be sure that I am representing the project as a whole accurately. This really is nothing new, as I have always considered my speaking engagements to be as an ambassador of our shared work. As such, I've always shared with others what the project's consensus has been, even in times when I've personally been of another mind. When it comes to public speaking and dealing with others, it is the project's consensus (or lack thereof) that rules.

I see the external part of the position of president to be one of great responsibility, and not one I will take lightly; nor will I let it distract me from what I'm really here for: to hack on cool technology with a bunch of people I've come to know and love.

A Note On Being Part of Our Community



KDE has a community that is, as far as I'm concerned, second to none. It is ultimately important to me to remain a part of it. As such, I don't want to become distanced from it due to responsibilities I take on. This means two things:

First, I'm still just me and always will be, for better or worse. ;) Which is to say, I don't see a difference between how I am within the project today compared to, say, 4 years ago. I would hope to be treated that way as well.

More Important Than The Presidency



More important is the fact that we have an active five person board and a raging e.V. membership that sits within and remains connected to the global KDE project. It really feels we're hitting on all cylinders right now. There is always room for improvement, but we've been improving about as fast as I think is reasonable to dare to.

We've increased our transparency, have created a supporting members plan, have improved our legal position both through our legal contacts and council as well as by achieving non-profit status, our bookkeeping is maintained at a high level, we've been regularly sponsoring developer sprints ... I could go on an on, but I think it's evident that there has been much good coming from
the e.V. over the last few years.

That would never have happened without the hard work of those in the e.V. doing things like preparing the quarterly reports or helping organize those sprints. It would also never have happened without a fully functioning board. As such Eva, Cornelius, Sebastian and Adriaan all deserve a huge amount of recognition for their efforts.

One sign of success is that there are people to replace those who will, inevitably, be out-going. We're doing pretty admirably there, as well; our new board member, Klaas, is already proving to be an excellent addition to the board.

Goals Going Forward



So just what are we aiming to achieve in the next year? In addition to keeping on with what we're already successfully doing, here is what the KDE e.V. board has within our sights:

Fiduciary License Agreement: thanks to the hard work of Adriaan and the ever available and friendly legal council at the Free Software Foundation Europe we are very close to having a mechanism completed by which those who wish to can assign rights over their code to KDE e.V. in a way this protective of their own rights and respective of our shared ideals of free and open source software. This voluntary process will help make it easier to guarantee future
stewardship and legal defence, if necessary, of our code base.

FreeQt Foundation: We are committed to maintaining the health of the FreeQt Foundation and the contract it holds with Trolltech regarding the perpetual freedom of Qt. Via the FreeQt Foundation representative from the e.V. membership, we are looking at how best to continue to groom the agreement for current and future needs as both Qt and KDE grow.

e.V. Staff: We are on path to hire a body to work for the KDE e.V. This will give us much needed manpower to make the e.V. more efficient, extend our reach into new areas of endeavor and
simultaneously increase the professionalism of our programs. The hiring process will be a transparent one starting with a public job advertisement.

Supporting Members Programs: We will continue to grow this program, refining it and opening up to ever more people. We've done well so far, but we can do even better. We also have our first round of renewals coming up this year, which will be another new process for us to perfect.

Developer Sprints: We want to see an increasing number of developer sprints happening. We've done sprints for as few as three people to as many as twenty-five; sprints have lasted a couple of days to an entire week. The board simply needs to know who would benefit from these sprints so we can all work together to make them happen. (More on that in the upcoming KDE e.V. quarterly report for Q2.)

There are many other things we will undoubtedly accomplish, such as new research proposals and grants, but those are less well defined at the moment.

In short: we want to ensure the health of KDE e.V. for the purpose of supporting the KDE project and its community. As one of the board members I'm personally committed to seeing that through and building on our successes of the past few years.

I truly hope you join us in this adventure. Right now, however, I have to go hack on plasma some more .... happy hacking, everyone! =)

Friday, July 20, 2007

plasma update

i spent a bit of time updating the plasma tasks page yesterday. it's quite the list =) hopefully other plasma devs will also add to it as needed.

we're at the stage now where scripting is pretty well possible. richard moore has worked up some prelim QtScript bindings and the plasmagik packaging has been fully integrated with the Applet class so when it is given an applet that is actually script based it automatically goes into package mode. this should fully blur the lines at all levels between c++ and non-c++ applets. i'm quite happy with how this is turning out, in fact =)

krunner now also does case insensitive matching on services so typing "Mouse", "mouse" or "mOuSe" (just to be wierd) all bring up the mouse control panel (for example). i had to patch the ktrader query language stuff a bit to make it work (thank-you to allen winter for helping to get flex/bison stuff spitting out the right content!).

it was way too hot in the house to do anything requiring higher brain functions today, so inspired by the trader language work and the techbase milestone, i did up a pair of tutorials on services and using kservicetypetrader. i'll eventually write a third one on creating, registering and loading plugins to complete that particular cycle.

otherwise it's been a bunch of bug fixing and clearing out a few remaining todo's from aKademy and the e.V.

techbase works

from the comments section on the dig page for the "techbase hits 1,000,000" story:

"I looked for this kind of information on their site some time ago and couldn't find it as organized and to the level of detail I needed (intermediate) and couldn't find it. I ended diving into source code, figured out some things, but couldn't get anywhere useful and I abandoned the project. Starting for your link, in 5 minutes I found the exact class and methods I was looking for." - SeattleGaucho


the power of documentation is amazing.

Thursday, July 19, 2007

techbase hits one million



it took half a year to hit our first million, how much before it serves up its second million? it certainly shows that techbase is getting used and is an increasingly important part of our infrastructure.

in celebration of this event, i've started a trilogy of tutorials on kservice and plugins. we even have a plasma applet tutorial up now (not thanks to me, however =). i encourage every kde contributor to write a tutorial over the next few weeks covering a topic you know decently (you don't have to be an expert on it!) that isn't yet up on techbase. we're at 80 tutorials on techbase, let's push that number higher!

Wednesday, July 18, 2007

where are the screencasts?

before anyone asks where the plasma screencasts have gone ... the sad fact is that i've been a wee bit busy the last few weeks which had slowed down plasma dev somewhat. i haven't been lazing about or anything, i just have a few hats to wear in the course of my kde stuff.

this isn't to say plasma has been languishing, but what time i have been spending on it has been on ultimately "boring" stuff that wouldn't make for very interesting screencasts anyways. hopefully i can fix that this week and bring you all a new screencast on the weekend.

cap'n, we have a leak in the plasma containment field!

when i started in on libplasma it was to address three basic pragmatic needs i had:

  • share common resources between krunner, plasma, etc

  • provide API for plugins (runners, applets/plasmoids, engines, etc)

  • an incubator for things that weren't quite ready for kdelibs, such as the plasmagik packages stuff



apparently my itches are not dissimilar to the itches of others. the amarok team has started to experiment with libplasma and we just finalized a set of patches that makes libplasma useful for apps outside of plasma/krunner. i've also exchanged emails with ossi about using libplasma to do the view for kdm.

essentially, these apps are looking to get a bunch of stuff for "free" as in "the plasma team has already worked these things out and written code for it". this is very cool if only because it means more eyes, more use cases and more contributors to libplasma.

if you're wondering how the amarok peeps are managing to use libplasma without a dep on kdebase while dealing with my refusal to guarantee binary compat in the api until kde 4.1 .. they are simply using an svn extern entry and bringing libplasma directly into their tree.

yes, this isn't the most resource friendly solution as we won't be able to share these code pages at runtime, but using such static linkage is a pretty good option for libraries that simply aren't ready for prime time binary compat yet. Lars Knoll mentioned this a few times during aKademy 2007, and i have to agree.

Tuesday, July 17, 2007

plasma profiler wanted

as plasma starts to shape up into more and more of a usable application, i start to deal with that nagging voice in the back of my head that says, "dude, how's the memory consumption? call tree profile? do you have any numbers?!" it's an annoying voice, mostly because i don't really have the time right now to do the work that would get her shut up. (yes, some of the voices in my head are female.)

if you would like to contribute to my personal sanity and help make plasma a better thing for everyone, you may wish to consider becoming plasma's official profiler. and by "official" i mean "someone who throws numbers and graphs at me". as you can see, my definition of official is pretty easy.

so what would this entail? gather up all the profiling tools you can find (this howto by seli is a great starting point for memory profiling and kcachegrind should be able to provide most of the rest), get a kde4 dev env up and running and start gathering numbers on plasma.

in my personal dream we'd have a historical set of data so we can see how resource consumption rises/falls over time. we'd also have a set of tasks we'd profile regularly. e.g. "start plasma, add the clock plasmoid, let it run for 5 minutes" might be one of those.

so if you are a "c" type personality who likes futzing around with your system and letting me know just how much my code sucks (and precisely where :) this just might be right up your alley.

as usual, you can find me on email or, slightly less frequently these days, irc.

Friday, July 13, 2007

antiphotogenic

i really need to learn to art of looking normal in photos. in too many pictures taken at software conferences it looks like i'm either going to a rock concert:



(tongues are fun!), recovering from being at a rock concert the night before:



(hey, i like my 20 minute afternoon nap!), or performing some sort of bizarre lounge act:



"feeeeelings..." (somehow they managed to capture me in a moment where it looks like i'm singing emotively rather than just speaking .. you know .. normally .. yeah, that's it. ;)

i think the first thing i need to learn is how to stop moving momentarily while adopting a look of relative calmness. but it's so hard to stay still when we're achieving these achievements at such magnitudes of achievement. (those of you at the lord provost reception will recognize that last sentence; perhaps not my most eloquent moment ;)

what day is it again?

i spent much of today thinking it was wesdnesday. there's a reason why i couldn't recite the sequence of days in the week or months in the year until grade 3. i faked it until we had a test on the topic and i forced myself to learn it. but yeah .. it's still such a weird concept to me to have names for fairly arbitrary segments of time. anyways...

i did some work on plasma today, including implementing a generic "this plasmoid is screwed" handler so that that is at least consistent now. worked with the oxy artists who came through as always in brilliant fashion to create the little icons that will appear on mouse hover to offer ways to configure, remove, get info, etc on individual elements. i was so disappointed when i saw vista had this same feature when it came out. inevitably people will say i copied it from vista, but i have drawings that predate its release to prove i didn't; some problems have "obvious" answers at certain points in time and this was apparently one of them.

the per-source config thing is in it's second rewrite as every time i get something together i step back, look at the api and think, "you know, it should be better than that. what am i missing?" hopefully third time's the charm.

and speaking of charm, i just read sebas' interview on lxer.com... and i have to say: awesome interview, guy! it was succinct while communicating very effectively what we're consciously striving for within the project. namely, to go beyond the borders of "just" being a huge free software project and being a huge free culture community centered around this really cool huge free software project and in the process maybe change a few things in society. while having fun. and juggling fire balls. maybe not that last one.

in any case, at the end, the interviewer had this to say:

My answer to you Sebastian, KDE is changing the world. KDE has taken on a important role in the Open Source Community and its success ripples out in all directions. They have essentially re-written the book on how to manage a large Open Source project and come out on top. KDE has embraced change and I believe it will flourish for a long time to come because of it.
[...]
Take notice everyone because KDE is trying to change the world, and its working.


sweet. =)

Tuesday, July 10, 2007

home

made it home safely and with all pieces of luggage and what not with me. i didn't even have my luggage in the door yet when a couple of friends walked passed with their dogs and then t. pulled up in her car to say hi (to the cats, mostly, i think =). once the dog walkers were gone, t. and i went for a spot of tea around the corner (it was her birthday!) and i struggled to stay up until a reasonable hour before collapsing into bed sometime after 23:00. this ensured i didn't wake up before 08:00 today and now i'm back on the local sleep schedule. the first night is always hard.

one annoyance upon return was that my desktop system was dead: it wouldn't even boot. it turned out to be a heat sink problem. i've whipped up a temporary fix, so it's back up and running for the time being. i need a more permanent solution, but this will do for now.

the house is nice and clean still (yay for the cats not destroying it!) but i have laundry to do and had a ton of email to get through. i'm going to go for a quick walk around the block to get some fresh air and then eat something before p. comes over with his mom.

both the desktop and laptop are now busily compiling the latest kde and hopefully i'll get a bit of hacking time today though i'm not counting on it. may not get any coding work in until tomorrow. such is life.

looks like i'll be keynoting at the trolltech dev days in california in early october, which should be cool. we'll also have a kde dev lab area there to interact with attendees in an informal environment. neat!

Monday, July 09, 2007

grey blue eyes

i have a bus to catch in an hour and twenty to take me to a plane to fly me across the ocean.

i have code to clean up for commit that will finish out the data engine design for 4.0.

i have a shirt on whose particular colour of green makes me happy just looking at it.

i have people waiting for me back home who will hug me when we meet again.

and i have the feeling that i'm not wasting my life away.

this rhythm is a chant that drives our feet forward, this rhythm is a song given to us so we may dance even when there is no music. one.. two.. three.. one.. two.. three..

Sunday, July 08, 2007

lug radio live

inge, riddell and i hopped in a rental car and popped down to wolverhampton for lug radio. the accommodations we ended up in were close to the event, rather nice and quite inexpensive (for england, anyways). the event itself went well with the kde booth being the only free software desktop related booth (i don't think the mythtv and xbox media center booths count as desktop?). it was interesting to see both of those media projects there; shows how interest in them is growing.

the talks were great, and i got into an interesting discussion with chris dibona about software as a service (which i personally have several issues with given how it is being done right now). got to chat with nat friedman for a bit this morning and visited with ted haeger a fair amount. ted's now with bungee which is doing some rather interesting things with online mashup development. sweet's gong-and-thong lightening talk proctoring was purely disturbing though wildly entertaining (seen in the pic below) and jono kept finding awkward social situations in which to grope me. he really needs to get out more ;-P



ben lamb did a great job with his kde4 presentation on the first day and the kde booth was pretty busy through the day and we moved some merchandise as well. the new base ball caps look cool =) i threw a bunch of stuff out into the crowd at the beginning of my talk today which kicked off the second day's proceedings.

unfortunately there were a few snags ... my name was mispelled (arron rather than aaron) and apparently i work for the bbc (which does, as i noted, rhyme with kde ;). no show stoppers there, though. i was in the atrium as well which did create some show stoppers, namely the sun which made the slides essentially invisible; apparently our day star is a bit more powerful than the average projector, and the glass roof of the atrium let it in in all its glory. sunshine after 9 days of pretty constant rain was nice, though, and the crowd really responded to the talk.

i had several people come up afterwards and say they were going to seriously check out kde4, including one of the lug radio guys. very cool. techbase is a huge hit and the amount of technology that we can show right now never fails to impress.

of course, i didn't get a chance to show everything (fairly impossible in an hour's talk, or two if we count ben's as well), but the idea of a complete experience, making it easy for developers to do things users want and expect and really pushing the envelope of creativity and technology is wowing people all around the world.

we are usually our own biggest critics, which is great: it motivates us to grow upwards. it is so terrific to see the excitement our (your) work creates in the faces of others. i do wish i could capture each of these events and share it with everyone else.

right now i'm in a hotel room at an airport near london where inge's plane departed. i leave tomorrow from heathrow and will catch the express down there in the morning. the room is a bit more expensive than i wanted, but it was all that was left (i didn't actually know i was going to be in london a day early until a few days before i left for glasgow) and it is a nice room =) i almost went into london to visit the ubuntu team who is doing a distro sprint right now at the canonical offices. but i'm just too tired and need some "me time" right now.

speaking of which ... there's a bath tub calling me.

Saturday, July 07, 2007

good bye glasgow, welcome to wolverhampton

i left glasgow today with inge and riddell in a rental car headed for lug radio live 2007. i fell asleep to rain, woke up to more rain, ate some nasty road food picked up in some little road side service mini-mall and hacked on plasma a bit (more per-source configuration stuff). car rides are good for all of the above.

we dropped riddell off in a girl-friend-will-pick-me-up appropriate place and then promptly got lost looking for our hotel. getting lost is something i excel at, and today i was in fine form.

we were already late getting to wolverhampton due to car rental company charades in glasgow and by the time we made it to the york hotel the people who run the little place were already firmly in bed. we moved down the road a couple blocks to the connaught best western and here we are checking our email and writing blogs and what not. hooray for free wifi.

in my last blog entry someone asked what i found confusing about the traffic lights in glasgow. well, what i found confusing was that they would sometimes be red all the way around the intersection and everyone could walk, other times they'd be green with the flow of foot traffic and you couldn't walk or vice versa or other odd arrangements. it all seemed a bit random, odd and at times very poorly thought out from a street flow perspective. but perhaps i simply had not gotten the rhythm of foot traffic in the city and menagerie of lights directing it.

i did also notice a lot of fist fights on the streets at night. this is apparently a bit of a glasgow thing. i did some research one night into the causes of it by asking random members of the gaswegian populace to explain this phenomenon to me. i have, after all, seen my share of late night drunken town centers and street fights but never such a rate of the latter in confluence with the former. it's like arguing-then-punching is an acceptable evening hobby. no one could really explain it beyond the insightful and succinct, "well, we get drunk. and then we want to fight." fair enough.

Friday, July 06, 2007

aKademy, finally

i haven't had a chance to blog at all this year at akademy. contrast with my first akademy when i could blog several times a day. since then many things in life have changed including my time availability for silly enjoyable things like blogging.

it's been an amazing week, however. the things that struck me the most was the growing visibility of teams within kde. i think we have successfully traversed the conversion from a project to a full meta-project. while in previous years we were obviously a meta project made up of many smaller efforts, this year it is very apparent where there are teams and who they are.

the developer sprints, the increase in project specific branding and merchandising and just the general maturation of each of the teams is all resulting in good things.

i've received comments from some of the people visiting who aren't from the kde community about how friendly and open the event has been; and i have to agree. it's been a hugely successful event with very useful and important discussions touching just about every part of kde happening.

there's also been a lot of hacking with things like the infamous krunner bug finally getting fixed (lubos is a god; and even then it took god most of the day to figure out the problem which was in the netwm code in kdelibs), lots of plasma engines and other work, amarok hackery, edu apps greatness ... the announcement of webkit in 4.4 eclipses my excitement for widgets-on-graphicscene even, and seeing zack's opengl widgets on plasma is amazing =)

it's all too big to keep track of and visualize at one time, and it's moving yet faster. we haven't hit a scalability wall yet. i think that is in part due to the amazing people we have involved and in part due to us actually thinking about these things in past years.

i'm off this afternoon for wolverhampton and lug radio live. before i leave, and finish the blog entry, i would like to share things i've learned about the city of glasgow:

  • the dialect+accent applied to english here is hard for even me to understand at times

  • it rains often

  • there are some very pretty streets and buildings here

  • scottish lochs are cold but very refreshing (i'm surprised there aren't pictures of the canadians splashing through the water on planetkde yet)

  • it rains often

  • the street lights follow some odd pattern i've yet to decipher

  • yes, pounds sterling is the currency here *blush*

  • it rains a lot



i'll miss the other kde guys and gals when i leave, but i hope to see them all again soon and before next year's akademy. our global community is amazing. i've yet to find anything quite like it anywhere else. *tears and sniffling*