lThe Web is such a rich architecture that it is giving birth to new applications that were unconceivable only few
years ago in the past. Developing these applications being different from developing traditional applications,
generalist programming languages are not well suited. To help face this problem, we have conceived the Hop
programming language whose syntax and semantics are specially crafted for programming Web applications. In
order to demonstrate that Hop, and its SDK, can be used for implementing realistic applications, we have started
to develop new innovative applications that extensively relies on the infrastructure offered by Web and that use
Hop unique features. We have initiated this effort with a focus on multimedia applications.
Using Hop we have implemented a distributed audio system. It supports a flexible architecture that allows
new devices to catch up with the application any time: a cell phone can be used to pump up the volume, a PDA
can be used to browse over the available musical resources, a laptop can be used to select the output speakers,
etc. This application is intrinsically complex to program because, i) it is distributed (several different devices
access and control shared resources such a music repositories and sound card controllers), ii) it is dynamic (new
devices may join or quit the application at any time), and iii) it involves different heterogeneous devices with
different hardware architectures and different capabilities.
In this paper, we present the two main Hop programming forms that allow programmers to develop multimedia
applications more easily and we sketch the parts of the implementation of our distributed sound system that
illustrate when and why Hop helps programming Web multimedia applications.