Plasma Active 3 Sprint Ongoing

These days, the Plasma Active team (and a few people new to it) is meeting in Darmstadt, kindly hosted by basysKom to work on Plasma Active. Our topics range from closer integration of social networks and instant messaging to more hardcore topics such as our developer story (Plasma SDK, OBS workflows) and getting to run the thing on more devices, especially working on the system integration for the Spark tablet, that will become available to users in May. The meeting room is still buzzing with people fixing bugs, sharing knowledge, packaging, testing and (in my case, writing a blog).

Two topics that have been pretty important have been integration of social networks into the Plasma Active user experience, our plan here is to use Akonadi for collecting and caching stream from various social network sources, for example Facebook, Twitter, Google+ and others, and using Nepomuk for connecting this data from different sources to people we know. The problem of “Metacontact” (people you actually know, interact with in contrast to addressbook entries / email or IM addresses) seems to be “mostly solved” and in the process of implementation on various sides — KDE PIM, Telepathy, so we can use that as departure point to create a more natural view on your social surroundings. Now, a cunning plan that is well aligned with other components such as PIM (via Kontact Touch) exists, and we can move to the fun part: implementing it. This part will be spearheaded by Martin Klapetek, who has spent a lot of thinking on this topic.

Another important topic is our “Developer Story”. We identified three levels of target “users” for this: App developers of “simple” apps (meaning apps that can be done in pure QML / Plasma Quick and which don’t need C++ parts (we’re extending the possibilities here all the time), more complex apps that use C++ (Kontact Touch, Calligra Active, but also other apps that are being ported to Active UI guidelines and being made touch-friendly). This group will be served by a well-defined process involving ready-made cross-compilation environments in the form of virtual machine images. A third group (and likely the smallest) is the group of system developers. This topic needs a bit of work still, so in the areas where the tools provided by the fantastic Mer project do not suffice, we rely on passing on our knowledge in the traditional way: i.e. catch us on the mailing list or IRC, and we’ll try to help.

A special guest who arrived today is Mer’s Martin Brook, who has been very active in the Active team in the past months already, and who brought Plasma Active to a whole array of devices. It’s wonderful to welcome new people to the community, and it really rocks to see how effortlessly people who never met each other in person, and who come from quite different angle sit down and do great things together.

Active Settings: Modular, embeddable configuration

Plasma Active‘s goal is develop an elegant, Free user experience for the device spectrum, for example touch-based tablets. Active Settings is a modular application hosting configuration user interfaces for apps and the system.

With Plasma Active Two, we released a first version of Active Settings, an app that lets you configure a few key parts of your system, such as time settings, and options for web browsing. Plasma Active Two contains a first stable, but still fairly bare-bones release, with only two modules.

Plasma Active's Time and Date settings

Active Settings provides a one-stop shop for app and system settings, and an interface for developer to ship settings user interfaces with their applications, or extend Active Settings with custom, or vendor-specific modules. Active Settings is a shell that loads, and displays a number of modules, in order to add a module, the app doesn’t need any code changes. This is done using KDE’s plugin system and Plasma packages.

Embeddings settings modules

In order to achieve a higher degree of consistency, settings modules can be loaded both from the settings app, and directly inside applications. This is done using a new set of QML bindings, which provide a settings loader item. This item is designed to lazy-load the settings plugin, so you can avoid touching config files, or loading a complex UI on startup and rather do it when the UI is needed, keeping startup times of your app low.

Plasma Active's Time and Date settings

In the screenshots, you can see the web browser module running in the settings app. I’ve also integrated the settings dialog into the dashboard of the web browser, so you can easily change things while browsing. Settings are synchronized across applications.

Workflow and design

Active Settings modules get loaded into the settings app. Often you will find that embedding these pieces of UI into your app makes the workflow more natural, as it puts things into context, which means you don’t have to switch to another app to change settings, both is possible. One of the reasons we want to share this code between apps and the general settings app is to present a more consistent UI. Along with the work on the guts of Active Settings, Thomas Pfeiffer has started to work on a HIG, human interface guidelines for designing settings dialogs. These guidelines complement the implementation nicely, and will make it easier for developers to write apps that feel naturally integrated into the system.
One thing we’re implementing in Active is instant apply of settings, so you’ll only find those “apply” buttons very rarely (we’re still discussing a few corner cases).
Plasma Active's Time and Date settings Active Settings uses the new Plasma QML Components, providing a standard implementation of the Qt Components API. Plasma Components can appear in different variations, in Active we default to the touch-friendly components. This of course makes it easier to share settings dialogs across devices, as we can provide standard widgets optimized for a given input method, screen form factor, etc..

Writing a settings module

We have now made it very easy to write settings plugins. A new set of QML bindings allow loading and embedding dialogs by providing components for the shell and loading of the modules, and a few pre-made bindings for domain-specific settings (time for example). These bindings allow you to ship a Plasma package containing your QML code, data files, images, etc. with your application, and have it available both in the settings app, and also in your own application. You can write pure QML settings modules, and it is very easy to extend your module with C++ code, which is automatically loaded and can export additional functionality to your QML runtime. These plugins are in principle really light-weight with minimal build dependencies (basically QObject, KPluginFactory and kdelibs’ macros for plugins), so deployment is made rather easy. Even if you’re doing a QML-only app, you can still provide a compiled plugin for the settings with it.

The API is designed to be minimal, the plugins can be very light-weight, as they’re basically exporting QObject-deriven classes to the QML runtime. Of course you can go completely wild here. Plasma packages provide a loading mechanisms for “pieces of UI” written in QML. This mechanism makes it very easy to share parts of the UI across different applications. As these packages do not contain compiled code, they’re architecture independent, small and easy to share and deploy. I’ve described the whole process of writing your own Active Settings module on TechBase, so hop over there if you’re interested in more details.

Those familiar with kdelibs’ classes and frameworks such as KControl, System settings, KCModule will not be surprised that much of this architecture has been inspired by these fine shoulders of giants. :)

Plasma Active Perspective: The User Story

Plasma Active brings a flexible, elegant, activity-driven user experience to a spectrum of devices. This article is part of a series of articles about different perspectives on Plasma Active. This installment looks at the user story, and aims at answering the questions “what does Plasma Active bring me as a user?”, what are the underlying concepts and how do we plan to achieve these goals.

For the user who wants to enjoy the Internet, multimedia and data away from his laptop or desktop, right now choices are rather slim. This means, for example, that you will choose a platform with some sort of critical mass, meaning that your favourite 3rd party apps are available, enough services supported, etc.. A Free software platform has to bring a lot to the table for users: There’s a lot of cool software available, systems such as Plasma Active offer a system without lock-in to a single vendor, but rather being able to take apps across vendors and devices. Plasma Active already comes with a good amount of interesting widgets, new ones are being developed all the time, the development platform is proven to be stable and working in real world use, and it’s easy for 3rd parties to develop and bring support for (even “4th” party) services. Plasma Active extends the Free software ecosystem into user experiences for devices, bringing a critical mass with it.

I personally use Plasma Active almost every day, I prefer the tablet form factor for “light reading”, checking on news, social networks, the blogosphere. For me it’s an ideal “on the couch in the living room” device, although I tend to use it in trains for reading and watching movies as well. With its powerful email client Kontact Touch it allows me quite conveniently read longer email threads. The virtual keyboard works well enough for entering short texts. For longer texts, I usually either plug in a keyboard and put the tablet into a stand, so it feels more like a ‘stationary laptop’.

User experience central

Plasma Active has been designed, from the ground up for the user. Our goal is to create an elegant experience for the user, with as little friction in the UI as possible. The device(s) support the user’s workflow, are ergonomic to use on a given formfactor. The device should get the work done, be fun to use and flexible enough to easily adapt to the user’s wishes and needs. In our development process, this is strongly reflected by the integral role designers play. Usability and interaction engineering is not an afterthought, but the driving force behind the work we do.

Mind-mapped UX

Contour, Plasma Active’s primary workspace uses semantic technologies to represent to the user. On a low level, this means that the user deals with photos, persons rather than .jpg files and email addresses. The semantic layer provides the data abstraction, including files, online resources, but also more abstract things such as locations. The Contour shell uses this information, and melds it with smart algorithms into a mapping for the user. The building blocks of this mindmap of the user’s digital life are activities. Activities are easily created, customized and removed, and you can use them go group similar items, bookmarks, widgets, apps, images, music tracks or videos. Activities allow you to organize all the interesting things you encounter while using your device. The Share Like Connect feature allows you to interact with these activities, so instead of generally bookmarking a website, you can also directly connect it to one of your activities and have it neatly organized among the rest of your digital artifacts.

Where are we going?

Plasma Active devices are interconnected and work together well, as they offer similar functionality across a range of devices. In Plasma Active One we’ve delivered the first bits that will lead to this goal: The Contour shell which gives a stronger connection between the user, his data and network and the device. In future releases, we will enhance Contour to provide more handles and “background support” to the user. Share-Like-Connect’s like and share features provides stronger connections to the (social) network, a perfect feature for the Free Culture community, and one of the strong selling points of Free Software (even if for many people outside the “geek crowd” perhaps not consciously). It will also be used to easily share anything across devices, imagine watching photos in a group, moving an interesting article from your desktop onto your tablet to read it on the couch or on the go, showing your friends on Facebook, Google+ and other social networks your preferences.

Plasma Active Perspectives

Plasma Active brings a flexible, elegant, activity-driven user experience to a spectrum of devices. This article is an overview of a series of blog posts I will be publishing over the coming days about different perspectives, or view points to Plasma Active.

Plasma Active One

As Plasma Active is a new user experience and integrated Free software stack for a range of devices, such as tablets, media centers, smartphones in-vehicle infotainment and $NEXT_POPULAR_FORM_FACTOR (tricorders, communicators, etc.).I will take the opportunity of our first release to explain Plasma Active’s underlying ideas in more detail. A series of blog will each tell the story behind Plasma Active from a different point of view. In the first installment, I’ll shed some light on the app story. We’ll look at Plasma Active’s answer to groupware, office and documents, multimedia and of course the web. In upcoming installments, we will look at Plasma Active’s developer story, its user story, its ODM and hardware story, and possibly more. With each installment, I will update the list below as the articles go online.

Plasma Active Perspectives: The App Story

Plasma Active brings a flexible, elegant, activity-driven user experience to a spectrum of devices. This article is part of a series of articles about different perspectives on Plasma Active. In the first installment, we look at a number of applications that come with Plasma Active. Kontact Touch, Calligra Active, Bangarang and a collection of Active Apps provide a stable and powerful set of functionality, making Plasma Active suitable for personal and professional use cases.

Email & Groupware: Kontact Touch

Kontact Touch's mail in Plasma ActiveIn the area of groupware and email, Plasma Active really shines thanks to Kontact Touch, a mature groupware suite designed specifically for touchscreen interfaces. Kontact Touch has all the features already known from its desktop counterpart, among which a vast variety of connectors to groupware servers, among which Exchange and Kolab. For on-the-go use-cases, Kontact Touch’s offline features are a big win, making it easy to catch up on what happened during offline periods. Kontact Touch’s email client performs really well on the underpowered tablet, even for insanely large mailboxes with tens of thousands of emails. Since Kontact Touch’s underlying data cache, Akonadi also feeds its data into the Nepomuk semantic store, all the groupware data is not locked into an application, but naturally available in Contour, becoming part of your activities.
Kontact Touch supports strong encryptions methods in an audible, open source code-base, satisfying even highly security- and privacy-aware use cases. There is a number of companies offering commercial support and services around Kontact Touch, and its integration in enterprise infrastructure.
Kontact Touch with its touch-friendly ergonomic interface, feature set, scalability, groupware server compatibility and strong contender satisfying unique use-cases for enterprise and institutional use-cases, allowing to organically extend an organisations groupware infrastructure onto new devices.

Office: Calligra Active

Another highlight in Plasma Active is Calligra Active. In Plasma Active One, we ship it as a beta version, with a stable follow-up planned for one of the next releases. The first release of Calligra Active will be a capable, performant document, finger-friendly viewer for tablets that can pan and zoom smoothly and display office documents. Calligra comes with excellent support for OpenDocument and compatibility with many of Microsoft’s office applications such as Word, Excel and Powerpoint.
With its capable engine, which is also part of the office suite on Nokia’s N9 and its touch-friendly user experience specifically built around Plasma Active, Calligra Active fills another important role by adding dependable office capabilities to Plasma Active devices.
Calligra Active builds on top of Plasma Quick and semantic engine, bringing a seamless UX between your activities and documents.

Web: Active Browser

The Active BrowserOne of the most important applications on a device is the web browser. For Plasma Active, we have developed a touch-friendly and lean web browser that builds on top of WebKit for HTML rendering, and the kdewebkit integration for cookies, network and SSL, caching and cookie sharing. Some of its features, such as AdBlock could be re-used from the Rekonq project. It uses the bookmarks from Nepomuk and shares these with the Contour shell. Building a customized web browser for Plasma Active ended up being the way to go after we had looked at alternatives, such as making Rekonq touch-friendly, or using Fennec, since the work to adapt these browsers really well would have been too extensive. Designing the browser from the ground up allows us to have it perfectly integrate with the Contour workspace and the rest of the system (such as sharing login credentials with widgets or other apps). While the Active Browser provides already a basic set of features, it is still a first release, that being a central part of Plasma Active will see further improvements. There are many good things we basically get for Free through Qt Webkit, such as 100% ACID compliance, excellent support for CSS, good performance and stability and a lot of “just works” for many websites around. The Active Browser does not manage bookmarks itself. It rather makes the currently open page known to Share Like Connect, so you can bookmark a page from the top panel — or connect it to your activity and thereby collect links on the go. Keeping multiple pages open and organized is aided by the peek area at the top, where you can find open pages belonging to your current activity.

Multimedia: Bangarang

Bangarang for MultimediaFor all your multimedia needs, we have pre-installed a slightly adapted version of Bangarang. Bangarang comes with an elegant interface, it provides a stable and feature-rich media player. Bangarang also uses the Nepomuk semantic layer as underlying data store, so its knowledge blends in with the Contour workspace and other applications and widgets. Additionally, Bangarang supports retrieving meta data from various online sources, and adds this lyrics, information about artists to your movies and music to your media. This data is transparantly available in the Contour shell as well. The Now Playing widget can be used as widget in your actvity as a remote control, for example for skipping a song, pause, play.

Widgets: Plasma

Bangarang and the Now Playing widget show nicely, how the Activities in the Contour workspace extend and adapt for different use cases. Media can be controlled directly from the activity (more useful for music) or viewed and managed in a fullscreen app. The data is not locked into a single application, and neither is the user. Like Now Playing, there are hundreds of useful widgets already available, as many of them can be reused from other Plasma workspaces, such as Plasma Netbook or Plasma Desktop. We have pre-selected a number of useful widgets, such as notes, weather, calendar, clocks (Plasma is, after all about clocks!), and a few fun others. In principle, all Plasma widgets are installable also on Plasma Active. On top of that, with Plasma Quick, we’ve made it very easy to create new widgets, or adapt existing ones — more on that in a later episode.

Traditional Applications

Plasma Active comes with a number of powerful applications. These, roughly fall into three categories: Active apps, touch-friendly apps, and everything else. Since Plasma Active builds on top of a well-known Linux stack, many applications from this “eveything else” group are readily avaiable. Among these a huge number of command-line tools which can be used using the Konsole terminal application which we have adapted for on-screen keyboard input.
Traditional desktop applications do run on Plasma Active as well, but they might or might not be suitable (or fun to use) on touchscreens. In our testing, we’ve seen varied success from simple showstoppers (“press space to start”) to flawlessly working and beautiful applications. Especially many games are well-suitable for Plasma Active, some even a lot more fun, such as KDiamond, Blinken, or . (You can tell, I’m not much of a gamer. :-))
Qt and KDE’s refined, system-wide UI settings allow us to take a few general measures, such as ensuring minimal button sizes, suitable text sizes, etc..

As it’s easy to install all kinds of applications, we categorizes applications in categories to make it easier for the user to find high-quality applications.
Active Apps are applications that are specifically designed or adapted to run in a Plasma Active environment. They work well on a given formfactor, are stable and functional, blend in well with the rest of the system (visually, but also through things like share like connect) and quality-controlled. Examples for Active Apps are the pre-installed webbbrowser, the image viewer, the news reader and of course Kontact Touch, our powerful groupware solution.
Touch-friendly apps are a set of applications we have specifically selected to compensate for functionality we have not yet a Plasma Active app for. These apps might not be super-elegant, but do the job well and fill in important functionality. Konsole and kwrite are good examples here, those have been fixed to work well with an on-screen keyboard. A lot of games fall into the same category, there is a good number that work surprisingly well on a touch-screen (Blinken my four year-old nephew’s favourite, KDiamond is mine).

Third Party applications

Users or device vendors can extend Plasma Actives with more applications. Next to a large number of Free software applications, the Plasma Quick stack allows for development of proprietary applications, as its libaries are available under the LGPL license. This allow vendors to extend Plasma Active with product-specific components, and makes available closed source 3rd party components (such as Flash or Skype) on Plasma Active devices.

Where do we go?

Plasma Active provides a place for application developers to bring their creations to new devices. On top of a proven stack, Plasma Active brings the building blocks for easy creation of user interfaces, and easy deployment on the device. Plasma Quick allows to use high-level scripting languages such as JavaScript and Qt Quick’s QML and adds access to all kinds of data and information to widgets. Plasma Active is not just tied to Plasma Quick applications, but it is an open platform able acting as runtime environment for a number of applications. We are also pro-actively looking at new technologies, such as HTML5 WAC, so we will be able to serve as runtime for these applications as well.

Plasma Active: Crunching towards One

Plasma Active aims at creating a desirable user experience for a spectrum of devices, based on a fully Free software stack, developed in the open. The first release is planned for October. In the following article, you can read about the latest status and recent improvements made.

One our way to our first release (begin of October as it currently looks like), we’re in serious make-it-work mode, crunching bugs left and right and filling in gaps of the workflows we want to suppport in our first release of Plasma Active. As we’re a month away from that, it’s a good point in time to give an update of our progress towards Plasma Active One. So where do we stand today? What has been the progress lately?

An Activity as web launchpad

My overall impression of the state of Plasma Active is very positive. We’ve made some tremendous progress, and are now at a point where we’re confidently calling it a beta. If we continue at this rate, Plasma Active One will be a very interesting first release, and a lot of fun to use. The basic functionality is in place, the focus is shifting from filling in gaps in the UI towards performance and interaction improvements, and bugfixes. In ten days, we’ll be meeting at the Basyskom offices to finish Plasma Active One, plan the release process and communication bits around it and think about what Plasma Active Two will look like.


Contour, our semantic workspace has seen a number of UI flow improvements, better visual hints and ergonomy enhancements. Switching between activities is much faster now, and it has become easier to add Bookmarks and applications launcher to the Contour activities right now, and a few bugs in the wallpaper handling have been fixed. The top panel now drags a lot smoother. Contour feels solid, performs well and really starts to work nicely for every day use cases. I’ve been starting to use the Activities more actively, it serves as a very useful tool, and brings a very innovative concept to the tablet. Most importantly, it adds real value, while not getting in the way. Mad props to basyskom for working with us on this integral part of Plasma Active. The Contour workspace offers resources such as documents, bookmarks and applications), connected to one Activity. As an Activity, you can think of “Planning a trip”, where you’d collect your ticket receipt, bookmarks of the hotel, your reservation) for example. The Contour shell shows those resources, and you can extend this with Plasma widgets which provide additional information, or small apps inside your activities. Activities also serve as launchpad for apps and the webbrowser. On the left, you find the recommendations panel, which are “magically” (based on real science!) provided by the system based on their relevance to the current context. The recommendations are non-intrusive, but turn out to be quite useful during normal usage.

Kwin compositor

We’ve integrated a few performance fixes in KWin now. One fix is especially interesting, as Kwin now skips disabled plugins entirely in its frame rendering cycle. This makes a noticable difference on a desktop system, but it really pays off in Plasma Active, where we’re using only a very limited number of effects.
We have experimental Balsam packages that use OpenGL-ES for the compositor, which fare nicely in my stability tests. Martin has been making kwin a real winner.

Keyboard Improvements

The virtual keyboard now works in more applications, some would not pop up the keyboard when needed, which makes konsole for example pretty tedious to use. Fixes for Kate, Konsole and Calligra have already upstreamed.
Getting at the ‘second layer’ of keys in the keyboard is also much easier now, as double tapping shift acts as ‘lock’ here. There’s also a good bunch of performmance improvements in there, so typing also feels more swift. It’s now also possible to quickly move the keyboard to another screen edge, in case it hides interesting information beneath it. Aaron has been bugsquasher No#1 here.

Webbrowser's history and bookmarks

Web Browser

The Active Webbrowser has seen a bunch of improvements which make it a lot more usable and enjoyable. New features include that opening windows is now fixed. I’ve implemented sharing cookies across the whole system (using KDE’s cookiejar), uses KIO for loading (and caching) the page content, remembers passwords and completes your text input from the browser history and your bookmarks. KDEWebKit makes all this very easy. Marco fixed Flash support, so watching youtube on your Plasma Active tablet is now possible as well, in that area we’ve successfully surpassed the iPad. ;-)
I’ve borrowed the Adblock implementation from Rekonq, so the browsing experience a lot cleaner now, which is especially important on mobile devices where you might be short on bandwidth (blocked ads are not even loaded at all), the screen space is often more limited, and animations used in banners are an unnecessary drain to the battery. The browser is maturing. Features such as Share-Like-Connect extend the web browsing experience naturally to the overall workspace, which also serves as a launchpad for the webbrowser as you can see in the first screenshot. On top of all that goodness, Marco has created a purty icon for the Active browser.

Recent Screencasts

Marco has published an interesting blog with a movie showing Share-Like-Connect, on of the new concepts we’re delivering with Plasma Active.

OGG version

Aaron explains and demoes the overall concepts of Plasma Active and Contour, its semantic workspace.

If you’d like to read up on the general ideas of Plasma Active, our wiki pages provide an excellent starting point. For our German-speaking audience, the Plasma Active section on the open-slx Wiki is a good place to share experiences and ideas.

Personal wishes go out to Maurice, our tireless Meego-Ninja who broke a finger in a bicycle accident, and Fania, Contour chief-design princess who got married.

Plasma Active on OpenGL ES

The past weeks, I’ve been working on getting Kwin, the window manager and compositor in Plasma Active (and Plasma Desktop ;) to work on top of OpenGL ES instead of OpenGL. After some updating of packages lower in the stack, especially Mesa and parts of Xorg, we now have working OpenGL ES support on our hardware. Today, I’ve finished packaging it as an option on top of our Plasma Active packages. These packages in the :Devel subsection of the KDE:Active repository in the OBS run on top of Balsam Professional and openSUSE 11.4. We will give this some more testing and improve a few things, in order to move to GLES by default. OpenGL ES is very interesting as this is an API often used on mobile devices, so I’m glad that I can state that we’re ready for this. This of course needs proper support in the drivers, something we can not always solve by ourselves. I have been running this successfully on two Intel Atom-based tablets.

Contour showing the Froscon activity

All the props of course to to our Akademy-award winning window management and compositing hero, the one and only Martin Grässlin. He’s been working on OpenGL ES support (and a lot of other features to make kwin “ready for the future”) for quite some time already. OpenGL ES support in kwin has been introduced in the recent Plasma Desktop 4.7 release, a few weeks ago.

So, is it much different? Nope, it’s very much a thing of underlying technology. There’s no noticable performance improvement, but it runs stable and well. Given that OpenGL ES support has only very recently been introduced in kwin, it’s already surprisingly good. There is probably still a lot of room for improvement, which is something we can investigate now and easily test much better.


In the screenshot of the Contour shell of Plasma Active, you can see that I’m all set up to go to FrOSCon tomorrow, where I’ll be presenting the ideas and demoing the prototypes, hoping to get some feedback on concepts, and give some understanding of the challenges and opportunities we face in this exciting endeavour. And of course show some serious bling. :) If you’re in the area around Bonn, drop by.

KDE:Active:Devel introduced

The past week, when working on the Mesa packages for Plasma Active, I might have caused some headache since I broke the compositor in Plasma Active with a few packages I uploaded for easier deployment on test devices. It was not more than an annoyance, because kwin gracefully falls back to non-composited mode in case of graphics problems. In order to get a bit more stability into our deployment process, I’ve now set up a subproject called KDE:Active:Devel under the KDE:Active project on the Open Build Service (OBS) which we use to build the Balsam packages. As we’re moving, development-wise into the stabilization phase for Plasma Active One, this makes testing new things a lot easier, just by switching to the same package from the :Devel branch. Conversely, this means that if you install packages from the :Devel subproject, you should really know what you’re doing. On the bright side, it’ll be easier to keep regressions out of the packages that are deployed on most users’ machines. Contour showing the Froscon activity

Along with these changes, I’ve updated all the packages to the latest state of the art, and worked a bit on our documentation, as we keep getting very good feedback about this. Among the most wanted fixes we’ve introduced is a patch by Aaron that makes konsole usable with the virtual keyboard, making another very powerful tool usable on Plasma Active. I’ve also fixed up some default configuration options, polished up the contour packages and made that used by default. (Those who have plasma-tablet-config on their machine will have to replace it with “plasma-contour-config”, though.) This is another pretty big move, as we now basically regard the contour shell stable enough to make it into Plasma Active One. It’s also very, very shiny I must say, the usual disclaimer about alpha software notwithstanding.

OBS makes it rather convenient merging changes back and forth between these branches. In general, my impression is that OBS works very nicely as a collaboration tool, and solves a very complex problem for us, the “how do we get our code onto the device”. As an aside, it also makes it very easy to build packages locally, so for even shorter development-deployment cycles, one can build locally and rsync packages onto the device. With the right kind of script setup, that takes a lot of the pain away, that development for mobile devices often brings with it. The KDE:Active:Devel repo can be used directly by developers to upload their latest sources in order to deploy them to their testing machines, and we can pull working versions in from there. Rocking.

Installing Plasma Active on the ExoPC (“WeTab”)

If you own an ExoPC, and you’re eager to know how to get Plasma Active, our new workspace and set of applications for consumer devices to run on it, this blog article will help you get going.

Note: Plasma Active is in alpha state right now, it is basically usable, but you will find many rough edges. You should not try this unless you consider yourself an early adopter, or if you mind fiddling with bits and pieces. We are working towards an end-user ready product, but we’re not yet there.

Plasma Active

What to pick?

There are a few different options to choose from, I’ll quickly explain which to choose under which circumstances.

  • MeeGo: Works well overall, but is lacking in key areas, for example we do not have a UI to connect to wireless networks yet, and as the device doesn’t have Ethernet (and cables are lame on mobile devices anyway). You can work around this with a trick Marco explains.
    Choose this option if you want to run and develop for MeeGo
  • Balsam Professional: Download the Balsam Professional live images from open-slx. This live image provides a fully functional live system without too much hassle.
    Choose this option if you want to try Plasma Active
  • openSUSE: Install Plasma Active on top of openSUSE 11.4, it uses the Active packages created by open-slx (me, my employer), but is a bit more laborious to install.
    Choose this option if you want to run the full experience on your ExoPC, or track progress and hack on Plasma Active

I will explain here how you can get to a state-of-the-art Plasma Active, using what will eventually become the Tablet Edition of Balsam Professional. Balsam Professional is, unlike openSUSE, focused on end-users and the user experience on consumer-level devices. Balsam Professional is based on openSUSE, so you might well be familiar with many of the tools already.

What you need

  • An ExoPC, or a WeTab
  • An empty USB stick of at least 700MB
  • A USB keyboard and possibly a mouse

Note that the installation is possible to do by keyboard only, but a bit more comfortable if you have a mouse available. As the ExoPC does only have two USB ports, one of which will be occupied by the installation medium for the first part of the setup, you either need a USB hub, or a combined receiver for mouse and keyboard. If you don’t have a mouse or the means to plug one in, don’t worry, it’s not really hard to do. In this case, I’d recommend to install the updated kernel package from the KDE:Active repo as soon as the base installation is done, as that makes the touchscreen work, from that point on, you won’t need a mouse anymore.
The process should take you about two hours, you might get it done quicker, but should be able to get it running within, say, one evening.

Getting started

The following points provide a detailed guide to installing Plasma Active and the Contour shell onto your ExoPC, using openSUSE. This process is also explained on the wiki, check there for the latest updates.

  1. Install openSUSE 11.4: Download this image, Use “dd” to write it to a USB stick, or use the excellent imagewriter tool to handle this for you. after this step, you should have a bootable installation medium in your hands.
  2. Insert the USB stick into your ExoPC, boot it and install openSUSE 11.4 onto the machine. It’s wise to enable auto-login, and possibly the SSH server during the installation, since this makes your life a bit easier later on. You need a keyboard for this.
  3. Set up the repositories for Plasma Active:
    zypper addrepo --refresh \ kr47
    zypper addrepo --refresh \ plasma-active
    zypper modifyrepo --priority 90 plasma-active

    The last line increases the priority (lower value means higher priority) for the Plasma Active packages.

  4. Update your KDE installation to the 4.7 release, this pulls in the dependencies needed for Plasma Active. At this point, you still have a traditional desktop, you now update the KDE stack to the 4.7, and get a few updated packages as well (among them Mesa and a new kernel which is needed to make the touchscreen work and brings much better performance):
    zypper dup

    Accept all vendor changes.

  5. Make sure the 3.0 kernel is installed (“zypper if kernel-desktop”), if not install it with
    zypper in plasma-active:kernel-desktop  plasma-active:kernel-desktop-base
  6. Install Plasma Active packages on top. This will install the contour shell, some apps and configure your system to run Plasma Active, including tweaks to the defaut configuration that make the whole system more touch-friendly and suitable for mobile use cases.
    zypper in plasma-contour-config

    After this step, you have Plasma Active on your system.

  7. Reboot to boot the new kernel, the Active shell will start automatically. If you get a black screen past login, use a keyboard and ALT+F2, “konsole” to get a shell and try starting “plasma-contour” by hand. If the command is not found, as root, do “ln -s /usr/bin/plasma-mobile /usr/bin/plasma-contour”.
  8. Install additional packages, such as Calligra Active (package “calligra-active”) Kontact Touch (package: “kdepim4”) or the kdegames4 suite. Bringing you a nice collection of useful software.
  9. Hop into the #active IRC channel on, tell us about your experiences and help others gettting started as well. =)

On Tuesday at 14:00 UTC and on Friday at 12:00 UTC, we will organize online install fests on #active ( where we can help you with installation issues, and where you can share your experience with others. Of course you’re free to drop by and hang around at any time.