A large number of heterogeneous and mobile computing devices nowadays are employed by users to access services they have subscribed to. The work of application developers, which have to maintain several versions of user interface for a single application, is becoming more and more difficult, error-prone and time consuming. New software development models, able to easily adapt the application to the client execution context, have to be exploited. In this work we present a framework that allows developers to specify the user interaction with the application, in an independent manner with respect to the specific execution context, by using an XML-based language. Starting from such a specification, the system will subsequently "render" the actual users application interface on a specific execution environment, adapting it to the used terminal characteristics.