Path: utzoo!mnetor!uunet!husc6!m2c!ulowell!masscomp!rtc From: rtc@masscomp.UUCP (Richard Carling) Newsgroups: comp.windows.x Subject: Re: Anyone working on UIMS? Message-ID: <116@masscomp.UUCP> Date: 5 Apr 88 19:46:01 GMT References: <4627@eagle.ukc.ac.uk> <4704@eagle.ukc.ac.uk> Reply-To: rtc@masscomp.UUCP (Richard Carling) Followup-To: comp.windows.x Organization: MASSCOMP - Westford, Ma Lines: 132 Keywords: user-interface UIMS toolkit >In article <4627@eagle.ukc.ac.uk> rjf@ukc.ac.uk (I) wrote: > >[ asking if anyone was working on UIMS on top of X, and promising to > summarise replies ] Sorry for the late reply but our news system has been a little flakely for the last few weeks, so I didn't have a chance to reply to the message about UIMS's for the XToolkit. At MASSCOMP I have been working on building some UIMS extensions for the XToolkit and am contributing the initial efforts to the public domain in the hopes that at least some of these techniques will become part of the XToolkit standard, as it evolves. These extensions work directly with the XToolkit and do not require C++, Lisp or extensive amounts of additional code (and memory) to be used. I presented a paper at the X Window Conference at MIT this January on the design for the UIMS layer. The talk was titled "Pickling and Embellishing Widgets". I have placed some widgets which use these techniques (label, command and obedient) and some XToolkit extensions which make this possible on the X11 R2 tape. Since we don't have our tape yet, I don't know the exact directory, I assume in the "contribution" section somewhere. (and there is one small change which must be made to the code, which I will send out once I have the version from the tape). The applications on the tape primarily "demonstrate" our techniques. I had hoped to have a simple WYSIWYG interactive editor finsihed in time for release on the tape, but it is not complete yet (but then I haven't gotten my tape either!). The editor will be made available on one of the MIT machines in April (or early May at the latest). The editor will make the software provided MUCH more useful and provide more of our design strategy for a more complete UIMS system (The editor is almost ready). What it doesn't do: There are other issues like additonal constraint handling between widgets (as an example, arrows between widget boxes on a flow chart, when a widget is moved, the arrows should be smart enough to follow) and high level dialogue management which this level of UIMS and the current XToolkit does not address. Also, at this time we are not planning to provide any new widgets, just modify or rewrite some of those currently available. What it does do: The WYSIWYG editor lets users create the user interface interactively. The user interface is stored as (pickled) data on disk and then loaded by the application at run time (unpickled). The design also allows adding arbitrary graphical detail (embellishments) to the widgets from the widget editor. All of this allows widget developers to concentrate on a set of core or generic widgets which can have arbitrary graphical detail but provide a set of consistant semantics. The graphics of the widgets is not coded directly into the widget (as in the current widgets provided in the XToolkit) but kept as separate data in displaylists. This allows great flexibility in the widgets graphical representation and even allows different widget states to have (greatly) different visual representations, when desired. Since the graphical representation is symbolic, the interactive editor can provide a great deal of control over adding and editing the graphic embellishments. The supporting code to provide these capabilites is relatively small and designed to work directly with the XToolkit, it is not a bulky layer designed to handle everything, and it is very easily extensible. And as part of the XToolkit strategy, this is all designed to be "Policy Free". Applications and specialized widgets should implement policy, NOT the underlying tools (as Smokey Wallace would say). (Also, we don't want to be sued by those friendly folks at Apple) So... I plan to have an interactive widget editor available thru MIT shortly. This will be simple, but usable, and will provide the major missing capability from whats currently been provided by us on the X11 R2 tape. Two simple applications should already be on the X11 R2 tape demonstrating loading of ascii descriptions of the user interface as well as the use of graphical embellishments and how the graphical extension mechanism works. There should be some rough documentation in the directory along with the code. If this style of widget representation and graphical extensibility becomes popular or desired by the X Window Community, then additional support may be provided. A major improvement would be the use of a binary representation on disk for the user interface, so that start up time of the application would be faster (currently we are only supporting the ascii representation, which is of more value without a widget editor available and is easier to understand). Also, output widgets for various types of plotting would be nice, with standardized interfaces for use by applications. But this is crystal ball stuff for now. I hope that in future releases of the XToolkit, integration of the the various XToolkit compatible contributions from the various companies can be made, so that a more robust and complete UIMS layer will be available. Hopefully this will evolve over time and will (perhaps) be a goal of the MIT Consortium. Even without additional support beyond providing a simple widget editor, we believe these techniques greatly enhance the ability to design complex user interfaces with lots of graphical detail using the XToolkit (something not otherwise easily possible without writing a bunch of specialized widgets), and provide companies with an easy way to design their own particular visual style for user interfaces (and this design is more flexible then just using an image for the visual representations). Don't get your hopes too high, the editor won't be a finsihed polished product providing complete control of everything imaginable, but we hope it will provide enough functionality to show the value of using the techniques we are providing (and it is WYSIWYG) And this version will just work with the simple widgets Label, Command and Obedient for now, although adding new widgets should not be a very difficult task. ( I also threw in a document for some modifications to the intrinsics which provide running the toolkit from within an X window, assuming the intrinsics have not changed to greatly from the December level 5 release, and a few other simple but useful changes ). Questions, Interests, etc... Richard Carling ...!decvax!masscomp!rtc MASSCOMP One Technology Way Westford Mass. 01886 617/692-6200 ext. 2302