SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Introducing the Cloud4all/GPII
                  Architecture




          Colin Clark                        Antranig Basman
          Lead Software Architect,              Core Framework Architect
          Inclusive Design Research Centre                 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 contextual
Monday, 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.


                         Computers are everywhere, but accessibility isn’t.


                           The assistive technology market is struggling.


                          We are in a new era of cross platform diversity.



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:
                       Linux,Windows, and media on the web
              • Do everything in the open
              • Get it working and iterate, adding more
                     features, more platforms, more use cases


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
                             Accessible via:
                             • Preferences editor interface
                             • Web-based preferences server
                             • Other GPII components (Flow
                                Manager)

                     a framework for preferences editing

Monday, 9 July, 12
Preferences Framework
                      Preferences App         Preferences App           Preferences App
                       Configuration           Configuration             Configuration




                                                                             Presentation


                                                     Preferences
                                                     Framework
                                                                     Persistence            Action

                                                                      Resusable Preferences Objects




                     Preferences Wizard   Game Preferences Editor   Immediate, inline Editor

Monday, 9 July, 12
Preferences Server
            Easy for developers to use
                     • RESTful API
                     • JSON-based payloads
                     • OAuth for delegating access
             Scalable and forward-looking
                     • Document-based persistence
                     • High-concurrency server
Monday, 9 July, 12
Source Code
                     Github Project https://github.com/GPII/
                     Issue Tracker http://issues.gpii.net

        Example code and configuration:
              • Preferences statement: http://bit.ly/LN4iEB
              • Settings Handler: http://bit.ly/M6mDfD
              • Solutions Registry: http://bit.ly/KrLo6Z
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 Clark
    e: cclark@ocad.ca
    t: @colinbdclark

    Antranig Basman
    e: amb26@ponder.org.uk


    fluidproject.org
    gpii.net


Monday, 9 July, 12

Weitere ähnliche Inhalte

Ähnlich wie Cloud4all Architecture Overview

Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Patrick Chanezon
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesRyan Koop
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloudCamp Chicago
 
Ocular imaging Challenge
Ocular imaging ChallengeOcular imaging Challenge
Ocular imaging ChallengeChris Han
 
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012GoGrid Cloud Hosting
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionKinoma
 
Building businesspost.ie using Node.js
Building businesspost.ie using Node.jsBuilding businesspost.ie using Node.js
Building businesspost.ie using Node.jsRichard Rodger
 
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascriptnlwebperf
 
Responsive Web Design & Workflow
Responsive Web Design & WorkflowResponsive Web Design & Workflow
Responsive Web Design & Workflowhouhr
 
Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingAcquia
 
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Tathagat Varma
 
Google cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGoogle cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGDSCNiT
 
Presentation at FAO, Roma
Presentation at FAO, RomaPresentation at FAO, Roma
Presentation at FAO, RomaCyril Reinhard
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEintelliyole
 

Ähnlich wie Cloud4all Architecture Overview (20)

Cloud foundry and openstackcloud
Cloud foundry and openstackcloudCloud foundry and openstackcloud
Cloud foundry and openstackcloud
 
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
 
Ocular imaging Challenge
Ocular imaging ChallengeOcular imaging Challenge
Ocular imaging Challenge
 
Making SharePoint Mobile
Making SharePoint MobileMaking SharePoint Mobile
Making SharePoint Mobile
 
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
Microgroove (GoGrid Customer) Presentation at Cloud Connect 2012
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to Production
 
Building businesspost.ie using Node.js
Building businesspost.ie using Node.jsBuilding businesspost.ie using Node.js
Building businesspost.ie using Node.js
 
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascript
 
Responsive Web Design & Workflow
Responsive Web Design & WorkflowResponsive Web Design & Workflow
Responsive Web Design & Workflow
 
Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: Launching
 
NATO IST Symposium 2013
NATO IST Symposium 2013NATO IST Symposium 2013
NATO IST Symposium 2013
 
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
Applying 'Kanban' in Enterprise-Class Products Sustaining Engineering - An Ex...
 
Google cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptxGoogle cloud Study Jam 2023.pptx
Google cloud Study Jam 2023.pptx
 
Presentation at FAO, Roma
Presentation at FAO, RomaPresentation at FAO, Roma
Presentation at FAO, Roma
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDE
 

Mehr von icchp2012

An Accessibility Checker for LibreOffice and OpenOffice.org Writer
An Accessibility Checker for LibreOffice and OpenOffice.org WriterAn Accessibility Checker for LibreOffice and OpenOffice.org Writer
An Accessibility Checker for LibreOffice and OpenOffice.org Writericchp2012
 
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...icchp2012
 
