OCT
12
2012

2012 Randa Report [with updates]

“From the hacking rooms, we hear the whistle of the train as it travels up and down the Matter Valley. Most of us arrived on that train, and soon will be leaving. Another amazing mass KDE sprint is coming to an end, and again a lot has been accomplished.”


Randa Planning   photo by Valorie Zimmerman

In September, several teams met in Randa, Switzerland for the fourth such Sprint Intensive. As expected, there was substantial progress as the teams worked on their individual projects and across projects. The work done at the Randa meetings involves both future-oriented discussions and detailed bug fixing and coding, all done ultimately to delight KDE users.

Each of the project teams—Accessibility (a11y), Plasma, KDE Edu and Multimedia—have provided a synopsis of their accomplishments below. The actual results of their work will appear in future versions of KDE software.

Accessibility

This was the first big KDE meeting for the KDE Accessibility Team. This face-to-face meeting helped team members discuss and understand many complex issues such as the inter-process communication and protocols. We were happy to have a guest, Alejandro Piñeiro from the GNOME Accessibility team.

Peter Grasch and Yash Shah focused on Simon, Amandeep Singh continued polishing his Google Summer of Code project—Focus Tracking in KWin / KMagnifier—and helped out in other areas. José Millán Soto worked on several things to improve the screen-reader experience. Frederik Gladhorn created a new library (QAccessibilityClient) and contributed on several other things as well.

Most of the time was spent fixing issues so that applications work better with the Orca screen reader and KMag. We fixed several crashes and made many small things run smoother. Albert Astals Cid helped make it possible to have translations for qt-at-spi, which will make things a lot better for screen reader users. This also makes adding accessibility features easier for application developers.

In Simon, the AT-SPI (Assistive Technology Service Provider Interface) plugin prototype was completely rewritten using the new QAccessibilityClient library. To keep up with elements on the screen that change rapidly, performance issues across all of Simon’s core infrastructure were addressed, including further optimizing the model caching layer and introducing a more efficient synchronization protocol.

Dozens of bugfixes, a new DBus context condition and more work on face-detection rounded out a very productive week.

Plasma

The Plasma team worked to reach critical mass for creating Plasma2, the successor to the current Plasma framework that builds KDE's Workspaces. The team started by making a list of tasks that ranged from minor issues in the API to design issues that affect almost all Plasma classes. They then got to work, quickly making a big dent into the list, knocking off one task after another. Patches were written, reviewed, revised and committed. Bugs were fixed left and right.

Plasma2 is the next version of the Plasma framework. It employs QML for its user interface (thus simplifying development) and will be extendable through C++, Python, Ruby and other languages that provide Qt bindings. Plasma2 makes it possible to move to OpenGL-based scenegraph rendering, which can be done entirely in graphics hardware. Compared to the current framework, this will provide smoother visuals and significantly less CPU usage. Libplasma2 will also be a lot leaner than its predecessor, resulting in decreased library size on disk and in memory. This will be useful, along with KDE Frameworks 5, in contexts where not all of the KDE Platform is required, making possible wider adoption of KDE technology.

KDE Edu

In preparation for the Randa sprint, some topics for discussion were defined ahead of time. To begin at Randa, the KDE Edu team discussed questions and issues that will guide the path of the project. Face-to-face discussions with other developers were helpful for proposing new features and getting good feedback on them. Several KDE Edu applications got new features. And there were many bug fixes and documentation enhancements. Developers also presented their plans for future versions of their applications. The team worked on plans for how the overall KDE Edu project will go forward under full steam.

Interactions with other teams were helpful, such as the discussions about Plasma Active and other mobile platforms. Work started on an installer for KDE Edu on Windows.

Multimedia


Multimedia Team   photo by Trever Fischer

The KDE Multimedia team took stock of progress and planned for the year ahead. Lots of bug-squashing was done in Phonon-GStreamer—open bugs went from over 45 to less than 8! The Phonon 5 API was designed along with implementation of Qt Quick support for the upcoming release of Phonon 4 and its backends. The KMix 3 rewrite is in progress, and the new Sound Menu will be released in the next major KDE software release.

The Amarok team designed the 2.7+ architecture, which will guide the team into the next big leap into the future—Amarok 3. Now the roadmap is no longer just good ideas, but rather real plans with developers committed to their own timelines. The team put together a fundraising appeal, and updated the Amarok Handbook to 2.6. For more information on Randa Multimedia, see the KDE Community Wiki.

Thank you

Thank you to all of the donors that made this meeting possible. Through the Pledgie fundraising effort, more than 290 people donated €10,180! The meeting was also supported by the Gude Stiftung and the Open Invention Network, Raiffeisenbank Mischabel-Matterhorn, Swiss Open Systems User Group and Brain-Tec. Special thanks to the group of volunteers lead by Mario Fux—the Randa meeting organizer—and his family who took such wonderful care of the KDE hackers.

UPDATES

Also sponsoring the Randa Meetings were stepping stone GmbH, budgetcomputer.ch and Simply simple computers. Newly formed this year, Verein Randa Meeting organized the KDE Randa 2012 Sprints.


Randa 2012 Sprint Teams   photo by Lucas Lira Gomes (click for larger)