Contraints for the Pin&Play Framework
Maximum Number of Pieces
- At the moment tested only with slightly above 30 pieces however, Nikolas, believes that, in theory, this could be a lot more.
Components Operation & Delays
- Each component has a unique ID
- Components signal as they are added to the Fabric board
- Components signal as they are changed/used with their new state
- Components do not signal as they are removed from the board.
- The system polls the components after a period of inactivity. If a device does not respond it is deemed to be removed.
- On adding / activating the components on Fabric there is approximately a 1 second delay until the signal is processed. This delay is at absolute minimum 150 ms but on average half a second.
- Delay required verifying signal is actually a component signal and not noise.
- There is also a delay on the removal of the plugs.
- This delay can be reduced but would result is a lot more noise/higher error rate.
- Components may be input, output or data only.
- Components perform some processing and are aware of their state.
Transitioning on Knobs/Sliders
- There is no smooth transitioning between value ranges currently in the Fabric system.
- After a period the new value will be given to the system from Fabric
- Smooth transitioning of values/sliders/controls/etc on a display/application should be controlled by code not Fabric.
Size
- Size should be irrelevant to the use of the Fabric framework. Potential to cover a building in it, however, Nikolas, suggested, breaking large surfaces into smaller groups.
- Bigger the size the bigger the potential delays with components.
- Currently largest size available is 1m x 2m
- Plenty of smaller versions can be made with available materials
- The “Fabric” could potentially be made thinner
- Is flexible and could be wearable or used in upholstery, for example.
Short Circuits
- Fabric can be short circuited by squeezing the edges together. This brings the two charges sections into contact
- Pins. Or thumbtacks for example could also cause a short circuit if inserted into the Fabric board.
- After a short-circuit, it takes a couple of seconds for the Fabric board to ‘reboot’.
- While the Fabric board is water-resistant, the components are not currently.
Spatial Awareness
- Fabric can allow for recognition of the location of an object on the board in two ways
- First though load sensing, i.e. the application of pressure on the surface of the board can be detected and positioned
- Alternatively a camera can be used to track the position of objects on the board
- As a result of this it means that the board can track gestural actions on the board i.e. hand movements, dragging.
- For example a finger or a pen can be charted moving across the board.
- Accuracy of location would be to approximately 1 cm.
- Implementing this however will impose restrictions on the portability of the board. A camera (while lighting is not an issue) will require the board to be in a fixed position, preferably perpendicular to the board i.e. directly above. Using load sensing, the board will have to be made of more rigid materials.
Prongs (& Safety)
- Prongs are extremely sharp.
- Considerations for young/elderly need to be taken
- Nikolas mentioned possibility of using headphone jacks in later versions
- Magnets were also mentioned as alternatives.
- Components currently use 2/3 prongs to add stability. However only 1 is required to power/interact with the framework.
Power Requirements
- Fabric used a 5V current.
- This can be increased significantly.
- This is completely harmless. No risk of electrocution
- Poses limitations on types of components that can be used with Fabric. E.g. colour screens.
- Nikolas suggested these could have external power sources / batteries to compensate. Would require recharging however.
Data Rate
- Currently 16kbs data transfer rate.
- Limits the amount of data that can be passed to small packets
- This can potentially run at 144 kbs however this is not feasible to implement in the near future.
- The components themselves can hold approximately 1Kb of data. However the information required to be stored on a component, e.g. mappings, associations or preferences, can be written to a central server on the network, allowing for retrieval and use of this component specific information on any board on the network.
Grouping
- Grouping could occur currently by time, by sequence or by location on one board.
- This will allow for components to be grouped into similar functions or complementary functions .
- This could include: grouping elements spatially on the fabric board (would require awareness of component location); and/or by stacking fabric boards vertically with components on each.
- A lot of this would need to be handled on the software side as well.
- It is a challenge in terms of mapping and association. Grouping does not exist within the current framework.
Mapping Components to Actions
- A component may need to be mapped to a user interface control
- Or the component is explicitly mapped to one control.
- Depending on context, e.g. music software, components may need to be mapped to an application action each time it is added to the system.
- Mappings may not be remembered.
- There is the possibility to map to any user interfaces button’s (example given of Windows Media control).
Misc
- You can write on the board.
- Software framework is C # , Windows only.