A Implementer's Story - Integrating Maavis with the GPII
1. At the
16th International Conference on Human-Computer Interaction
2014 Crete, Greece
Implementers’ hackathon
A Implementer's Story
Steve Lee
OpenDirective Ltd.
2. Maavis
• Simple access to media and communications
• Research tech for people living with dementia
• People with cognitive disabilities
• People with low digital literacy
2
4. What we did
• Understand architecture
• Figure how to integrate
• Install and test GPII
• Create a few declarative docs
• Create a new settings handler
4
10. Settings Handler
gpii.settingsHandlers.JSONSettingsHandler.set = function(profile) {
var app = fluid.copy(profile);
for (var appId in app) {
for (var j = 0; j < app[appId].length; j++) {
// load the default settings used by MAAVIS
var path = app[appId][j].options.path;
var defaultSettings = require(path);
// record differences between required and default settings
// so that they default settings can be restored
var requiredSettings = app[appId][j].settings;
var changedSettings = fluid.copy(requiredSettings);
for (var settingKey in requiredSettings) {
var oldValue = defaultSettings[settingKey];
var newValue = requiredSettings[settingKey];
changedSettings[settingKey] = {
"oldValue": oldValue,
"newValue": newValue
};
}
app[appId][j].settings = changedSettings;
// merge the required settings and default settings
// this means required settings overwrite default settings
fluid.merge(null, defaultSettings, requiredSettings);
// Write the new settings to a file for MAAVIS to read
fs.writeFileSync(path, JSON.stringify(defaultSettings));
}
12. Common Terms mapping
In solution registry entry
• HighContrast -> "theme"
• Speech -> "speakTitles“ + "speakLabels"
13
13. In summary
Easily done and low impact
• Modified Maavis installer so GPII can find it
• Entry in the Solution Registry
• New JSON Settings handler
• Configure Lifecycle Manager
• Test Profiles
14. Challenges
• Early adopter – high churn
– A: Engage with the architecture team!
• Lack of documentation
– A: Get architecture team to do the work for you!
15
16. Further Developments
• Dynamic reading of settings
– eg for context awareness
• Prosperity4All + low digital literacy
– Framework and Components
• Porting to HTML components
– Move to browser context
17. Thank You
This research was funded by the European Union's Seventh Framework Programme (FP7/2007-
2013) grant agreement 289016 (Cloud4all)
18
Notes de l'éditeur
Standard handlers support simple config documents
Wizard
Maavis - Ultra simple UI
HTML Wookie Templates allow maximum deployment flexibility
Maavis - Ultra simple UI
HTML Wookie Templates allow maximum deployment flexibility