Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!hplabs!hplabsz!mayer From: mayer@hplabsz.HPL.HP.COM (Niels Mayer) Newsgroups: comp.windows.x Subject: Re: Serpent Alpha Release 0.7 Message-ID: <4411@hplabsz.HPL.HP.COM> Date: 23 Nov 89 02:49:00 GMT References: <8911221406.AA19705@gh.sei.cmu.edu> Reply-To: mayer@hplabs.hp.com (Niels Mayer) Organization: Hewlett-Packard Labs, Software Technology Lab, Palo Alto, CA. Lines: 69 Summary: Expires: Sender: Followup-To: In article <8911221406.AA19705@gh.sei.cmu.edu> Serpent.Project@SEI.CMU.EDU writes: >Serpent represents a new generation of User Interface Management Systems >which manage the total dynamic behavior of an interface and which allow >applications to remain uninvolved with the details of the user interface. > >The Hello World program is: > >#include "saw.ill" > >||| > >OBJECTS: > > hello: label_widget > {ATTRIBUTES: > label_text: "Hello world"; > } The Serpent UIMS sounds interesting, but I'm still unclear on what it is, and what it does. Unfortunately, the posted example doesn't show much. I can do the same thing in WINTERP (to hit expo.lcs on Nov 24) in approximately the same # lines of code. You can probably do that in UIL with the same amount of code. (Infact the above example looks very similar to a UIL specification.). Does your UIMS just allow you to diddle with the visuals/layout of the UI, but not the semantics? UIL seems to do that already and it obviously won't get you very far. I would find it difficult to write an abstraction for the "functionality" of a program that would allow a simple UI specification file to handle both a button-based and pulldown-menu variant of a particular application. For example, imagine what kinds of description files would be needed to change a pushbutton-based interface, like that of xmh, into an application that uses pulldown menus exclusively... It seems that a large portion of the semantics of a program is mixed in with the UI style it expects to use; IMHO you can't really get a good handle on changing a UI style without providing a way to manipulate the semantics of your program -- in other words you need to the full power of a programming language as a UIMS.... and at that point a UIMS is nothing more than a high-level UI library.... So How do you go about making the program-semantics/UI separation in Serpent? Other questions: (1) Does your UIMS support abstractions to allow the management of dialogues between user and application? (often implemented via state machines). (2) Do you have any small but realistic example applications built with Serpent that show off the power of this UIMS? My favorite canonical sample application is a grep-search-browser. Most of the "semantics" goes on inside the unix command 'grep' all the "UIMS" has to do is provide the interface. (3) Is serpent interactive/interpretive or compiled? If I want to change the color of a widget, or change the functionality behind a button, do I have to bring Serpent down, and then reload (recompile) it again? ------------------------------------------------------------------------------- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com "Charter Memeber -- UIL Haters Anonymous" Human-Computer Interaction Department Hewlett-Packard Laboratories Palo Alto, CA. *