|
|
Subscribe / Log in / New account

Desktop Summit: Plasma Active

By Jake Edge
August 17, 2011

The KDE project had quite a number of talks at the Desktop Summit—as would be expected—but there was definitely a unifying theme in many of the talks: Plasma Active. This relatively new sub-project is an attempt to build a cross-device interface for tablets, phones, media centers, and other embedded Linux devices. The descriptions and demos look interesting, and Plasma Active seems to break some of the molds that have arisen around how we interact with devices.

[Sebastian Kügler]

Sebastian Kügler gave an overview talk titled "Plasma Active - Conquering the Device Spectrum" that looked at the motivations behind and plans for the project. It grew out of a recognition that there are two main players in the mobile market today, iOS and Android, both of which use parts of the free desktop stack, but not openly. Both are "more or less proprietary", which leaves quite a few people that are not served by either. There are other players (e.g. RIM, WebOS), but those don't really have an ecosystem around them and lack for apps. There is a need, he said, to create a community in the mobile space.

Kügler and others started thinking about what could fill the gap left over by iOS and Android. They wanted a "freedom device" where the user was in control. It would deliver what the user wants, and not what Android or the application wants the user to have. Importantly, it would also be an "elegant and beautiful" interface that would make friends say "I want that", he said. It absolutely "needs to be an open system", without lock-in to a single vendor or service.

The mission statement for the project came out of that thinking: "Create a desirable user experience encompassing a spectrum of devices". A spectrum of devices is important Kügler said because the device landscape is constantly changing. "Yesterday it was smartphones, now it's tablets, I don't know what it will be in the future", he said.

Plasma Active will encompass a complete software stack, which is currently based on MeeGo and openSUSE. That stack will continue to be free-software-based, because "hackability implies a free software stack", he said. The interface needs to be touch-friendly, but many devices and systems today already have that. If that were all that Plasma Active brought to the table, it would "just be another player in the market". It needs, he said, some unique features that make it stand out and make it desirable.

[Contour Shell]

One of those unique features is the Contour shell, which is envisioned as the workspace for Plasma Active. It is activity-centric, not application-centric, he said. It will adapt to the context of what the user is doing, and will try to recommend likely actions based on previous usage.

Another unique feature of the interface is the idea of "Share-Like-Connect", which integrates the social web into Contour. For each type of object, there will be options to share the object with others (e.g. a photo to Flickr, Facebook, or a free service), connect it to the current activity (or another resource), or rate the object. The options will reflect the type of the object (e.g. a file, a contact, a web page URL, etc.), and will be extendable by plugins written in JavaScript or other scripting languages. The idea is to "make hackability accessible to people who don't write C++", Kügler said.

There will also be a set of "nicely integrated apps", some of which will derive from existing KDE applications. So, Calligra Active and Kontact Touch use the existing code bases, while scaling them down and making them touch-friendly. Apps can be written in pure QML, which also helps reduce the barriers. Since it is a normal Linux stack underneath, traditional applications can be run as well, or you can run MeeGo applications, though those applications may not integrate perfectly.

For developers, Plasma Quick provides a way to speed development of applications. It builds on top of Qt Quick (which uses QML) and JavaScript using Plasma as the runtime. It makes app distribution easier as well, because you can write an app, "pop it onto a USB stick, plug it in, and run it". You can also write more traditional C++ applications, and use QML for the user interface, which is the path that Calligra Active has taken, he said.

Integrating with the operating system is where Kügler has been spending much of his time. He has been building Balsam Professional live images for easier installation and testing. Those images are based on openSUSE 11.4, but there is ongoing work on MeeGo both for x86 and ARM, he said.

There are also efforts to get hardware vendors involved. The first step is to make Plasma Active product-ready, he said. The project is "actively interacting with vendors", he said, and there are companies making commercial support available. There is also consulting for integration and development available. A "commercial ecosystem" for application developers is something being worked on as well, he said. The goal is to "get this system into the hands of real users".

Activities

Ivan Čukić dug into Plasma activities in his talk, and he called them "the helpful Big Brother". Essentially activities are used to collect up related applications, files, windows, and other parts of the interface and the user can easily switch between them using the aptly named "activity switcher". With activities, Plasma Active converts the desktop from something that is application-centric to a document-centric workflow.

Underlying activities is Nepomuk, which can "track everything that you do", he said—thus "Big Brother". That data can then be analyzed to determine which are the important documents to the user, which documents go together (because they are often used together), and so on. It is completely based on the usage patterns, rather than the contents of the documents, he said.

That allows things like "favorites" and recently used document lists to be context dependent, so that you "won't get completely useless things in your list", he said. Those lists are also not limited to just documents, but can include all sorts of other objects, like contacts (email, IRC, instant messaging, ...), web pages visited, etc. The lists become activity-specific and can thus provide more relevant information, he said.

