SlideShare une entreprise Scribd logo
1  sur  16
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
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)

Contenu connexe

Similaire à PuReWidgets presentation at EICS 2012

Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLECemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
CATTID "Sapienza"
 
Scct2013 topic6-integrative mediaprojectdevelopment
Scct2013 topic6-integrative mediaprojectdevelopmentScct2013 topic6-integrative mediaprojectdevelopment
Scct2013 topic6-integrative mediaprojectdevelopment
Anies Syahieda
 

Similaire à PuReWidgets presentation at EICS 2012 (20)

Unit 2
Unit 2Unit 2
Unit 2
 
Language learning using augmented reality
Language learning using augmented realityLanguage learning using augmented reality
Language learning using augmented reality
 
IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLECemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
Cemsdi Interim Review Meeting WP4 – Instruments and e-learning tools DLAVILLE
 
GDSC USeP - Infosession 2023.pptx
GDSC USeP - Infosession 2023.pptxGDSC USeP - Infosession 2023.pptx
GDSC USeP - Infosession 2023.pptx
 
Scct2013 topic6-integrative mediaprojectdevelopment
Scct2013 topic6-integrative mediaprojectdevelopmentScct2013 topic6-integrative mediaprojectdevelopment
Scct2013 topic6-integrative mediaprojectdevelopment
 
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
 
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
 
A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...
A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...
A Collaborative Environment to Boost Co-Production of Sustainable Public Serv...
 
Dmdh workshop #6
Dmdh workshop #6Dmdh workshop #6
Dmdh workshop #6
 
infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?
infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?
infoShare 2013: Alan Bird - The Web is Changing the World. Are you READY?
 
Demystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesDemystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 Slides
 
Applying virtual environments in distance learning of product development
Applying virtual environments in distance learning of product developmentApplying virtual environments in distance learning of product development
Applying virtual environments in distance learning of product development
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
 
InfoFest GDSC.pptx
InfoFest GDSC.pptxInfoFest GDSC.pptx
InfoFest GDSC.pptx
 
GDSC Infofest.pptx
GDSC Infofest.pptxGDSC Infofest.pptx
GDSC Infofest.pptx
 
Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 

Plus de Jorge Cardoso

Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
Jorge Cardoso
 
Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)Introdução à Programação para iPhone (iOS)
Introdução à Programação para iPhone (iOS)
Jorge Cardoso
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 

Plus de Jorge Cardoso (20)

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

Dernier

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Dernier (20)

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 

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
  • 13.
  • 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)

Notes de l'éditeur

  1. 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.
  2. 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!
  3. 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.
  4. 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.
  5. 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.
  6. 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)
  7. 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.
  8. 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.
  9. 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).
  10. 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
  11. 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.
  12. 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.
  13. 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