Xuhia - Overview

Xuhia stands for eXtensible User Host Interaction Architecture and is basically a thin client architecture, that allows the creation of webapplications which won't have the restrictions of any HTML or HTTP based webapplication.

The first issue, Xuhia tries to solve, is to break the limitation to user interface design that were brought by HTML. HTML was originally desinged for writing hyptertext documents, documents which could be linked to each other over the internet. With invention of HTML Forms, HTML became more and more the description language of interactive webpages, until today, when its very often used for describing the user interfaces of complex web applications. Those are - in comparison to well known Window, Icon, Menu and Pointer (WIMP) Graphical User Interfaces (GUI) - slightly incomfortable and lack flexible and powerful interaction models. This issue is solved by the utilization of User Interface Markup Languages, whose main goal is to write User Interfaces, nothing else. So they have much more powerful elements to describe such interfaces and offer more elements to the designer to create comfortable and flexible user interfaces. A quite well known representative of those languages is the Extensible User Interface Language, also known as XUL which is the description language of the Firefox Webbrowser or the Thunderbird email client.

The second issue Xuhia tries to solve, is the restriction that is brought to thinclient-host communication by the Hyper Text Transfer Protocol (HTTP). Thin Clients could not only be small devices, but small pieces of software whose only job is to render the user interfaces and transmit the user input data to the remote host. So a web browser could be understood as an thin client as well, because its only task is to render html and transmitt the user input data to the remote host, which is actually done using the HTTP.

HTTP is a transport protocol which performs in the request/response cycle. This means that data could only be transferred from the host to the client, if the user requests it. The server could not send data on its own initiative. Furthermore the most commonly way to use the protocol is to transmit all pages as a whole. Which means that even if only a small button changes, the whole webpage needs to be retransmitted. Although there are aproaches solve this problem (like XML-HTTP-Requests, Ajax), the main disadvantes - the request/response cycle- remains. The answer to this is the use of an asynchrone, message based communication such as an instant messaging system provides.

So the main architectural features of Xuhia are:

The architecture could be extended by