Plasma/Active/Development/ActiveHIG/SLC

From KDE Community Wiki

Guidelines for integrating Share/Like/Connect in Active Applications (WORK IN PROGRESS)

What is Share/Like/Connect?

Share/Like/Connect (SLC) is a pervasive feature across the whole Plasma Active system (shell and applications). It offers a consistent way to share, like and connect resources, no matter what the user is currently doing with them. Therefore, every Active application that deals with resources of any kind in any way must integrate SLC functionality.

The main interface to SLC consists of three icons in the top bar: Share, Like, and Connect. Each icons offers a menu containing several actions of the corresponding type to be applied to the active resource.

What is a resource?

A resource is any entity in the Nepomuk database. It can for example be a file, a web page, a bookmark, a place, a person, an email, an event, an application, ...

Which resource is affected?

SLC always affects the resource that is currently active. This can be either the resource that is currently opened (e.g. of which the contents are displayed) or the one that is selected, if multiple resources are displayed at the same time (e.g. in a list).

General principles

Quickness

Keep the steps of the actual interactions with SLC functions to a minimum. For example, sending a resource by email is just "Share -> Send by email". After that, Kmail opens, composing a new email which has the resource attached. At this point, the actual SLC interaction is completed. Do not try to cram many parameters of the process into the SLC menu. For example an "Upload to Flickr" action should not integrate things like tagging into the SLC menu. These should be done either directly on Flickr in the browser or in a separate screen if it is supposed to be done on the client side.

Usefulness

Do not just offer every possible functionality for every type of resource. Instead, think about what function would be useful for users with a certain type of resource. For example, a plain "Like on Facebook" would be useful for a web page, but not for an email. "Upload on Flickr" makes sense for an image, but not for a person.

Versatility

The same menu may offer completely different things for different types of resources. For example, the "Share" menu may contain "Send by email" for a file resource, but may contain "Check in on Foursquare" for a place or "Invite" for an event.

Tap only

"Tap" is the only action that makes sense in a menu. Any other things (drag, swipe, pinch etc.) don't work well within the constraints of a menu.

Standard functions

There are two functions any application dealing with resources must integrate: Connect to Activity and Rate.

Connect to Activity

The Connect menu always has the item "Activities". With this item, users can connect the active resource to or disconnect from any Activity. Resources connected to an Activity appear on its Homescreen.

Rate

The Like menu always has an item to give the active resource a rating of 1 to 5, which is saved in Nempomuk. The rating function is important as it affects features like the Recommendations or the "Add Item" dialog.