About The Shared Phidgets Project

<< Back to the SharedPhidgets page

About the Shared Phidgets project

The Shared Phidgets toolkit provides a library and tools that enables the rapid protoyping of physical user interfaces with remote located devices. The Phidgets can be accessed and controlled over the network, while all the network specific technology is hided from the application developer.
.NET components and interface skins facilitate the development, and the included tools (such as the server, connector, controlling and observing applications) let the programmer easily overview and control the Phidget components.
The toolkit uses a distributed Model-View-Controller (MVC) design pattern to represent every device so that data associated with the model is easily queried and manipulated. Therefore the programmer can also access the model directly (implemented as a shared dictionary) and reading and writing entries in the shared dictionary.

Features of the toolkit

  • Easy-to-use .NET component library provides all necessary building blocks for rapidly protoyping distributed physical user interfaces
  • Hiding all network technology related work from the developer
  • Software representations of physical user interface components
  • Implementation of the main phidget devices as software objects: servo, interface kit, RFID reader and text LC display
  • Improved and additional skins: RFID skin with output control and delay timer, sensor graph skin for displaying graph values (and their history)
  • Easy transfer of existing Phidgets.NET applications to the new toolkit
  • Shared Dictionary as distributed Model-View-Controller (MVC)
  • Several ways of creating new applications: 1) using the .NET components, 2) using the interface skins for the interface, and 3) using the shared dictionary and notifications directly
  • Adding metadata: location, owner, keywords, IP
  • Complete event-driven architecture
  • Providing tools to get insight into Phidgets and network state (shared data space): Shared Phidgets viewer and controller, Remote GUI controller, etc.
  • "Simulate Phidgets": with Shared Phidgets Controller, all possible events of Phidgets (e.g., sensor values) can be set manually; this is useful for testing and debugging applications