SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Parallel User Interface Rendering
                 ~
Accessibility for Custom Widgets

      Kris Van Hees & Jan Engelen
      Katholieke Universiteit Leuven
    Department of Electrical Engineering
          ESAT - SCD - DocArch



              Kris Van Hees & Jan Engelen   1/16
Agenda
●
    Introduction
●
    Parallel User Interface Rendering
●
    Widgets
●
    Cosmetic widgets
●
    Conclusions
●
    Future...



                       Kris Van Hees & Jan Engelen   2/16
Introduction
●
    GUIs in all aspects of life: computers, MP3 players,
    home appliances, mobile phones, ...
●
    Inherent visual interaction model poses a complication
    for users with disabilities (especially blindness)
●
    Mixing graphical toolkits within a single environment
    complicates matters even more (Linux: Qt, GTK,
    Athena, …)
●
    Custom widgets: often not supported in assistive
    technology without fancy scripting (if available)

                      Kris Van Hees & Jan Engelen            3/16
Introduction (cont...)
●
    Abstracting the user interface offers advantages:
     –   Unified user interaction semantics across toolkits and
         modalities
     –   Retaining flexibility in rendering for multiple modalities
     –   Assistive technology as 1st generation rendering
●
    Parallel User Interface Rendering (PUIR) provides for
    equivalent concurrent renderings of the UI



                          Kris Van Hees & Jan Engelen                 4/16
Parallel User Interface Rendering
●
    User interface defined in abstract form (XML file)
     –   Effectively defines data and how to present data
●
    Abstract UI description interpreted by an AUI engine
     –   Handles user interaction semantics
●
    UI presentation rendered by modality-specific agent(s)
●
    Rendering agent depends on system specific toolkits
●
    Rendering agents provide presentations concurrently
     –   Provide both visual and non-visual rendering
                        Kris Van Hees & Jan Engelen          5/16
PUIR: The AUI engine
●
    Interprets an abstract UI description (XML file)
●
    Implements user interaction semantics
●
    Encapsulates data in the UI
●
    Provides focus management
●
    Dispatches events to the application and rendering agents
●
    Can be called from application and rendering agents
●
    Has no knowledge of implementation details of
    application and rendering agents

                      Kris Van Hees & Jan Engelen           6/16
PUIR: GUI rendering agent
●
    Java Swing based in-process rendering agent
●
    Complex changes to bypass user interaction in widgets
●
    Reduced to provide merely the presentation of widgets
●
    Some widgets operate slightly differently
●
    Pointer device UI interaction interpreted in the rendering
    agent:
     –   Necessary because position is tied to GUI context
     –   Semantic operations mapped to AUI operations

                        Kris Van Hees & Jan Engelen          7/16
PUIR: Non-visual rendering agent
●
    Remote rendering agent
●
    Basic speech output presentation as proof-of-concept
●
    Proxy objects for transparency and caching
●
    Equivalent with GUI rendering agent:
    –   Receives the same events
    –   Synchronized with other rendering agents




                      Kris Van Hees & Jan Engelen          8/16
PUIR: Input processing
●
    Keyboard:
    –   Textual input
    –   Navigation, text selection, editing, …
    –   Processed directly by AUI (for proof-of-concept)
●
    Mouse:
    –   Processed by rendering agent
    –   Position to be interpreted within graphical context
    –   Semantic user interaction delegated to AUI engine

                        Kris Van Hees & Jan Engelen           9/16
PUIR: Input processing (cont...)
●
    Braille keyboard:
    –   Coded textual input translated into text
    –   Text processed as if entered on regular keyboard
    –   Limited cursor addressable positional input
    –   Positional input interpreted in context
    –   Semantic user interaction delegated to AUI engine




                        Kris Van Hees & Jan Engelen         10/16
Widgets
●
    Two entities per widget:
     –   Abstract widget:
          ●
              Operates entirely within the AUI engine
          ●
              Implements user interaction semantics
          ●
           Encapsulates data
     –   Widget presentation:
          ●
              Usually one per rendering agent
          ●
              Implements rendering in output modality

                          Kris Van Hees & Jan Engelen   11/16
