Top Banner
Introducing the Cloud4all/GPII Architecture Colin Clark Lead Software Architect, Inclusive Design Research Centre Antranig Basman Core Framework Architect Fluid Project Monday, 9 July, 12
37

Cloud4all Architecture Overview

Jan 26, 2015

Download

Technology

icchp2012

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cloud4all Architecture Overview

Introducing the Cloud4all/GPII Architecture

Colin Clark Lead Software Architect, Inclusive Design Research Centre

Antranig BasmanCore Framework Architect

Fluid Project

Monday, 9 July, 12

Page 2: Cloud4all Architecture Overview

What is accessibility?

Monday, 9 July, 12

Page 3: Cloud4all Architecture Overview

Rethinking Disability

Monday, 9 July, 12

Page 4: Cloud4all Architecture Overview

Rethinking Disability

A mismatch between the

user

and the

user interface

Monday, 9 July, 12

Page 5: Cloud4all Architecture Overview

Disability is contextualMonday, 9 July, 12

Page 6: Cloud4all Architecture Overview

Designing for Context

Monday, 9 July, 12

Page 7: Cloud4all Architecture Overview

Disability is environmental

Monday, 9 July, 12

Page 8: Cloud4all Architecture Overview

Accessibility is...

the ability of the system

to accommodate the needs of the user

Monday, 9 July, 12

Page 9: Cloud4all Architecture Overview

Make yourself at home...

Monday, 9 July, 12

Page 10: Cloud4all Architecture Overview

Today’s Challenges

The Internet is no longer optional, but many can’t use it.

The assistive technology market is struggling.

We are in a new era of cross platform diversity.

Computers are everywhere, but accessibility isn’t.

Monday, 9 July, 12

Page 11: Cloud4all Architecture Overview

Monday, 9 July, 12

Page 12: Cloud4all Architecture Overview

User Experience

• User interfaces that can adapt to the needs, preferences, tastes of users—feel 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

Page 13: Cloud4all Architecture Overview

Technical Goals

• Lower the cost of building accessibly: Developers can draw from a diverse range of easy to find 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 run

Monday, 9 July, 12

Page 14: Cloud4all Architecture Overview

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

Page 15: Cloud4all Architecture Overview

Approach

1. Design an overall architecture

2. Build a viable, solid reference implementation

Monday, 9 July, 12

Page 16: Cloud4all Architecture Overview

Big Project, Little Steps

• Focus on early, valuable use cases first:

• Do everything in the open

• Get it working and iterate, adding more features, more platforms, more use cases

Linux, Windows, and media on the web

Monday, 9 July, 12

Page 17: Cloud4all Architecture Overview

Architectural Features

• Declarative

• Relocatable

• Ontology agnostic

• Extremely loosely coupled and extensible

Monday, 9 July, 12

Page 18: Cloud4all Architecture Overview

Technologies

• Use the web!

• REST instead of platform-specific remoting APIs

• JSON payloads: simple, ubiquitous data interchange

• HTML, CSS, JavaScript for user interfaces

• Idiomatic platform integration

Monday, 9 July, 12

Page 19: Cloud4all Architecture Overview

Reference Implementation

• Node.js for cross-platform development

• Core code written in JavaScript

• Native bindings to platform in C and libffi

• CouchDB document-oriented database

• Highly scalable cloud deployment model

Monday, 9 July, 12

Page 20: Cloud4all Architecture Overview

Visualizing The Architecture

Monday, 9 July, 12

Page 21: Cloud4all Architecture Overview

Monday, 9 July, 12

Page 22: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 23: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 24: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 25: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 26: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 27: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 28: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 29: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 30: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 31: Cloud4all Architecture Overview

GPII Architecture

Monday, 9 July, 12

Page 32: Cloud4all Architecture Overview

Preferences and Preferences Server

• Preferences editor interface

• Web-based preferences server

• Other GPII components (Flow Manager)

Accessible via:

a framework for preferences editing

Monday, 9 July, 12

Page 33: Cloud4all Architecture Overview

Preferences Framework

PreferencesFramework

Preferences Wizard Game Preferences Editor Immediate, inline Editor

Resusable Preferences Objects

Persistence

Presentation

Action

Preferences AppCon!guration

Preferences AppCon!guration

Preferences AppCon!guration

Monday, 9 July, 12

Page 34: Cloud4all Architecture Overview

Preferences Server

• RESTful API

• JSON-based payloads

• OAuth for delegating access

Easy for developers to use

Scalable and forward-looking

• Document-based persistence

• High-concurrency server

Monday, 9 July, 12

Page 35: Cloud4all Architecture Overview

Source Code

Example code and configuration:

• Preferences statement: http://bit.ly/LN4iEB

• Settings Handler: http://bit.ly/M6mDfD

• Solutions Registry: http://bit.ly/KrLo6Z

Github Project https://github.com/GPII/

Issue Tracker http://issues.gpii.net

Monday, 9 July, 12

Page 36: Cloud4all Architecture Overview

How you can get involved

1. Feedback, ideas suggestions: tell us what works and what doesn’t

2. Testing and bug fixing

3. Code with us: an open meritocracy

4. User experience design

Monday, 9 July, 12

Page 37: Cloud4all Architecture Overview

Questions?Colin Clarke: [email protected]: @colinbdclark

fluidproject.orggpii.net

Antranig Basmane: [email protected]

Monday, 9 July, 12