SlideShare a Scribd company logo
The PuReWidgets toolkit for
interactive public display
applications



      Jorge Cardoso          Rui José
 jorgecardoso@ieee.org   rui@dsi.uminho.pt
Interactive
  display
Motivation
  Interaction in Public Displays
  • Every display uses its own approach
  • Wasted development effort
  • Users face inconsistent interaction models

  We can learn from the desktop platform
  • Faced similar problems in the beginning

                                                 3
Requirements
 The toolkit should support
 • Multiple, extensible, controls
 • Various input mechanisms and
   modalities
 • Concurrent interaction
 • Asynchronous interaction
 • Graphical representations
Various input mechanisms
Concurrent/shared interaction
 • Multiple users
 • No single user
   controlling the
   display
Asynchronous interaction
 • Supports interaction even if an application is
   not running
Graphical representations
 • Familiar graphical representations help users
   determine if an application is interactive
PuReWidgets
 Widget-based toolkit for supporting interactions
 in public displays
 • For web-based PD applications
 • A widget represents an interactive feature.
   – Is represented by a class in an object-oriented
     programming model.
   – Applications instantiate widgets and receive
     interaction events via a callback function


                                                       9
Features
 • Various types of controls
    – Action, Options, Text entry, Download, Upload, Check-in
 • Supports various input mechanisms
    – SMS, Bluetooth naming, QR codes
 • Automatically generates GUIs for desktop and mobile
   devices
 • User identification in input events
 • Asynchronous events
 • Graphical representations for widgets
 • Client and server application models
PuReWidgets Architecture




                           11
PuReWidgets Implementation
 • Google Appengine (server)
 • Google Web Toolkit – GWT (client)
 • Takes advantage of well-known development
   environment, and user base
 • Video of early version




                                               12
PuReWidgets presentation at EICS 2012
Initial development process
• Continuous refinement
  cycle
  – Develop interactive PD
    applications
  – Gain insight
  – Refine the toolkit
  – Refactor the
    applications
                              14
Conclusion
 • PuReWidgets is an example of how toolkits
   can lower the barrier to public display
   application development

 • Such toolkits will be crucial for widespread
   creation of new public display applications.

 • Focus on making it easy to explore interactive
   features in applications

                                                    15
The PuReWidgets toolkit for
interactive public display
applications


                                                 End
          Jorge Cardoso                                                                 Rui José
     jorgecardoso@ieee.org                                                          rui@dsi.uminho.pt
