'''Plasma Active Apps''' are applications fully integrated with the Plasma Active UX . Plamsa Active apps come with one or more user interfaces, suitable for different target devices. The Plasma framework provides mechanisms for making it easy to comply with high standards by providing tools and mechanisms to build a great Plasma Active App. Naturally, it is up to the designers and developers of individual apps to create an app that complies as far as possible with Plasma Active App recommendations. We handle the following list of recommendations to evaluate wether or not a specific application is suitable and eligible for inclusion in the default distribution of Plasma Active:

+

'''Plasma Active Apps''' are applications fully integrated with the Plasma Active UX . Plasma Active apps come with one or more user interfaces, suitable for different target devices. The Plasma framework provides mechanisms for making it easy to comply with high standards by providing tools and mechanisms to build a great Plasma Active App. Naturally, it is up to the designers and developers of individual apps to create an app that complies as far as possible with Plasma Active App recommendations. We handle the following list of recommendations to evaluate wether or not a specific application is suitable and eligible for inclusion in the default distribution of Plasma Active:

Plasma Active Apps

Recommendations for designers and developers

Applications for Plasma Active fall into the following categories:

Plasma Active Apps are applications fully integrated with the Plasma Active UX . Plasma Active apps come with one or more user interfaces, suitable for different target devices. The Plasma framework provides mechanisms for making it easy to comply with high standards by providing tools and mechanisms to build a great Plasma Active App. Naturally, it is up to the designers and developers of individual apps to create an app that complies as far as possible with Plasma Active App recommendations. We handle the following list of recommendations to evaluate wether or not a specific application is suitable and eligible for inclusion in the default distribution of Plasma Active:

Generic Attributes and Characteristics

The app is elegant, usefulness and helpfulness

The app is built with a spectrum of target devices in mind

The app uses Plasma Quick to integrate visually, interaction-wise and technically with the rest of the hist system

The app uses professional artwork, either custom-made or parts from the Oxygen assets

The app is content-aware (FIXME: define)

The app works offline, either through caching mechanisms, or is at least not "broken" when the device is offline (especially when started, it should not rely on a net connection being availabe)

The app is state persistant: It can be silently shut down, and starts up in the same state, data and user-interface-wise

The app responds to device events, such as location, (rotation) position, sensors, etc.

The app is translatable and supports localization (preferably automatically through geolocation mechanisms)

The app is of high technical quality: it doesn't crash, is functional and well-maintained

The app is Free Software, preferably GPLv2+ and/or LGPLv2+.

The app separates visualization and data

User Interface Considerations

The app comes with a touchscreen-friendly user interface

The apps does not use, or at least its functionality does not depend on context menues

The app has an interchangeable user interface

The application is resolution-adaptable or independant: It either scales to different screen sizes, or better yet, it comes with specific, runtime-interchangeable user interfaces, suitable for a range of form factors (for example by using different sets of QML Files, Plasma::Package offers a mechanism for that)

No use of traditional, widget-based menu-, tool- and statusbars (though a DBus-menu, touch-friendly mechanism of of course possible)

The app does not use pop-up windows, the user interface is contained as much as possible into one visual and interactive flow

The use of scalable graphics (e.g. SVG) is preferred over bitmap-based graphical elements

Technical Properties

The app is battery-friendly: It doesn't drain the CPU more than necessary, when inactive it's fully idle and does not wake up the CPU or other subsystems

The app is written using QML and JavaScript where technically feasible.

The app is extensible using JavaScript where possible

Packaging and Distribution

Plasma Active Apps can be distributed through the following mechanisms:

Default installation: The application is part of the default installation and comes with the system out of the box

RPM repositories: The app can be installed through the packaging system, i.e. as RPM Package via corresponding repositories

OCS / GetHotNewStuff: The application can be downloaded through the GetHotNewStuff system

The inital focus of Plasma Active is to get a fully functional system onto tablets, and then extend efforts to more devices). Marco Martin's blog explains the mechanism Active Apps use to adapt to different target devices.For more informations see these
blogentries

Example Default Apps

Plasma Active features a number of high-quality applications. The following examples give an idea of the app landscape.

Kontact Touch

Kontact Touch is the mobile version of KDE's Kontact suite. It provides a powerful, scalable and touchscreen-friendly email client backed by the Akonadi PIM cache.

Calligra Mobile

Mobile office suite based on KOffice, the Calligra team is working on a user interface suitable for mobile devices.

Marble To Go

Mobile geolocation and navigation app.

Full screen Plasma widgets with a tablet profile

If written correctly, the Plasma Desktop widget, besides adapting to a workspace with a different form factor and input methods, they can also easily switch between being small and simple workspace widgets and full screen applications, adapting their user interface and layout accordingly, thanks to the mechanism called device specific package profiles.

Other applications

In principle, it is possible to use other applications in Plasma Active. Using these applications is not fully supported but we are working on making these applications work as well as possible given the different input device and hardware specs. It depends mostly on the specific application whether this is workable on a given target device, or not. Examples for other applications include:

Normal 'desktop' applications, which are usually run on desktop or laptop-type machines