Architecture - Activities and Deliverables

From wiki.gpii
Jump to: navigation, search

Short-Term Roadmap

Key Milestones

  1. Demo of Linux, Windows, and Web Personalization at the World Summit on the Information Society (WSIS) in Geneva, Switzerland, May 14-17
  2. Implementer's Workshop and Hackathon in Linz, Austria, July 2012


May 14-17, 2012. For more information about the demo, see the WSIS Planning 2012 page.

This demo will showcase the GPII Personalization Framework working on several platforms:

  • Linux and GNOME
  • Windows
  • The Web

The demo will be structured around a series of personas representing a diverse array of needs and preferences. Vistors to the booth will be able to plugin a USB stick representing each persona and see the GPII system automatically personalize and launch a variety of assistive technologies, built-in access features, and Web application configurations customized to their needs. That personal profile will have complimentary effects across each platform. An Android phone will also be available to show an early prototype of this kind of personalization working on a mobile platform.

Phase 1: Planning and Staging


  1. For each Solution on each platform and for each persona:
    1. Make a comprehensive list of all of the relevant settings
  2. For each persona, by hand, set each of the settings in each of the relevant Solutions
    1. Verify that everything looks good and comprehensive
  3. For each platform, set up the operating so that it looks the best: icon placement, default applications, etc.
  4. Make screenshots so everyone can see them
  5. Research/contact:
    1. Visual Bell – requires settings handler and perhaps launch Handler? Who to contact to find out? (emergya?)
    2. Captions – need to write settings/launch handler for some media player. Figure out what player, consider the settings and launch Handler
    3. On Screen Keyboard: Works poorly. Crashes firefox/chrome/desktop, doesn't show ctrl+alt+windows key, when dismissed (does so automagically after a few seconds) only some textareas will summon it - like the nautilus file finder, etc.. Firefox doesn't summon it -- perhaps talk with emergya about what to do.
    4. Mouse keys works, but they need a keyboard with a keypad.. This is NOT present on the onscreen keyboard.. How to activate this?
    5. Find reasonable settings for Orca - and know the basic shortcuts.
  1. A list of all settings for all relevant solutions for each persona across each platform
  2. Screenshots of how the system will look when these settings are applied on each platform

Who's Helping?

  •  Kasper (Linux, Web app settings, Read Write Gold)  - 2 days
  •  Jim Tobias or a student(Windows, Read Write Gold) - 2 days
  •  Boyan (Windows)                                                       - 1 day

Phase 2: Preferences and Solutions Declarations

  1. Review each persona and create JSON preferences profiles
    1. ​Include each application-specific setting in the profile
    2. Map each setting with an AccessForAll general setting and write transformation rules
      - Dependency: Model Transformation in the personalization frameworks
  2. the settings storage mechanism for each Solution, producing a list of necessary SettingsHandlers and LaunchHandler, flagging those that don't yet exist
  3. Create Solutions Registry entries for each Solution

Who's Helping?

  •  Kasper - 1.5 days

Phase 3: Implement Functionality Gaps

  1. Write the Settings and Launch Handlers required by solutions, which don't currently exist
    • XML SettingsHandler                                            (2 days)
    • lifecycleHandlers:                                                  (4 days)
      • Exec lifecycleHandler
      • Process lifecycleHandler
      • File In The Right Place Kill Handler
    • SystemParametersInfo SettingsHandler (Boyan) ( 4 days)
  2. Write new User Listeners:
    1. RFID listener                                                          (7.5 days)
      • Determine appropriate Linux and Windows drivers for reader
      • Research APIs for reader
      • Determine how to load data onto the tag
      • Determine a scheme for timing users out if necessary
      • Implement
    2. Login web page listener                                         (2 days for Login and Keystroke)
      • Create a webpage with a form on it, hosted within the Flow Manager's Node instance
      • Submit user token to local Flow Manager
    3. Keystroke combination listener (depends on implementing b)
      • Write two native C programs--one for Windows, one for Linux
      • Research, on each platform, how to register system-wide services with access to the GUI event loop for capturing keyboard keystrokes
      • Implement
      • Come up with some means by which the service is loaded on system startup
      • Can we come up with some simple alternative by mapping keystrokes in Windows to a batch script? (in Linux, the answer is yes)
Who's Helping?
  • Antranig (lifecycleHandlers)
  • Steve (XMLSettingsHandler?)
  • Yura (Login listener and keystroke Listener)

