Applications and workspaces will follow the frameworks - Plasma Active's influence and why the traditional desktop won't be killed by the mobile space
After years of focusing on further improving KDE4 two weeks ago the developers of the free desktop announced the next big step for their project: KDE Frameworks 5.0. But as long-time developer – and Plasma team leader – Aaron Seigo points out in an interview with derStandard.at/web, the source-incompatible changes shall be held to a minimum, making it easy for developers to port their applications. He goes on to explain that Frameworks 5.0 is only the first step and new Applications and Workspace releases are to follow later, talks about Plasma active and further areas of collaboration with the other big free desktop: GNOME.
The interview was conducted by Andreas Proschofsky during this years Desktop Summit in Berlin shortly after announcement of KDE Frameworks 5.0.
derStandard.at: You just announced the move to KDE Frameworks 5.0. So what's the idea behind that?
Aaron Seigo: KDE Frameworks 5 is not so much about new frameworks, it's taking what we currently have and modularize it. It's not a monolithic "you target everything or nothing" it's now a set of frameworks where you can pick and choose what makes sense for you and your application. That's why there is a shift from calling it a platform to calling it "frameworks".
To accomplish that we are modularizing the libraries and are making sure the dependencies between these are very well defined. Before we didn't pay much attention to this, because it was one huge codebase anyway. So you had this unintentional coupling between frameworks and libraries.
Also we will have a larger focus on quality, we are now requiring unit testing for changes to our core libraries.
derStandard.at: At the moment we are only talking about the frameworks. Do you think that something like a KDE Software Compilation (SC) 5 will evolve out of this?
Aaron Seigo: Absolutely. This really is the first step for the 5.0 releases – for our workspaces and applications as well. But we want this to be as non-disruptive as possible to our users and partners. So instead of doing this all at once we are first looking at our foundation. And once we have done our work on the frameworks then we'll start porting – or recompiling – our applications and the workspaces. We try to keep the source-incompatible changes to a minimum, which means application developers won't have to do a huge porting effort. When Qt4 came out this was a huge drain on our resources. So neither Qt nor KDE sees a need to do this again [laughs]. We are very happy where our libraries are now.
derStandard.at: So you are not afraid that another break will scare developers away?
Aaron Seigo: We are paying a lot of attention to avoid that.
derStandard.at: Will KDE SC 5.0 be only about the changes in the framework or do you also want to use this opportunity to rethink the user experience as GNOME did with 3.0?
Aaron Seigo: Those are not things that we want to intertwine too much, our focus right now is on the frameworks. But there will absolutely be KDE Workspaces 5, there will absolutely be 5.x releases of the applications. We are already rethinking the user experience with Plasma Active, and we started on libplasma2 – which is the framework behind the Plasma Workspaces. And libplasma2 has a set of fairly significant changes internally that are really geared towards using QML as the primary and – hopefully in the future – only UI system in the Plasma Workspaces, the Plasma desktop. We feel that QML allows us to do sophisticated and much better looking results much quicker. The design is already setup so that you have a clear separation between data and visualization, so it's very easy for us to adopt this technology. We are also looking to move Qt to OpenGL accelerated rendering.
Aaron Seigo: Long term, yes. There is a significant investment in current application code so I don't think this will change quickly, I mean worldwide we are talking about millions and millions of lines of code. In KDE alone we have 5-6 million lines of code.
derStandard.at: But for new code your developer story is: "Go use QML"?
Aaron Seigo: I wouldn't write complex applications like Krita in QML right now. For simpler applications, for mobile stuff, for things that don't need a large amount of traditional UI it's ready now. And we are working towards a future where you can write stuff like Krita in QML too.
Everything we are doing in Plasma Workspaces is gearing towards QML, although we are not saying we are going to rewrite everything in QML right now. We will eventually, but in the natural cycle of things. We don't need to rush things because all the QWidget stuff will still be available in KDE Frameworks, but new stuff is going to be written in QML.
For what we are doing QML simply is a much better approach. It's faster, it allows us to integrate the workflow of designers, both interaction designers and graphic designers tightly with the actual software developer in a way that is proficient for all three. This is very hard to do in a traditional software development model but QML really provides the tools to go from conceptualization to realization quickly and with high-fidelity results. In the older approach you would have the designer draw something and the developer would work really hard and realize it, but the realization was never quite as good as the mockups. But as we can do prototyping really quickly with QML the graphics designer can just say "That's what I want right there" and as a consequence the realization matches conceptualization nearly 100 percent.
derStandard.at: You've been referring to Plasma Active, could you give us a short outline of what you are aiming at with this?
Aaron Seigo: Sure. Plasma is built around the concept that user interfaces should be built of lots of small components that are reusable and that you put together in different combinations to achieve the results you want. So you get a high degree of code reuse. So we have Plasma Desktop and Plasma Netbook and those are two different user interfaces that share almost all their code with each other but behave quite differently. So we can very inexpensively have two UIs for different form factors.
Plasma Active is the same thing but for consumer electronics. We are initially targeting tablets, so touch is a big section for us. We've started looking on smartphones and set-top boxes are on our radar for next year. Plasma Active is the umbrella project that provides all the pieces necessary to bring our technology to the consumer electronics world. That means everything from an OS image that you can grab, download and start playing with immediately to tools to develop new components and a very compelling, very modern and flexible user experience. As well as attracting and aggregating applications that are also touch friendly and ready for consumer electronics. So we ship with a full office suite, a web browser, games and a mapping software. If a vendor wants to use Plasma Active they actually have a full set of solutions – from top to bottom – they can pick and choose what they want.
derStandard.at: With Plasma Active you are experimenting with new interaction designs, do you think this will flow back into the classic desktop?
Aaron Seigo: We already know it is. In fact on my laptop I've something running that is called Share-Like-Connect. This is the same concept as Facebook Likes or Google's +1-Button except taken out of the little silos of websites and put as a top level feature in your user interface. So when you watch, read or listen to something you just click "share", pick who you want to share that activity with – Twitter, Identi.ca, Facebook – add your optional message – done. Same thing with "like", it allows you to rate, it allows you to bookmark. And "connect" allows you to do things like look up a map from your hotel to the Desktop Summit location and then you can connect that with an activity. This was originally designed for Plasma Active and Contour but the intention is to also use this on the desktop.
All the Nepomuk work around the social semantic desktop that is going into Contour, we are also getting for free on the desktop as well. So while we focus on new areas we almost by accident improve what already exists as well. And this is key because we don't have unlimited resources to apply to such projects.
derStandard.at: In one of the presentations here you mentioned that Plasma Active is one of the first projects you are doing, where you are including a designer from the start. What are the challenges with such a workflow?
Aaron Seigo: It's actually freeing. It means that the people who are software developers don't have to make so many difficult decisions that they don't have the background for. So the developers get to concentrate on what the developers do well. And everyone is happier when what they do comes out nice. So it's rewarding for everyone involved. And it's iterative and that's where what we are doing is really new for free software projects. Usually an interaction designer creates a bunch of concepts and ideas and then he just tells the developer: Do this! In Plasma Active interaction design is done together with the developers. For instance when we talk about how we want to switch activities, we come up with three or four ideas together, so that the designer also knows what's realistic and possible, creates a compelling design, we are implementing that and then she is able to update her tablet right there. Sure: Bigger, more complex designs take longer, but we can take iterations in well under a day from conception to testing. And this is really, really fascinating.
derStandard.at: With Plasma Active you are pushing into a very active and fast moving market. Are you convinced you have a chance against Android and iOS?
Aaron Seigo: Is there demand for something other than iOS? Absolutely – because unless you are Apple you have no choice. So the real question is: In a market with Android is there still appetite? And when you look around what is actually being developed in the market, yes – there are a lot of Android devices. But: There's a lot of non-Android devices too, for example MeeGo is being used on an increasing number of products, like the WeTab in Germany. What we are seeing is that a lot of people are looking for ways to differentiate.
So we have an open development model, it allows you to make changes as you see fit. And we have an emphasis on the whole device spectrum. We don't see everything segmented quite so clearly between tablet, smartphone, set-top boxes – we see it as a continuum. And no one else is really looking at it this way in the market. And it's a fickle market, it's not like the desktop or the server world where once a certain vendor has a lock on the market, it becomes exceptionally difficult to introduce a second or third player. If you look at iOS it has muscled RIM out of the smartphone dominance in just a few years. Android appears and within just three years of actually shipping on phones it is the number one.
There is also not a lot of ways to lock-in the users, which gives vendors the freedom to choose what they want. Users get to their Twitter, they get to their images, they can read their PDFs or E-Books no matter on which OS they are – and that's all they care about. The day of the operating system itself being a lock-in is pretty much gone.
derStandard.at: Doesn't that also mean, that the traditional desktop is losing importance?
Aaron Seigo: It's losing importance in the sense that newspapers have lost importance. Technologies don't replace – they displace, we know this as a fact from history. For instance the newspapers were afraid they are gonna killed by radio, and then TV comes along and everyone is afraid that it's going to replace radio and newspapers. Well – now we have the Internet which eventually will kill them all. [laughs]. And the reality is: That's not going to happen.
The numbers just don't support the "Mobile is killing the desktop" story. The number of laptops and desktop PCs is actually growing as the current IDC studies show. And they are still expecting a growth in the next years, so those devices are not going away. But sure: The desktop will have a different place in the landscape in five or ten years, but this has some advantages too. We are not forced to make it a completely generic device anymore. We can actually start to say: No you should better use a tablet or another touch-based device for that.
Here's what I think the long term trend is: Multiple device and different form factors that all work together. The user will no longer care where an app runs or where the data is stored, because you will have all the data on all devices and move seamlessly between devices. We already do this with Plasma where I can have my media playing on my desktop and I can literally take my controls for it and move them to my N900 and walk away with it. With Plasma Active we want to extend this. So when we are sitting next to each other on a couch and I'm reading something I can just push a button and make this available to you on your own device.
Where the data lives? Some will be remote, some will be local, a lot will be both. For apps some will be running remote, a lot will be running locally. Some will be written in whatever HTML evolves into, but a lot won't be. And users won't care because they won't be able to tell the difference.
derStandard.at: This being a cross-desktop conference. Is there something you can take away from GNOME3, learn from it?
Aaron Seigo: Everybody's efforts inspire others to some extent. This is how most great advances in society have happened in the past. It's not one person sitting in a dark room, it's people working together – or against each other. With GNOME – yeah there's a lot of competition, but it's friendly enough that we want to come together and share things.
To give you an example: In GNOME Shell the clock pops up a calendar when you click on it and it shows you the next few appointments. When I tried out an early build of GNOME shell I thought: That's a really cool idea. And so we added that for Plasma Desktop 4.7. And that's the beauty of it, we can look at each others stuff.
But I mean there are features that I see in Windows 7 that I look at and go "Oh – seriously? We had that for years". In fact in at least one Microsoft patent KDE is listed as prior art. So they are looking at what we do, and we are looking at what they do. There are things in Plasma Desktop that were borrowed from the ideas you can see in proprietary OS's. But we're not trying to mimic other peoples work. It's like with music. As a guitarist you hear an interesting pattern and you use that as an inspiration.
derStandard.at: Are there still areas which could profit from more collaboration?
Aaron Seigo: Upcoming we got things like Frameworks 5 using the "Secret Service"-API which means that both of the primary free software worlds – GTK+/GNOME and Qt/KDE – will be using a single reference implementation for keyrings. So finally you can use Kontact and Firefox, Gwibber and Kopete and you have one single keyring / wallet, where all your secrets are stored. There are few other technologies that we are looking at harmonizing right now.
And we did a lot of that during KDE4: Mimetypes, icon themes, dbus are just some examples. Also Compiz and KWin basically implement each others window manager hints because we want compatibility to make thinks work smoothly everywhere.
(Andreas Proschofsky+, derStandard.at, 25.08.11)