Widgets (cont...)
●
    Design:
    –   Define UI in abstract UI description
    –   Typically by means of design tool
    –   Rendering specific information can be included




                       Kris Van Hees & Jan Engelen       12/16
Widgets (cont...)
●
    Runtime construction:
    –   Instantiation of UI based on AUI description
    –   For every widget:
         ●
             Find built-in abstract widget class
         ●
           If none, search in alternate locations
         ●
           If none, UI cannot be instantiated




                         Kris Van Hees & Jan Engelen   13/16
Widgets (cont...)
●
    Rendering:
    –   One-to-one correspondence between abstract widget
        class and presentation class
    –   For every widget:
         ●
             Find built-in widget presentation class
         ●
           If none, search in alternate locations
         ●
           If none and cosmetic widget, use core alternate
                                                       (more on this 2 slides from now...)

         ●
             If none, use default place-holder widget
                         Kris Van Hees & Jan Engelen                                    14/16
Widgets (cont...)
●
    Rendering (cont...):
    –   Rendering agent knows what widgets are supported
    –   Rendering agent can alert user appropriately
    –   Rendering agent can query information from AUI
        about the unsupported widget
    –   Accidental user interaction is guarded against




                       Kris Van Hees & Jan Engelen         15/16
Cosmetic widgets
●
    Widgets with a very specific presentation
●
    Typically derivative of an existing core widget
●
    User interaction semantics remain the same


●
    AUI description specifies equivalence between cosmetic
    widget and core widget
●
    Core widget can act as default presentation when no
    custom presentation class is found

                      Kris Van Hees & Jan Engelen         16/16
Cosmetic widgets (cont...)


●
    Left-to-right:
     –   Four regular buttons
     –   VU-meter style widget: equivalent with numeric label
     –   Four knobs: equivalent with discrete slider
     –   Four indicator lights: equivalent with label
     –   Four regular buttons
                        Kris Van Hees & Jan Engelen         17/16
Conclusions
●
    Parallel User Interface Rendering
     –   Powerful technique for Design-for-All
     –   Coherence between concurrent equivalent renderings
     –   Generic: not just for non-visual renderings
     –   Robust handling of custom widgets
     –   Support for custom widgets independent from
         applications and specific uses
     –   Can be used in automated application testing as well

                        Kris Van Hees & Jan Engelen             18/16
Future...
●
    Completion of proof-of-concept
●
    More testing
●
    Public release

●
    Default presentation of custom widgets merely based on
    abstract widget information
●
    Remote operation of applications


     At all stages, feedback from real users is be crucial!
                      Kris Van Hees & Jan Engelen             19/16
Kris Van Hees & Jan Engelen
  Katholieke Universiteit Leuven
Department of Electrical Engineering
     ESAT – SCD – DocArch
     Kasteelpark Arenberg 10
         B-3001 Heverlee
             Belgium

kris@alchar.org, jan@docarch.be


       Kris Van Hees & Jan Engelen     20/16

Contenu connexe

Similaire à 8

SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSebastien Kuntz
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump StartConFoo
 
Windows Mixed Reality Dev
Windows Mixed Reality DevWindows Mixed Reality Dev
Windows Mixed Reality DevHoloLite
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10Jiri Danihelka
 
Mobile Apps: UI & UX
Mobile Apps: UI & UXMobile Apps: UI & UX
Mobile Apps: UI & UXm-ACADEMY
 
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...Unity Technologies
 
Get to know about UI/UX designing
Get to know about UI/UX designingGet to know about UI/UX designing
Get to know about UI/UX designingMenusha Pathirana
 