Phase 4: Ensure full end-to-end functionality

  1. Finish, test, and deploy Preferences Server (Yura)                                 (3 days)
  2. Flow Manager refactoring (Yura)                                                             (done)
  3. Review and push Windows Registry settingsHandler (Colin)                  (0.5 days)
  4. Implement the new lifecycleHandler API (Antranig)                                 (soon?)
  5. Create a full set of instructions for installing GPII on Windows                (1 day)
  6. Major testing checkpoint                                                                           (3 days)
  7. Work with community (i.e. Emergya) to determine best configuration/versions/etc. of Solutions (especially on Linux) (3 days)
  8. Fix Matchmaker bugs (Colin)                                                                   (2 days)

Phase 5: Prep the demo

  1. Load all profiles into the preferences server
  2. Load appropriate user tokens onto each USB stick
  3. Install platforms and GPII framework on each demo laptop

(2 days)


April 2013

Matchmaker pilots and SP3 demos will be taking place in Spain, Greece and Germany.

The pilots will be focused on vision related preferences and will take the following form:

  1. Users will set up a machine with their preferred settings.
  2. An expert will assist in creating a preferences set, which will be uploaded to the preferences server.
  3. The user will test the system using their preferences set on both Windows and Linux.

Tasks remaining for pilots

  1. Complete the INI settings handler
  2. Complete the json settings handler
  3. Create settings transformations for:
    • Orca
    • NVDA
    • Windows
    • Linux
  4. Address issues with setting Windows font size
  5. Test the full stack

Tasks remaining for SP3 demos

  1. Add applications to the solutions registry
  2. Support SILO in completing their integration with GPII
  3. Create good demonstration preferences sets and put them on the preferences server
  4. Assist matchmaker teams in plugging their work into the central infrastructure
  5. Create a simple UI for preference setting and editing
  6. Ensure USB sticks are provisioned
  7. Fix the Infusion rendering bug that causes labels to not be correctly associated in UIO
  8. Internationalize UIO
  9. End to end testing

New Pre-Pilot To Do List


  1. Preferences web form (by next Wednesday): Michelle + Yura
  2. Finish, review, push, and test new transformations: Kasper + Antranig
  3. Determine a means by which Matchmaker developers can be given platform information: Yura
  4. Explain how to create new configurations for running the system with each Matchmaker: Yura or Antranig
  5. Review pending pull request: Colin + Antranig + Kasper
    • SPI (Antranig)
    • Orca (Kasper + Yura)
    • Model Transformations (Antranig)
  6. Finish the INI Settings Handler: Kasper (review by Colin)
  7. We need to meet and talk with SP3 team: Gianna


  1. Preferences web form
    • Yura and Michelle need a list of all terms being used in the pilots, along with value ranges and a human-readable label
    • Need to build it!
    • Need to host it online (Avtar)
    • Kasper will teach pilot teams how to use it
  2. Integration of RB and ST MMs
    • Need to have platform/device information passed as argument to, we think, the Matchmaker Strategy function
    • Need the full list of input preferences and output settings for the pilots
      • (depends on Evgeni finishing research for Windows and Javi finishing research on Linux)
    • How do we create separate configuration profiles for each Matchmaker (Yura needs to explain this)
    • Matchmaker teams need to document how to build, run, and use their Matchmakers
  3. Complete transformation for Windows and Linux
    • Kasper's new ModelTransformation branch is ready for review, but depends on Antranig's Infusion FLUID-4819 branch, which is not currently ready to go into Infusion's master; need to ask Antranig to break up his branch into pieces--one containing the stuff that Kasper needs, the other containing in-progress Infusion component changes
    • Windows tasks still pending
      • Test Kasper's new transformations on Windows
      • Determine the appropriate settings and transformations for remaining Windows features: theme, cursor size, font size (Evgeni)
      • Update solutions registry with final transformations
    • Linux tasks:
      • Test Kasper's new transformations on Linux
      • Determine settings and transformations for remaining Linux features: theme, (cursor?), font size (Javi)
      • Update registry with final transformations
  4. Support SP3 demos
    • Ferran (Mobile Accessibility)
    • Xavi (EASIT accessible social networking tool)
    • Steve Lee (Maavis; pull request pending)
    • Thanos (SiLo, Microsoft Pixelsense table)
    • Javi (Emergya; Linux)
  5. Review JSON settings handler
    • Need to test this new settings handler with Maavis and ensure it still works
  6. Talk with Thanos and determine if anything needs to be done for Pixelsense integration
  7. SP3 developers need to post their applications and appropriate material to Dropbox or some other location
  8. UIO needs to be more easily localized

Code Reviews

  • JSON Settings Handler (pull request is up) (Colin)
  • INI Settings Handler (prepare and make pull request) (Kasper)
  • Orca Settings Handler (review and discuss) (Kasper and Colin)
  • GSettings Settings Handler (waiting for one last fix from Javi)
  • Additional Linux solutions in the Solutions Registry (waiting for fix from Javi)
  • Two pull requests for Windows SPI from Evgeni (Antranig)