KDE Frameworks 5 include a number of changes compared to the 4.x series. Which ones do you think will be the most notable for the user and the most important ones for developers and the platform itself?
For the end user, Frameworks 5 does not bring many visible changes. Some of the bigger changes, such as the new backend for semantic search, are already coming to the 4.x releases. This "boringness" is a good thing, as it will allow minimal disruption for those using KDE software. One thing they may notice is that installing individual KDE applications will often pull in a much smaller set of packages than they currently do as dependencies. For developers, the changes are significant. While source compatibility has been retained nearly throughout (a major exception is libplasma, which had a necessary refactoring due to changes in QML with Qt5), the libraries are now well sorted into topical units and have clear dependency chains. Instead of being shipped as one massive collection of code, the individual frameworks are released as separate units. This means that applications will only carry the bare minimum dependencies, making it far easier to developers to take advantage of KDE frameworks. Developers of Qt applications will be able to cherry pick exactly the functionality they want. This is a hugely significant step as it means KDE libraries will have a wider audience and hopefully that will translate into greater participation. Development is currently going at a fantastic pace, and having nice discrete modules makes it a lot easier to get started working on a specific area of the Frameworks.
With Plasma Active 4 there is a workspace available for tablets, but for many devices it is not possible or not easy to replace the installed OS, limiting Plasma Active to a few devices. So far there appears to be only one non-PC device coming natively with KDE Software. Do you think KDE should play a bigger role in the growing markets of mobile and wearable devices, do you think it is even necessary?
It is still unclear if wearables will become a significant area of computing, but phones, tablets and media devices are undeniably a part of every computing now. Even laptops are slowly blurring the lines between the clamshell laptop form factor, tablets and mobility focused devices. To remain relevant in the coming decade, it will be key to have products designed for all of these form factors. Otherwise, we will risk becoming less and less relevant as people expect their devices to work together and be consistent. In fact, I expect that any desktop environment project which does not have a clear device spectrum strategy will be rendered irrelevant by the end of the decade. This is really about KDE's future.
Some immediate efforts such as KDE Connect, which builds a bridge between your Android device and your Plasma desktop, is a good step in that direction. However, being able to run KDE software on your phone, tablet, media box as well as desktops and workstations opens up entirely new possibilities for how they can be used together. Plasma was designed for exactly this from the beginning, so we are well positioned, we just need to execute. What are the obstacles in the way?
There are two major obstacles that I see on a regular basis:
Not many people in the community are interested enough in the idea of getting KDE software on devices to get involved and help make it happen. We do have a great core group of developers who are excited by the possibilities and have put a lot of work into things so far, but more is definitely needed. The second problem is perhaps even harder: relatively few people are willing to purchase a device and flash it with some other operating system. Many devices do not even allow this at all, and others will void your warranty by doing so. Even when there is a will to do this, it is generally harder to get an OS on to a device than it is on your average laptop; there is no "one installable image covers all devices" such as we know from Linux distributions and x86 computers. Each device, which typically use ARM CPUs, needs a complete OS build just for it and drivers are often difficult to find, especially ones that work outside of a stock Android release. The best situation would be to have devices that come with KDE pre-installed, but that takes a level of financial support and commitment that has been hard to come by. Even with that support, it is not easy; but without support it is not possible. These are solvable problems, however, if the community makes it a priority. Given the importance of mobile and other devices have already gained, it would be a very good idea for the community to do so. It is obviously harder for people to get excited about it when supported hardware is not easy to come by.
- community interest
- friendly hardware
Could Intel's new Atom generation solve the driver problems?
If Intel is able to execute successfully on its mobile hardware targets, and can do so at a price that is even remotely competitive with ARM products, this would be a wonderful new world for us. Driver issues would largely disappear and the devices using the Intel platform would likely be interoperable at the hardware level to a far greater degree than typical ARM devices currently are.
What would be necessary to bring KDE SC on mobile devices?
KDE Frameworks and Plasma workspaces already compile and work well on both ARM and Intel based devices. The major work at this point is in three areas:
All of this takes development time as well as funding for devices and, preferably, people to work on it full or part time.
- get open operating systems (e.g. Mer) working on more devices so we can target them more easily
- provide more of the great KDE applications touch-friendly and even living-room (for media center) user interfaces; we've shown that this is possible with things such as Okular, Kontact and Krita Sketch
- continue to refine the core Plasma product, in particular complete a handset UI
There is a possibility to donate to the Improv development, the promising predecessor to a KDE tablet. What were the reasons to raise additional funds not from the usual suspects like Kickstarter or Indigogo?
Both have overhead (taking 7-10% of what is raised) and being on those sites does not guarantee success at all; the challenge has not been so much to have a way for people to donate as it has been to motivate people to support these efforts. As I noted earlier, it does not seem to be a high priority for the community.
How big is the support of the active KDE community in developing software for the mobile device spectrum?
There is a handful of dedicated individuals working on Plasma on devices, and others working on things such as KDE Connect. It needs to grow, however, and so we come back to it being a priority. It needs to be balanced with our focus on laptop and desktop systems, of course, but we are not paying enough time and attention to the device world.
Unfortunately, not so far.
What could or should the community and other entities do?
I can't say what they should do, but I think the entire community could find ways to put at least some resources on device focused development. In Plasma, we did this by making the workspace shell re-usable and modular so that we could produce a great desktop product while sharing nearly all of that work in the device efforts. It is possible to do both.