|
Akademy: Contour and Plasma Active
Contour was a project to create a mobile, touch-friendly user experience
atop Qt and KDE that started in 2010. It eventually became part of the
KDE's Plasma Active effort so Eva Brucherseifer came to Akademy to recount
how and why that came about. She also discussed how the Contour design
process worked, along with the process of integrating Plasma Active with
various device platforms.
Brucherseifer is a longtime KDE community member, going back to the 1990s.
She was elected to the KDE e.V. board in 2002 and served as its president
for three years, which is
what happens "if you talk too much about what should be done". She started
the embedded services company basysKom in 2003 and serves as its managing
director.
Contour's history and goals
In the (northern hemisphere) summer of 2010, there were lots of ideas
floating around that factored into the ideas behind Contour, she said.
Using context and semantic data to provide recommendations for users was
one idea. There was also a lot of talk about the mobile space,
and back then people were anticipating numerous Linux devices to ship with
Qt because
of MeeGo. The idea of "daily use" devices and the
need for an improved user interface to support that use case was another
consideration.
People at basysKom were thinking about these ideas, which led to Contour.
Later in 2010 the project was formed based on Qt and KDE. Contour project
members
wrote a proposal and the project was granted funding by the German
Bundesministerium
für Wirtschaft und Technologie (Federal Ministry of Economics and
Technology). So, basysKom and the German government each funded half of
the project.
The core idea behind Contour is to be "information-centric" rather than
"app-centric" as the iPhone is. The goal was to create a new user paradigm
where context and usage information are used to adapt the device's behavior
to the user and their
needs. A "learning system" would be used to try to derive patterns of use
so that the device could anticipate and facilitate the user's task. There
were ideas on how to do that, she said, but it was unclear if they would work.
For Contour, using KDE's "activities" made sense as a way to group the
information
around specific tasks that users do. By using contexts, such as what time
of day
it is and whether the user is at home or work, the interface can have an
idea of the "things you do at those times". Deriving the usage patterns
will help make it easier for the user, she said.
Contour is a user experience (UX) layer on top of the Plasma shell.
Other UXes are possible, including ones targeted at set-top boxes or
automobiles.
Designing the interface
The Contour interface evolved as the project tried out various ideas.
Brucherseifer put up images of different parts of the interface
(e.g. activity switcher, activity screen) as they changed from the initial
prototype to the final design (which can be seen in her slides
[PDF]). The activity switcher started out as a stacked set
of activities, with a slider to activate the switch. That moved through
a rotating "wheel" of activities that kept the slider to the final version
which kept the wheel idea, but made the activity thumbnails completely
visible and eliminated the slider. The three versions from her slides are
shown at right.
Similarly, the activity screen that shows the files, applications, and
other information associated with an activity went through a number of
iterations. It moved from a tree-like structure to something more like a
standard desktop. When she shows the interface to customers as an example
of what can be done with Qt and QML, "they love it".
There are still more things to do, including an application launcher and a
task switcher. WebKit integration is still lacking, but is needed
because HTML 5 will be important, she said. Private, password-protected
activities are another feature that will be added. Some of these features will
be needed for a real product, but the project couldn't get to all of
them.
In addition to a tablet UX, basysKom created an in-vehicle
infotainment (IVI) UX as an internal project. It took two person-months to
implement, she said, and it still needs some polish. It was done as an
experiment to see how long it would take.
Designing the UXes went through several phases. It started with sketches,
which were then turned into wireframes using Photoshop. Promising versions
were then implemented using QML. Multiple iterations back and forth
between those steps were required, she said.
Getting the code onto devices was challenging. The project started basing
itself on top of MeeGo, because it believed that the two big companies
behind the distribution would make for a stable platform. That didn't work
out, of course, so a switch to Mer was eventually made.
The project "learned a lot" in getting its code running on two different
devices: the WeTab/ExoPC and the Archos G9. There was a need to create binary
RPMs for all of the packages as well as a single binary image that could be
installed onto the devices. Some of those things are not necessarily easy
to accomplish using volunteers in an open community.
Plasma Active
In March 2011, Plasma Active was announced. A
workshop was held in Darmstadt, Germany where basysKom joined forces with
Sebastian Kügler of open-slx and Aaron Seigo of Coherent Theory to create
Plasma Active. Contour was adopted as the "activities and recommendations"
piece of Plasma Active. Several coding sprints were held and two releases
of Plasma Active have been made so far.
There were multiple reasons behind basysKom's decision to contribute Contour to
KDE. The company could have held on to Contour and sold it to customers,
but if it wanted to develop the technology upstream the code needed to be
free. Trying to set up a "joint process" between the community and
companies was another consideration.
Plasma Active is a chance for KDE to succeed in the mobile space,
which also factored into the decision. She (and, by extension, basysKom)
cares about KDE, so it made sense to contribute Contour to the effort.
There were a few challenges that Plasma Active has faced over the last year
or so. The cooperation between the community and companies can be hard at
times. Volunteers often work all day then work on Plasma Active at night,
which can make it hard to hit deadlines. The embedded development process
is "not there yet", she said, and encouraged anyone interested to help out
with that. In addition, desktop technologies are "too large and slow" for
embedded devices; Plasma Active is still too large for many devices.
On the other hand, a lot of things have gone well. There were lots of KDE
frameworks that could be reused, which made it relatively easy and quick to
get something working. It surprised her how quickly things could come
together. The project also produced
highly motivated people; there were basysKom employees who wanted to
continue working on Plasma Active
even after the company needed to scale back its commitment, for example.
Plasma Active is not done yet; what has been produced so far is a "starting
point", Brucherseifer said. There is currently no way to manage multiple
open applications, for example, which is "probably very solvable", but needs
to be done. More automation is needed in creating images for devices and
there is a need for release management and QA as well. Those who are
interested should get an Archos G9 and an image from basysKom to get
started. Support for the WeTab/ExoPC is still available, but those devices
are no longer on the market, so the project is focused on the G9 for now.
An audience member asked about how to get the design process used
by Contour and Plasma Active into KDE. Brucherseifer said that the most
important part is that developers need to be open to suggestions. basysKom
hired two UX people to work on the project, but they "didn't really enjoy
it". The developers had very different opinions from the designers, which
made things difficult at times. There is a need for a different culture
between developers and designers, "if both could give a little bit, it
would be helpful", she said.
At the end of the talk, Brucherseifer demonstrated the interface, including
showing how the recommendation system worked. The UX looks quite usable at
this point, though there are still things to do as she noted. It will be
interesting to see real devices shipped with Plasma Active (such as the Vivaldi tablet) down the road.
[ The author would like to thank KDE e.V. for travel assistance to Tallinn
for Akademy. ]
(Log in to post comments)
|