This paper presents a novel development method for interactive and distributed applications. The benefit that this method provides is that the design gives clear guidance towards the implementation. The method is based on three main elements: a concept of synchronous active objects that is closely related to that found in CSP; the Java environment; and a selection of the diagrams defined by UML. This approach alleviates many of the most serious problems that are encountered when using GUI builders, which hide the application structures and so make it difficult to devise sound architectures. The final part of the paper briefly describes an application generator that will help a developer to implement a design which is developed according to the approach advocated here.