Jorge C. S. Cardoso CITAR -­‐ Portuguese Catholic University jorgecardoso@ieee.org The PuReWidgets toolkit for interac6ve public display applica6ons University of Minho School of Engineering Algoritmi Research Centre Portuguese Catholic University School of Arts Research Centre for Science and Technology of the Arts Rui José Algoritmi – University of Minho rui@dsi.uminho.pt 1. PuReWidgets toolkit PuReWidgets is a widget toolkit for web-­‐based interacJve public display applicaJons that provides: • MulJple, extensible, controls; • MulJple interacJon mechanisms; • AutomaJc graphical interface generaJon; • Concurrent interacJon; • Asynchronous events; 2. Mul6ple, extensible, controls • AcJon buOon -­‐ trigger an acJon in the applicaJon, e.g., play a video; • OpJon selecJon -­‐ selects among a set of opJons, e.g., to vote; • Text entry -­‐ sends text to the applicaJon, e.g., a comment, tag, search keyword; • Download -­‐ receives a media ﬁle from the applicaJon, e.g., download poster; • Upload -­‐ uploads a media ﬁle to the applicaJon, e.g., a photo to be displayed; • Check-­‐in -­‐ says “I’m here”. 3. Mul6ple interac6on mechanisms PuReWidgets abstracts the details of various interacJon mechanisms • SMS, Bluetooth naming, OBEX; • Rich, automaJcally generated, graphical interfaces; • QR codes. 4. Automa6c graphical interface genera6on PuReWidgets provides rich graphical interfaces for desktop and mobile devices, and also QR codes for individual widgets: Desktop & Mobile PuReWidgets generates a webpage which lists the applicaJons available in a locaJon, and provides a web interface to each applicaJon: This work is ﬁnanced by FEDER funds through the “Programa Operacional Fatores de CompeJJvidade – COMPETE” and by NaJonal Funds through the FCT – Fundação para a Ciência e Tecnologia within the project: FCOMP-­‐01-­‐0124-­‐FEDER-­‐022674 Jorge C. S. Cardoso is also funded by FCT training grant SFRH/BD/47354/2008 5. Concurrent interac6on Allows various users to interact at the same Jme, while providing applicaJons with idenJty informaJon that allows them to diﬀerenJate users. • Every input event carries a user id (if available). 6. Asynchronous events Allows applicaJons to receive input events that were generated when the applicaJon was not listening. • PuReWidgets provides a persistent input queue for each applicaJon; • ApplicaJons can request past input at any Jme. 7. Architecture QR codes PuReWidgets provides display owners the possibility of prinJng QR codes for individual widgets in use by applicaJons: I/O Infrastructure • Provides low-­‐level data-­‐based interacJon; • Handles data from interacJon mechanisms such as SMS, email, Bluetooth naming, etc.; • Provides a command-­‐based interface to the PuReWidgets service. PuReWidgets service • Keeps informaJon about every widget; • Generates graphical interfaces for desktop, mobile, touch plaoorms; • Generates QR codes for every widget; • Generates unique reference codes for data-­‐based interacJons (SMS, BT naming, OBEX, etc.). PuReWidgets library • Provides a widget-­‐based interacJon abstracJon; • Provides opJonal graphical representaJons for widgets and for input feedback on the public display; • Provides client and server applicaJon models; • Hides communicaJon details with the PuReWidgets service. 8. Implementa6on PuReWidgets is implemented using Google’s App Engine plaoorm and Google’s Web Toolkit (GWT) . • The library is a GWT module that can be included in their projects; • The service is an App Engine applicaJon that exposes a REST API; • The graphical components take advantage of the standard GWT HTML widgets; • hOp://purewidgets.googlecode.com