Desktop Summit: Plasma Active
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]](https://static.lwn.net/images/2011/ds-kugler-sm.jpg)
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]](https://static.lwn.net/images/2011/ds-contour-sm.png)
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]](https://static.lwn.net/images/2011/ds-martin-jock-sm.jpg)
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 | |
---|---|
Conference | Desktop Summit/2011 |
Posted Aug 18, 2011 8:16 UTC (Thu)
by kragilkragil2 (guest, #76172)
[Link] (7 responses)
People seem to want simple, predictable, fast and well animated UI (as in hiding common pauses with animations).
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).
Posted Aug 18, 2011 9:58 UTC (Thu)
by sebas (guest, #51660)
[Link] (4 responses)
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.
Posted Aug 18, 2011 10:23 UTC (Thu)
by halla (subscriber, #14185)
[Link] (1 responses)
Posted Aug 18, 2011 12:45 UTC (Thu)
by walex (guest, #69836)
[Link]
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.
Posted Aug 18, 2011 10:38 UTC (Thu)
by kragilkragil2 (guest, #76172)
[Link] (1 responses)
Posted Aug 18, 2011 17:47 UTC (Thu)
by sebas (guest, #51660)
[Link]
- 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.
Posted Aug 18, 2011 12:42 UTC (Thu)
by walex (guest, #69836)
[Link] (1 responses)
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.
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.
Desktop Summit: Plasma Active
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)
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.
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
Desktop Summit: Plasma Active
Desktop Summit: Plasma Active
Desktop Summit: Plasma Active
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
Desktop Summit: Plasma Active
Desktop Summit: Plasma Active