Archive for February, 2009

Tokamak II

February 13, 2009

If you’re reading this you’ve most likely already read about Tokamak on some other blog or this excellent article on the dot, but still I like to write something about this experience. It was the first time I went to a kde related meeting and I have to say: it’s great fun. It’s great to have finally met a lot of the plasma devs in person and be able to put a face to those nicknames on irc. I’m now able to confirm that plasma people are in fact nice people with good taste ;), and I felt right at home.

We also had a lot of interesting discussions, not only about important stuff like whether or not mozzarella should be called a cheese (if you’re talking to someone from Italy you really shouldn’t ;)), but also about stuff like improving the system tray, kinetic (new Qt animation framework) and what aspects of plasma are currently weak points.

For the systemtray, we’ve designed a new specification that will hopefully be used in 4.3 and would not only fix the problems with the old spec and it’s inherit inflexibility, it also makes amazing new stuff possible. For example, being able to decide exactly which icons are useful to be displayed at which time, by requiring applications to provide a category and status to the systemtray. We also discussed a better way to display jobs in the systemtray. I’ll be working on implementing grouping support for extenders, so that in the case of the systemtray, all currently running jobs will get summarized in a single progress widget which can be expanded at will to show the individual jobs. Meanwhile, the current icon that shows whether or not any jobs or notifications are displayed in the tray will be changed to actually show activity by being animated. The 4.3 systray will really, really rock.

Besides a lot of discussion, also a lot of code got written. It’s amazing how much more productive you can get when you can ask each other questions face to face as opposed through mail and IRC. I’ve spent quite some time refactoring the way drag&drop was handled with extenders. While the old way allowed for easy live updates of the widget you’re dragging, while you’re dragging it, the new way avoids a bug which is not easy to avoid otherwise, and the code is faster and cleaner. I’m pretty pleased with the result.

Some of the other developers worked on plasmate, a simple editor for creating scripted plasmoids. While a lot of the individual components work for the biggest part, everything still has to be tied together. It’s going to be a very nice way to quickly create your own plasmoid. It will include the kate editor part of course, combined with an embedded preview of the plasmoid you’re working on, an easy way to edit the plasmoid’s metadata, a way to explore and edit the package, browse the api documentation and a way to directly publish your work. All in one nice, minimalistic editor. I think once it’s in usable shape, it will really make it a lot easier for people to start developing plasmoids.

It was also great to see other people using the extender api I created for the summer of code last year. Davide worked on some additions to the calendar so you can show details of a certain date (atm only holidays, but akonadi integration will follow) in an extender, and sebas was using extender in lionmail, a new plasmoid he’s working on which shows your email using akonadi. It’s really nice to see your work being used by other developers. Especially since the more widgets use extenders, the more this feature will shine.

There’s just so much nice stuff in the pipeline for 4.3… I could go on for hours, but I won’t: there still have to be some surprises along the way. While 4.2 focused mainly on restoring functionality of 3.5, 4.3 will mostly see innovative new features, which will make plasma really shine. These are very exciting times.

All in all I really enjoyed Tokamak, and I’m looking forward to the next meeting. 🙂