Anarcat anarcat at
Tue Jul 13 10:28:40 PDT 2004

David Johnson wrote:
> I've been thinking about this for quite some time, and tried to rough 
> out some designs. The hardest thing to write is this generic UI 
> abstraction. The fact that no one has done it successfully before means 
> that it's probably not worth the effort. What does exist is at a much 
> higher level (dldialog). Trying to map one GUI API onto another is 
> extremely problematic. Even writing an API to match another (for 
> example a ncurses API that matches the Qt or GTK+ API) will cause 
> problems mapping character based UI concepts onto pixel based UI 
> concepts.
> I think the Linux distros have the right idea with their installers. 
> Have a common backend, but write separate UI frontends. This still 
> leaves considerable opportunities for common code. Only the actual UI 
> need be written twice (or three times).

With my ol' libh maintainer hat on, (which I should really resign from 
now, btw) I totally agree with that.

And I'll put it even better: if we struggle to build a "dual-head" GUI 
(text + graphics), we end up stuck at 2 interfaces. Hooking in a third 
one is much harder than doing it the other way around, which is: design 
the machine under, and then program as many views you need.

Model-view-controller comes to my mind now, and I think it's appropriate.


More information about the freebsd-libh mailing list