Saturday, January 02, 2010

++2009;

The first decade of the millennium (by our calendars, anyways :) is officially over and we're all going to have to get used to writing 2010 on things. I spent the last couple of weeks of 2009 taking a few personal days around the holidays as well as considering where we, KDE, have been and where we might be going. I wrote some notes at the end of it, and I thought I'd share some of it with all of you.

We accomplished a lot in the last year, both as a community as well as personally. I'll leave the personal events, positive and difficult, to those who were involved, but try and cover some of the highlights of what we did together.

Fundamentals



All of 2007 (and part of 2006) were a fairly big departure for the project in terms of what our day-to-day consisted of. Since the 2.0 release, we'd been involved in incrementally improving a code base where the design was more or less in place. We made regular releases with pre-announced schedules that were usually nine months in length or so. Even the 3.0 release, where we broke binary compatibility (along with Qt 3) and added a few things to the libraries, was pretty tame. These fundamentals of releasing regularly and incremental improvement were put aside in order to do the massive porting to Qt 4 and to make some significant (both in terms of scope and importance) changes to the code base. 2008 was rocked by transitioning from those heady days of "blue sky" development back to the fundamentals.

That was one of the stand-out events for me in 2009 with regards to KDE: we made releases, we published schedules and the code improved massively from release to release. Keeping in mind that a non-trivial number of contributors had not been around as contributors during the 3.x days (let alone 2.x) this was both impressive and important. A lot of knowledge was passed on from the "old hands" and the "new guys and gals" have completely internalized it. The 4.2 and 4.3 releases are a testament to that, and 4.4 is going to be another step in the groove we've hit.

It isn't all exactly like it was in the 3.x days, though. We've tried to learn from what went well and what didn't go so well and to take into consideration the fact that KDE is a lot bigger now than it was when the release engineering systems were created from 1.x through to 3.x. Back then we had one "release dude" and they did a hero's job: setting schedules, making sure we met them, creating tarballs, organizing announcements, etc, etc. (Major props to Matthias Hoelzer-Kluepfel, David Faure, Waldo Bastian, Dirk Mueller and Stephan Kulow for doing great jobs of this in the past! Who else did I miss from that list, btw?)

These days KDE is simply too large and has too many project teams and products in our universe for it to be the job of just one person. Kulow recognized this and said that he was not going to be the sole release dude for the 4.x series. This forced the KDE community's collective hand to do something, and the result was something better: a release team. This team is made up of several people from around KDE and includes not only the hardcore of the hackers but also the promo team, packagers, internationalization teams and software teams that aren't part of the Software Compilation.

This has taken a lot of stress off of "that one guy" and has made the process more manageable and reliable. This may not be the most sexy, exciting or glamourous change in the last few years in KDE, but it's been a significant one and the 4.x series would not be in the shape it is now without these people. Dirk Mueller is still very involved in making things work there (another "hats off" to Dirk), but we have a number of new faces in the crowd. One particular bright light is Tom "toma" Albers who has stepped up on many an occasion to provide a voice and at times some needed reason for the team.

In 2009 this really came together for us and was a foundational point for the project. Combined with the determination and efforts of all of the software developers, artists and translators to continue the incremental realization of our collective vision, KDE put out several terrific releases this last year.

Software By The Boat Load



Which brings us to the actual "meat and potatoes" of KDE: us putting out software that rocks. With the Development Platform solidly in place and readily available to end users and application developers alike via operating system distributions, 2009 became something of a fond reunion between users of KDE software and their favorite titles.

Amarok was making releases in 2008, but it was in 2009 that the Amarok 2 series really hit its stride. What is in my opinion, and many others, the premiere media experience app on any platform has managed to take a huge reworking of the codebase and turn it into something very compelling and fun to use. The number of user interface and performance improvements in 2009 were very impressive. It wasn't just Amarok, though ... not by far.

