Build a device scalable user interface

Software

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

3 thoughts on “Build a device scalable user interface

  1. Markus S.

    Wow, great work. I’m wondering: As Akregator is pretty much unmaintained these days, is it possible to extend the large formfactor version to replace Akregator inside Kontact?

    Reply
  2. Alejandro Nova

    This is awesome. I need this now. I’ll wait anxiously for 4.7 (and I promised myself that I wasn’t going to install the betas…).

    BTW, can you bring some love also to Microblog plasmoid? It is a needed promotion tool (all of my tweets carry the badge “From KDE Microblog”, with a link to the KDE main site)

    Reply

Comments are closed.