(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer(Js) Export your own WebGL Viewer
(Js) Export your own WebGL ViewerJooinK
 
Android Infrastructure
Android InfrastructureAndroid Infrastructure
Android InfrastructureEyad Almasri
 
Unique but fast make your tizen gui application brilliant
Unique but fast make your tizen gui application brilliantUnique but fast make your tizen gui application brilliant
Unique but fast make your tizen gui application brilliantHermet Park
 
Natural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingNatural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingYuvaraj Ilangovan
 
Platform Agnostic apps are Fyne
Platform Agnostic apps are FynePlatform Agnostic apps are Fyne
Platform Agnostic apps are FyneAndrew Williams
 
Marker less augmentedd reality using computer vision
Marker less augmentedd reality using computer visionMarker less augmentedd reality using computer vision
Marker less augmentedd reality using computer visiongametester6
 
Developing mobile games and applications using Castle Game Engine
Developing mobile games and applications using Castle Game EngineDeveloping mobile games and applications using Castle Game Engine
Developing mobile games and applications using Castle Game EngineMichalis Kamburelis
 
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...AugmentedWorldExpo
 
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...Dan Vitoriano
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 
TDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designTDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designJackson F. de A. Mafra
 

Similaire à 8 (20)

SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
 
Windows Mixed Reality Dev
Windows Mixed Reality DevWindows Mixed Reality Dev
Windows Mixed Reality Dev
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
 
Mobile Apps: UI & UX
Mobile Apps: UI & UXMobile Apps: UI & UX
Mobile Apps: UI & UX
 
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
 
Get to know about UI/UX designing
Get to know about UI/UX designingGet to know about UI/UX designing
Get to know about UI/UX designing
 
(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer
 
Android Infrastructure
Android InfrastructureAndroid Infrastructure
Android Infrastructure
 
Unique but fast make your tizen gui application brilliant
Unique but fast make your tizen gui application brilliantUnique but fast make your tizen gui application brilliant
Unique but fast make your tizen gui application brilliant
 
Screenlessdisplay
ScreenlessdisplayScreenlessdisplay
Screenlessdisplay
 
Natural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingNatural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface Computing
 
Platform Agnostic apps are Fyne
Platform Agnostic apps are FynePlatform Agnostic apps are Fyne
Platform Agnostic apps are Fyne
 
Android game ppt
Android game pptAndroid game ppt
Android game ppt
 
Marker less augmentedd reality using computer vision
Marker less augmentedd reality using computer visionMarker less augmentedd reality using computer vision
Marker less augmentedd reality using computer vision
 
Developing mobile games and applications using Castle Game Engine
Developing mobile games and applications using Castle Game EngineDeveloping mobile games and applications using Castle Game Engine
Developing mobile games and applications using Castle Game Engine
 
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
Philipp Nagele (Wikitude): Context Is for Kings: Putting Context in the Hands...
 
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
User experience guidelines for Universal Windows Platform (UWP) appsUwp app d...
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
TDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material designTDC 2014 - Trilha Mobile - Material design
TDC 2014 - Trilha Mobile - Material design
 

Plus de AEGIS-ACCESSIBLE Projects

Aegis concertation - 2nd International AEGIS conference
Aegis concertation - 2nd International AEGIS conferenceAegis concertation - 2nd International AEGIS conference
Aegis concertation - 2nd International AEGIS conferenceAEGIS-ACCESSIBLE Projects
 
Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)AEGIS-ACCESSIBLE Projects
 
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...AEGIS-ACCESSIBLE Projects
 
Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)AEGIS-ACCESSIBLE Projects
 
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)AEGIS-ACCESSIBLE Projects
 
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...AEGIS-ACCESSIBLE Projects
 
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...AEGIS-ACCESSIBLE Projects
 
AEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile applicationAEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile applicationAEGIS-ACCESSIBLE Projects
 
AEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS-ACCESSIBLE Projects
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceAEGIS-ACCESSIBLE Projects
 

Plus de AEGIS-ACCESSIBLE Projects (20)

Newsletter 7 AEGIS project
Newsletter 7 AEGIS projectNewsletter 7 AEGIS project
Newsletter 7 AEGIS project
 
