Instant apps

Software

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.