Integration of a Regular Application into a User Interface Adaptation Engine ...
Integration of a Regular Application into a User Interface Adaptation Engine ...Integration of a Regular Application into a User Interface Adaptation Engine ...
Integration of a Regular Application into a User Interface Adaptation Engine ...icchp2012
 
Improving Game Accessibility with Vibrotactile-Enhanced Hearing Instruments
Improving Game Accessibility with Vibrotactile-Enhanced Hearing InstrumentsImproving Game Accessibility with Vibrotactile-Enhanced Hearing Instruments
Improving Game Accessibility with Vibrotactile-Enhanced Hearing Instrumentsicchp2012
 
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...icchp2012
 
Camera-based Signage Detection and Recognition for Blind Persons
Camera-based Signage Detection and Recognition for Blind PersonsCamera-based Signage Detection and Recognition for Blind Persons
Camera-based Signage Detection and Recognition for Blind Personsicchp2012
 
Visión SenS - Why should blind people be limited to information in Braille ?
Visión SenS - Why should blind people be limited to information in Braille ?Visión SenS - Why should blind people be limited to information in Braille ?
Visión SenS - Why should blind people be limited to information in Braille ?icchp2012
 
Visual Nouns for Indoor/Outdoor Navigation
Visual Nouns for Indoor/Outdoor NavigationVisual Nouns for Indoor/Outdoor Navigation
Visual Nouns for Indoor/Outdoor Navigationicchp2012
 
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...icchp2012
 
3D model fabricated by layered manufacturing for visually handicapped persons...
3D model fabricated by layered manufacturing for visually handicapped persons...3D model fabricated by layered manufacturing for visually handicapped persons...
3D model fabricated by layered manufacturing for visually handicapped persons...icchp2012
 
A Multimodal Approach To Accessible Web Content On Smartphones
A Multimodal Approach To Accessible Web Content On SmartphonesA Multimodal Approach To Accessible Web Content On Smartphones
A Multimodal Approach To Accessible Web Content On Smartphonesicchp2012
 
AAC vocabulary standardisation and harmonisation
AAC vocabulary standardisation and harmonisation AAC vocabulary standardisation and harmonisation
AAC vocabulary standardisation and harmonisation icchp2012
 
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...icchp2012
 
Non-Visual presentation of graphs using the Novint Falcon
Non-Visual presentation of graphs using the Novint FalconNon-Visual presentation of graphs using the Novint Falcon
Non-Visual presentation of graphs using the Novint Falconicchp2012
 
Creating an Entertaining and Informative Music Visualization
Creating an Entertaining and Informative Music VisualizationCreating an Entertaining and Informative Music Visualization
Creating an Entertaining and Informative Music Visualizationicchp2012
 
Cloud4all settings handlers
Cloud4all settings handlersCloud4all settings handlers
Cloud4all settings handlersicchp2012
 
Lifecycle actions manager
Lifecycle actions managerLifecycle actions manager
Lifecycle actions managericchp2012
 

Mehr von icchp2012 (17)

An Accessibility Checker for LibreOffice and OpenOffice.org Writer
An Accessibility Checker for LibreOffice and OpenOffice.org WriterAn Accessibility Checker for LibreOffice and OpenOffice.org Writer
An Accessibility Checker for LibreOffice and OpenOffice.org Writer
 
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...
Use of Social Media by People with Visual Impairments: Usage Levels, Attitude...
 
Integration of a Regular Application into a User Interface Adaptation Engine ...
Integration of a Regular Application into a User Interface Adaptation Engine ...Integration of a Regular Application into a User Interface Adaptation Engine ...
Integration of a Regular Application into a User Interface Adaptation Engine ...
 
Improving Game Accessibility with Vibrotactile-Enhanced Hearing Instruments
Improving Game Accessibility with Vibrotactile-Enhanced Hearing InstrumentsImproving Game Accessibility with Vibrotactile-Enhanced Hearing Instruments
Improving Game Accessibility with Vibrotactile-Enhanced Hearing Instruments
 
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...
Towards A Real-Time System for Finding and Reading Signs for Visually Impaire...
 
Camera-based Signage Detection and Recognition for Blind Persons
Camera-based Signage Detection and Recognition for Blind PersonsCamera-based Signage Detection and Recognition for Blind Persons
Camera-based Signage Detection and Recognition for Blind Persons
 