Veritas newsletter no 5 final
Veritas newsletter no 5 finalVeritas newsletter no 5 final
Veritas newsletter no 5 final
 
Aegis concertation - 2nd International AEGIS conference
Aegis concertation - 2nd International AEGIS conferenceAegis concertation - 2nd International AEGIS conference
Aegis concertation - 2nd International AEGIS conference
 
Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)
 
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
 
Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)
 
ViPi Survey (Andy Burton, NTU)
ViPi Survey (Andy Burton, NTU)ViPi Survey (Andy Burton, NTU)
ViPi Survey (Andy Burton, NTU)
 
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
 
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
 
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
 
AEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile applicationAEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile application
 
AEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web application
 
ACCESSIBLE newsletter n° 6
ACCESSIBLE newsletter n° 6ACCESSIBLE newsletter n° 6
ACCESSIBLE newsletter n° 6
 
AEGIS Newsletter n° 6
AEGIS Newsletter n° 6AEGIS Newsletter n° 6
AEGIS Newsletter n° 6
 
VERITAS newsletter n° 3
VERITAS newsletter n° 3VERITAS newsletter n° 3
VERITAS newsletter n° 3
 
VERITAS newsletter n° 2
VERITAS newsletter n° 2VERITAS newsletter n° 2
VERITAS newsletter n° 2
 
VERITAS newsletter n° 4
VERITAS newsletter n° 4VERITAS newsletter n° 4
VERITAS newsletter n° 4
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and Conference
 
Aegis concertation certh
Aegis concertation certhAegis concertation certh
Aegis concertation certh
 
Veritas iti aegis_conf
Veritas iti aegis_confVeritas iti aegis_conf
Veritas iti aegis_conf
 

