Cloud4all Architecture Overview

Post on 26-Jan-2015

125 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

Transcript

Introducing the Cloud4all/GPII Architecture

Colin Clark Lead Software Architect, Inclusive Design Research Centre

Antranig BasmanCore Framework Architect

Fluid Project

Monday, 9 July, 12

What is accessibility?

Monday, 9 July, 12

Rethinking Disability

Monday, 9 July, 12

Rethinking Disability

A mismatch between the

user

and the

user interface

Monday, 9 July, 12

Disability is contextualMonday, 9 July, 12

Designing for Context

Monday, 9 July, 12

Disability is environmental

Monday, 9 July, 12

Accessibility is...

the ability of the system

to accommodate the needs of the user

Monday, 9 July, 12

Make yourself at home...

Monday, 9 July, 12

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

Monday, 9 July, 12

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

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

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

Approach

1. Design an overall architecture

2. Build a viable, solid reference implementation

Monday, 9 July, 12

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

Architectural Features

• Declarative

• Relocatable

• Ontology agnostic

• Extremely loosely coupled and extensible

Monday, 9 July, 12

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

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

Visualizing The Architecture

Monday, 9 July, 12

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

GPII Architecture

Monday, 9 July, 12

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

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

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

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

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

Questions?Colin Clarke: cclark@ocad.cat: @colinbdclark

fluidproject.orggpii.net

Antranig Basmane: amb26@ponder.org.uk

Monday, 9 July, 12

top related