Re: [Setup-tool-hackers] Re: XML front-end ideas



> I'm still not convinced that using an XML GUI description is a good idea.
> Here are my concerns:
>
> [...]

I agree with this. We're trying to avoid overdesign in general and another
LinuxConf in particular.

While it does sound sweet to be able to have magic interfaces without
actually doing any design or writing any code for them, I think that solving
this problem and having the interfaces actually look nice and be usable, is a
huge project with many potential pitfalls.

- Implementation complexity: The proposal would turn the backend into a
  frontend, and the frontend into a renderer. So we're basically looking at
  a renderer-independent widget set with language-independent signals and
  activation semantics, written in Perl <nervous_ticks/>.

- Renderer heterogenity: This system would have the least common denominator
  of the capabilities in the renderers we would support (think about ncurses).
  Many interface constructs would have to be specified in a general way (e.g.
  "single-select short list of options" which could be rendered as a list, a
  set of radio buttons or a dropdown box), meaning the interfaces could easily
  look different across renderers anyway.

  Also, graphical renderers (KDE and GNOME) behave differently whichever way
  you look at it. That's some of the point in having different graphical
  renderers - KDE should maximize the KDE look and feel, and GNOME should
  maximize GNOME look and feel. I think that making these two frontend
  platforms behave similarly (although a noble goal) is outside the scope of
  this project.

- Interface design: As usual, it's very hard to agree on this.

So I favour the pragmatic approach of designing the frontends independently,
with the help of design tools particularly suited to the target platform.

If you choose to go ahead and do this anyway, I think the middleware approach
would be the best - the backend would provide typed data, with the middleware
applying a format for describing the layout and interaction logic to this,
and the renderer adaptor would tell the target platform how to present output
and relay input.

--
Hans Petter



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]