8

  • 1. Parallel User Interface Rendering ~ Accessibility for Custom Widgets Kris Van Hees & Jan Engelen Katholieke Universiteit Leuven Department of Electrical Engineering ESAT - SCD - DocArch Kris Van Hees & Jan Engelen 1/16
  • 2. Agenda ● Introduction ● Parallel User Interface Rendering ● Widgets ● Cosmetic widgets ● Conclusions ● Future... Kris Van Hees & Jan Engelen 2/16
  • 3. Introduction ● GUIs in all aspects of life: computers, MP3 players, home appliances, mobile phones, ... ● Inherent visual interaction model poses a complication for users with disabilities (especially blindness) ● Mixing graphical toolkits within a single environment complicates matters even more (Linux: Qt, GTK, Athena, …) ● Custom widgets: often not supported in assistive technology without fancy scripting (if available) Kris Van Hees & Jan Engelen 3/16
  • 4. Introduction (cont...) ● Abstracting the user interface offers advantages: – Unified user interaction semantics across toolkits and modalities – Retaining flexibility in rendering for multiple modalities – Assistive technology as 1st generation rendering ● Parallel User Interface Rendering (PUIR) provides for equivalent concurrent renderings of the UI Kris Van Hees & Jan Engelen 4/16
  • 5. Parallel User Interface Rendering ● User interface defined in abstract form (XML file) – Effectively defines data and how to present data ● Abstract UI description interpreted by an AUI engine – Handles user interaction semantics ● UI presentation rendered by modality-specific agent(s) ● Rendering agent depends on system specific toolkits ● Rendering agents provide presentations concurrently – Provide both visual and non-visual rendering Kris Van Hees & Jan Engelen 5/16
  • 6. PUIR: The AUI engine ● Interprets an abstract UI description (XML file) ● Implements user interaction semantics ● Encapsulates data in the UI ● Provides focus management ● Dispatches events to the application and rendering agents ● Can be called from application and rendering agents ● Has no knowledge of implementation details of application and rendering agents Kris Van Hees & Jan Engelen 6/16
  • 7. PUIR: GUI rendering agent ● Java Swing based in-process rendering agent ● Complex changes to bypass user interaction in widgets ● Reduced to provide merely the presentation of widgets ● Some widgets operate slightly differently ● Pointer device UI interaction interpreted in the rendering agent: – Necessary because position is tied to GUI context – Semantic operations mapped to AUI operations Kris Van Hees & Jan Engelen 7/16
  • 8. PUIR: Non-visual rendering agent ● Remote rendering agent ● Basic speech output presentation as proof-of-concept ● Proxy objects for transparency and caching ● Equivalent with GUI rendering agent: – Receives the same events – Synchronized with other rendering agents Kris Van Hees & Jan Engelen 8/16
  • 9. PUIR: Input processing ● Keyboard: – Textual input – Navigation, text selection, editing, … – Processed directly by AUI (for proof-of-concept) ● Mouse: – Processed by rendering agent – Position to be interpreted within graphical context – Semantic user interaction delegated to AUI engine Kris Van Hees & Jan Engelen 9/16
  • 10. PUIR: Input processing (cont...) ● Braille keyboard: – Coded textual input translated into text – Text processed as if entered on regular keyboard – Limited cursor addressable positional input – Positional input interpreted in context – Semantic user interaction delegated to AUI engine Kris Van Hees & Jan Engelen 10/16
  • 11. Widgets ● Two entities per widget: – Abstract widget: ● Operates entirely within the AUI engine ● Implements user interaction semantics ● Encapsulates data – Widget presentation: ● Usually one per rendering agent ● Implements rendering in output modality Kris Van Hees & Jan Engelen 11/16
  • 12. Widgets (cont...) ● Design: – Define UI in abstract UI description – Typically by means of design tool – Rendering specific information can be included Kris Van Hees & Jan Engelen 12/16
  • 13. Widgets (cont...) ● Runtime construction: – Instantiation of UI based on AUI description – For every widget: ● Find built-in abstract widget class ● If none, search in alternate locations ● If none, UI cannot be instantiated Kris Van Hees & Jan Engelen 13/16
  • 14. Widgets (cont...) ● Rendering: – One-to-one correspondence between abstract widget class and presentation class – For every widget: ● Find built-in widget presentation class ● If none, search in alternate locations ● If none and cosmetic widget, use core alternate (more on this 2 slides from now...) ● If none, use default place-holder widget Kris Van Hees & Jan Engelen 14/16
  • 15. Widgets (cont...) ● Rendering (cont...): – Rendering agent knows what widgets are supported – Rendering agent can alert user appropriately – Rendering agent can query information from AUI about the unsupported widget – Accidental user interaction is guarded against Kris Van Hees & Jan Engelen 15/16
  • 16. Cosmetic widgets ● Widgets with a very specific presentation ● Typically derivative of an existing core widget ● User interaction semantics remain the same ● AUI description specifies equivalence between cosmetic widget and core widget ● Core widget can act as default presentation when no custom presentation class is found Kris Van Hees & Jan Engelen 16/16
  • 17. Cosmetic widgets (cont...) ● Left-to-right: – Four regular buttons – VU-meter style widget: equivalent with numeric label – Four knobs: equivalent with discrete slider – Four indicator lights: equivalent with label – Four regular buttons Kris Van Hees & Jan Engelen 17/16
  • 18. Conclusions ● Parallel User Interface Rendering – Powerful technique for Design-for-All – Coherence between concurrent equivalent renderings – Generic: not just for non-visual renderings – Robust handling of custom widgets – Support for custom widgets independent from applications and specific uses – Can be used in automated application testing as well Kris Van Hees & Jan Engelen 18/16
  • 19. Future... ● Completion of proof-of-concept ● More testing ● Public release ● Default presentation of custom widgets merely based on abstract widget information ● Remote operation of applications At all stages, feedback from real users is be crucial! Kris Van Hees & Jan Engelen 19/16
  • 20. Kris Van Hees & Jan Engelen Katholieke Universiteit Leuven Department of Electrical Engineering ESAT – SCD – DocArch Kasteelpark Arenberg 10 B-3001 Heverlee Belgium kris@alchar.org, jan@docarch.be Kris Van Hees & Jan Engelen 20/16