Top Banner

Click here to load reader

Cloud4all Architecture Overview

Jan 26, 2015




Introducing the Cloud4all/GPII Architecture presentation by Antranig Basman & Colin Clark at ICCHP - International Conference on Computers Helping People with Special Needs in Linz, Austria.

  • 1. Introducing the Cloud4all/GPIIArchitectureColin ClarkAntranig BasmanLead Software Architect,Core Framework ArchitectInclusive Design Research Centre Fluid ProjectMonday, 9 July, 12

2. What is accessibility?Monday, 9 July, 12 3. Rethinking DisabilityMonday, 9 July, 12 4. Rethinking DisabilityA mismatch between theuserand theuser interfaceMonday, 9 July, 12 5. Disability is contextualMonday, 9 July, 12 6. Designing for ContextMonday, 9 July, 12 7. Disability is environmentalMonday, 9 July, 12 8. Accessibility is... the ability of the system to accommodate the needs of the userMonday, 9 July, 12 9. Make yourself at home...Monday, 9 July, 12 10. Todays Challenges The Internet is no longer optional, but many cant use it. Computers are everywhere, but accessibility isnt. The assistive technology market is struggling.We are in a new era of cross platform diversity.Monday, 9 July, 12 11. Monday, 9 July, 12 12. User Experience User interfaces that can adapt to the needs, preferences, tastes of usersfeel at home Content that can be delivered in a form that people can understand and use... across all the platforms we use.Monday, 9 July, 12 13. Technical Goals Lower the cost of building accessibly: Developers can draw from a diverse range of easy to nd adaptive building blocks Build user personalization into the fabric of the web, mobile, and desktop Sustain an infrastructure for personalization and interoperability for the long runMonday, 9 July, 12 14. Technical Challenges How do we support all these platforms? How do we respond to the increased hybridization across web and desktop? How do we scale it big? How do we make it extensible and able to grow sustainably over time?Monday, 9 July, 12 15. Approach1. Design an overall architecture2. Build a viable, solid reference implementationMonday, 9 July, 12 16. Big Project, Little Steps Focus on early, valuable use cases rst: Linux,Windows, and media on the web Do everything in the open Get it working and iterate, adding more features, more platforms, more use casesMonday, 9 July, 12 17. Architectural Features Declarative Relocatable Ontology agnostic Extremely loosely coupled and extensibleMonday, 9 July, 12 18. Technologies Use the web! REST instead of platform-specic remoting APIs JSON payloads: simple, ubiquitous data interchange HTML, CSS, JavaScript for user interfaces Idiomatic platform integrationMonday, 9 July, 12 19. Reference Implementation Node.js for cross-platform development Core code written in JavaScript Native bindings to platform in C and libf CouchDB document-oriented database Highly scalable cloud deployment modelMonday, 9 July, 12 20. Visualizing The ArchitectureMonday, 9 July, 12 21. Monday, 9 July, 12 22. GPII ArchitectureMonday, 9 July, 12 23. GPII ArchitectureMonday, 9 July, 12 24. GPII ArchitectureMonday, 9 July, 12 25. GPII ArchitectureMonday, 9 July, 12 26. GPII ArchitectureMonday, 9 July, 12 27. GPII ArchitectureMonday, 9 July, 12 28. GPII ArchitectureMonday, 9 July, 12 29. GPII ArchitectureMonday, 9 July, 12 30. GPII ArchitectureMonday, 9 July, 12 31. GPII ArchitectureMonday, 9 July, 12 32. Preferences andPreferences Server Accessible via: Preferences editor interface Web-based preferences server Other GPII components (FlowManager) a framework for preferences editingMonday, 9 July, 12 33. Preferences FrameworkPreferences App Preferences App Preferences App Configuration Configuration Configuration Presentation Preferences Framework PersistenceActionResusable Preferences Objects Preferences Wizard Game Preferences Editor Immediate, inline EditorMonday, 9 July, 12 34. Preferences ServerEasy for developers to use RESTful API JSON-based payloads OAuth for delegating access Scalable and forward-looking Document-based persistence High-concurrency serverMonday, 9 July, 12 35. Source Code Github Project Issue Tracker http://issues.gpii.netExample code and conguration: Preferences statement: Settings Handler: Solutions Registry:, 9 July, 12 36. How you can get involved 1. Feedback, ideas suggestions: tell uswhat works and what doesnt 2. Testing and bug xing 3. Code with us: an open meritocracy 4. User experience designMonday, 9 July, 12 37. Questions?Colin Clarke: [email protected]: @colinbdclarkAntranig Basmane: [email protected], 9 July, 12