In this paper, we describe design motivations and experience with a visual language that treats the architecture of a reactive system as a composition of small, asynchronous software components communicating via data-carrying events. This paper traces out the learning curve which ultimately concluded in the design of an event-driven reactive visual language and runtime system that facilitates construction of operating systems and applications completely in the event-driven paradigm. The use of this system for developing distributed applications is discussed. Categories and Subject Descriptors