Tag Archives: tablet

Active three


Today we have a new release of Plasma Active: quite some time passed since the last release last year.

OGG version


Plasma Active 3 has several new applications out of the box, to reinforce the philosophy of “useful by default”.

  • Add Ons: an add ons store, where both the client and the server side are free software: right now are available a collection of wallpapers and all the thousands of ebooks from Gutemberg. Different kinds of content like more books and apps will come shortly.
  • Advanced file management: in mobile devices often the files are walled behind the single applications or cloud services: while is fine to have also that possibility, you should be more in control of your files. Plasma Active by default comes with an advanced file manager that lets you manage your files with timelines, tags and other advanced semantic features (thanks, Nepomuk πŸ˜‰
  • Alarms: not much to say here, it was a must for a mobile device πŸ˜‰
  • News reader: a convenient touch interface to browse your favourite rss feeds.

Incremental improvements

Compared to the Plasma Active Two release running on the same device, there is a significant improvement in stability, boot time, apps startup time and rendering performance.

Base OS

A quite visible one is that the official release is now based on a different OS: welcome to Mer.

Mer continues the effort of MeeGo, but in an more open, community-oriented way. It’s a lightweight Linux based OS with a high accent in offering the possibility to build customized final distributions, with adaptation for specific hardwares or specific end user software.

Many still remember what pain it was to set up correctly the old scratchbox based build environment for maemo, (or pain common for many embedded development environment for what matters) In Mer setting up a development environment is matter of probably 10 minutes or so.

The high customizability of the base OS of Plasma Active also means that is ideal to build highly customized verticals for the enterprise environment.

Okular on touch screens


Another small post about new developments in Plasma Active πŸ˜‰

An important use case for tablet is of course Ebook reading (being them pdf, epub or whatever).

KDE offers a very complete document reading application, that supports a wide variety of formats: Okular. It is of course an application optimized for desktop usage and does a very good job at that, but what is less known is that Okular has a very good separation between the logic of document parsing and rendering, managing bookmarks, annotation etc and the ui itself.

It has been revealed very easy to do a set of QML bindings that let opening all the supported documents by the desktop version of Okular and render them on a component directly usable by QML, alongside a very simple touch friendly application.

This application represents the document as a stack of sheets, in which is possible to flick them around, pich zoom and switching pages with a swipe gesture. A side panel that can be dragged in (common UI pattern in Plasma Active) contains an overview of all the pages as a thumbnail grid.

OGG version

It’s just the beginning as both the app and the reusable QML components still don’t have support or UI for more complex things like custom bookmarks and annotations, that will eventually come in future versions.

Looking back on Plasma on devices


Last week has been pretty hectic, i can’t really believe that we are so near to the very first release of Plasma Active.


This is the platform that will be the basis of the pursuit of our vision about the device spectrum, is the platform we will use to build not only a very good user interface for tablets, but to go from there colonizing many other kind of devices.

This has been kind of a mirage for me from the last (two? three already?) years, we are playing with this concept and playing around a workspace for mobile devices since years.. there was plasma-mid, a first prototype designed to run on devices like the venerable n810, that was around 2008.

Then we worked on the first workspace of the KDE project that was not aimed to a strictly traditional desktop machine, KDE Plasma Netbook.

We had to go deeper..

At Tokamak4, we started a new shell, this time oriented towards mobile devices, way more customizable than the previous ones, because it was more heavily based on QML. as a demo state it was made run on cell phones and tablet devices, it learned how to make phone calls, it had many user interfaces looking completely different each other.

Fast forward to the beginning of this year, also thanks to basysKom that seen the potential in it, this shell was improved and merged with a really interesting project: Contour.

It aims to bring some really innovative concept to device UX: deeper use of activities, gathering of usage statistics for useful recommendations (watch out for Plasma Active Two πŸ˜‰ and in general diminish the importance of the “App” blending all in an uniform seamless “Workflow”.

Plasma Active was born, and became something way bigger than it was expected in the beginning. Bigger than just a tablet interface, that is the “visible” part that will be released tomorrow.

Bigger than just the source code that will be released: it’s a new way to approach to the development of components (not even saying “apps” anymore;) for an user experience composed of more than a single device. It’s the first really fully open stack for devices, bringing an open (as in open process, not only code) system in the closest sector of computing to date.

It’s also the manifest of commitment and reliability of an opensource community: we said over half a year ago that the release was going to be 9/10/11, and 9/10/11 is, showing how serious our intentions are.

What a ride has been, and what a ride will be from here, gonna be fun πŸ˜€

Share, Like and Connect


An important part of the Plasma Active Contour user interface is the connection between the objects that i can view with my tablet, like images, webpages, and documents with the current activity, to help to organize your work and fun.

I already wrote here about the activity screen: the main Contour workspace will show everything that is related to the activity and is the natural evolution of the Plasma Desktop activities (that will evolve in this direction as well as the integration with applications becomes deeper;)

The screencast below shows the usage in practiche of the concept I’m going to explain in the next paragraphs: Share Like Connect (SLC).

It also shows towards the end the progress of the Active image viewer application, a touch friendly image viewer that deeply integrates with the Contour UI in terms of Look&feel and technology, since uses Nepomuk as metadata storage backend and supports SLC

OGG version

So we have an interesting UI problem: easily buildthis relationship between objects and activities with just one click (or so;) without having to navigate trough an over complicated user interface.

So, we have a simply search interface right into the workspace, it works well for many use cases and is really simple, but what if I’m browsing a website and want to add exactly that website in my activity? (or a photo I’m viewing, or a document I’m working on Calligra…)

Copy the url of the website, go to the workspace and paste it somewhere? a bit overkill, isn’t it?

Have some UI in the web browser that lets me add the current site to the activity? Definitely better, but we would end up with a different implementation, and a slightly different UI for each application.. can we avoid that?

We also noticed how similar this problem was to another one: is very common that while I’m viewing something i want to share it with someone in some way: I could want to upload on flickr a photo that I’ve just taken, or I may want to send via email to someone a PDF that I’m reading right now.

On the desktop the current workflow is to leave your current application, go to the web broser or email client, search the file again and upload/send it.

On mobile platforms things looks a bit more convenient: many applications have built in the possibility to share the currently open file to some services, but each application has its own implementation, often having a slightly different ui to do the same thing, or support to different web services, maybe because the developers of the application wanted to push their own services (a random example starting with G comes to mind πŸ˜‰

So, get back to the problem of connecting the current open “thing” to the current activity (avoiding “file” by purpose, since could be something that is not a file at all, like an URL) is similar to wanting to share this same thing with someone, or rate it, or add a tag, tweet it, like on Facebook…

Since we already log what is the currently open object (for how long, how often etc..) to be able to log history and construct recommendations, the external workspace knows this information.

We can provide actions in a global menu in the top panel to perform those tasks, divided under 3 menus: Share (upload on web services, send by email), Like, (rating, bookmarks, “like” on web services), Connect (connect to the current activity, to an event in the calendar, etc).

Each action is implemented by a plugin, and plugins can be written in both C++ and Javascript, making it possible to download them on the fly from the Web

A first version of this global menu will be available with the first release of Plasma Active, and will eventually make its way to Plasma Desktop as well.

Activate your DS toy


At Desktop summit a very nice thing happened: Intel handed out tablet devices to everyone, a pretty sweet (and fast!) Exopc. So, a very big thank you to Intel πŸ™‚

Now happens that many people have a device that is well suited for running the Plasma Active project. that, together prices of those kind of devices coming down, makes very easy to test it.

next week, Tuesday August 16 at 14 UTC and Friday 19 at 12 UTC, join us in the #active channel on irc, for a little install fest session.

Instant apps


Recently the Plasma library just got a new neat feature: the support for packages of files the are pretty generic, not bounded to being a “plasmoid”.

Is something, that even tough seemingly small, has some pretty interesting applications:

  • Shipping parts of bigger QML user interfaces as Packages, avoiding making most of it “public api” as the imports do
  • distributing applications plugins or extra sets such as graphics and sound via get hot new stuff or keep it updated via synchrotron
  • use the plasma package file loading mechanism to have qml files loaded only in a specific hardware profile, to be able to do a multi device package.
  • Ship the entire user interface of a mobile application in a single, well structured package

How those are used? for the main part of the Plasma active Contour UI home screen, besides from that i decided to give it a go for doing partly C++, partly QML stand alone applications.

The two examples below represent not more than 4-ish hours of work each and are a web browser and an image viewer. What is interesting is that they got almost for free some contour specific features, like:

  • The browser uses nepomuk for its bookmarks, so they are available system wide and they can be connected to an activity
  • The bookmarks are added with the system-wide SLC menu (more on that next post πŸ˜‰
  • all the addresses visited with the browser will end up in the statistics used to generate the Contour recommendations
  • The image viewer completely ignores the concept of file system, it just uses nepomuk
  • Same considerations for bookmarks, SLC and recommendations hold for the image viewer too

Here we go with brief showcase videos:

OGG version

OGG version

Of course those are just at the beginning and at proof of concept level, but they show the potentiality of this framework to build QML based “active apps” very, very quickly.

Contouring resources


Unfortunately I haven’t blogged since a llloong time, my fault πŸ˜‰

But this doesn’t mean the things in Plasma land aren’t moving, au contraire! Last months I have been busy as hell with the Contour project, and the results are starting to became evident.

A quite big amount of progress has been made on several fronts: the user interface, the infrastructure of the Plasma mobile shell and what is even down in the stack from it, like Nepomuk and the KDE mobile profile

Also on the system integration front things have changed a lot. Admittedly trying out the KDE mobile software on an actual device has always been a bit of a voodoo operation, but now there are two ready to go booting pendrive images, for MeeGo and OpenSuse, together of course always updated package repositories (further information on the Plasma Active wiki).

I now want to show, as often as possible short videos of the User Interface of Contour, a little teaser for each notable feature.

OGG version.

First thing first, the screen the user sees when the tablet is turned on: an usual workspace with a wallpaper… it has icons.. (and eventually widgets)

but, interaction-wide you see that has some improvements for small/medium touch screens: icons are not individual, but categorized in boxes (documents, music, contacts…).

Second, everything is always aligned to a grid, making the composition always “look good” and impossible for those boxes to overlap, but still possible to drag them around to give a personal organization that helps your spatial memory.

And the last important characteristic is behind the scenes: that’s not a view on some folder as the desktops used to be: but it’s all data coming from Nepomuk, meaning that can be any type of what in Nepomuk is a “Resource”, so not only a file but also more abstract data like a contact, an email or a geographical location.

Everything that you see there are resources that have been connected to the activity, so each one will show a different list of resources (this could also make possible in the future for instance to show those activity resources as default in a file open dialog for instance)

How those resources can be connected to activities.. material for the next video πŸ˜‰

If you are interested to have a more in depth look at the Contour UX and you will be at the Desktop summit in Berlin, you can stop by at this talk :p

Desktop summit

Activity config UI for Contour and Active


This is a quick update on a feature that was still missing, but now we got it ;).

this short video shows the new ui for the configuration of an activity: right now you can configure the activity name and wallpaper, probably more options to come (even tough it will remain as simple as possible). It is accessed by a button on the activity switcher weel or from the activity itself (if the used Plasma containment provides a config button)

OGG version

This will probably be shared in the initial creation of an activity as well. In the near weeks it will be possible from the activity wheel to create and delete activities (including options to clone the current activity, or create one based on templates downloadable from the web), so, more to come, stay tuned πŸ˜‰

Build a device scalable user interface


As previewed some time ago, the ongoing effort of porting the current stock Plasma Desktop widgets to QML isn’t not just recreating them and be done with it, but rather pushing QML a bit beyond of what it can usually do and give a platform to build user interfaces that can adapt to different kinds of situations and devices permitting of:

  • Shipping the user interface, graphic assets and JavaScript code in a simple package with a well defined and familiar filesystem structure: one single package that can adapt to any devices you want
  • For a given device, you must be able to customize and rewrite any part of the interface you want
  • But you should have to rewrite only the parts you need, nothing more, recycling all the rest

In QML plasmoids, we provide some mechanisms (plasmapackage:/ urls, plasmoid.file() function) that will load resources always from within the Plasma package (the single zip file you downloaded from Get hot new stuff, for instance) and always the proper one. What doe it mean?

Any resource you may need, that can be a qml file, a javascript file, an image, a sound… can be something shared between all possible platform targets, or something that is specific for a certain one. Not only this, you coul need as well for instance a file that is shared between a tablet and handheld profile, but not used in the desktop world.

this little video shows the rss news reader QML plasmoid (the usual guinea pig i use for this kind of experiments) loaded on a desktop, looking like an usual harmless desktop widget and as a standalone window, intended to be used on a tablet form factor device.

OGG version

And a blurry live action video here:

OGG version