Today is a historic day for KDE, a community founded 20 years ago. We are celebrating with like-minded communities doing what we do best; discussing and promoting technical achievements with our friendly communities of FSF-E, Qt and VLC. A massive thirteen tracks of talks run concurrently here at the Berlin Conference Centre covering topics from community to debugging to the switch to Qt 6. Dot News can't begin to cover all of them, and many are available on the CCC streaming coverage which already has many talks from today. Here we've picked a few to give some highlights.
David Faure is one of the longest-standing developers of KDE software. Today he wanted to give some history of KDE development as it was done back in KDE 1 days, to see how that links to current community practices. The K in KDE stood for Kool before that was dropped, but who knew the Q in Qt stood for Quasar before that was transformed into Cute. He spoke of the original kfm code which Martin Graesslin said still remained in KWin to support Konqueror as a desktop window. Today it was decided this code could now be removed!
Top Qt hacker and author of qmlbook, Johan Thelin, spoke about Qt in the car industry. Speaking to Dot KDE News before giving the talk, he said he threw away half the slides as marketing, in order to cover stuff which is interesting to open-source coders. He said car industry adoption of open source is hard because changing requirements requires a commercial discussion to work around companies who make some arbitrary specifications from microcontroller-level timing decisions to vague "HTML5 compliance" orders. Ticking the requirements boxes leads to forked or proprietary software. There is also a clash of processes, because everyone comes from waterfall development, are trying to move to agile, but how do you add open source into an environment which needs predictable releases and documentation standards? Qt as an open-source project fulfills these requirements well, compared to other parts of the open source community.
Pradeepto told the inspiring story of KDE India. He wanted to spread the word about KDE but didn't know how, so he invited himself to conferences around India to talk about it and soon found he had no free weekends. He was encouraged when Aaron Seigo visited the country bringing his energy to FOSS.IN. Pradeepto spoke about and showed photos of his other KDE heroes who inspired and encouraged him. Running stalls at computer shows around India, the KDE booths became hacking hubs for free software projects and people. Then he started Conf.kde.in which has run for several years at universities in India and found new heroes, now people from India spreading the word about KDE and our software across India and around the world.
After lunch VDG founder Jens gave the KDE keynote about design and angry nerds. He gave the popular story of people who were designing a DVD burning application for Apple when Steve Jobs walked in to draw a square on a whiteboard for files with a button for burning, throwing away all the work that had already been done! Jens always worries about the desire for designers, because that can be the desire to be bossed around. But geeks and nerds rebel against people who try to boss them around (like Linus' NVidia salute). How best to organise? The VDG isn't bossy and isn't good at it and shouldn't be because they'd lose people quickly. Jens spoke about getting excited and knowing that many devs are scared to get too excited but shouldn't be. He said, "focus on inspiring people to work instead of complaining or ordering." Talk more about the people who make, such as Marco, who is a rock star. Know that criticism is 90% complements and that criticism can hurt. Inspire through action and creation instead of words. Accept dissent, applaud it, and learn to deal with it. Spot the difference between an angry debate and a divisive fist fight. Collaboration is key with whomever. Be happy to fail; it can be magnificent! Was KDE 4.0 something good? He said yes, because we had to do it for each other to support the community.
Plasma maintainer David Edmundson spoke about the last year for our flagship product, Plasma Desktop. He showed a graph of hours use of a desktop which shows that use is not reducing making the desktop as relevant as ever. Linux on the desktop has increased to be 2.5% of all users, which is millions, and any company would be pleased to have that many users. He highlighted the new features in the three releases Plasma has had since the previous Akademy and highlighted the upcoming LTS release of Plasma 5.8. In the last 12 months 194,000 lines of code have changed with 26 commits on average a day by 146 different contributors. Making a desktop like Plasma requires many different skills and knowledge as all the needed components are integrated. For instance, systemd decided to change how suspend in handled when you close a lid, which needs both the old and new use-cases supported. The X session management protocol is so old it predates the Spice Girls but we still get complaints if we try to drop it. We are now trying to support computers with less resources than a few years ago such as an ARM computer which was given free with a magazine, so resources for running a desktop are not necessarily increasing.
David also spoke to a full room about bad Qt Quick coding. Having coded a lot of Plasma 5 and ported many Plasmoiids he has a whole catalogue of poor design decisions. He gave a technical talk which covered a range of problems that are common such as widgets not being sized properly with word wrap.
Bhushan gave an update on Plasma Mobile on which he has been working for the past year. He highlighted the KWin Wayland improvements which had been made for Mobile which will work on Desktop too. There was the release of Kirigami, the toolkit previously known as Plasma Mobile Components. He wants better integration with Plasma Desktop such as having KDE Connect "just work" or Plasma Desktop showing when you plug a phone into a larger display.
Qt's Chief Maintainer and former KDE hacker Lars Knoll gave an update on the state of Qt. There's over 250 active contributors and the latest edition has had half a million downloads directly from their website. He showed graphs of contributors which are about 2/3rds from Qt Company, most of the rest from KDAB, Intel and Audiocodes. He'd welcome more people from other companies and communities. He spoke about the CI system which runs more incrementally than previously but will need some work in the next year to keep it running smoothly. Coming soon is a new configuration system, unified between all platforms and based on Qmake but with JSON as the input. Qt Lite will be way to make a customised version of Qt. What about Qt 6????[sic] Is this year the right time to start? No. One possibility is after Qt 5.11 in 2019? The last release in the Qt 5 series has to be an LTS edition. He doesn't think we have an urgent need to move over. Qt 6 wants to be as source compatible as possible with Qt 5 and probably use C++17. PySide should become part of Qt again, people are working on it again but it requires a lot of work, and the goal is to fully support Python. He says that for Qt 6 we should consider what to move out of Qt Core, because it's big enough. Web Assembly is a new low level virtual machine to run C++ code in a browser. it's being worked on by Google and others and it has a large potential to bring Qt to the web.
To finish the day there were dozens of short lightning talks. Jens gave some rules of bad UI design and hypnotised us with an animation that showed why animations should never last more than 2 seconds. Riccardo (Ruphy) gave an update on WikiToLearn which now has over 800 textbook chapters and expects to have over 1000 by the end of the week.
Tonight, we party in Berlin, including this unique take that VLC team has on playing Pokemon Go. See you for more talks tomorrow, keep an eye on the Live streams.