Abstract. This paper proposes a declarative description of user interfaces that abstracts from low-level implementation details. In particular, the user interfaces specified in our framework are executable as graphical user interfaces for desktop applications as well as web user interfaces via standard web browsers. Thus, our approach combines the advantages of existing user interface technologies in a flexible way without demands on the programmer's side. We sketch an implementation of this concept in the declarative multi-paradigm programming language Curry and show how the integrated functional and logic features of Curry are exploited to enable a high-level implementation of this concept.
MotivationThe implementation of a good user interface for application programs is a necessary but often non-trivial and tedious task. In order to support programmers in the implementation of user interfaces, one can find specific libraries that reflect different approaches to the construction of user interfaces. From a user's perspective, there are two kinds of user interfaces (UIs) that are currently the most important ones on conventional desktop computers:Graphical User Interfaces (GUIs): These are user interfaces that followed the early textual user interfaces on single host computers. GUIs enabled non-expert users to easily interact with application programs. They provide a good reaction time (since they run on the local host) and are relatively easy to install as any other program, i.e., usually they are distributed with the executable of the application program. On the negative side, application programs with GUIs require some installation efforts if many users want to use them on their desktops, because one has to install them on all desktops that might have different configurations or operating systems. Moreover, they are difficult to maintain during their life time since updates must be performed on all existing installations.
Web User Interfaces (WUIs):These are user interfaces that became popular with the world-wide web and its opportunities for user interaction via dynamic web pages. In this case, the application runs on a web server and the user interacts with the application via a standard web browser. Thus, applications with WUIs are relatively easy to install for many users since every single user needs only a web browser on ⋆ This work was partially supported by the German Research Council (DFG) under grant Ha 2457/5-2.his local host (which is usually already installed). Moreover, such applications are easy to maintain since one has to update the central installation on the web server only. On the negative side, WUIs have a moderate reaction time (since the web server is contacted for every state-changing interaction) and a complete application is more difficult to install on a single host (since one has to install and configure a web server).A few years ago, there was also another important difference between GUIs and WUIs: the model of interaction. In application with GUIs, the user could immediately cha...