Visión SenS - Why should blind people be limited to information in Braille ?
Visión SenS - Why should blind people be limited to information in Braille ?Visión SenS - Why should blind people be limited to information in Braille ?
Visión SenS - Why should blind people be limited to information in Braille ?
 
Visual Nouns for Indoor/Outdoor Navigation
Visual Nouns for Indoor/Outdoor NavigationVisual Nouns for Indoor/Outdoor Navigation
Visual Nouns for Indoor/Outdoor Navigation
 
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...
GPS and Inertial Measurement Unit (IMU) as a Navigation System for the Visual...
 
3D model fabricated by layered manufacturing for visually handicapped persons...
3D model fabricated by layered manufacturing for visually handicapped persons...3D model fabricated by layered manufacturing for visually handicapped persons...
3D model fabricated by layered manufacturing for visually handicapped persons...
 
A Multimodal Approach To Accessible Web Content On Smartphones
A Multimodal Approach To Accessible Web Content On SmartphonesA Multimodal Approach To Accessible Web Content On Smartphones
A Multimodal Approach To Accessible Web Content On Smartphones
 
AAC vocabulary standardisation and harmonisation
AAC vocabulary standardisation and harmonisation AAC vocabulary standardisation and harmonisation
AAC vocabulary standardisation and harmonisation
 
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...
The Crosswatch Traffic Intersection Analyzer: A Roadmap for the Future - Coug...
 
Non-Visual presentation of graphs using the Novint Falcon
Non-Visual presentation of graphs using the Novint FalconNon-Visual presentation of graphs using the Novint Falcon
Non-Visual presentation of graphs using the Novint Falcon
 
Creating an Entertaining and Informative Music Visualization
Creating an Entertaining and Informative Music VisualizationCreating an Entertaining and Informative Music Visualization
Creating an Entertaining and Informative Music Visualization
 
Cloud4all settings handlers
Cloud4all settings handlersCloud4all settings handlers
Cloud4all settings handlers
 
Lifecycle actions manager
Lifecycle actions managerLifecycle actions manager
Lifecycle actions manager
 

Kürzlich hochgeladen

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Cloud4all Architecture Overview

  • 1. Introducing the Cloud4all/GPII Architecture Colin Clark Antranig Basman Lead Software Architect, Core Framework Architect Inclusive Design Research Centre Fluid Project Monday, 9 July, 12
  • 4. Rethinking Disability A mismatch between the user and the user interface Monday, 9 July, 12
  • 8. Accessibility is... the ability of the system to accommodate the needs of the user Monday, 9 July, 12
  • 9. Make yourself at home... Monday, 9 July, 12
  • 10. Today’s Challenges The Internet is no longer optional, but many can’t use it. Computers are everywhere, but accessibility isn’t. The assistive technology market is struggling. We are in a new era of cross platform diversity. Monday, 9 July, 12
  • 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
  • 13. 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
  • 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. Approach 1. Design an overall architecture 2. Build a viable, solid reference implementation Monday, 9 July, 12
  • 16. Big Project, Little Steps • Focus on early, valuable use cases first: Linux,Windows, and media on the web • Do everything in the open • Get it working and iterate, adding more features, more platforms, more use cases Monday, 9 July, 12
  • 17. Architectural Features • Declarative • Relocatable • Ontology agnostic • Extremely loosely coupled and extensible Monday, 9 July, 12
  • 18. 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
  • 19. 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
  • 32. Preferences and Preferences Server Accessible via: • Preferences editor interface • Web-based preferences server • Other GPII components (Flow Manager) a framework for preferences editing Monday, 9 July, 12
  • 33. Preferences Framework Preferences App Preferences App Preferences App Configuration Configuration Configuration Presentation Preferences Framework Persistence Action Resusable Preferences Objects Preferences Wizard Game Preferences Editor Immediate, inline Editor Monday, 9 July, 12
  • 34. Preferences Server Easy for developers to use • RESTful API • JSON-based payloads • OAuth for delegating access Scalable and forward-looking • Document-based persistence • High-concurrency server Monday, 9 July, 12
  • 35. Source Code Github Project https://github.com/GPII/ Issue Tracker http://issues.gpii.net Example code and configuration: • Preferences statement: http://bit.ly/LN4iEB • Settings Handler: http://bit.ly/M6mDfD • Solutions Registry: http://bit.ly/KrLo6Z Monday, 9 July, 12
  • 36. 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
  • 37. Questions? Colin Clark e: cclark@ocad.ca t: @colinbdclark Antranig Basman e: amb26@ponder.org.uk fluidproject.org gpii.net Monday, 9 July, 12