Cloud4Allautomatic personalised access      ApacheCon EU Nov 2012            Steve Lee     steve@opendirective.com        ...
Using essential interweb services
Access Assumptions
Access for all
Sometimes we need adaptations
Common approaches
However…
Complex selection•   Users•   Supporters•   Suppliers and service providers•   Developers and manufacturers
ATIS4all thematic network and portal Working together to build up an European entry point on ICT assistive technologies an...
Another approach…•   Automatic-personalisation of devices•   Define personal preferences•   Select relevant device feature...
:    International collaboration
Other goals•   Simplify Accessibility - standards•   Increase built-in accessibility – ref models•   Grow Market for AT, a...
Features•   Collection of user preferences•   Market place for AT and services•   Support for making recommendations•   Pr...
In use
Progress so far•   Project is experimental•   Academic research - eg ontologies•   Architecture dev team•   Commercial sol...
Architecture overview
User Preferences
Device capabilities
Matching
Configure Solutions
Our contribution• Extending an existing solution  – Dementia patients and carers  – Potential for Learning Difficulties
Our contribution• Tech Details  – Entry in the Solution Regstry  – New JSON Settings handler  – Configure Lifecycle Manage...
Effort
A User Profile{    "display": {        "screenEnhancement": {            "applications": {                "net.opendirecti...
Solution life cycle (dev version)• User Logs in (simulates listener)• Retrieve user settings  – Set Maavis settings  – Lau...
Solution{    "name": "maavis",    "id": "net.opendirective.maavis",    "contexts": {        "OS": [            {          ...
Settings Handlergpii.settingsHandlers.JSONSettingsHandler.set = function(profile) {           var app = fluid.copy(profile...
Lifecycle manager"lifecycleManager": {    "start": [         "setSettings",         {              "type": "gpii.launch.ex...
Demo• Maavis
Further contribution• Building into W3C Widget templates  – Within Apache Wookie (Incubating)  – Any widget therefore Clou...
Get involvedBuilding W3C Widgets?  •Use Apache Wookie (Incubating)  •http://www.apache.org  •wookie-dev-subscribe@incubato...
Our user
Happy User
Cloud4All
Steve Lee                 • Ross Gardler@stevealee                • @rgardler            OpenDirective.com
GPII Video
Cloud4all - automatic personalised access, by Steve Lee
Cloud4all - automatic personalised access, by Steve Lee
Upcoming SlideShare
Loading in …5
×

Cloud4all - automatic personalised access, by Steve Lee

467 views
449 views

Published on

Presentation of the Cloud4all project and its application to patients with dementia and carers using Maavis by Steve Lee from OpenDirective. This presentation took place in the ApacheCon Europe 2012, that took place in Rhein-Neckar-Arena, Sinsheim, Germany, on November 6, 2012.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
467
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • OpenDirective = Rgardler + myself
  • Careful design / testingBut access for all is complex and hard to achieve
  • Display, mouse. Keyboard (if lucky)Now touch + speechStill doesn’t suit all
  • Disability – congenital or accidentAge relate degenerationSituational
  • Disability – congenital or accidentAge relate degenerationSituational disability
  • Built in accessibility featuresGeneric modification (Assistive Technology)Custom design
  • All slightly different so need to customiseMay need to take customisation with us
  • Find and implement suitable solutionsAdd features
  • Mainstream devices
  • Large consortium
  • All for user and developers
  • Foster an eco system
  • Can we put a better demo here?
  • Flexible deploymentUser Listeners + PreferencesDevice reporterMatch maker and Solutions RegistryLifecycle manager, Lifecycle handlers and Settings handler
  • Flexible deploymentUser Listeners + PreferencesDevice reporterMatch maker and Solutions RegistryLifecycle manager, Lifecycle handlers and Settings handler
  • Flexible deploymentUser Listeners + PreferencesDevice reporterMatch maker and Solutions RegistryLifecycle manager, Lifecycle handlers and Settings handler
  • Flexible deploymentUser Listeners + PreferencesDevice reporterMatch maker and Solutions RegistryLifecycle manager, Lifecycle handlers and Settings handler
  • Flexible deploymentUser Listeners + PreferencesDevice reporterMatch maker and Solutions RegistryLifecycle manager, Lifecycle handlers and Settings handler
  • Wizard
  • Standard handlers support simple config documents
  • Maavis - Ultra simple UIHTML Wookie Templates allow maximum deployment flexibility
  • Maavis - Ultra simple UIHTML Wookie Templates allow maximum deployment flexibility
  • Wizard
  • Maavis - Ultra simple UIHTML Wookie Templates allow maximum deployment flexibility
  • Cloud – users, solutions/devices, developers
  • If we need to fill time
  • Cloud4all - automatic personalised access, by Steve Lee

    1. 1. Cloud4Allautomatic personalised access ApacheCon EU Nov 2012 Steve Lee steve@opendirective.com @SteveALee
    2. 2. Using essential interweb services
    3. 3. Access Assumptions
    4. 4. Access for all
    5. 5. Sometimes we need adaptations
    6. 6. Common approaches
    7. 7. However…
    8. 8. Complex selection• Users• Supporters• Suppliers and service providers• Developers and manufacturers
    9. 9. ATIS4all thematic network and portal Working together to build up an European entry point on ICT assistive technologies and inclusive solutions The ATIS4all collaborative portal - to be completed at the end 2013 - is being developed in collaboration with ETNA thematic network and EASTIN Association. Become one of our supporters! www.atis4all.eu
    10. 10. Another approach…• Automatic-personalisation of devices• Define personal preferences• Select relevant device features and solutions• Configure best possible match
    11. 11. : International collaboration
    12. 12. Other goals• Simplify Accessibility - standards• Increase built-in accessibility – ref models• Grow Market for AT, accessibility and services• Facilitate cross-sector collaboration
    13. 13. Features• Collection of user preferences• Market place for AT and services• Support for making recommendations• Provide developer standards and tools
    14. 14. In use
    15. 15. Progress so far• Project is experimental• Academic research - eg ontologies• Architecture dev team• Commercial solution providers adding• 1 year in – no releases yet• We think important are so monitoring
    16. 16. Architecture overview
    17. 17. User Preferences
    18. 18. Device capabilities
    19. 19. Matching
    20. 20. Configure Solutions
    21. 21. Our contribution• Extending an existing solution – Dementia patients and carers – Potential for Learning Difficulties
    22. 22. Our contribution• Tech Details – Entry in the Solution Regstry – New JSON Settings handler – Configure Lifecycle Manager – Test Profiles
    23. 23. Effort
    24. 24. A User Profile{ "display": { "screenEnhancement": { "applications": { "net.opendirective.maavis": { "name": "maavis", "priority": 100, "parameters": { "theme": "bw" } } } } }}
    25. 25. Solution life cycle (dev version)• User Logs in (simulates listener)• Retrieve user settings – Set Maavis settings – Launch Maavis• User logs out (simulates listener) – Restore Maavis settings – Exit Maavis
    26. 26. Solution{ "name": "maavis", "id": "net.opendirective.maavis", "contexts": { "OS": [ { "id": "win32", "version": ">=5.0" } ] }, "settingsHandlers": [ { "type": "gpii.settingsHandlers.noSettings", "capabilities": [ "display.screenEnhancement.applications.net.opendirective.maavis.name" ] } ] }}
    27. 27. Settings Handlergpii.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)); }
    28. 28. Lifecycle manager"lifecycleManager": { "start": [ "setSettings", { "type": "gpii.launch.exec", "command": "${{environment}.ComSpec} /c "cd ${{environment}.MAAVIS_HOME} &&MaavisPortable.cmd"" } ], "stop": [ { "type": "gpii.launch.exec", "command": "${{environment}.SystemRoot}System32taskkill.exe /f /im firefox.exe" }, "restoreSettings" ]}
    29. 29. Demo• Maavis
    30. 30. Further contribution• Building into W3C Widget templates – Within Apache Wookie (Incubating) – Any widget therefore Cloud4All “compliant” – Apache Rave – Clou4All compatible systems
    31. 31. Get involvedBuilding W3C Widgets? •Use Apache Wookie (Incubating) •http://www.apache.org •wookie-dev-subscribe@incubator.apache.org Building other applications? •Use cases being built now •Standards will be published •http://cloud4all.info
    32. 32. Our user
    33. 33. Happy User
    34. 34. Cloud4All
    35. 35. Steve Lee • Ross Gardler@stevealee • @rgardler OpenDirective.com
    36. 36. GPII Video

    ×