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.
AS: Third would be the idea of increased mobility—having multiple devices. FOSS started on the desktop—literally being written on desktops—on top of or below a desk. Now, we don't work only on desktops and laptops, but we run our software on phones and Netbooks. This is a huge shift but also presents new opportunities and opens doors. The best thing is that we're not separating these devices like our competitors are doing. We don't develop a vertical stack on each device like Apple and Microsoft do, with different user interfaces and widgets, effects, layout and everything. We do what the Linux kernel did—one kernel for wristwatches up to big-iron hardware. We're developing a horizontal stack, from mobile devices all the way up to workstations—a device continuum. In part, this is possible because technology got more sophisticated; mobile devices are now more powerful than the average desktop was five years ago. The low end is fully capable of running our desktop stack.
SK: The best thing about these three trends is that they are coming at the same time. They are different but complement each other perfectly. You can have multiple devices with the same software stack, working together over the network and aware of your social context—blending on-line and off-line. Technology-wise, they are separate streams, but they create the compelling user experience for the next ten years.
AS: For example, Nepomuk initially was conceived as the Semantic Web technology. We're currently doing this on the local computer, but we are ready for the Web, storing all the data properly to be shared. This then works with the Open Desktop Initiative, focusing on open and free Web services where you are in control of your own data.
SK: Look at Canonical's Ubuntu One service or the Maemo OpenDesktop work. The services are coming already. The division between computer and the Web will become smaller and smaller—you can connect your on-line life with your local life in an obvious and simple way. Users won't even notice, won't care. Cool stuff.
AS: Many of the most exciting things going on right now have been on our minds for many years. Exploring new ideas is like being in a dark room, looking for a light switch. You stumble around in the dark, bump into things, and when you finally find the light switch, you already have a pretty good idea of the room. Then you see it in full light and really realize its potential. There is no shortcut to that. Ask any researcher—it takes blood, sweat and tears. It is 1% inspiration and 99% perspiration, to use a cliché.
JP: And how about the current desktop, is that still being worked on?
AS: Of course, there is a lot more going on. We are not stepping away from what we initially wanted to do; we're not a ship looking for wind. We are still on track, but growing into new challenges—challenges that inspire people and let us take the next step. We're now at tens of millions of users, but this will be something people will want to use, and it has the potential to bring us to the mainstream.
SK: Well, a question that might come up is “Do we want focus or diversity?” But in free software, you can have both. Some teams work on specific innovations like these, but our community is very diverse in nature, and we do lots of other stuff as well. For example, for the coming releases, the traditional enterprise use cases, like groupware and office, have a lot of resources behind them. Many developers work on digiKam and Gwenview for better photo management, and KDenlive, a great video editing solution. Our educational community is growing like never before, especially lately in Brazil. The KDE games community is working on a whole new framework for 2-D and 3-D games, easily distributable by GetHotNewStuff. So yes, the basics are covered—in the last 180 days, we fixed more than 18,000 bugs! So we're working at the crazy rate of 100 bugs a day!
AS: And, so much is going on all the time. We have a beautiful community here. KDE is currently really a hot spot for innovation. All these developers at meetings and on-line are talking about such cool stuff, the challenge is to tell the world what we're doing. I personally see that as a part of my job, besides writing code—listening to what people are doing and sharing the story!
SK: Our community has been growing a lot lately, and we've actively worked on enabling that. We have a very open community, with little hierarchy and a lot of room for trying new things. This is why we're so innovative, and why it's so much fun. We also spend a lot of energy on retaining people. Over the last few years, we really improved upon the process of turning casual contributors into core contributors. We have a lot of developer sprints, and these work incredibly well. It is a good way of combining the flexibility and diversity of an on-line community with the advantages of being with a bunch of smart people in one room and knowing each other personally. These meetings are good for making great technological strides, but also for community building. We're currently at a rate of one meeting somewhere in the world every 2–3 weeks, besides our two yearly conferences, Camp KDE in the Americas and Akademy in Europe.
JP: So there are major changes and improvements coming to the Free Desktop. But will the average user care about any of those?
AS: Ha. Users surely won't say, “I want to immerse myself in a socially contextual computing experience.” What people will say, however, is, “Hey, I walk into the train station and instead of going to the schedule board, I look at my phone and use the widget that is being broadcast in the building.” If people see it, they will want it and use it. They don't think, “I want the same KDE software I have on my desktop also on my phone”, but they will notice that it works and looks the same, provides the same logical work flow. Our technology simply provides advantages to users—they might have a different language from developers, but they will enjoy it. We have to focus on that. We don't have the luxury of doing pure research; it has to benefit people and be within their reach.
SK: I think if you make these features very easily accessible, users will use them. The best features are noticed only when you take them away. For example, there is window snapping in KWin, a feature we've had since forever. It makes windows a little resistant to overlapping each other, easing the placement of windows—really something users don't notice. But, turn it off, and their windows feel funny. It's hard to place them right. We have hundreds, thousands of such small things, we almost never advertise them. You can't show them in a screencast and barely can explain them in person. But they make a difference; they make your experience just feel better. This is how I would like to integrate these features—in a way nobody notices.
AS: Look at a hot topic right now, search on the desktop. The direction most implementations take is all wrong, really. Our competition thinks of Google, who is searching the Web, going through these billions of documents. You're looking for something, so you fire up the browser, go to this page with a search bar, type something and find it. The needle in a haystack. So this has been brought to the desktop. And do people use it? Not as much as you might think. They still organize files in folders, and use recent documents. You don't do a random search if you have at least a clue of where the file probably is.
SK: The technology has to be built in to applications; there shouldn't be a special “search” dialog. You want to start with what people are doing—who am I, where am I and what do I care about. We discussed this in 2004 when we wanted to get search technology moving in KDE. We wanted implied searches. Say you download photos from your camera, which has geo-tagging. When you fire up Marble (the KDE Desktop Globe), it shows the photos in the spot they were taken. That is intuitive. Compare it with what LinkedIn does—shows you other people you might know and want to connect to in the sidebar. It is unobtrusive, but you notice it when it is useful and use it. You might not have searched for those people by yourself, but LinkedIn helped you find them anyway. Users will not even know they are using it, except that they have this icky feeling their computers are psychic.
JP: But all this comes with disadvantages, right? Like bad performance, privacy and security dangers. What are you doing to combat those issues?
SK: Much of this can even improve in those areas. Caching and using desktop applications makes working with Web content faster. And, you easily can keep data off-line if you want—this is much better when it comes to privacy. Decoupling data and the user interface also makes sure that only controlled code runs locally, so there are less runtime security issues, which are so typical with on-line applications. Add-ons you can download within KDE software can be signed cryptographically to ensure integrity. Most of what Nepomuk does when relating data, it does on your own PC, which makes it much easier to keep your private data private. For many use cases, using on-line services is simply not an option—think about businesses. They can't entrust their data to Google or other on-line services, because of either internal policy or law. Our technology makes it very easy to keep the user in control without giving up on features.
AS: This is the typical innovators' dilemma. You try a new, promising thing that has never been done, and you instantly discover that despite good intentions, it doesn't work very well in practice. It is buggy, slow, hard to use. Why? Because it is new! Nepomuk, for example, is now at its third storage back end. The first one was functional, but insanely slow and resource-intensive. No kidding, it was a research project. The question the first incarnation answered was “Can we do this?”, not “Does it work well?” Currently, we use Virtuoso, which represents a huge improvement. And now Nepomuk is becoming production-ready; individual application developers are starting to create production-ready code, integrating the features. We knew years ago that contextual computing was possible, but would it work in real life? I believe in the ingenuity of people and of our community. Nothing about this is fundamentally impossible. Even now, being so new, it works surprisingly well on today's laptops and even Netbooks. We still have to migrate it down to mobile devices—of course, that's a challenge. Luckily, work is going on in that area, and as a backup, we always have the cloud. If a local computer doesn't have the power to handle it, we can move a part of the resource usage to the big iron on the Web.
JP: And is there commercial interest in all this, are companies getting involved? And, does that work?
SK: There are three areas where KDE is getting commercially very interesting. One would be PIM. This has been the case for years, and it's being used quite a bit in enterprise environments. The KDE groupware suite has been developed with enterprise deployments in mind, and in fact, much of that work has been contributed by companies making money on adapting KDE for corporate use cases. Second, there is KOffice. It's being deployed on the Nokia high-end smartphones right now, and this can go in many more areas. Third, Plasma is seeing commercial interest lately, by device manufacturers, for example.
AS: Well, the more people are involved, the bigger the chance something good comes out of it. This is what makes FOSS work so well. The community is very good at experimenting. In a more traditional environment, where return on investments is key, you have to guess before you invest. It can be very hard to come up with a good idea in such an environment. But we don't guess, we just try. What works, sticks. Bringing in commercial interests is good; it brings in more people, more creativity and different perspectives too. And, they are willing to work on things volunteers might not like—like Bluetooth support. A Nepomuk researcher in France isn't interested in that, but Maemo developers are. The challenge is to integrate it all—research, experimentation and commercial results—in one community. We're doing very well at it, I would say. We have lots of people coming in lately, new commercial ventures, large, entrepreneurial. If we can keep our culture intact, this will lead to great things!
Jos Poortvliet is a leading member of the KDE marketing team and has been promoting KDE at conferences and in writing for the past six years. He is an organizational psychologist by profession, lives in the Netherlands and works as a business consultant at a major financial institution.