DIVA Group – University of Fribourg
Phidgets and the programming framework
HMI SeminarTangible User Interfaces
F. Evequoz
23.12.2005
DIVA Group – University of Fribourg
summary ::
• traditional physical UI– examples– problems
• phidgets– goals– definition– architecture– API– java API– programming– applications
• references– bibliography– programming resources
DIVA Group – University of Fribourg
traditional physical UI ::examples
Walking pad (DIUF)
DIVA Group – University of Fribourg
traditional physical UI ::examples
Lego Mindstorms
DIVA Group – University of Fribourg
traditional physical UI ::examples
SmartHome
DIVA Group – University of Fribourg
traditional physical UI ::problems
1. electronics2. missing API3. unsuited API4. commercial target5. lack of simulation capabilities
DIVA Group – University of Fribourg
phidgets ::goals
• simple devices• easy to program
… just as widgets make GUIs easy to develop, so could phidgets make the new generation of physical user interfaces
easy to develop.
DIVA Group – University of Fribourg
phidgets ::definition
• widget – (1931) small mechanical
device– (today) ‘windows gadget’
• phidget (aka phydget)– ‘physical widget’
DIVA Group – University of Fribourg
phidgets ::definition
Phidgets™, or physical widgets, are building blocks that help a developer construct physical user interfaces.
DIVA Group – University of Fribourg
phidgets ::architecture
Device
Device manager
API
Simulation
Phidget
DIVA Group – University of Fribourg
phidgets ::architecture
Device
Device manager
API
Simulation
DIVA Group – University of Fribourg
phidgets ::API
Int CountPhidget[] Item
OnAttach()OnDetach()OnError()
DeviceTypeIsAttached
SerialNumber
Phidget-specific properties, e.g.
NumMotorsPhidget-specific
events, e.g.OnTag
Generic phidget
Specific phidget
Phidgets manager
DIVA Group – University of Fribourg
phidgets ::java API
DIVA Group – University of Fribourg
phidgets ::java API
DIVA Group – University of Fribourg
phidgets ::programming (output)
Phidget COM Object
Application
creates
Device
opens
sets
sets
DIVA Group – University of Fribourg
phidgets ::programming (input)
Phidget COM Object
Listener
Application
creates
Device
opens
readsfire events
starts
DIVA Group – University of Fribourg
phidgets ::programming
Implement OnEvent methods
Create COM ObjectAttach Listener
Open connection to device
Extend adapter
Start listening
DIVA Group – University of Fribourg
phidgets ::applications
DIVA Group – University of Fribourg
phidgets ::applications
DIVA Group – University of Fribourg
phidgets ::applications
DIVA Group – University of Fribourg
references ::bibliography• Greenberg S. and Fitchet C., Phidgets : Easy developement
of physical interfaces through physical widgets. Proceedings of the ACM UIST 2001 Symposium.
• Greenberg S. and Boyle M., Customizable physical interfaces for interacting with conventional applications. Proceedings of the ACM UIST 2002 Symposium.
• www.phidgets.com, www.phidgetsusa.com• www.wikipedia.org (phidget, widget)• www.smarthome.com, www.legomindstorms.com • Laroussi Bouguila, Evequoz Florian, Michèle Courant, Béat
Hirsbrunner. Active Walking Interface for Human-Scale Virtual Environment. HCII’05.
DIVA Group – University of Fribourg
references::programming resources• documentation on www.phidgets.com :
– C_API_Manual : basic architecture• http://phidgets.com/documentation/C_API_Manual.pdf
– COM_API_Manual : object model (VB)• http://phidgets.com/documentation/COM_API_Manual.pdf
– Javadoc : java API, quite similar to COM• http://phidgets.com/documentation/JavaDoc.zip
– For each particular phidget see its « hardware description » :• Section labelled « Phidgets » on www.phidgets.com >>
Documentation• software introduction and tutorials :
• www.phidgets.com >> Documentation• http://www.phidgetsusa.com/tutorials/tutorialhome.asp
• code examples :• www.phidgets.com >> Download >> Beta >> Examples.zip• www.phidgets.com >> Project / Examples