[Zope3-dev] ZopeTop, xul, etc.

Martijn Faassen faassen@vet.uu.nl
Sat, 7 Dec 2002 00:30:12 +0100


Philippe Jadin wrote:
> [first posted on zope main mailing list, someone told me to post it 
> here, sorry for the "cross post"]
> 
> It seems there is currently work done on the future UI for zope3. I have 
> some questions / comments on this
> 
> - Isn't it strange to use html to create a modular user interface? As I 
> see it, html is not an UI definition language.

Since Zope 3 is still primarily designed as a web application platform,
we will end up using HTML to create user interfaces. It makes sense to
do this for the Zope 3 user interface as well.

Modern HTML is not too bad for constructing UIs. HTML browsers are really
ubiquitous. There's a lot to say for HTML.

> - is there currently active projects to build a fat client interface for 
> zope using xul or other technology?

No. Lots of talk in the past but no currently active project that I am 
aware of. There's always been a lot of interest in this, but it hasn't
yet materialized. It shouldn't be that hard to accomplish with Zope 3,
but it is still a significant project to take on.

> If html is not the right tool for the job, and if xul is really as good 
> as it seems :
> 
> - zope should use an intermediate layer between the core logic / 
> datastructures and the UI. This layer could be something like xul

Zope has a framework that separate views from the core logic; this is part
of the component architecture. Since most of us know HTML we're focusing on
providing 'browser' (HTML + CSS + Javascript etc) views for Zope 3 first. 
This is the fastest way to get to something useful. Nothing is stopping
anyone from creating a XUL layer right now, though, as far as I'm aware.
I think creating a cross-browser HTML-based UI is easier and also more
important right now; everybody has a web browser, but not everybody runs
Mozilla.

> - xul is xml, and as such could be "converted" to xhtml. The conversion 
> would reduce a lot the usability (you cannot do everything xul does with 
> html), but at least there would be a single source of UI definition and 
> multiple implementations (simple html, "flashy" dhtml, pure mozilla xul, 
> etc...).

This is a very complicated project, unless there is always such a conversion
filter somewhere. You are proposing another abstraction layer and a 
set of transformations from that to all kinds of front ends. Adding
abstraction layers by itself is pretty hard, and it seems unnecessary here.

> - xul can be used directely in mozilla, providing a very powerfull 
> client-side interface. I think it can be seen as a rapid interface 
> developement tool.
> 
> In short,
> 
> zope core -> "html ui"    is not too good
> zope core -> "something" -> html     would be more modular.
> 
> the "something" could be xul... or wathever, the point is "there must be 
> something" :)
> 
> What do you think?

As described above, I think it's best to focus on a browser (HTML + CSS + 
Javascript) UI first, for reasons of:

  * such browsers are really common.

  * Modern HTML can be made to be clean and modular to a large extent.

  * we know we can do it (we are already doing it).

  * we have a lot of knowledge about the topic.

That said, go ahead with XUL if you think we should do it.

By the way, I think on the wiki and mailing list archives there are already
discussions of these topics, though I may be mistaken. It may be a good idea
to do a search.

Regards,

Martijn