The KOffice team started making releases of the KOffice 2 series which is the first to use the KDE Development Platform 4.x. They began working with Nokia on file format and applications like Krita (natural media painting) and Kexi (database) continue to be the amazing apps they have been while others like Karbon have reached new heights. KOffice still has a ways to go and hopefully they continue to grow the community around it, but 2009 was a milestone year for the project which has been around since the pre-2.x days.

Another one in the "around forever and now releasing betas for the KDE Dev Platform 4" category is KDevelop. It will have its stable releases starting in 2010, but it was a huge milestone to get into betas during 2009 and it is shaping up to be a very impressive (and already very usable) IDE with some extremely nifty features, especially in the code completion and discovery areas.

Digikam for KDE Devel Patform 4.x was also released in 2009 and it was met with glowing reviews. With the KDE Imaging Plugin Interface (KIPI) framework, which has moved closer to the "core" by moving into KDE Graphics to the benefit of applications like Gwenview, Digikam is starting to get the respect it deserves and is rapidly shaping up to be the Amarok for digital photography.

Filelite (disk usage), yakuake (quick access terminal application), K3B (CD/DVD/Blueray burning/authoring), Konversation (IRC client) and many other popular titles also saw releases that are full of Oxygen and KDE Dev Platform 4.x goodness.

This made 2009 a critical year in the transition of many of our users from KDE's 3.x to 4.x series of products. Given that many of these applications are large and complex and that the port to Qt 4 is often tricky, not to mention that many of these apps saw huge improvements and changes in their user interface and capabilities, it came as no surprise to many of us that it took a year after the first releases of the KDE Software Compilation for these applications to really start appearing in large numbers and higher quality.

Platforms a Plenty



In 2009 KDE's attention to new, for KDE anyways, platforms continued to grow and show results. Windows and Mac releases were made and work on refining both, particuarly the Windows presentation, continued on. OpenSolaris saw renewed interest as well and the BSD crew is definitely around and lively to boot. Even the Linux operating systems stepped up further within KDE by providing integration and implementations for improved packaging experience, network management and more.

There was also a renewed commitment from OpenSuse in recognition of their user base's own choices to making KDE rock on that platform. I actually upgraded to OpenSuse 11.2 over the holidays and, besides the installer being insanely simple and streamlined) the default desktop was very pretty and very "OpenSuse meets KDE" thanks in part to OpenSuse working with KDE artists to style the desktop. This kind of conscious, purposeful collaboration flowing in both directions was a new plateau for KDE and working with distributions. We're seeing other Linux distributions similarly improving both their KDE experience and relationship, with some significant contributions going upstream.

2009 was also the year that widespread "what about things other than the desktop" thinking went into KDE. While there were always some forwards thinking people, from Joseph Spillner and Cornelius Schumacher's web service efforts to the Konq-E (for "embedded") project, this thinking really spread out throughout the project in 2009. From Plasma Netbook to the office file viewer for Maemo to the increase in web service tie-ins more and more people are thinking about these new horizons.

The desktop segment will always be important and a critical cornerstone for KDE's products. Many of our software titles will never run anywhere else, in fact, and that's not a bad thing. At the same time, KDE products are more and more being positioned within a multi-dimensional spectrum: what operating systems and what form factors?

Embracing The Pillars



The "Pillars of KDE" came into being as a concept with the 4.0 releases. They include things such as the Oxygen graphic stylings, Solid hardware awareness, Phonon multimedia API, Threadweaver threading library, Sonnet spell checking, Plasma and of course the mainstay rockbeds of KDE's Core Libraries. All of these have seen more and more usage in KDE software in 2009, though perhaps one in particular has seen the most amount of movement and change: Nepomuk.