The Nepomuk tracking is already present in current versions of KDE, but applications have not yet started reporting information on object usage. There are also multiple back-ends that can be used, including a version of Zeitgeist that pushes its information into Nepomuk. In addition, all of this infrastructure is applicable to both Plasma Workspaces on the desktop and Plasma Active for devices.

More on Plasma Active

[Marco Martin and Fania Jöck]

KDE hacker Marco Martin and interaction designer Fania Jöck shared the stage for another presentation about Plasma Active, but more directly focused on the user experience design and features. Jöck outlined the "big picture", noting that Plasma Active is really an umbrella project that encompasses pieces like Plasma Mobile, Contour, Share/Like/Connect, and active applications.

The model for Plasma Active is to make the system adapt to the user, rather than the normal situation that is the other way around. She likened it to the difference between a supermarket and a restaurant. In a supermarket, you have to search for the things that you need. Whereas, in a restaurant, the waiter will bring you what you need next. Plasma Active is looking to implement the restaurant model on mobile devices.

In the Contour shell, the idea is to take context, patterns, and activities and "squeeze them to give recommendations" to the user, she said. Context is things like geographic location, time, active files and applications, and the current activity. Everyone has different patterns, she said, and Contour will try to track those. Some will get up in the morning and check email and Facebook, but others will have different ways of starting their day—and working throughout it.

Using that information, Contour will (eventually) try to come up with recommendations, which are "propositions for actions that will dynamically change", based on various factors. While the user is at home, the activity switcher will show "relevant things you might do there". While at work or at a university, different activities will be recommended. The "recommendation overlay" will adapt to the current activity and recent action history, she said, but it is all still "a bit theoretical" right now.

After a demo of Contour and Plasma Active, Martin said that "a big part of Contour is data and a smart representation of data". KDE has the existing infrastructure with Nepomuk and the activity manager, and Contour is in some sense a visualization of the data collected.

QML is in a "way more central place" for Plasma Active, as compared to Plasma Workspaces, Martin said. QML manages and lays out the application windows as well as managing the panel and the animations used to switch activities. Though they Plasma Active packages aren't Plasmoids, they fill the same role and are often called "QML Plasmoids", Martin said.

An audience member asked about how activities are created and whether you could do something like tag all of the internet activity for the last five minutes into a new activity. Martin said that new activity creation is a very manual process at this point, but that they would like to detect major changes in what the user is doing and allow the user to define that as a new activity. It may be difficult to do in practice, and he's not sure how much of it can be done semi-automatically.

Conclusion

It's clear from the number of talks on Plasma Active and related projects that the KDE project as a whole is very excited about the possibilities that it brings. The project seems to be taking the right steps to try to build an application ecosystem and to engage hardware makers as well. While many have written off the mobile space as a two-horse race, it is likely to be way too early to make that determination. Once Plasma Active is fully working, and possibly pre-installed on real hardware, it could certainly "become a third player in the mobile space" as is the plan according to Kügler

[ I would like to thank KDE e.V. and the GNOME Foundation for travel assistance to attend the Desktop Summit. ]

Index entries for this article
ConferenceDesktop Summit/2011


to post comments

Desktop Summit: Plasma Active

Posted Aug 18, 2011 8:16 UTC (Thu) by kragilkragil2 (guest, #76172) [Link] (7 responses)

Sure, there are a lot of promises but I don't see the usefullness atm.
Like with KDE4 it was supposed to know in which language I am typing and anotate my downloads with the URLs I downloaded them from. Does it do those thing by now?(Years later)

People seem to want simple, predictable, fast and well animated UI (as in hiding common pauses with animations).
Apple is king there. I personally think that "just" trying to be FOSS iOS wouldn't such a bad goal. QML on Linux with Wayland allows fast and well animated.
I don't see how this UI doesn't look messy and complicated to your average Joe. Getting those "activity" suggestions right will be long and painfull process and may be abandoned halfway.
But I guess KDE is not for starting with something simple and going from there, they need build for a future that may never come.

PS. Before people think that only hate change etc. I love Nokias Swipe-UI. It is super simple, fast, well animated and IMO superior to everything we have atm (minus the apps of course).
We need Nokia to release the code or start an FOSS implementation.
I guess I have code to write now. Bye.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 9:58 UTC (Thu) by sebas (guest, #51660) [Link] (4 responses)

You are right that not all of our frameworks have picked up as well as we had hoped. The text input issue you outline works just fine for me though, in fact I don't remember switching language for spell-checking in ages, I simply stopped thinking about it. Nepomuk had a bit of a slow start, but is increasingly useful, although not used to its full potential yet. So there's surely some work left to do, but the foundations are there -- and let's face it, it's not something simple to do, it's actually quite natural that it takes a while until this kind of technology mature, which I think it has now with our 4.7 release.

From my experience as Plasma Active developer, I was surprised how well the recommendations already worked. A quick example: I was browsing the web, as I do quite often with Active on the tablet lately. When I wanted to go back to a page I had recently read, I thought that we'd really need to implement browser history. Turns out all I was looking for was actually in the recommendations panel -- I was pretty surprised that it already worked that well (sure, for this limited use case, but we're talking alpha here, so cut us some slack :)).

