Monday, March 12, 2007

kdelibs checklist

kde4 is a long term process, and 4.0 is just the first whistle stop. the important milestone there is our libraries start to cement and we have a workable desktop that we can start putting into shape. we do have more work ahead of us and with a release schedule being defined, the deadlines are becoming real.

there are classes in kdelibs that sill need to get some love in prep for 4.0. a lot of that is pretty basic stuff, such as:

  • figuring out what to do with kdelibs/kdeui/klanguagebutton.cpp

  • tracking down abuses of bools in the API (hello KIO::NetAccess!) and replacing them with enumerations for readable code

  • making sure no classes have any data members other than the Private* dptr in the public interface

  • getting rid of any inlined methods in public interfaces



some of it isn't as trivial, such as:

  • finishing out changes to kconfig (i know of two sets of work going on there)

  • going over and essentially rewriting large parts of the kde file dialog so it uses qt4/kde4 properly

  • icon loader improvements (so that app devs, such as the amarokers, can rest easily knowing their icons are going to look nice without screwing over those using comprehensive icon sets in the process)

  • nepomuk

  • oxygen style

  • knewstuff2? (plasmagik will be shipping with plasma for 4.0)

  • ... other stuff people are working on ;)



the list is shorter than it was, but it's still longer than short. hopefully we'll punt on as little of this as possible, but i feel it is inevitable some will as it is simply not possible to have everything one could dream of in a given release. there are things that can be added or fixed post-4.0 and so isn't a big deal. and things like nepomuk, even if they do make it in for 4.0 (and that's not a requirement at this point), still won't fully see their potential realized for a few releases as applications tool up to use the new goodies. it'll also take the serious usage that only a stable release sees to really get solid, phonon, decibel, et al to the point of being able to take them for granted much as we do now with many of the technologies that debuted with kde 2.0.

but yeah ... lots of work ahead between now and akademy.

4 comments:

Anonymous said...

Wow - does this mean that Allen's proposal is "official"-ish? Do you think that the "new" libraries such as Solid and Phonon will be able to have their APIs tested sufficiently by the time of the freeze? 25th June sounds incredibly close for a "hard" freeze and doesn't give much time for getting devs porting their apps to KDE4 and thus sanity-checking the APIs and if some APIs are ugly or braindead, we'll be stuck with them for years :(

Still, very interesting to see a detailed roadmap - it makes KDE4 seem that much more real :)

It would be cool to see a Kubuntu repo with very frequently (e.g. at least weekly) SVN builds availabe for beta testing.

Hopefully, the release announcements will belabour the points made in http://www.kdedevelopers.org/node/2600 to prevent disappointment.

Marcel said...

Hmm...not a good feeling, really.

Suddenly Solid and Phonon should be stable? I mean, are they even tested?!

Not much time left for this freeze...

Marcel said...

"going over and essentially rewriting large parts of the kde file dialog so it uses qt4/kde4 properly"

Hmmm....

http://krusader.sourceforge.net/phpBB/viewtopic.php?p=5983

Hopefully KDE4 will finally have a overwrite-dialog that is actually USABLE! *sigh*

Aaron J. Seigo said...

@anonymous:
> does this mean that Allen's proposal is
> "official"-ish

no; it means that we need to do a release soon and some release schedule will end up making it to the light of day. it will probably look a lot like Allen's schedule, but the official-ish nature of it is still being worked on.

> doesn't give much time for getting
> devs porting their apps to KDE4 and
> thus sanity-checking

several 3rd party apps, including complex ones like amarok, have started porting. and we've ported all of the apps in kde's main modules as well, most of which aren't written by the same people who author the api's.

> we'll be stuck with them for years

so we either fix them or live with them. we did lots of both in kde2 and kde3. the libs are actually looking pretty good right now.

@marcel: "Suddenly Solid and Phonon should be stable? I mean, are they even tested?!"

stable enough for a first release, yes. "release early, release often". as for tested, they not only have test suites, we've also ported dozens of apps to the kde4 frameowork including ones that use solid and phonon extensively.

so yes, they have been tested. we don't write libraries in an application vacuum =)

> Hopefully KDE4 will finally have a
> overwrite-dialog that is actually
> USABLE

first i've heard of this problem, to be honest. there's no reason this couldn't happen post-4.0, though it will require someone to do the work. the one in kde3 and kde4 seem to do the job decently.

what's the issue exactly?