Shared phidgets represent a step ahead in the phidgets or physical widgets concept. Phidgets allow hardware elements to be dealt with in a simple way, just as graphical user interface widgets are dealt with. In addition, shared phidgets offer the possibility to control phidgets distributed over the Internet, so that they work together.
The shared phidgets library encompasses a distributed model-view-controller approach, hiding from the programmer most of the networking details. Its architecture offers three alternative ways for phidget programming: via the shared dictionary (a common data space), via phidget objects, or via interface skins (the simplest way). This range of possibilities makes the shared phidgets toolkit a very complete proposal that may accommodate a wide variety of design programming needs. The toolkit includes a shared data space with the possibility of adding semantic metadata, and a set of high-level tools to ease the programming effort.
The shared phidgets toolkit is well presented with figures that adequately illustrate the main features of the proposal. Nevertheless, the reader needs to be familiar with the phidgets concept in order to fully understand what the shared phidgets architecture has to offer. Therefore, the main audience for this paper is programmers who know the phidgets library, and might want to expand the functionality in order to work with distributed phidgets. It may also be of interest to any programmer or software engineer who is considering the use of distributed physical interfaces, even though he or she may need further information about phidgets, which can be obtained through other sources referenced in the paper.