Each of these tasks requires different skills including application
programming, microcontroller programming, electrical
engineering, industrial design, and networking. Most developers,
and especially novices, have experience in one or two of these
domains, but rarely in all of them. We realized that most of the
work required to implement a particular project is application
dependent and therefore difficult to simplify or eliminate.
However, it was clear that we could develop a standardized
communication protocol. We also observed that many projects,
like eye-q [8], were using tangibles as ambient output devices for
simple phone events and felt that this presented another
compelling opportunity for standardization. Amarino was thus
designed to eliminate smart phone development and
communication protocol development from the work process as
much as possible; our goal was to enable developers to focus their
attention on building the tangible devices.