Nepomuk is the semantic desktop framework within KDE Dev Platform 4, though its boundaries extend far beyond KDE's efforts. It started within an EU research project and has since matured and allowed numerous things which haven't been possible in the past, such as integrated tagging and pervasive file content searching. 2009 saw the standardization of the ontology so now across the Free Software desktop we will see the same metadata shared and/or interoperable. This means that things like Zeitgeist can more easily sit on top of Nepomuk and that it won't be necessary to have numerous on-disk search indexes for such things. As with many things in the KDE universe, there is much left to be done with Nepomuk, but more applications are using it transparently now for various features and with continued development this 2009 trend should have long legs. (I also finally "got" the name "Nepomuk" due to S. who knows the name from children's stories in her country: Nepomuk is a half-dragon! A-ha!)

Nepomuk has also paired itself with Akonadi, the emerging groupware system. While Akonadi is a standarized API for caching and access to all sorts of groupware data (the Plasmoids built using it show just how crazy powerful it can be), Nepomuk is providing the search indexing for it. So sometime in 2010 when you're using Kontact powered by Akonadi and tag or search through your email, calendar, contacts, etc. you will be using Nepomuk in the background. Some have asked what use Nepomuk is to them, and for me this is one huge benefit: it's allowing software developers to provide features we take for granted like "search my email" with less effort while taking them to a whole new level.

The KDE Workspace Grow Up and Out



2009 was the year that the KDE Workspaces really found their legs. Plasma Desktop stabilized and found a huge number of features added to it. Some of these features allowed Plasma Desktop to stand next to the KDE 3 KDesktop/Kicker combination a bit better, while others have let it go far further than any other desktop shell out there. Some of these features, such as remote widgets (which really makes most sense when taken in combination with the "device spectrum" concept), won't be released until this month (so technically 2010) but were designed and written in 2009.

2009 was also the year that we finally got rid of the old system tray protocol and replaced it with one that is infinitely more flexible and allows us to better service users and software developers alike. At least some GNOME implementations will be picking this up in 2010 as well as an added bonus. For me this was one of those important advancements not only on a practical level but also symbolically: the system tray was one of those systems designed in the 90s for the reality of the 90s. We are committed to designing software for the 2000s, and doing the hard work even for the "small" things (and being able to actually pull it off successfully) shows that those aren't just words.

The KDE Workspace also saw numerous other important developments, from KWin's growing bag of useful tricks (as well as it's Plasma theming!) to KSysGuard and the KSysGuard-driven process list becoming more interesting and impressive or KRunner's impressive improvements in visuals and performance, things moved in one direction: upwards.

Plasma itself also moved outwards, though. Plasma Netbook took root in a big way with a technology preview release made with the Kubuntu community in 2009. The first stable release of Plasma Netbook will be next month as part of the KDE 4.4 Software Compilation.

Enough Activity To Choke A Horse .. A Really, Really Big Horse



The KDE workspaces, with the Plasma Desktop at its center in 2009, is one of the key KDE products for our users, but certainly not even close to being the "everything" that is KDE. There was so much movement and advancement in KDE's applications across the board that to cover them all would take even more space than I've already used up here. It wasn't unusual to see more than 10,000 commits in a month in KDE's code repository over the course of a single month and it showed.

From Dolphin's continued advancement as an amazing file manager for the masses to the Okteta hex editor to the large number of new games (and improvements to the existing ones), KDE's applications were a hotbed for activity. The applications in extragear were no exception, with apps like KTorrent making huge strides in 2009.

This activity was another hallmark for 2009, as the final stages of the pre-4.0 development really stunted application development efforts with questions of "do we stick with the KDE 3 libraries or move forward to the new KDE Devel Platform?" and the annoyance of having to port to the often (sometimes too) different APIs in Qt and KDE's libraries. We're back to the application development focus we had grown in the 3.x days but with renewed vigor and certainly a new sensitivity towards beauty and usability that is pairing up with our striving for powerful applications very well.

Behind The Scenes, The Scene Was Good



