Phidgets and the programming framework
description
Transcript of Phidgets and the programming framework
![Page 1: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/1.jpg)
DIVA Group – University of Fribourg
Phidgets and the programming framework
HMI SeminarTangible User Interfaces
F. Evequoz
23.12.2005
![Page 2: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/2.jpg)
DIVA Group – University of Fribourg
summary ::
• traditional physical UI– examples– problems
• phidgets– goals– definition– architecture– API– java API– programming– applications
• references– bibliography– programming resources
![Page 3: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/3.jpg)
DIVA Group – University of Fribourg
traditional physical UI ::examples
Walking pad (DIUF)
![Page 4: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/4.jpg)
DIVA Group – University of Fribourg
traditional physical UI ::examples
Lego Mindstorms
![Page 5: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/5.jpg)
DIVA Group – University of Fribourg
traditional physical UI ::examples
SmartHome
![Page 6: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/6.jpg)
DIVA Group – University of Fribourg
traditional physical UI ::problems
1. electronics2. missing API3. unsuited API4. commercial target5. lack of simulation capabilities
![Page 7: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/7.jpg)
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.
![Page 8: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/8.jpg)
DIVA Group – University of Fribourg
phidgets ::definition
• widget – (1931) small mechanical
device– (today) ‘windows gadget’
• phidget (aka phydget)– ‘physical widget’
![Page 9: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/9.jpg)
DIVA Group – University of Fribourg
phidgets ::definition
Phidgets™, or physical widgets, are building blocks that help a developer construct physical user interfaces.
![Page 10: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/10.jpg)
DIVA Group – University of Fribourg
phidgets ::architecture
Device
Device manager
API
Simulation
Phidget
![Page 11: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/11.jpg)
DIVA Group – University of Fribourg
phidgets ::architecture
Device
Device manager
API
Simulation
![Page 12: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/12.jpg)
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
![Page 13: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/13.jpg)
DIVA Group – University of Fribourg
phidgets ::java API
![Page 14: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/14.jpg)
DIVA Group – University of Fribourg
phidgets ::java API
![Page 15: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/15.jpg)
DIVA Group – University of Fribourg
phidgets ::programming (output)
Phidget COM Object
Application
creates
Device
opens
sets
sets
![Page 16: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/16.jpg)
DIVA Group – University of Fribourg
phidgets ::programming (input)
Phidget COM Object
Listener
Application
creates
Device
opens
readsfire events
starts
![Page 17: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/17.jpg)
DIVA Group – University of Fribourg
phidgets ::programming
Implement OnEvent methods
Create COM ObjectAttach Listener
Open connection to device
Extend adapter
Start listening
![Page 18: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/18.jpg)
DIVA Group – University of Fribourg
phidgets ::applications
![Page 19: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/19.jpg)
DIVA Group – University of Fribourg
phidgets ::applications
![Page 20: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/20.jpg)
DIVA Group – University of Fribourg
phidgets ::applications
![Page 21: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/21.jpg)
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.
![Page 22: Phidgets and the programming framework](https://reader034.fdocuments.in/reader034/viewer/2022051216/5681556b550346895dc336a6/html5/thumbnails/22.jpg)
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