The Future of the KDE Free Desktop
We recently sat down with KDE core developers Aaron Seigo and Sebastian Kügler for an interview. Sebastian lives in the Netherlands, works on Plasma and is a board member of the KDE e.V., the legal organization behind the KDE community. Aaron is the lead developer for Plasma and has been involved in the KDE community for more than ten years. He currently lives in Vancouver, Canada. We spoke about the future of the Free Desktop—do the developers look forward, and what do they see if they do?
JP: Is looking forward 3–5 years something you often do when working in free software?
AS: Well, it depends on the scope of things. You can compare this with the board game Go; it has very simple rules. And most of the time, you just look at a small part of the board. But at other times, you have to look at the whole thing: figure out where you're going. Working in free software, we often look no further than the next release. But, we also need to step back once in a while and look five or ten years ahead. We don't have the luxury of pure research, but we can't stick to the immediate future either. Thinking long term helps drive what we do in the short term! Things like the social desktop and the semantic desktop have been in development for many years and still have years to go before you will see them come to fruition. So, maybe not every day, but once in a while I do.
SK: Of course, a lot actually. Years ago, when I became a Plasma developer, I had two goals in mind: improving power management and improving network management. Power management has been solved since our 4.2 release with Powerdevil and the battery widget. We're getting there with the Networkmanager widget; I expect it to be pretty good with 4.4. I feel we're currently close to the perfect traditional desktop, and it's time to go a step further. Focus on a good, integrated user interface for new devices like media centers, Netbooks and phones—devices where the interface is an extension of the device itself. And, look at new use cases—like integration of the Web in the desktop.
JP: So what are the most exciting things you expect to happen within the next five years?
AS: I see three hot items. First, erasing the lines between local content and the network, or freeing the Web from browser, if you will. And, of course, mixing the two, like relating the files you have on your PC with your Facebook contacts, for example.
SK: Indeed, this is what we are working on with Project Silk. The starting point for the browser has been as a way of viewing HTTP pages, a remote document viewer. It became interactive with the arrival of Web applications. Currently, a Web server sends the same Web application to every device. These applications are designed for five-year-old computers: a device with a mouse, keyboard and 800x600 resolution. But in 2010, typical screen sizes vary between high definition and smartphone. We have input devices like touchscreens, on-screen keyboards and more. Those work very differently from the traditional computer. For example, an interface making use of hover won't work without a mouse. Using a single font means it will often be either too small or too big, and scrollbars are impossible to touch on a phone screen. The problem is that the Web server does not know anything about the device you're using. And currently, we're stuck with that because data and service are tied with the user interface, so everybody gets the same, often inadequate Web application. Project Silk decouples front and back ends, and runs the user interface on the client. The client knows its own screen size and resolution, knows what input is available, if it has a motion sensor and so on, so it can interact with the user in a far more friendly way.
An added advantage of using Silky is that working off-line is easier. Of course, we'd love to be on-line 24/7, but that won't happen any time soon. Having good caching and synchronization makes it possible to work faster and better, even without a network.
AS: The second hot item would be social computing. How can we take what we have learned from Web 1.0 and 2.0, like e-mail, BBS, forums and social-networking sites, and make it an integral part of the computing experience. It is about people and letting them connect—and having your computer be aware of you and your connections. Who am I, where am I, what am I doing? These days, we take our PCs with us—think Netbooks, but also smartphones. When you bring them, they should interact with your environment and the people around you.
SK: The social desktop is strongly related to freeing the Web from the browser. We get data from the Web and use it in our social desktop widgets. This also makes it possible to make mashups, remix and combine data from different sources.
Important to making social computing possible is to have applications understand certain concepts like “this is a friend” and “this is a colleague”. This is where the Semantic Desktop, or Nepomuk initiative, comes in. Thanks to Nepomuk, applications can understand each other while talking about complex concepts like relations or tasks. Then, you can start to integrate social data in the desktop—like immediately getting community help from within your application, or contacting developers, or finding people with similar hardware. This makes contributing to and working with the community very easy. With Web 2.0, the Web went from read-only to read-write. The desktop basically still has to take that step. We do that by making our technology more accessible with easier development technologies, such as scripting and having good documentation and development tools. And, we're using mechanisms to let people share content with each other—for example, with our GetHotNewStuff framework. You easily can upload and download content like wallpapers, new game levels or plugins and extensions right from within the application interface. You can rate and comment on it—be a community. In other words, you're turning everyone into contributors by lowering the barrier.