Behind the scenes things went very well, too. KDE e.V., the legal organization and non-profit advocate for the KDE community at large, saw new board members, a full time employee, an office move to Berlin, renewed agreements around Qt with Nokia, a new Fiduciary Licensing Agreement that contributors can elect to engage and more developer sprints and trade show events than you could shake a stick at. The processes in general improved and streamlined, and given the efforts in 2009 I have great hopes for KDE e.V. in 2010. New members streamed in to the e.V., just as KDE made nearly one new svn account per day.

KDE e.V. was also instrumental in making it possible to co-locate the KDE annual world event, Akademy, with the GNOME event GUADEC in 2009. According to surveys done of those who attended, this was a great success. In 2010, we're back to separate events, but we now know that should we wish to do so again it can work and work well. 2009 was also the first installation of a major KDE event for the Americas branded as "Camp KDE". This grew out of the 4.0 release event which was held in the USA, with a set of coordinated events held in tandem around the world, as a way to grow KDE's visible presence in the US. After 2009's successful Camp KDE in Jamaica, Camp KDE is visiting California again this month for the 2010 installment.

The promotional crew grew as well. The numbers increased and the coordination stepped up more than a few notches. The branding clarifications we started on two years ago as a sort of quiet "skunk works" project emerged, gained clarity and was implemented. This was hugely important as a step towards properly positioning what KDE is and what it is we do, both so that we understand that ourselves more clearly and so that we can communicate it clearly to the outside world. Besides the branding, the promotional group has done an outstanding job with announcements, original articles and press coordination. 2009 may just be the best year we've had in this regard.

The system administration team also grew with increased transparency and processes that were easier to find out about and engage in. There's even a form on Techbase to request an svn account and a nice form on bugs.kde.org to make sys admin requests.

Techbase and Userbase also grew significantly with your help. More content and ever growing usage has really helped to validate the wiki based strategy. Such community based efforts have been successful elsewhere in KDE as well, such as the absolutely amazing work the KDE Bug Squad did in 2009 (and is already continuing on in 2010 with the first Bug Days of 2010 coming up this month).

These processes, organizations and systems are helping us not just endure the growing pains of a project that is growing in every metric but allowing us to thrive as we do so. Growth is a very difficult thing to manage and without these processes our growth could very well have been the demise of the project.

Is That All?



In a year where KDE made two releases of the Software Compilation, dozens of other software project releases, grew our organizational support footprint and managed to have a good time doing it, it can be a bit overwhelming to try and keep up with it all. In fact, it's gotten pretty well impossible to keep up with what everyone is doing all the time. When I joined KDE it was a reasonable sized village, the kind of place where everyone knew everyone else. It was already growing by then, but it was not the small city it has become today. This blog entry has grown very, very long and still it only captures a portion of what transpired for us in 2009. These are exciting times.

I didn't write this just so we can boast about what we've accomplished, however. It is important for us to know where we've been so we can know where we are going. It is important that we share that story with others so they can appreciate what it is we're up to, and maybe even join us in moving it all to the next step. It is important that we keep aware of at least the broad ideas of what we're all doing so that we can continue to wrok to the same general end goals. In a project that is as distributed as KDE, that elevates the individual and the individual teams as KDE does, it is critical for us to keep an eye on the past and the present: through them we can draw the lines that point out our mutual direction.

As a set of directions, 2009 was, by all accounts, pretty stellar. As a year of community, it was awesome. As a software project putting out releases for people to use and appreciate, it was legendary. :)

Here's to a great 2010 to one and all, and a personal hope that we can all find a way to put a bit more of the peace of the beauty we each know within us, innately, into the world around us.

(And on that note ... I do have a "key issues for KDE in 2010" blog entry for later in the week :)

20 comments:

STiAT said...

You must enjoy writing just as much as I enjoy reading :).

Anyway, does ++2009 mean that you've been in 2010 already when we've still been messing with the old year?

Aaron J. Seigo said...

i am a robot from the future, or something like that. damn time travel messes with the mind. ;)

JohnFlux said...

Yay, you mentioned ksysguard :-D

fthieme said...

