Looking out over the countryside beyond the office windows and I see, finally, the first fingerprints of spring. With the turning of the seasons will come growth and renewal, making Spring perhaps my favorite time of the year.
When looking over the KDE landscape this week I was felt a similar Spring feeling in the air. There are new maintainers for Qt/KDE integration of PolicyKit and KMix. Sebas updated us recently on the huge progress being made for Plasma Workspaces 2, featuring a working shell on top of libplasma2 and QtQuick2. This itself is just a small part of the larger Frameworks 5 effort, and that is receiving more attention such as the recent sprint in Spain that Albert wrote about. Krita continues to amaze, Ingo has made a breakthrough in taming our web presence continuity and there is even work happening on Akregrator!
There were two other happenings this week that were of personal interest.
Bodega Web ClientFirst, was the announcement of the work-in-progress Bodega web client. Bodega is a little node.js server that Zack and I started so we could have a Free software content store. Since then others have pitched in including Marco, Antonis and Giorgos from the Plasma team. We have a C++ client-side library that speaks all the right json for you which we use in the Plasma Active add-ons client and now we have the start of a web client.
This web client is also written using node.js and can be easily run on pretty well any sort of device. Here is a quick screenshot of it running on my laptop:
It currently requires a redis instance in the background to store the session which makes sense for where scalability is required, but this could be made optional fairly easily. Otherwise, it's a simple matter of running `npm update` and starting `node app.js` (or if you prefer: `forever app.js`).
There is a significant implication here: you could pop this simple web app on virtually any sort of device, including ones with no screen attached, connect via your web browser and start browsing and installing content from a given Bodega server. One could also put this on a server to deliver content to machines connecting to it.
Imagine installing add-ons to your wireless router or the media box in the living room via the same interface that you get add-ons for your desktop system or your tablet. That's what we're building, and it's all Free software.
The web client has just begun, and so is not yet feature complete, but it is progressing quickly. The Bodega server is quite functional, but it too could use some feature additions. We're busy working on these things, but always remember that there is a place for you, too! If you have experience with node.js, web development or QML and find this concept exciting, you can find us online in #active on irc.freenode.net and the active at kde.org mailing list.
Plasma Media CenterWe also saw the first release of Plasma Media Center, or PMC, this week.
Why does the world need yet another media center? On the one hand, it doesn't: things like XBMC are quite awesome. On the other hand, we have a specific set of requirements that isn't fulfilled by what was available and there was no realistic way to meet them with what existed without significantly altering them. Expecting other projects to suddenly change everything they were doing to meet our rather specific needs was neither realistic nor, I felt, very nice to ask of these other projects.
Our requirements were:
- A simple and clear, scalable user interface. It needs to work as nicely on a tablet sitting in your hands 40cm from your face as it does on a great big television sitting on the other side of the room.
- Integrate with Plasma workspaces: visually, in configuration and in user interaction patterns.
- Use the same technology infrastructure we do, such as using Nepomuk to populate the media
- Be able to integrate with online services
- Be extensible so thing additional features such as T.V. channel listings can be added.
During this time, there has also been the development of applications that hit a couple of these points very nicely, such as Bangarang
which uses Nepomuk and KDE's libraries. These are primarily "window optimized" and we still need something focused on full-screen and alternative input methods .. which is where PMC comes in.
We want to be able to provide a consistent, full screen, simple media playback and exploration interface across the device spectrum .. and now we can. This will not replace Amarok, Bangarang, Dragon, JuK, ... nor could it without fundamentally adjusting the goals of PMC, which we obviously can't do while keeping to our goals. PMC is for when you want your device to focus on media consumption .. and that's it.
As is typical, PMC does not roll its own media playback but relies on Qt and underlying technologies such as GStreamer for this and it uses QML extensively throughout. I'll be talking more about PMC tonight in this week's episode of The Luminosity of Free Software
, so if you'd like to see it in action and learn about some of the more interesting technical details tune in there.