Photo credits:
Bluetooth photo: creative commons (Flickr user ‘dhaun’) | Touch-screen: creative commons (Flickr user ‘Happydog’)
Locamoda app: creative commons (Flickr user ‘gumption’) | Widgets panel: GFDL (http://en.wikipedia.org/wiki/File:Widgets.png)

More Related Content

PDF
PuReWidgets toolkit
PDF
PuReWidgets toolkit
PDF
PhD defense presentation
PDF
PT GTUG 1st Technical Tession - Android
PPT
Mise En Place Concrete Et Complete D Une Integration au sein du Club Alliances
PPTX
Sofon Quick Intro
PDF
Jitter: Janela independente
PDF
Dynamic graphical user interface generation for web-based public display appl...
PuReWidgets toolkit
PuReWidgets toolkit
PhD defense presentation
PT GTUG 1st Technical Tession - Android
Mise En Place Concrete Et Complete D Une Integration au sein du Club Alliances
Sofon Quick Intro
Jitter: Janela independente
Dynamic graphical user interface generation for web-based public display appl...

Similar to PuReWidgets presentation at EICS 2012 (20)

PPT
PPTX
Language learning using augmented reality
PPTX
6-User Interface Design_6-User Interface Design.pptx
PDF
IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
PPTX
Android Application Development
PPTX
Gesture-based information systems: from DesignOps to DevOps
PDF
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
PPTX
GDSC USeP - Infosession 2023.pptx
PPTX
IT_HARIOM_PPjkniugvjnuygr6tf65ed6erd5dT.pptx
PPTX
IT_HARIOM_PPjkniugvjnuygr6tf65ed6erd5dT.pptx
PPTX
HCI_Unit 5.pptxcxxsabc.sbc/,sabc,sajcsl/lkc bxsl/'ck
PDF
Exploring Python GUI Programming_ Creating User-Friendly Applications
PDF
What's the best GUI library for Python.pdf
PPTX
Scct2013 topic6-integrative mediaprojectdevelopment
ODP
AEGIS SP3 story - building an accessible web application
PPTX
Food delivery flutter app with detailed description
PPTX
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
PDF
A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...
PPT
Dmdh workshop #6
PPTX
infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?
Language learning using augmented reality
6-User Interface Design_6-User Interface Design.pptx
IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
Android Application Development
Gesture-based information systems: from DesignOps to DevOps
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
GDSC USeP - Infosession 2023.pptx
IT_HARIOM_PPjkniugvjnuygr6tf65ed6erd5dT.pptx
IT_HARIOM_PPjkniugvjnuygr6tf65ed6erd5dT.pptx
HCI_Unit 5.pptxcxxsabc.sbc/,sabc,sajcsl/lkc bxsl/'ck
Exploring Python GUI Programming_ Creating User-Friendly Applications
What's the best GUI library for Python.pdf
Scct2013 topic6-integrative mediaprojectdevelopment
AEGIS SP3 story - building an accessible web application
Food delivery flutter app with detailed description
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...
Dmdh workshop #6
infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?
Ad

More from Jorge Cardoso (20)

PDF
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
PDF
Criação de Ambientes de Realidade Virtual usando A-Frame
PDF
Journal of Science and Technology of the Arts
PPTX
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
PPTX
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
PPTX
Digital tools for exploring roman mosaic
PPTX
Interaction techniques for locomotion in virtual reality
PPTX
Interacção em ambientes de realidade virtual
PDF
Evaluation of a programming toolkit for interactive public display applications
PDF
Interaction modalities, technologies and tools for interactive art
PDF
Assessing Feedback for Indirect Shared Interaction
PDF
Oop java
PDF
Conceitos fundamentais de_programacao
PPTX
Computer vision techniques for interactive art
PPTX
Introdução à Programacao em Processing
PPT
Introdução à Programação para iPhone (iOS)
PPT
Introdução à programação para Android
PPT
OOP Java
PPT
OOP ObjC
PPT
Conceitos Fundamentais de Programacao
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame
Journal of Science and Technology of the Arts
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
Digital tools for exploring roman mosaic
Interaction techniques for locomotion in virtual reality
Interacção em ambientes de realidade virtual
Evaluation of a programming toolkit for interactive public display applications
Interaction modalities, technologies and tools for interactive art
Assessing Feedback for Indirect Shared Interaction
Oop java
Conceitos fundamentais de_programacao
Computer vision techniques for interactive art
Introdução à Programacao em Processing
Introdução à Programação para iPhone (iOS)
Introdução à programação para Android
OOP Java
OOP ObjC
Conceitos Fundamentais de Programacao
Ad

Recently uploaded (20)

PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
master seminar digital applications in india
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Institutional Correction lecture only . . .
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Cell Structure & Organelles in detailed.
PPTX
Pharma ospi slides which help in ospi learning
PDF
Sports Quiz easy sports quiz sports quiz
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
TR - Agricultural Crops Production NC III.pdf
PPH.pptx obstetrics and gynecology in nursing
master seminar digital applications in india
Supply Chain Operations Speaking Notes -ICLT Program
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
GDM (1) (1).pptx small presentation for students
Computing-Curriculum for Schools in Ghana
Institutional Correction lecture only . . .
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Microbial disease of the cardiovascular and lymphatic systems
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Final Presentation General Medicine 03-08-2024.pptx
Basic Mud Logging Guide for educational purpose
Abdominal Access Techniques with Prof. Dr. R K Mishra
Cell Structure & Organelles in detailed.
Pharma ospi slides which help in ospi learning
Sports Quiz easy sports quiz sports quiz

PuReWidgets presentation at EICS 2012

  • 1. The PuReWidgets toolkit for interactive public display applications Jorge Cardoso Rui José jorgecardoso@ieee.org rui@dsi.uminho.pt
  • 3. Motivation Interaction in Public Displays • Every display uses its own approach • Wasted development effort • Users face inconsistent interaction models We can learn from the desktop platform • Faced similar problems in the beginning 3
  • 4. Requirements The toolkit should support • Multiple, extensible, controls • Various input mechanisms and modalities • Concurrent interaction • Asynchronous interaction • Graphical representations
  • 6. Concurrent/shared interaction • Multiple users • No single user controlling the display
  • 7. Asynchronous interaction • Supports interaction even if an application is not running
  • 8. Graphical representations • Familiar graphical representations help users determine if an application is interactive
  • 9. PuReWidgets Widget-based toolkit for supporting interactions in public displays • For web-based PD applications • A widget represents an interactive feature. – Is represented by a class in an object-oriented programming model. – Applications instantiate widgets and receive interaction events via a callback function 9
  • 10. Features • Various types of controls – Action, Options, Text entry, Download, Upload, Check-in • Supports various input mechanisms – SMS, Bluetooth naming, QR codes • Automatically generates GUIs for desktop and mobile devices • User identification in input events • Asynchronous events • Graphical representations for widgets • Client and server application models
  • 12. PuReWidgets Implementation • Google Appengine (server) • Google Web Toolkit – GWT (client) • Takes advantage of well-known development environment, and user base • Video of early version 12
  • 14. Initial development process • Continuous refinement cycle – Develop interactive PD applications – Gain insight – Refine the toolkit – Refactor the applications 14
  • 15. Conclusion • PuReWidgets is an example of how toolkits can lower the barrier to public display application development • Such toolkits will be crucial for widespread creation of new public display applications. • Focus on making it easy to explore interactive features in applications 15
  • 16. The PuReWidgets toolkit for interactive public display applications End Jorge Cardoso Rui José jorgecardoso@ieee.org rui@dsi.uminho.pt Photo credits: Bluetooth photo: creative commons (Flickr user ‘dhaun’) | Touch-screen: creative commons (Flickr user ‘Happydog’) Locamoda app: creative commons (Flickr user ‘gumption’) | Widgets panel: GFDL (http://en.wikipedia.org/wiki/File:Widgets.png)

Editor's Notes

  • #3: Just to give a quick idea of the type of environment we are addressing, imagine you need to develop interactive content for a display such as the one in the picture.
  • #4: Right now what happens is that each application uses its own, ad hoc approach to interaction.There is still too much that must be done outside the core functionality of an application to support interaction, and this results in inconsistencies and confuses users.But we can learn from how these same problems were address in desktop computing with the emergence of programming abstractions.The natural conclusion is that we need a programming toolkit for interactive PD applications!
  • #5: However, public displays are very different from thedesktop and so we have a specific set of requirements. The first one is that we obviously need to provide a set of interactive controls that allow developers to choose from the ones that best suit their applications.
  • #6: Another one is the support for various input mechanisms. Typical mechanisms for interacting with public display range from SMS, Bluetooth naming, QR codes, mobile applications, web applications, dedicated touch-screens, Allows applications should be able to work in heterogeneous locations that support different mechanisms.
  • #7: Another is the support for concurrent and shared interaction, were multiple users may interact at the same time, possibly using different mechanisms, but no single user is controlling the display.
  • #8: Its also important to support asynchronous interaction because we want to support interaction even for applications that may not be currently running on a particular public display.So, for example, in particular display, applications may be scheduled in a time-multiplexed way, but users should be able to interact with all applications at all times. (Even if a particular application will not be able to react on the PD)
  • #9: Graphical representations are another important requirement. Currently, one of the problems with PD interactions is communicating to users that a given display is interactive.So, just as we know that a desktop application is interactive and what controls it has, we should also be able to do that with a PD application.
  • #10: PuReWidgets is a toolkit for web-based applications that addresses those requirements.The toolkit is widget-based, where a widget represents an interactive feature in an application and, from the programming point of view, is represented by a class in an object-oriented programming model.
  • #11: PuReWidgets provides a number of important features for display applications.It provides various types of controls from which programmers can choose the ones that best fit their application’s needs.Supports various types of interaction mechanisms, such as SMS, QR Codes, Provides users with automatically generated rich desktop and mobile interfaces.Provides applications with user ids, if available.Allows asynchronous interactions, meaning that the application does not have to be running to be available for interaction.Provides graphical representations for widgets, which can optionally be used on the public display and promote awareness about the available interactive features.Supports two application models (server and client).
  • #12: In order to provide all those features, we need an architecture such as this. Interaction services can drive several displays and applicationsPuReWidgets serviceKeeps information about every widgetGenerates GUI for desktop and mobileGenerates a QR code address for every widgetGenerates unique textual reference codes for text-based interactions (SMS, BT naming, email…)IO infrastructureProvides low-level text-based interaction
  • #13: The toolkit is implemented using Google’s Web Toolkit and Google’s AppengineAnd we can take advantage of a well-known development environment, and development user base.Next I’ll play a short video that shows how the toolkit can be used, and some of its features. Keep in mind that this is still a very early version of the toolkit.
  • #14: The video does not show it, but we could also interact via SMS, for example, without any extra code, provided the display owner configured an SMS gateway.
  • #15: Continuous refinementDevelop interactive public display applicationsGain more insight about the difficulties Refine the toolkit to address the identified problemsRefactor the applications to include the toolkit changes