Its been a fun time at aKademy today. Here are some thoughts going through my head now about it...
QtScript
At Amarok we are big fans of Ruby, since its, well, the best language. However I watched a couple of presentations about QtScript and KJSEmbed today and I have to say JavaScript does make sense for scripting embedded in the application process. It would allow the creation of new GUIs - like say a new sidebar, possibily QGraphicsView stuff - with low overhead. Ruby, python require loading a bunch of new libraries. I'm not sure this is embedding scripts (as opposed to the scripts running in a different process and calling DBus methods) is something we to do, as its somewhat risky, since a screwy script could cause the rest of Amarok to be laggy. Apparently you can have QtScript process other events thing so that it doesn't hang your app entirely, and in Qt 4.4 you will be able to kill scripts. So its worth thinking about.
Shuttleworth's Presentation
This ended up being pretty controversial, which I wasn't expecting. Among a bunch of uncontested good points, about the need for better upstream/downstream integration, getting Linux on the new form-factors (gadgets) and such he suggested that KDE should (excluding big releases like KDE 4) start releasing every 6 months, like Gnome and the Linux Kernel. This would make it easier for distros like Ubuntu to sync with KDE's release cycle supposedly (though [K]Ubuntu is pretty unique in being released so often - other commercial developers aren't so fast and then of course Gentoo only has releases for new install media, though I'd suppose Fedora and OpenSUSE are similar). The advantage would be a million users using your code faster. I think Shuttleworth relied too much on this idea, and not perhaps enough on the software engineering principals that would argue for quick releases. The idea is that features could be developed in branches and dropped in when ready, essentially that trunk would always be in a state to be almost-released.
This was met with a lot of skepticism, at the time I found somewhat amusing - because Amarok itself is on a very quick release cycle. I remember the 1.3.0, 1.3.1, 1.3.2 releases (or about then) we had a new minor feature enhancing release - with some nifty features - every two weeks. In fact Amarok 1.4.5 was released explictly to be in time for Fiesty's release. We do try to release often to get feedback, we even refer to our model as "like the Linux Kernel". I don't think Amarok is unique in extragear in working in this way.
Though maybe I missing Shuttleworth's point some. Release frequently makes sense, thats how you get work done for an app like Amarok. However for kdelibs it is a different story, releasing feature releases for it every six months seems a bit much. I'm also not totally convinced that releasing on a strict 6 month schedule to be in line with Ubuntu releases (and the theoretical distros that would start syncing their releases if KDE were as well) is such a great benefit.
I don't think its totally immodest to suggest that in KDE 3 much of innovation in apps has been coming from extragear. And in my opinion this has really been due to the quick and flexible release cycles that we have. KDE 4 will probably have new systems of tagging the latest stable apps in extragear to make it more explicit that we're part of the KDE desktop - this well help. Really if anything the release cycle of the core of KDE (especially appilcations) is perhaps too regimented, kind of the opposite of what Shuttleworth apparently thought it was. In Shuttleworth's defense it was just one point of 13 that he made.
Strigi
Strigi is a part of KDE 4's long-hoped-for desktop search feature. Strigi itself appears to not be reliant on a daemon and such and allows searching of archives. Perhaps it would make sense for amarokcollectionscanner to use it?
WebKit
WebKit is entering Qt 4.4. It makes sense certainly.
Decibel
Decibel is KDE 4's new framework for contacts, especially as it relates to VoIP and instant messaging. It would be neat to somehow integrate this into Amarok... not sure how.
Etc
In between sessions its been fun discussing Amarok with the other Amarok devs. This was one of the main reasons to come after all. PlaylistBrowser is something we still need to get hashed out more... in depth planning is on hold until Monday really.
The party tonight was a lot of fun, it was supposed to be pizza I think which I wasn't looking forward to greatly (I'm pretty patriotic when it comes to US pizza) but it turned out to yummy hummus, salad and other such vegetarian stuff instead. We spent like 30 minutes trying to find the bar though... it was its opening night and no one had heard of it.
Thanks to this blog goes to my roommate George Wright for generously sharing his Internet.