Actually the decade is not over, because 2010 is the last year of the first decade. But as we've seen with 2000 no one gets that right... ;)

setec said...

... , Sonnect spellchecking, ...

pun intended? :-)

Nevertheless, great post and many thanks for all the work and dedcation you and all the rest of KDE pour into KDE SC and related projects. It's truly inspiring

best regards
Martin

Damiga said...

So looking ahead to 2010...
Has it been decided that the 4.5 release is going to be strictly a stability release?

mat69 said...

@Damiga I don't think that this would be a good idea.

Aaron has already given a glimpse of what KDE is. KDE is so large. So enforcing everyone to work only on the stability of their projects even if they are already pretty stable would be a bad idea and most likely turn devs away.


Also what you should not forget is that some crashes you have in KDE SC applications have nothing to do with KDE SC itself but are problems in underlying technology, be it libgc, Qt or mistakes by the people downstream like packagers etc.
So with pointing fingers it can happen that one points in the wrong direction without even knowing it.

Sho said...

Just to nitpick: The first stable KDE 4 version of Yakuake (following on from a beta) was released in March 2008 rather than 2009 :).

Damiga said...

@mat69:
http://mail.kde.org/pipermail/plasma-devel/2009-November/008921.html

not my idea.

ezjd said...

Looking forward to your next blog because I keep asking how KDE can really become the desktop for more people from Windows and GNOME.

KDE has all the potentials but making GNOME people changes their desktop is basically the same thing making Windows user switch: how to change their habit.

Maybe distributions have to be the start point. In 2009, openSuse is a good example, however, it has KDE in its root, in another word, KDE just won one distribution that it lost. How about other popular ones?

Aaron J. Seigo said...

@fthieme: hehe.. yes, yes. people are funny that way, though; due to our base 10 counting system, it's nicer to think of decades beginning (and thus also ending) on the x0 years.

@setec: ha! no, that was just a (funny) typo. fixed :)

@Sho: ah, i missed that first release then :/

@Damiga: 4.5 will be a "finishing and polishing" release for the Plasma team (so: libpasma, plasma-desktop, plasma-netbook, krunner and the various plasmoids, dataengines, runners, erc).

