IDEAL2

IDEAL2 (Interface Description Authoring Language, version 2) is the result of four years of research and experience in languages for the description of device-independent user interfaces. This language, based on different W3C standards (XForms 1.1, DISelect 1), is modular and extensible. The main elements of IDEAL2 are containers and user interface components. To help web authors, the syntax of IDEAL2 is similar to XHTML’s. Nonetheless, as an authoring language, it incorporates abstractions and extensions that make it a more
powerful and higher level language than XHTML, as the latter is only intended for browser consumption. In addition IDEAL2 describes user interfaces (UIs) in an abstract manner, i.e. without commitment on how such a UI will be finally rendered. For example, IDEAL2 defines a UI component named “select1” which can be rendered as drop down list, a set of radio buttons or as a nice navigation list with hyperlinks. The decision on how an abstract user interface element will be finally rendered will depend on the device and web browser identified at runtime. The rendering engine can make this decision automatically on behalf of the developer. Nonetheless, developers can force an specific rendering by means of adaptation policies.

IDEAL2 is only intended to provide the description of a user interface from a structural and behavioral point of view. All the aspects that have to do with look-and-feel and layout are specified by means of CSS2 and extensions. Using this approach IDEAL2 helps authors to separate the different presentation concerns, making it easier the adaptation to multiple devices without code duplication. For instance, an author can vary the layout of an application by assigning different style sheets depending on the device.

By using IDEAL2 developers can concentrate on the application functionality without worrying about markup languages or scripting capabilities. MyMobileWeb’s rendering engine will take care of such details, performing graceful degradations for those less capable devices. For example, if tables are not properly supported a list will be presented instead