thinking ahead to 4.5: features or polish?

Aaron J. Seigo aseigo at
Wed Nov 4 00:41:48 CET 2009

hi all ..

i spent some time today thinking about challenges as well as opportunities 
that exist for our little Plasma baby who is growing up at an amazing pace.

just to give you an idea of where we're at in terms of raw code production, 
here are some sloccount counts:

kdelibs: 42,121
runtime: 4,190
workspace: 83,332
addons: 55,792

and we have so many little buds of progress elsewhere too:

kdereview: 8,365
media center components: 6,608
plasmate: 4,518
networkmanager: 27,029
lionmail: 2,009
mobile shell: 1,147

we have been pounding out feature packed release after feature packed release 
and 4.4 will be no different in that regard.

of course, it's not the only way we're growing. were also growing the user 
base as more of our desktop users come online and we start to reach out into 
new areas of the market such as netbooks and phones. we're also growing in 
*dum de dum dum* bug count. right now we have 745 open bug reports, not 
counting wishlist items. that's not as bad as it might sound; it's somewhere 
around one bug per 240 lines of code. but it's still substantial.

as i mentioned at T3, plasma has developed a bit of a rhythm from release to 
release: January brings lots of new features (esp big ones) and some polish, 
July brings lots of polish and some new features (mostly smaller ones).

4.4 will certainly be a big feature release: netbook, remote plasmoids, new 
widget explorer, containment action plugins, lots more javascript in a number 
of places, nepomuk integration .... but what about 4.5?

well, i'm seriously considering putting a moratorium on new features in 4.5 
and instead focusing on making it a polishing release.

when we started out with KDE 4, one of our goals was to create an object of 
desire that people would pick over the "high end competition" such as MacOS. 
we achieved so much towards that goal, and now our biggest sore points are the 
little details.

such a polishing release would consist of:

* completing features that have made it thus far in a "mostly done" state but 
not quite finished

* cataloging and improving families of (mis-)features like this:

* a concentration on killing bugs right from the start of the release cycle

* measuring memory and cpu performance and improving on both

* tightening down our artwork and configuration UIs for consistency and extra 

if we go ahead with this, then our pre-release IRC meetings and T4 would be 
the where we would mark out our targets and decide how to tackle them.

my concerns in such a move are:

* it would destroy people's desire to work on plasma by making it more boring 
and difficult than it currently is with all the emphasis on great new things

* people would ignore this set of goals and work on features anyways, 
splitting our community up and causing some tensions we don't have with our 
"wide open" policy

* we wouldn't have enough to show at the end of it for our users to go "wow" 

if we decide that this is something we would like to take on, we would need to 
make it fun and cool to do this hard work. i'd be sure to share bug count 
stats, performance measurements and track our goals on a regular basis to keep 
us moving. if new people came along with new features or we found we Really, 
Really(tm) needed something (e.g. if we got some kick ass bluetooth work 
donated), we'd have to be flexible enough to allow some of that to happen but 
disciplined enough not to get sidetracked ourselves.

now, i'm still working through all of the implications of this and really 
haven't decided yet whether it's the best of ideas yet. and it would 
absolutely require that the overwhelming majority of our team here would want 
to see this through.

so i put the question to you: what do you think? should we do this? should we 
not? why? why not?

(and just to head off all the "oh yes, please do!" comments from the people on 
the list here who follow the threads but who aren't active contributors to 
some part of plasma: let's keep this discussion to those who are working on 
the code and artwork for now. thanks :)

Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : 

More information about the Plasma-devel mailing list