thinking ahead to 4.5: features or polish?

Sebastian Kügler sebas at kde.org
Wed Nov 4 12:30:45 CET 2009


On Wednesday 04 November 2009 00:41:48 Aaron J. Seigo wrote:
[...]
> 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.

Rather than a moratorium on new features, I'd like to have our culture more geared 
towards higher quality. For 4.4, this would mean that we do accept new features, but 
only after very good review. (I'm not saying that our reviews suck, but let's make 
damn sure we don't introduce new bugs.) I think it'd be cool if we just concentrated 
more on getting our stuff polished. During Tokamak, we could do reviews of certain 
aspects of Plasma, based on user's workflows (apparently we'll have a usability lab 
available there), and come up with list of workflows we'd like to improve. (Think of 
"import photos from camera", "start working on project X"... those might touch areas 
outside of plasma as well, but I don't think the user cares -- he shouldn't notice. 
Workflows, workflows, workflows.)

I think indeed that a moratorium on new features would kill off some people's 
motivation and could cause tension. Also, creativity doesn't care about this, so if I 
wake up in the middle of the night with the urge to write the next killer app, that 
should be cool. If everybody sees the core team polishing rather than working on fun 
new features, that'll surely have effect on others as well. (Hopefully not "ah, good, 
they polish so I don't have to.).

So how can we encourage this culture of polish:

- Keep compabitility between 4.4 and 4.5 as long as possible: makes backports and 
  testing easier
- Form small teams that concentrate on making one aspect work really well (think of 
  how Artur and Marco adopted plasma-mid, now plasma-netbook, I think this worked 
  well)
- Post status updates, stats to track our progress
- Discuss sore points (but don't give the peanut gallery a forum) and work towards 
  fixing them

That said, for communication around 4.5, we should go for "we concentrated on polish" 
again:

- we'll need it seeing all the new exciting features going into 4.4, those will 
  surely take some time to settle and become really good
- it communicates that we care about our (potential) users
- it's beneficial for KDE (workspace, apps, platform) as a product

> 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?

As an aside, I noticed my style of development change slightly over the last couple 
of weeks. Where I'd concentrate on a piece of code (say Selkie, Lion Mail, 
NetworkManager, ...) for a while, and then move on, I'm now thinking in specific 
issues, such as "fix mediawikirunner crash, polish code, make it ready for review and 
merge it", "make Selkie demo-able and consistent to the user", "fix layout issues in 
the battery applet". I'm personally thinking if I should keep this style as it works 
well with my day job (it cuts stuff into pieces so I don't get submerged into code 
for weeks at a time, not being able to concentrate on anything else), and it has the 
benefit that I'm moving with my stuff into the right direction, polishing and fixing, 
even if babysteps at a time.

Maybe also a good opportunity to talk about our personal plans for plasma-beyond-4.4, 
mine are, roughly:

- Make Lion Mail production quality, would be nice to have this in Plasma when also 
  Kontact-on-Akonadi arrives
- Finally finish the networkmanager plasmoid
- Silk stuff, a topical "public transport API", GHNS in some components, Selkie

I realise that this only partly fits into "polish, polish, polish", yet I don't quite 
feel like dropping stuff. I'm surely intrigued by the idea of making 4.5 really 
solid, but I think I need a mix of fixing and new development to be a happy coder.

Sorry for the long-ish email, I'll try to be briefer next time ;)
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list