Equator has extended the Elvin infrastructure for use in the in the rapid development environments of experience projects such as Ambient Wood and Hunting of the Snark. The ELVIN challenges overviewBriefly, Elvin is a notification service. Programs pass notifications to it when something "interesting" occurs, and Elvin forwards those notifications on to other programs. Elvin has been designed to be flexible and easy to use but also fast and lightweight. It can be used from a large number of programming languages (C, C++, Java, Python, Perl, Lingo, etc.) and will run on nearly every major operating system. The notifications that it uses are free-form dictionaries. These are compared against against a table of subscription expressions. If an expression evaluates to true, then the notification is forwarded. This is quite flexible: additional information can be added to an existing notification type without breaking applications that use the old format. Amendments have been made to the Elvin notification infrastructure to allow it to be used by small-scale devices to support a range of experiences. These amendments supported work in Playing and Learning, City and e-Science, and have been fed back into the Elvin community through its public release mechanisms. In Ambient Wood, we developed an Elvin plug-in that allows portions of the experience to be written by designers using Macromedia Director. In "Uncle Roy" we extended this system to serve users via Shockwave clients, simplifying deployment for the general public and enabling performers and designers to assist in content creation. This Elvin plug-in has been contributed back to the developers of Elvin. Elvin was used in the proof-of-concept demonstrator of the "Equator Creation Kit" that aims to allow designers to assemble experiences using familiar tools. |