LWN.net Logo

Development

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. ]

Comments (8 posted)

Brief items

Quote of the week

And when you let developers create arbitrarily long identifiers, some of them do crazy things. At work, it all started with

Tools/Java/StringUtilities/StringTransformer.java
Tools/Java/StringUtilities/StringCollectionTransformer.java

which are not too crazy. But they naturally spawned

Tools/Java/StringUtilities/NullRemovalStringCollectionTransformer.java

which is only slightly less insane than Tools/Java/StringUtilities/StringTransformerBackedStringCollectionTransformer.java

Now when you consider the presence of

Tools/Java/StringUtilities/ToLowerCaseStringTransformer.java

it's only natural to create

Tools/Java/StringUtilities/ToLowerCaseStringTransformerBackedStringCollectionTransformer.java

and that, of course, demands the creation of

Tools/Java/StringUtilities/TestToLowerCaseStringTransformerBackedStringCollectionTransformer.java

I'm not kidding! This stuff is for real! Who could make this up?)

P.S. please don't flame Java developers. The poor souls, they really don't know any better. I actually feel sorry for them more than anything.

-- Greg Ward

Comments (12 posted)

Intel open-sources Cilk Plus

Intel has announced that its "Cilk Plus" project is now available as a GCC branch. Essentially, the project is working on extensions to the C and C++ languages to make efficient parallel programming easier. "The product includes three simple keywords and array notations that allow C and C++ developers to quickly make productive use of modern processors that contain both multiple cores and vector units." See the Cilk Plus specification for details.

Comments (11 posted)

Firefox, Thunderbird and SeaMonkey updates

Mozilla has released Firefox 3.6.20, Thunderbird 3.1.12, and SeaMonkey 2.3. These releases fix a number of security issues.

Comments (2 posted)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Some reports from the Desktop Summit (KDE.News)

KDE.News has a set of articles reporting from the recently-concluded 2011 Desktop Summit in Berlin: day 1, day 2, and day 3. "The head of the summit organizing team, Mirko Boehm, closed the conference track of the summit with a review of things we have learned in the last few days. There were too many to list fully, but highlights included the informative copyright assignment panel (and the discovery that at least one panel member sees Firefox and Chrome as wasteful duplication), the news that 30% of Qt developers discover the framework through free software, and even the trials and tribulations of building a toaster from scratch."

Comments (none posted)

GNOME-Designer Jon McCann talks about the future of GNOME3 (der Standard)

Der Standard interviews Jon McCann about GNOME 3 and related topics. "Some of the feedback is certainly valid and we are going to use that to make informed decisions in the GNOME3 cycle - remember we've only had one release so far. In couple of the talks we pointed out that it took us eight, nine years to get to where GNOME2 ended up and we've had like four months of GNOME3. So there are plenty of things we still have to do. There are a lot of holes in our story. People will look at some things and say 'Why is this there? Does this really make sense?'. And in many cases that's because we didn't get to really finish that off. And that will start to fill in, the story will become a little bit more complete as we go through this cycle. I'm not saying that all this people will be completely convinced and that's unfortunate but I think over time people will realize what we are doing has been at least thought through."

Comments (125 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds