New Plasma Active Window Switcher

Last week, Marco and I have integrated a new window switcher into Plasma Active. We had designed and started to implement this rather central component of the shell during the Tokamak sprint a couple of weeks ago, now it finally made its way into Active, so you can update your system to the latest packages and enjoy it. (In order for it to work correctly, you’ll have to delete your plasma-tablet-appletsrc file, as we do not update these automatically at this stage of development). The new window switcher works very well, and is quite snazzy on top of that. It also contains an application launcher! I’ve recorded a small demo video showing these new features.

Window Strip

The idea is to have a non-modal interface, which means that the window switcher does not block, but allows to interact with other applications that are currently in focus. For this, we use a panel which can be dragged down partly or completely from the top, revealing a strip of windows that is horizontally flickable with the finger. This way, it works for only a few windows, but also scales quite well for those that want to have more apps open at the same time.

The implementation is a bit hacky, but only in the background. It is in fact a combination of QML and KWin’s compositing effects. We are basically catching move events, "polishing" these into a more straight stream of events which we then pass to KWin, asking the window manager to paint thumbnails of the windows at a given position. While we didn’t know if it would work at all when we came up with this design, luckily it turned out to be nice and very usable.

App Launcher

The new panel also has an app launcher, which allows you to launch an app. As the user might potentially have lots of apps installed, there’s a "tag cloud" which lists categories of apps (you tap on one and it shows only apps in the category), and a search field you can use to find apps. (There’s a theming problem which affects readability in the tag cloud, we’ll fix that shortly.) As the number of apps available might not fit into the available screen space, you can flick the apps grid horizontally to reveal more apps.

These features have already been merged into the KDE:Active packages on the Open Build Service, and you’ll be able to try them on your device with the next Balsam Professional Live image.

What do you think about these new pieces in the UI?

Plasma Active Updates

During the past weeks, we’ve been kind of silent around Plasma Active. This doesn’t mean we’ve just been sitting on our lazy bums, but that we’ve poured a lot of work into various aspects of the Plasma Active user experience. Let me details these changes to give you some idea of where we are. But first off, …

What is Plasma Active?

Plasma Active shell with widgetsPlasma Active is a KDE project building a touch-friendly user experience for the device spectrum. You can compare it to the KDE Software Compilation, Plasma Active provides a workspace and applications. The first focused target devices are tablets, such as the ExoPC, also known as WeTab. Plasma Active builds on top of KDE frameworks such as the Plasma libraries and the Nepomuk Semantic Desktop, offering a touch-friendly interface taylored to use-cases of the specific device. Components of Plasma Active are re-usable across different devices, bringing many well-known apps to new devices. The user interface used on a specific device can differ across devices, making sure it fits the devices characteristics and use-cases.

How is Plasma Active developed?

Plasma Active is fully community-developed and builds on existing KDE frameworks. Re-using technologies such as Plasma, we already have quite some usefl apps to run on Plasma Active, more apps are relatively easy to write or to port to Plasma Active. (I’ll explain more about this in a later blog.) One very nice thing is that Plasma Active by design is “ultimately hackable”, it uses components that many people know already, many aspects of the system can even be directly changed on the device by opening it’s QML files with the description of the user interfaces.
Plasma Active’s development happens in KDE’s Git infrastructure, communication can be followed on the mailinglist, our IRC channel (#active on is welcoming and open for everyone. This doesn’t mean that there’s no commercial investment in Plasma Active, or that it’s impossible to participate in Plasma Active as a commercially interested partner, it’s just that the foundation is in the hands of a Free software project — KDE — leveling the playing field for everybody else. Two good examples for commercial partners in Plasma Active are basysKom and open-slx. BasysKom contributes design and development effort into the Contour shell, which forms the basic workspace for Plasma Active. open-slx (my employer :)) invests into development of Plasma Active core components, system integration, packaging, testing and deployment. As such, we continously work on turning Plasma Active from Git Repo into something end-user ready — which is also our mission, we want to bring Plasma Active to the masses. For this, we’re releasing regularly updated Live Images of Balsam Professional running Plasma Active, and we’re working hard on making these images also installable. You can test those images in a virtual machine (you’ll want one that supports composited graphics, such as Virtual Box), or directly on the device. The Balsam Professional Live Image boots out of the box on the ExoPC / WeTab, and we’re working on support for more diverse hardware.

To keep track of our different focus points, we’ve created a map of the different “tracks” we follow with our development.

Where is Plasma Active Today?

System-wise, the current status is that we have a bootable live image (Balsam Professional) with a touch-friendly shell, a bunch of apps that can be used. Boot performance is a bit on the slow side right now (but improving, there are some changes to the boot process planned), runtime performance is pretty good already, as you can see in the videos that we’ve posted already. At open-slx we are working on refining the image in terms of preconfiguration, performance and so on. We’re also quite close to making the image installable, so you can easily install it once (as dualboot on your device, if you wish) and then keep tracking Plasma Active development just by updating your packages regularly.

During the Meego conference in San Francisco, basysKom demoed parts of Plasma Active and the Contour shell. A video has been recorded which gives a good idea of which direction we’re going:

On the software side, we’re working on a bunch of different things

  • Resource visualization: As we’re using Nepomuk as the underlying data structure, we’ve implemented data-driven widgets that represent “Things” in the Nepomuk store. These can be local files, online resources, but also abstract things like tags, for example. These “Resource delegates” as we call them form basic building blocks of your assets in Plasma Active.
  • Web-browser and web-integration: As “The Web” is one of the most important use-cases for Plasma Active, we’re spending quite some time now on making this work really well. After shopping around, we decided that our best bet on the web-browser would be a touch-friendly version of Rekonq, using QML. We’ve already made some progress towards that direction, but we’re not there yet.
  • Share-Like-Connect: Share-Like-Connect will bring ubiquitous (just *had* to use this word once ;)) social networking and sharing to Plasma Active. I’ll not go into details here since this topic is way too awesome, so we’ll dedicate a separate post to it.

From my personal point of view as a user, I must say that Plasma Active is becoming a rock star. It’s already quite usable for surfing the web, reading news or email. It is not stable software yet, more comparable to an Alpha state (there are quite some bugs left to be squished, and it’s not feature complete). Our progress is very noticeable, however, which is promising for our first targeted released end of September.

More info…

If you’d like to know more about Plasma Active, or follow its development, the following resources are interesting:

There is no KDE5

…and in retrospect, adding to the confusion, there is not even a KDE4. *cue puzzled faces*

Let me explain this. About 1.5 years ago, we’ve repositioned the brand “KDE” to reflect how our community is structured. In short, KDE is the community (unversioned :-)), the workspaces are called Plasma Desktop, Plasma Netbook, etc. Then we have the KDE development platform. In the future we will be referring to these as the KDE Frameworks, since that communicates more accurately the results of the ongoing process of modularisation. And then we have of course the KDE Applications, which all have their own names or brands.

In essence, this means there is no KDE 5, and there will never be. During the sprint here in Randa, we’ve spent a lot of thinking about the future of the KDE Frameworks, and we will be forthcoming with plans to further modularize these frameworks, which consist of what’s currently found in the kdelibs, kdesupport, kdepimlibs, kde-runtime and kdepim-runtime modules. We’re already working on turning our meeting notes, minutes and results into something digestable and understandable, so stay tuned.

Random Randa Rumours

  • David Faure really is a great musician, he’s proven his jazz skills on the piano, some people recorded videos as proof
  • I seem to have brought chocolate with bacon in it, I haven’t seen it, but I’m sure Sune would totally love it
  • The mountains around us are suspectedly piles of gold and money from organized crime all over the world, covered under a thin layer of rocks. Need a shovel.
  • Swisscom has sponsored swiss army knives. I’ve seen some Swiss soldiers carrying automatic rifles. Shouldn’t we get those to be closer in touch with reality?
  • I think the pittoresque houses here in the valley are all fake. The cake is a lie.
  • I seem to be beating people in my sleep. But not every night, and the bruises to proof it are elusive
  • I now know how to properly pronounce steveire’s nickname
  • Kevin are schizophrenic, even if they deny it
  • The vending machine at Randa’s small train station has condoms and pregnancy test right next to each other, the latter probably paying respect to the area being very katholic, props for offering condoms, however.
  • I’m seeing certain KDE hackers more often than my own mother. They should take their responsiblity and breast-feed me.
  • The weather here changes rapidly, one day you get snow, the next day you can go in t-shirt wearing sunglasses.
  • Ryan Lortie is still one of my favourite GNOMies, props to him for attending Platform 11 and giving valuable input.
  • Coffee is not optional.
  • Cornelius still leads the funny t-shirt contest.

Kollaboration in at Platform 11

(What? We’re back to tacky K-Names? Don’t worry, just using the K to reminisce us of our roots. :-)) The Platform 11 sprint in Randa is now in full swing, while relatively little code is being written by the 24-ish people here (and the occasional visitors from one of the other 3.5 sprints happening in the same building, at the same time), we’re very, very busy. It’s basically work until collapse, sleep and start again. Kevin is applying his kanban magic to manage the sprint and get everybody focused and synched. Kanban Magic means that we’re using a wall and a lot of post-it notes with tasks and topics on them, and we move those post its through different stages indicated by swimming lanes on the wall, froom waiting through design, review to done. The first note has just passed the review stage and is now in done state: our first accomplishment. :-)

Northbound view from our house in Randa -- even a crappy cellphone camera cannot ruin the stunning viewAs we’re working on issues central to how we all (KDE and Qt hackers) develop, I’m sure you’re impatiently waiting for results to pour onto the Internet. While our first focus is on personal interaction and using the facetime and “high personal bandwidth” to solve hard problems, you can get at least an overall impression of the direction of our work, as we’re tracking our results on the wiki.

What is really good and healthy to see is the number of different stakeholders (sometimes represented by the same person wearing multiple hats). This way we can make ‘reasonably sure’ that we take different point of views into account, and find solutions that work for us all. One might expect that this results in endless discussions, but in practise, most of us are on the same page, and where we’re not, we’re taking the time to sync up and see how much common ground we have, and how we can take advantage of that. There are people from up and downstream, from subcommmunities and companies, and people that all have different stakes in the KDE platforms and frameworks.

A big thanks goes to those who made this sprint possible: first of course to all the participants who are focused, motivated and working hard to produce good results. Then of course to Mario and his excellent team of volunteers who make sure we’re fed, warm, safe and taken care of. There is a number of sponsors without which this sprint would not have been possible, those are the Raiffeisen bank, Swisscom and openSUSE who generously chipped in to get us all together for a focused meeting to improve our foundations. Thanks to you all! We are certainly justifying the energy, passion and resources made available to us by working very hard to produce good results!

Platform11 et al kicking off

Plasma Mobile Becomes Plasma Snowmobile

As has been clear from the past days’ blogposts on Planet KDE, the 2011 Randa sprints are kicking off here in the Wallis in southern Switzerland. Surprisingly, it snowed last night, and as we’re at an altitude of 1400m, it’s sticking around for a while. Those that arrive during the afternoon will be in for a snowballfight, I guess. I’ve also made sure the Free beer (new label!) is still tasty, and that the Suisse version of croissants (Kipferl) doesn’t bear any surprises. My train-ride here was calm, I could get a good couple of hours of sleep on the train that got me here during the past night, and enjoyed the massive mountains (which hide in the cloud) already. It’s slightly weird to see snow at the beginning of June, and I’m sure we’re in for a bunch of “WTF?!?” as more people arrive over the course of today. Mario has already posted some photos, just as quick impression.