this will not relate to all of KDE, however. each team decides what they will focus on, and that's a good thing because different projects/products need different focus points. for Plasma in 4.5, that will be finishing things we've started (which will include a few things we haven't shipped yet, such as Plasmate and Plasma Mobile) and polishing up what has reached "first milestone" status.

i'll blog more about this once 4.4 is out.

@ezjd: honestly, GNOME isn't in our thinking when it comes to user conversion. the longer we try and wrestle over and cannibalize the user base we have on the Linux platform, the less time we'll have growing it. (and that's ignoring the finer points such as the ability for people to run KDE software in other workspaces, so that many "GNOME users" are also "KDE users" right now today and vice versa, making the whole conversation a bit of an odd one, really).

the big question is the other half of what you asked: how do we get people on Windows using as much KDE software as possible? the Mac is another target, but i think there we are best ensuring we don't lose people to the Mac market rather than trying to market to people on Mac right now (though offering KDE software on the Mac platform is a decent idea as we go forward.)

to achieve that, i think we need to do a few things. that ranges from having good Linux distributions to making it easier for people to get KDE sotware on Windows itself (though that doesn't help getting people using a KDE workspace, which is somewhat troubling) to finding new ways to grow the market. when companies/distros like Red Flag are selling millions of units each year with KDE on them via retail channels in S. America and Asia, that's a good hint of how we can do this. we need to find ways to convert more school systems to Free software (and make sure KDE is there), we need to get KDE onto more kinds of computers (such as smart phones and netbooks), etc...

and above all we need software that is innovative, beautiful and fun to use.

then we need to let people know that we have such software and introduce them to our community that revolves around that software and which makes KDE so much more than "just" software.

and that's something you can help with: you can show KDE to people who are good candidates for (e.g. would be well served by) KDE usage and help get them started.

by growing the audience for Free software, we will grow our user base. this is because there are are orders of magnitude more people who don't use free software (modulo Firefox, perhaps) on their desktop computers than do.

maninalift said...

@fthieme no the fist decade just had 9 years in it ;¬) means you can have the big parties on the round years guilt-free

@aaron it doesn't really have anything to do with what base the number system is, the argument would be the same.

Damiga said...

@aaron
>>such as Plasmate and Plasma Mobile

and Plasma-media centre I'm hoping (along with a nice UPnP module). I'm guessing the joint venture with LinuxMCE never really came to fruition?

ezjd said...

@aaron: I should have made my point more clear because I didn't mean to covert people using GNOME who also knows KDE. Because of distribution decision, a lot of Linux newcomers simply dropped Linux as they saw GNOME only, which is really bad for Linux too and even if they stay with Linux and they took for granted that GNOME is default desktop for Linux. What I heard and felt a lot is "KDE looks good" (but so what? it isn't the official one ...)

Maybe it isn't about attracting GNOME user because here in North America, even for an intermediate Linux user might not ever see KDE with his own eyes because of distributions (I do know some).

I really feel some kind of advertisement are required for KDE worldwide (and Linux too).

I wasn't really care about KDE for windows but after disappointed with Thunderbird and others, I happened to find KMail is already available in KDE for Windows, and then I do realize the importance of cross platform KDE. (But I think the footprint is too big, well, I think I already have some comments on your next "issues" blog :P)

Philippe said...

That was an excellent restrospective of 2009. As a long time KDE user (I remember compiling KDE 1.1 on a 486-33 with 8MB RAM) I can say that nothing in all those years had prepared me for the pain of 2008. But the speed of improvement in 2009 was truly amazing. Thank you! And thanks to all the community!

Now I do have a couple of concerns. For a long time now, I have gotten into the habit of synchronizing my home directory among several computers. For backup obviously but also to be able to work on different computers and still have everything I need on all of them at all times. I use a combination of rsync and unison. My concern is that with the use of mysql (akonadi, amarok) and other embedded databases (nepomuk) this easy solution will no longer work. Some thought should be given to that.

The other concern I have is less obvious and not as easy to express. With the 4.x series I see KDE evolving in two directions. The first of course is the pillars and the applications. The other, I think, is that KDE has become or has the potential to become more "fine grained" in terms of how the applications are put together. Plugin usage for example has increased and that should be encouraged. In fact, every app should accept plugins. KIPI is a good example. If I am right, then the trend should be encouraged and made more explicit. If I'm not, then perhaps it's something to think about, particularly for KOffice and Flakes.

Anyway, Happy New Year to KDE. I am sure it's going to be a great year.

Best regards
Philippe

pilat said...

> no the fist decade just had 9 years in it ;¬) means you can have the big parties on the round years guilt-free

There's the big difference. When we say a man is "10 years old", it means that 10 years were already passed, and the man is on his 11th year, actually.

2010th year has just started. Think of it as the Christ is only 2009 full years (too young to say that the first decade has passed";-)

Not mentioned to start any Holy War, btw. ;-)

jengelh said...

++ requires an lvalue. 2009 is not one.

CoolGenie said...

Great article and a wonderful job done from the KDE Team. Thanks!

xenoterracide said...

Committed to the 2000s? since you are comparing it to the 90s I hope that you will soon be committed to this decade? which will likely involve parallelization of many problems. although in some ways I'm already happy with how kde does some of these things... though in others I would love to see a chromium style architecture... hmm... it'd be awesome if each tab everywhere were its own process and I could say drag a konsole tab from konsole to ... kdevelop. although I'm already happy that plasma dieing doesn't kill my desktop and I can restart it.

opendaily said...

I just moved to KDE 4.3.2 from GNOME last November 2009 after only <5 mos using Linux full time.

Love KDE! Great job and will spread the word!