Plasma Active & Contour A new activity based mobile user interface with Plasma and Nepomuk

Talk by Marco Martin & Fania Jöck

Sponsored by:

Plasma Active & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 1 Big picture

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 2 08.08.2011 Marco Martin, Fania Jöck Seite 2 Project Plasma Active

A new activity based Activities - the helpful Big mobile user interface with Brother Plasma and Nepomuk Ivan Čukić Mon, 14:00 - 14:30 Marco Martin, Fania Jöck Audimax Mon, 10:20 - 10:50 Audimax

Plasma Active - Conquering Compositing after X - KWin the Device Spectrum on the Road to Wayland Sebastian Kügler Martin Gräßlin Sun, 09:40 - 10:10 Sat, 14:00 - 14:30 Kinosaal Rm2002

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 3 08.08.2011 Marco Martin, Fania Jöck Seite 3 Who are we?

Plasma Active

Share Plasma Active Contour Like Mobile Apps Connect

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 4 08.08.2011 Marco Martin, Fania Jöck Seite 4 What is this all about?

desktop context-sensitive KDE touchmultidevice workspaces tablets user interface UXmobile

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 5 08.08.2011 Marco Martin, Fania Jöck Seite 5 Why should we need that?

User adapts to the system The system adapts to the user

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 6 08.08.2011 Marco Martin, Fania Jöck Seite 6 What is new in Contour?

I Informations + Actions = Activity – information on the system linked with actions – user chooses those activities instead of applications – system learns and analyses usage patterns (actions and events)

I Smart recommendations – system provides dynamic data based on patterns and on context – analysis of timeline (past, present and future) – priorization, big change in user behavior

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 7 08.08.2011 Marco Martin, Fania Jöck Seite 7 Concept

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 8 08.08.2011 Marco Martin, Fania Jöck Seite 8 Concept of Contour

Pattern

Context Activity

Recommendations

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 9 08.08.2011 Marco Martin, Fania Jöck Seite 9 Concept

Context = geo location, time, active files and applications, current activity, recent action history

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 10 08.08.2011 Marco Martin, Fania Jöck Seite 10 Concept Patterns = regular actions of the user in similar contexts

Context = geo location, time, active files and applications, current activity, recent action history

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 11 08.08.2011 Marco Martin, Fania Jöck Seite 11 Concept Patterns = regular actions of the user in similar contexts

Context = geo location, Activities time, active files = individualized and applications, Activity work spaces that current activity, contain resources recent action like files, contacts, history applications

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 12 08.08.2011 Marco Martin, Fania Jöck Seite 12 Concept Patterns = regular actions of the user in similar contexts

Context = geo location, Activities time, active files = individualized and applications, Activity work spaces that current activity, contain resources recent action like files, contacts, history applications

propositions for actions that are Recommendations dynamicly changing to context, based on the detected patterns

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 13 08.08.2011 Marco Martin, Fania Jöck Seite 13 Context

Pattern

Context Activity

Recommendations

= geo location, time, current activity, active files and applications, recent action history

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 14 08.08.2011 Marco Martin, Fania Jöck Seite 14 Patterns

Pattern

Context Activity

Recommendations

= regular actions of the user in similar contexts

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 15 08.08.2011 Marco Martin, Fania Jöck Seite 15 Activity

Pattern

Context Activity

Recommendations

= individualized work spaces that contain resources like files, contacts, applications

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 16 08.08.2011 Marco Martin, Fania Jöck Seite 16 Recommendations

Recommendations

Recommendations

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 17 08.08.2011 Marco Martin, Fania Jöck Seite 17 Somebody already had that idea...

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 18 08.08.2011 Marco Martin, Fania Jöck Seite 18 Smart adaptions – Activity Switcher ...adapts to current context

At home

At university Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 19 08.08.2011 Marco Martin, Fania Jöck Seite 19 Smart adaptions – Context Menu ...adapts to object type and last events

For documents

For contacts Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 20 08.08.2011 Marco Martin, Fania Jöck Seite 20 Smart adaptions – recommendation overlay ... adapts to current activity and recent action history

Grandma just called

Writing the invitation Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 21 08.08.2011 Marco Martin, Fania Jöck Seite 21 Interface Design

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 22 08.08.2011 Marco Martin, Fania Jöck Seite 22 Different zones

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 23 08.08.2011 Marco Martin, Fania Jöck Seite 23 Different zones

Recommendation Overlay

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 24 08.08.2011 Marco Martin, Fania Jöck Seite 24 Different zones

Activity Screen

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 25 08.08.2011 Marco Martin, Fania Jöck Seite 25 Different zones

Top Bar

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 26 08.08.2011 Marco Martin, Fania Jöck Seite 26 Different zones

Activity Switcher

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 27 08.08.2011 Marco Martin, Fania Jöck Seite 27 Live Demo

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 28 08.08.2011 Marco Martin, Fania Jöck Seite 28 Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 29 08.08.2011 Marco Martin, Fania Jöck Seite 29 Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 30 08.08.2011 Marco Martin, Fania Jöck Seite 30 Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 31 08.08.2011 Marco Martin, Fania Jöck Seite 31 Technical background

Contour 08.08.11 VisionPlasma & Concept Active & Contour Seite 32 08.08.2011 Marco Martin, Fania Jöck Seite 32 Plasma perspective: data

I Metadata dataengine I Activity manager daemon and the recommendations dataengine I Those are sources for: – Nepomuk resources connected to the current activity – Recommendations (resources with high scoring/actions associated to them)

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 33 Visualization

I PlasmaMobile shell I QML packages used for independent, big components (almost blackbox, opposed to imports) – Homescreen: first thing loaded from the shell – Activity switcher – Recommendations overlay I Containments – Activity screen – Panel – Window switcher – Launcher

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 34 Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 35 Plasma mobile booting

I QML homescreen loaded I The appletsrc config file gets loaded I All containment restored: I Systray, window switcher and launcher containments go in a partially offscreen panel I The main screen “Planar” containment gets restored – In the case of Contour they are instances of the Current activity screen – Transition between activity containments will be managed by a QML animation

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 36 Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 37 Activity screen Containment

I QML-only Applet/Containment I Uses the metadata dataengine PlasmaCore.DataSource { id: metadataSource engine: "org..active.metadata" interval: 0 connectedSources: ["CurrentActivityResources:"+plasmoid.activityId] }

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 38 Activity Resources

I The source "CurrentActivityResources:activity id” executes: Nepomuk::Resource acRes("activities://" + activityId); Nepomuk::Query::ComparisonTerm term(Soprano::Vocabulary::NAO::isRelated(), Nepomuk::Query::ResourceTerm(acRes)); term.setInverted(true); Nepomuk::Query::Query query = Nepomuk::Query::Query(term); I The property isRelated gets assigned by the user with a search screen implemented in the containment itself or with the SLC mechanism

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 39 Containment layout

I Resources splitted by category: proxy model I Space divided in cells, internal data structure to keep track of busy/taken ones I User moves/resizes a box: JS function invoked that performs a simple lookup of the nearest free cell (back and forward) I The box gets aligned to the nearest free space to the dropped position, resized if necessary I A Behavior on geometry properties ensures it happens with a smooth animation I Plasmoids are positioned in the same way

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 40 Connection: SLC I Each resource icon has a context menu: same entries as the top panel icons I Active applications will publish with a simple api what is the current open “thing” – File path – Nepomuk URI – Web URL – Geo location I Plugins will provide actions for those urls – “Share”: upload on flickr... – “Like”: rate, like on facebook... – “Connect”: connect to the current activity, with another resource...

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 41 Recommendations I The activity manager is used to keep track of what gets opened and modified... I Base for the Contour Recommendations system I All resources scored and “most likely” actions assigned to them I The Contour daemon publishes them on DBUS I The Recommendations UI (another generic package loaded from the home screen QML) displays them as a list in a panel on top of the rest

Contour VisionPlasma & ConceptActive & Contour 08.08.2011 Marco Martin, Fania Jöck Seite 42 Participate

I Website: http://community.kde.org/Plasma/Active/Contour I Mailinglist: [email protected] I IRC: #active I Marcos Blog: www.notmart.org/index.php/BlaBla I Fanias Blog: http://contourproject.wordpress.com

The Contour project is contributed by basyskom GmbH and released in KDE as open source. We want to share our ideas and development with the community to contribute it to the public. Read more at http://contour.basyskom.com or go to our website at www.basyskom.com

Contour 08.08.11 VisionPlasma & ConceptActive & Contour Seite 43 08.08.2011 Marco Martin, Fania Jöck Seite 43