How to integrate with GPII

Preview:

DESCRIPTION

The Global Public Inclusive Infrastructure will provide a platform that will allow any platforms, applications and devices to automatically activate their accessibility features. Any ICT solution can integrate with the GPII in an easy way, therefore becoming automatically launchable and configurable. This presentation describes the steps needed to integrate any ICT solutions with the GPII.

Citation preview

GPII Integration

Integrating Your Application• You can usually integrate your app without writing any code

• Simply describe:

1. Which platforms you support

2. How you store your settings

3. How to launch and stop your application

4. How your settings relate to a common vocabulary

Basic Structure: { "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers": (…), "lifecycleManager": (…) }

Give your application a name and a unique ID:

{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers": (…), "lifecycleManager": (…) }

Describe the platforms your application runs on:

{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": { "OS": [ { "id": "win32", "version": ">=5.0" } ] }, "settingsHandlers": (…), "lifecycleManager": (…) }

Describe how your app stores its settings:

{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers": [ { "type": "gpii.windows.registrySettingsHandler", "options": { "hKey": "HKEY_CURRENT_USER", "path": "Software\\Microsoft\\ScreenMagnifier" }, "capabilitiesTransformations": (…) }, {...} ], "lifecycleManager": (…) }

Describe how to start and stop your app:{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers": (…), "lifecycleManager": { "start": [ "setSettings", { "type": "gpii.launch.exec", "command": "${{environment}.SystemRoot}\\System32\\Magnify.exe" } ], "stop": [ { "type": "gpii.launch.exec", "command": "${{environment}.SystemRoot}\\System32\\taskkill.exe /im Magnify.exe" }, "restoreSettings" ] } }

AccessForAll & Common Terms• AccessForAll a.k.a. ISO 24751

• Open registry-based architecture in progress

• Provides a common vocabulary for describing a user’s needs and preference

• Provides a “meeting place” for cross-platform preferences

• Philosophy: you speak your preferred language, but describe how to translate it

{ "http://registry.gpii.org/common/magnification": [ {"value": 3.0} ], "http://registry.gpii.org/common/tracking": [ {"value": "mouse"} ], "http://registry.gpii.org/common/invertImages": [ {"value": true} ]}

Eexample preferences set:

{ "http://registry.gpii.org/common/magnification": [ {"value": 3.0} ], "http://registry.gpii.org/common/tracking": [ {"value": "mouse"} ], "http://registry.gpii.org/common/invertImages": [ {"value": true} ]}

… But the windows magnifier stores magnification as a percentage

“$HKEY_CURRENT_USER\\Software\\Microsoft\\ScreenMagnifier”: { “Magnification”: 200, [REG_DWORD INT] “Invert”: 1 [REG_DWORD BOOL], "FollowMouse": 1 [REG_DWORD BOOL]}

Defining how to translate and set settings:{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers”: [ { ... "capabilitiesTransformations": { "Magnification": { "transform": { "type": "gpii.transformer.linearScale", "inputPath": "http://registry.gpii.org/common/magnification", "outputPath": "value", "factor": 100 } }, ...

Defining how to translate and set settings:{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers”: [ { ... "capabilitiesTransformations": { "Magnification": { "transform": { "type": "gpii.transformer.linearScale", "inputPath": "http://registry.gpii.org/common/magnification", "outputPath": "value", "factor": 100 } }, ...

Take this preference

Defining how to translate and set settings:{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers”: [ { ... "capabilitiesTransformations": { "Magnification": { "transform": { "type": "gpii.transformer.linearScale", "inputPath": "http://registry.gpii.org/common/magnification", "outputPath": "value", "factor": 100 } }, ...

Take this preference

Rename it to this setting

Defining how to translate and set settings:{ "name": "Windows Built-in Screen Magnifier", "id": "com.microsoft.windows.magnifier", "contexts": (…), "settingsHandlers”: [ { ... "capabilitiesTransformations": { "Magnification": { "transform": { "type": "gpii.transformer.linearScale", "inputPath": "http://registry.gpii.org/common/magnification", "outputPath": "value", "factor": 100 } }, ...

Rename it to this setting

Scale it

Take this preference

Next Steps

Get Involved

If you’re a developer, designer, tester, user, writer, organizer, maker, thinker, tinkerer, drawer, doer, helper...

We need you!

Community

Website

Wiki

Mailing lists

Source code

Issue tracker

Chat

gpii.net

wiki.gpii.net

lists.gpii.net

github.com/gpii

issues.gpii.net

#fluid-work (freenode)

Recommended