ation’s representation, and their weights initialized
to zero. Future versions of the prototype will allow
owners to remove irrelevant context elements (for
example, Sunny weather), and manually modify
their weights (for example, Anna is more linked to
this situation than Juan). Figure 4, left, shows an
example of situation visualization in di.me. As indicated by the weights, the situation has already been
The Context Listener compares situations with
each context update. A list of ranked situations is
returned and is easily accessible through the main
dashboard. The score (0– 100 percent) indicates their
similarity to the current live context, as shown in the
right side of figure 4. Through the shown bar, users
can (de)activate situations. This action results in the
storing of further positive/negative examples, which
are then used to semiautomatically improve the situation representations.
Personalizable Context-Driven Rules
The Rule Manager, accessible through the settings
tab, enables nontechnical people to create cus-
tomized context-driven rules. It is designed as a Lego-
like UI that enables owners to drag and drop objects
and apply filters. The left side of figure 5 shows the
following completed rule: “IF (friends are nearby)
and (I’m at a social event) and (I take a photo) THEN
[Ask if I want to share it with my friends].” The UI
guides the owner to define each condition, starting
by selecting an object (the condition type). In the
example, the first condition relates to a nearby per-
son, the second to a situation, the third to an image.
Depending on the dragged object, users are then
shown available filters (the property to be con-
strained). Depending on which filter is selected, the
UI then shows the available items. For the Nearby
Group filter, all saved groups are returned, including
the one selected: Friends.
The aforementioned behavior is subject to some
exceptions. For example, when a situation is selected
as an object (for example, Social Event in figure 5) the
filter selection (Situation Activated) is skipped since it
is implied. Similarly, when the New Item filter for
PIM items (for example, documents and images) is
selected, the items step is skipped since it is implied
that the item to be matched does not yet exist. The
shown example includes three conditions, which are
by default joined by the only supported DRMO logical operator: and.
The selection of an action finalizes the rule. A message is requested so that when the rule triggers it, it is
sent to the di.me notification stream. The notification for the shown rule is shown in figure 5, bottom.
When a rule is saved, the di.me rule manager wraps
it as a JSON10 representation and sends it to the EP.
Juan’s Personal Server (PS)
Norbert’s PS Anna’s PS
Figure 3. di.me Userware Architecture.