As to the software stack: It wasn't mentioned in the article, but Martin Grässlin, who develops and maintains Kwin, Plasma's window and compositing manager, presented our plans WRT to Wayland and how compositing and the related parts of our graphics stack look like in the future. Moreover, I've just got the graphics stack sorted, so that on my tablet, I'm running the compositing manager on top of OpenGL-ES now. This is part of our plan, of course.

The UI is not done yet, of course. I agree that it looks messy, and it has a fair amount of rough edges right now. This is something we're focusing on right now, basically trying to sort out as many papercuts as we can. The progress of the past week alone is really impressive, so pace-wise, I think we're doing quite fine. Again, it's not done yet, but work in progress. Another important aspect here is that in the design of Contour and Plasma Active, we've worked with professional UI and interaction designers from day one, and I think that also shows in many concepts, big and small. It's still an iterative process, since nobody has done anything like we plan before, but it looks pretty good already.

The interesting parts of Nokia's Swipe UI are all open source (again, after a period of a few months where Nokia had taken this part of the codebase behind closed doors). You can get them from Gitorious, what you are probably looking for is in the Qt components project there. QML makes it pretty easy to implement something like this, as you can see.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 10:23 UTC (Thu) by halla (subscriber, #14185) [Link] (1 responses)

Yes... The impatience with nepomuk is kind of infuriating. It really takes a couple of years before something like that filters down to the applications. It's only this year, for instance, that Krita is integrating with nepomuk for image and resource tagging. But we're very happy with the ease of coding against nepomuk and will probably be using it more and more.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 12:45 UTC (Thu) by walex (guest, #69836) [Link]

«The impatience with nepomuk is kind of infuriating. It really takes a couple of years before something like that filters down to the applications.»

Two years for taking advantage of a major API change is indeed a rather short time; some vital POSIX/Linux API new features have taken a decade to become only somewhat adopted.

I guess that most people think that KDE is a monolithic project with a plan and a wilful management instead of being a somewhat loosely coupled ecosystem where subprojects largely go ahead at their own pace.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 10:38 UTC (Thu) by kragilkragil2 (guest, #76172) [Link] (1 responses)

Thanks for the insightful answer. I guess I have to try KDE SC again this fall.
Regarding Swipe-UI: The development of Qt components seems fairly active, which is great. So what would be the uninteresting parts that you would still have to be implemented? And why isn't Meego using those for their handset release?

Desktop Summit: Plasma Active

Posted Aug 18, 2011 17:47 UTC (Thu) by sebas (guest, #51660) [Link]

Two examples of what we put on top of Qt components, I think those give a good idea of the level of integration with other components we're talking about:

- Dataengines: those are small, specialized data providers for all kinds of data, system information, rss feeds, time, contacts, etc. Those dataengines are represented in Plasma Quick (which is Qt Quick + Plasma additions) as models. These dataengines provider services, which allow job-based call-backs. Of course these dataengines are not specific to Active, and we already have a sizable collection of all kinds of dataproviders. Glue in Plasma Quick makes these available to QML applications in a very intuitive way, meaning that you can just use a standard listview and use such a dataengine as model, either directly, or transformed / filtered / sorted.

- Resourcedelegates: Those are widgets that represent semantic "Things", the idea is basically that you ask the system (Nepomuk) for some kind of information ("search stuff with $foo in it", "give me all Images", "Contacts for the current activity", you name it). The resultset can be of one or more type, you pop this into a listview, and get different listitems, depending on their resourcetype. So a bookmark belonging to a resultset looks different than a contact. This happens entirely transparant to the developer.

You see that this is at a very high level of abstraction. There are more examples which we brought from the first versions of Plasma to QML, so in part Qt components are duplicating functionality that we already have had for quite some time, but on the other hand, the scope is simply different. Wether that's wasteful duplication or useful competition remains to be seen, but we do look at these projects as well, and there's at least exchange of ideas to some degree.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 12:42 UTC (Thu) by walex (guest, #69836) [Link] (1 responses)

«People seem to want simple, predictable, fast and well animated UI»

That may be true, but a lot of sw development is motivated not by what users want, but what programmers think will look good on a portfolio or resume to get a new better job.

That's one of the major pushes for "featuritis" in open source/freedom software projects. Being a "plumber" or "janitor" who maintains a stable application whose author has grown bored with it and who has already reaped the "kudos" for it is not something a lot of people want to invest in; they want to invest in being the authors of new flashy features that look good in their portfolio or resume.

Desktop Summit: Plasma Active

Posted Aug 18, 2011 19:37 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

Much simpler: It is hard and boring to maintain stuff, while it is exciting and fun to play around with new things. No need to factor resumées in.


Copyright © 2011, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds