Plasma/Active/Contour

From KDE Community Wiki
< Plasma‎ | Active
Revision as of 11:26, 7 September 2011 by Fjoe (talk | contribs) (→‎Our Vision)

A new and innovative usage paradigm for digital devices

Contour will contribute a new usage paradigm using adaptive activities and intelligent recommendations. The aim is to create a context-sensitive user interface that adapts to current context, current activities and behavioral patterns of the user. The overall goal is to create a data-centric user interface which is not concerned with applications but rather offers intelligently combined data through a context-sensitive recommendation manager.

Contour is part of Plasma Active, the new user experience for all kind of devices like Tablets, Smartphones, in-car or Set Top Boxes. Plasma Active uses existing free desktop technology and brings it to a spectrum of devices through a desirable and innovative user interface. Contour and Plasma Active are currently at a conceptual stage. We have a proof-of-concept working on certain hardware, with a basic working shell, but an incomplete set of key applications. We welcome people to take part in this endeavor to make Contour and Plasma Active rock.


Our Vision

Todays application-centric approach Smartphones, tablets or PCs in general handle a huge amount of data like phone call logs, contact data, videos, photos, and much more. The classic approach on mobile systems is based on the idea that the user first chooses the application to reach their goal. They have to search for data and sort the information themselves. This creates a very static and application-centric user-experience.

Activities and Recommendations Contour sets out to break with this tradition and to combine the available data with personal usage patterns and context information. The Contour project aims to provide different entry points for different situations and contexts, called activities. In a work environment for example users have different preferences than they have on the train or at the opera. So the activities can contain different resources like files, contacts, applications, informations etc. The system provides smart recommendations based on the current context like the current geo location, time but also the current activity, active files and applications or recent action history. So the provided resources depend not only on the context, but also on the previous behaviour of the user. The system tries to learn those patterns and adjust them to the users' needs in every situation.


Definition of Context The context includes all the information that can be gathered from the sensors like:

  • Current geo location
  • Time
  • Surrounding sounds
  • Movement of the user
  • Current activity
  • Active files and applications
  • Recent action history (conceptually the whole history can be taken into account - the further away an action is the less relevant it is)


Behavioral Patterns

  • Behavioral patterns of the user like "every sunday evening at 18:00 the user calls their mother".
  • Input for the patterns are the context and the actions the user takes.
  • Patterns are dynamic in nature. They can change over time.
  • Patterns can even be interrupted by location changes or other context changes and be picked up later (illness, vacation, ...).
  • A pattern occurs if the same action is taken again and again in similar contexts. Similar here means that the contexts match with a high percentage.

Activities

  • The activity is the static part of the user context.
  • There is always exactly one current activity.
  • Actions, applications and resources have a certain distance to an activity.
  • Activities can be created or removed by the user. The system can suggest new activities when the user drasticly changes the way they normally use an activity. But the system will never create activities automatically.
  • In addition each activity has a corresponding device configuration. For example the phone configuration includes simple things like ring tones, wallpapers as well as more complex rules like filtering incoming phone calls

Recommendations

  • Recommendations are propositions for actions or information
  • Dynamicly changing to context
  • Based on the detected patterns (selflearning) and likes of the user (manually)
    • Which activity is likely in which context?
    • The relation between ressources (informationen, documents, applikations etc) and activities
  • Can either be accepted or ignored by the user


Calculation of Recommendations

  • User context
    • Location
    • Time
    • Actions in proximity
  • Usage statistics
  • Resource scores
  • Resource rank
  • Resource distance

Examples of Recommendations

  • Contact person X
  • Open file Y
  • Start playing music
  • Take note about the phone call just received
  • Open presentation for the meeting which you just entered
  • The next bus to X goes in 10 minutes

Screenshots of User Interface

Activity Browsing


Select activity with a slide in


Activity Screen


Recommendations Overlay


Prototype Videos

Video about switching activities: http://www.youtube.com/watch?v=KBFbNz2IOYU

Video about first concept: switching activities, select activity, open resources, open recommendation overlay: http://www.youtube.com/watch?v=kXXdk8RoP6U


Technologies
Architecture, Technologies used within Contour
Download
Live and Install Images for Devices, get latest version
Development
Source Code, git and dependencies
Installation
Beginners guide, get latest version
Tasks
Contribute to Contour, there are interesting tasks waiting for you
Contact
Contact details


Contour development is supported by basysKom GmbH. basysKom wants to share our ideas, sources and development with the KDE community and develop it as an integral part of KDE. Read more information about the Contour project at our webpage http://contour.basyskom.com.