Re: REX and XUP

Hi,

On Feb 12, 2006, at 23:05, Jin Yu wrote:
> 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.

That's my fault. When I started looking at similar solutions existing  
elsewhere to see if the need had already been addressed, I looked in  
many places... but not W3C! XUP looks like a very nice start for a  
specification, it's a shame that while W3C accepted your Member  
Submission (back then called "Notes") but that it was not put on the  
Recommendation track by a WG. Do you know why that was the case?

> 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
> model.

This can be done in REX as well: there is no assumption that the  
communication is only unidirectional (although that mode is supported  
since it's a strong requirement). If there are intended request/ 
response semantics, they are expected to be at the protocol binding  
layer (so for instance if someone made a SOAP binding for REX, I  
would expect it to have some strong similarities with XUP).

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

For REX we decided to only support DOM Events as that is simpler and  
is more likely to integrate well with the event infrastructure used  
by many W3C UI technologies. Can you think of specific things that  
could not be done by using only this model?

> 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.

Right, REX is meant to be a "pluggable" piece of technology, to be  
reused in a variety of situations. Proposals have already been made  
to integrate it with streaming protocols, with BEEP, and with HTTP.  
No one has yet suggested providing a SOAP binding for it, but I would  
expect that to be straightforward enough. The precise reason why it  
isn't a protocol is because when we started we already knew that  
people wanted to use it both in broadcasting and in request/response  
scenarios.

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

It definitely is, thank you very much. In fact, we intend to "steal"  
some of its features at some point :) Of notable interest are session  
initiation (for protocol bindings) and listener manipulation.

Thanks a lot!

-- 
Robin Berjon
    Senior Research Scientist
    Expway, http://expway.com/

Received on Saturday, 20 May 2006 20:25:50 UTC