2012-07-24 Meeting on Context Description

Tue Jul 24, 12:00-14:00 UTC

Translate to my time zone

DRAFT MINUTES

Notice

This meeting is being held as part of the Raising the Floor Consortium. The Raising the Floor membership agreement, in particular its IPR policy, applies to the contents of the meeting.

Attendance

  • Gottfried, Christophe (HDM)
  • Andres (TECH)
  • Xavier (BDigital)
  • Jim Tobias (Inclusive Technologies)
  • Vassilis (CERTH)
  • Liddy (Sunrise)
  • Andy (Axelrod)
  • Gregg (RtF-I)
  • Gerhard (TUD)

Approval of last minutes

Review of the Context Description table

See http://wiki.gpii.net/index.php/Context_Properties.

Schema.org

Reference: Minutes 2012-07-17 Meeting with Dan Brickley

  • We don't intend to use schema.org for context properties.
  • But would be good to be compatible with them, so that we could possibly later register our terms at schema.org.  Should be fairly simple to transfer to schema.org vocab later, if needed.

Proposal for context term registry (HdM)

Same format as for preference terms:

  • Namespace (maybe external to the registry entry)
  • Local Unique Identifier
    • Note: URI = Namespace + Local Unique Identifier
  • Value space
  • No default value for context properties (see example of isKnown() below).
  • Reference_if_alias (URI)
    • If the registry entry is an alias, all other items (except Local Unique Identifier) are empty. 
    • If the registry entry is not an alias, Reference_if_alias is empty.
  • isCore (Boolean)
    • Note: Changing the isCore flag does not change the URI
  • Status (exact value space to be clarified in issue #43)
  • isConditionTerm (Boolean)
    • Condition terms shall only be used as part of conditions, as argument to the 'value' function.  Preference terms may be used as preference in a preference set, and as part of conditions.

Also, parallel to the registry entry, pointing to a specific entry:

  • Localized labels for multiple languages
    • Only use for display to a user, not as part of an actual preference
  • Localized labels for enumerated string values
    • Only use for display to a user, not as part of an actual preference
  • Description, including examples (localized)
  • Notes (localized)

Versioning: See 29:Property definitions can only be "versioned" by giving them a new URI (namespace or local identifier).

Sample preference set:

{
  "property": "http://gpii.net/ns/up/fontsize",
  "condition": "",
  "value": "120%"
}
{
  "property": "http://gpii.net/ns/up/fontsize",
  "condition": "value('http://example.com/context/localtime') >=  '18:00'
    && value('http://example.com/context/localtime') <  '22:00'",
  "value": "150%"
}

The first preference is generic, and applies to all contexts. 

The second preference is more specific, and will overwrite the first one if the condition evaluates to true (in the evening hours).

This is the "last takes preference" rule, like in CSS.  "Last" means at the bottom of the set, not the most recent one. So the generic preference comes at the top, followed by the exceptions (which seems to be natural to human readers).

Performance improvements (e.g. "lazy evaluation") are possible by starting from the last (if looking for a single value only or for a specific subset).

Possible issue: If one setting is dependent on another setting. One might need several rounds of evaluations, each for determing the value of a single preference value.

*Note: To avoid doubt, if the generic is at the top, it means the default value.  If it is at the bottom, it overwrites every other value of the same property.*

Example for testing on whether a value is known or not:

{
  "property": "http://gpii.net/ns/up/fontsize",
  "condition": "",
  "value": 1.2
}
{
  "property": "http://gpii.net/ns/up/fontsize",
  "condition": "isKnown('http://example.com/context/localtime')
    && value('http://example.com/context/localtime') >= '18:00'
    && value('http://example.com/context/localtime') < '22:00'",
  "value": 1.5
}
{
  "property": "http://gpii.net/ns/up/fontsize",
  "condition": "\!isKnown('http://example.com/context/localtime')",
  "value": 1.35
}

Example for a preference term used inside a condition:

{
  "property": "http://gpii.net/ns/up/contrastschema",
  "condition": "",
  "value": "normal"
}
{
  "property": "http://gpii.net/ns/up/contrastschema",
  "condition": "value('http://gpii.net/ns/up/fontsize') < 1.0",
  "value": "black-white"
}

If the fontsize is small, the contrast scheme is set to "black-white", otherwise to "normal".

Next steps

Action Items

Fill table at http://wiki.gpii.net/index.php/Context_Properties with information from other projects and standards:

  • Vassilis: User Profile Ontology, paper on context modeling, SOUPA ontologies
  • Claudia: ISO 9241-11 Annex A
  • Christophe: RFCs 4589 & 4480
  • Andy: Schema.org & ISO/IEC 24751
  • Gottfried: Contact somebody from MyUI
  • Andres: UsiXML & ISO/IEC 24756
  • Gottfried: WHO ICF, ISO/IEC 24752

See also: ISO 8601, XML Schema Definition - Part 2

Future Meetings

  • Tue Jul 31, 12-14 UTC = 14-16 CET: Joint with Cloud4All A103.1 group on context-related profile modification rules

Bridge

1. To talk free using Web click. https://www3.gotomeeting.com/join/705233502
Be sure to set AUDIO to Mic and Speaker (VoIP) - a headset is recommended.

2. Or, call in using your telephone.

Meeting ID: 705-233-502

Australia: +61 (0) 7 3123 6029
Austria: +43 (0) 7 2088 1400
Belgium: +32 (0) 92 98 0592
Canada: +1 (416) 900-1165
Denmark: +45 (0) 69 91 88 62
Finland: +358 (0) 942 41 5778
France: +33 (0) 182 880 456
Germany: +49 (0) 898 7806 6461
Ireland: +353 (0) 14 845 976
Italy: +39 0 247 92 12 39
Netherlands: +31 (0) 208 080 379
New Zealand: +64 (0) 4 974 7215
Norway: +47 21 03 58 96
Spain: +34 911 82 9782
Sweden: +46 (0) 313 613 558
Switzerland: +41 (0) 225 3314 51
United Kingdom: +44 (0) 203 535 0621
United States: +1 (786) 358-5410
Access Code: 705-233-502