From owner-freebsd-libh@FreeBSD.ORG Tue Jul 13 17:28:40 2004 Return-Path: Delivered-To: freebsd-libh@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E64E16A4CE for ; Tue, 13 Jul 2004 17:28:40 +0000 (GMT) Received: from smtp.istop.com (dci.doncaster.on.ca [66.11.168.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4308643D41 for ; Tue, 13 Jul 2004 17:28:40 +0000 (GMT) (envelope-from anarcat@anarcat.ath.cx) Received: from shall.anarcat.ath.cx (anarcat.mtl.istop.com [66.11.160.167]) by smtp.istop.com (Postfix) with ESMTP id 6663617C4B3 for ; Tue, 13 Jul 2004 13:28:39 -0400 (EDT) Received: by shall.anarcat.ath.cx (Postfix, from userid 1000) id 21E313C3; Tue, 13 Jul 2004 13:28:39 -0400 (EDT) Resent-From: anarcat@anarcat.ath.cx Resent-Date: Tue, 13 Jul 2004 13:28:39 -0400 Resent-Message-ID: <20040713172839.GC7317@shall.anarcat.ath.cx> Resent-To: freebsd-libh@freebsd.org Received: from shall.anarcat.ath.cx (anarcat.mtl.istop.com [66.11.160.167]) by linrouter.istop.com (Postfix) with ESMTP id 4DB7711784E; Sun, 6 Jun 2004 22:16:41 -0400 (EDT) Received: from anarcat.ath.cx (lenny.anarcat.ath.cx [192.168.0.4]) by shall.anarcat.ath.cx (Postfix) with ESMTP id E5F104E; Sun, 6 Jun 2004 22:11:34 -0400 (EDT) Message-ID: <40C3CFB1.5080402@anarcat.ath.cx> From: Anarcat User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040528 Debian/1.6-7 X-Accept-Language: fr, fr-ca, en-us, en MIME-Version: 1.0 To: David Johnson References: <3684.192.168.0.1.1086515427.squirrel@192.168.0.1> <200406061827.53216.david@usermode.org> In-Reply-To: <200406061827.53216.david@usermode.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-libh@freebsd.org Subject: Re: Installer X-BeenThere: freebsd-libh@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Dedicated to libh code development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Tue, 13 Jul 2004 17:28:40 -0000 X-Original-Date: Sun, 06 Jun 2004 22:15:13 -0400 X-List-Received-Date: Tue, 13 Jul 2004 17:28:40 -0000 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. http://c2.com/cgi/wiki?ModelViewController A.