I just went through the REX working draft. It's very interesting and I
believe this is essential for a richer and more interactive web. In the
draft, I did not find any reference to XUP, which is very similar in nature;
so I just want to bring it up to share with you.

XUP (Extensible User Interface Protocol) was published as a W3C Note 4 years
ago: It has a similar goal as REX, namely to make
web UI richer and more interactive.

XUP focuses on XML-based user interfaces languages (e.g. XUL, XAML, XHTML)
and manipulates DOM instances of those languages. XUP has two main concepts:
UI updates and UI events.

In XUP, UI updates are the same as mutation events in REX's terminology.
Basically, UI updates are just remote DOM manipulations (add, remove, update
elements, etc.) of a UI model, which is a DOM instance of an XML UI
language. In XUP, the UI updates are bi-directional. That is, the user agent
sends UI updates to server, containing end user's direct manipulations as
well as the UI changes made by scripts; and the server sends UI updates to
the user agent, containing server-side application's changes to the UI

In XUP, UI events are events generated by the end user operating the user
agent; e.g. mouse-click, key-press. XUP allows any UI events to be sent from
the user agent to the server. Event details are defined by concrete UI
languages such as XUL and XAML.

In addition, XUP supports multiple event models. It supports DOM-style
capture / bubbling events, as well as Java Swing-style delegation-based

The major difference with REX is that XUP is a protocol, and it has a SOAP
binding. The SOAP binding is not critical; in fact XUP could be used with
other transport mechanisms as well.

I hope XUP will be a useful reference material for this WG.


Jin Yu
VP Engineering
Martsoft Corporation
3325 Kifer Rd., Santa Clara, CA 95051, USA
+1-408-737-3380 x1208 (office)
+1-408-737-3381 (fax)

Received on Monday, 13 February 2006 05:08:56 UTC