[comp.windows.x] Evaluating GUI tools

poon@tcom.stc.co.uk (Alfred Poon) (04/25/91)

Topic
=====
Comparative Information on GUIs with APIs supporting C++ on X Windows.


We are evaluating GUI packages for incorporation into a large C++ system 
running under X Windows. So far we have reduced the list to 6 packages 
as follows:


- XFaceMaker2 from NSL (based in Paris)

- Object Interface Library from Solbourne Computers.

- UIL from OSF Motif

- Open Interface from Neuron Data.

- OpenView from HP.

- Common View from Glockenspiel.



The main criteria we need to judge them on are :- 

Quality of support, completeness of the Motif widget set supported, 
ability to run other software in the same system etc.It should be 
an International or Industry Standard (widely used or a de-facto standard). 

It would be nice if the same software supported the Open Look `look 
and feel` and  HP's New Wave.

We would appreciate any feedback on comparative studies that anyone 
may have carried out. Snippets of advice or other information would 
also be welcome. A summary of all replies will be posted in here.


Thanking you in anticipation. 

O.O
\_/               Alfred Poon.


=================================================================================
| HCI High Level Design                                                         |
| Alfred Poon  {poon@tcom.stc.co.uk}  Tel: +44 1 945 2804                       |
| BNR Europe(STC Telecoms), Oakleigh Road South, New Southgate, London N11 1HB  |
=================================================================================
--
=================================================================================
| HCI High Level Design                                                         |
| Alfred Poon  e-mail{poon@tcom.stc.co.uk}  Tel: +44 1 945 2804	                |
| BNR Europe(STC Telecoms), Oakleigh Road South, New Southgate, London N11 1HB  |

poon@tcom.stc.co.uk (Alfred Poon) (05/17/91)

Hi,

I posted the following article in this newsgroup a couple of weeks ago.


> Topic
> =====
> Comparative Information on GUIs with APIs supporting C++ on X Windows.
> 
> 
> We are evaluating GUI packages for incorporation into a large C++ system 
> running under X Windows. So far we have reduced the list to 6 packages 
> as follows:
> 
> 
> - XFaceMaker2 from NSL (based in Paris)
> 
> - Object Interface Library from Solbourne Computers.
> 
> - UIL from OSF Motif
> 
> - Open Interface from Neuron Data.
> 
> - OpenView from HP.
> 
> - Common View from Glockenspiel.
> 
> 
> 
> The main criteria we need to judge them on are :- 
> 
> Quality of support, completeness of the Motif widget set supported, 
> ability to run other software in the same system etc.It should be 
> an International or Industry Standard (widely used or a de-facto standard). 
> 
> It would be nice if the same software supported the Open Look `look 
> and feel` and  HP's New Wave.
> 
> We would appreciate any feedback on comparative studies that anyone 
> may have carried out. Snippets of advice or other information would 
> also be welcome. A summary of all replies will be posted in here.
> 
> 
> Thanking you in anticipation. 
> 
> O.O
> \_/               Alfred Poon.
> 


 During the last couple of weeks I have received eight mail messages in
 reply. 

 Four of them were comments/advices on the subject. The other four were 
 requests for info, and from others in similar situations who would like to 
 exchange info on the subject.  

 I've cut out the following from the responses I've seen. I know it's
 not much of a summary you might have hoped for, but it's all I can
 do for now from the replies. 

 Clearly, the area of GUI builders is still very volatile, with so many 
 different tools around, and new ones cripping up constantly. There seems
 to be a lot of interests around, but no one seems to know fully what's 
 going on. I got the feeling there's a lot of questions being asked,
 but few answers.
  
 Anyway, I'll be continuing with the investigation, probably by asking
 the tools developers for literature/demos. I'll reply individually
 to the mail I've received.

 
 many thanks


 Alfred Poon.


/************** START *********************************************

= A couple other offerings you may want to consider:
= 
= TAE Plus from COSMIC (telephone 404-542-3265).  It was developed for
= NASA and supports Motif development, generating C, Ada,
= and FORTRAN, and I *believe* C++ in their latest release.
= C and C++ are the implementation languages.
= 
= XVT from XVT software (telephone 303-443-4223).  It supports either
= Motif or OpenLook development.
= 
= We are using DevGuide from Sun.  It is a low-cost, fairly nice package
= to do high-level interface development, but as it only runs on the Sun
= computers and only supports OpenLook development, I suspect it is not
= appropriate for your application.  Good luck.

/*********************************************************************

= Check the response to question 70 in the FAQ's:
= 
=  70) Where can I obtain a WYSIWYG interface builder?
= 
= This is no study, but a listing of builders.

/*********************************************************************

= Have you seen the March 1991 edition of Communications of the ACM?
= There is an interesting paper in there called "Human-Computer Interface
= Development Tools: A Methodology for their Evaluation"
= by Deborah Hix and Robert S. Schulman (pages 75-87)

/*********************************************************************

= We are in just the same situation as you. I posted a message like this
= a couple of weeks ago, and get very little response. My question was
= about Object Interface Library / InterViews. My personal opinion is
= that OI is not as good choice as IV. OI is now sold to AT&T and the
= price is high, and it seems that very few people are using it. IV is a
= free GUI from Standford University, it has a mailing list
= (interviews@interviews.stanford.edu) and the source seems pretty good.
= At the moment I've not tried the OI, but I've read the manual pages. I
= think that the OI is done in a 'me too' fashion, and it seems as a C
= project hiding inside C++. I.e. you got a member funciton to caught
= every internal variable. The problem with both is the lack of good
= introduction, at the moment I'm using the man pages, and example
= programs. One thing it seems to be a problem which is feared but not
= handled is the problem with name clash. If you got the source you
= always has the posibility to get out, OI hopes that no-one uses OI_ as
= a prefix.

/*********************************************************************
 
= A friend of mine passed along a message which you posted to
= comp.windows.x concerning portable GUIs supporting C++ on X windows.
= I am about to look into such products myself and would appreciate any
= information you could give me.  I am somewhat familiar with Open
= Interface from Neuron Data but do not like their pricing or being
= locked into their libraries.  The only other one I've heard anything
= about is Common View.  What can you tell me about Common View?
  
/*********************************************************************

= We have been looking at different categories of such tools
= and our requirements are:
=  - a WYSIWYG editor for generating Motif interfaces.
=  - generate C++ and UIL code.
= This tool is meant to offer us a fast way to generate
= Motif interfaces and not a more complete UIMS tool.
= The category of tools we are looking for is often called
= IDT - interactive drawing tool. This category will just
= hand us the right C++/UIL-code that we are asking for and
= not the complete UIMS-tools with interpreter (C-code), dialog-
= languages and other fancy facilities. 
= Problems with "complete" UIMS-tools are that the are often 
= using properitary libraries and is offering to much functionality.
= 
= We have seen different kinds of such tool, but just references:
= 
= XBuild (Siemens Nixdorf - see Byte March 91 p. 78)
=   This tool is said to generate C code, but I have from another
=   reference seen that it is generating C++. What is right ?
=   Does anyone have any experiences using this ?
= 
= Other such tools are:
= 
= ixBuild - ixos Germany
= Builder Xcessory - Integrated Computer Solutions Inc, USA
= ExX - Sunrise Software, USA
= OpenDialog - Apollo

/*************** End ********************************************

=================================================================================
|  "And as his wristwatch ticked off the moments, he approached death knowing   |
|   that the earth and every individual on it, including himself, were merely   |
|   part of a larger cosmic machine  whose motion were regular and relentless"  |
|                                                                               |
|                                             - The Third Wave, Alvin Toffler   |
|                                                                               |
--
=================================================================================
| Alfred Poon, HCI High Level Design {poon@tcom.stc.co.uk}  Tel: +44 1 945 2804	|
| BNR Europe(STC Telecoms), Oakleigh Road South, New Southgate, London N11 1HB  |
=================================================================================

matt@saber.COM (05/18/91)

Having at this point some accumulated some reasonable amount of experience
with the OI toolkit, let me offer a different viewpoint from the opinions
expressed here.

> = We are in just the same situation as you. I posted a message like this
> = a couple of weeks ago, and get very little response. My question was
> = about Object Interface Library / InterViews. My personal opinion is
> = that OI is not as good choice as IV. 

Whether OI or InterViews is a better choice depends on your goals.  If 
you're interested in producing OPEN LOOK and Motif compliant interfaces,
then OI is clearly the better choice, since Stanford's InterViews has its
own "look and feel".  If you're interested in a nifty researchy toolkit
with flyweight glyphs (which I personally think are a phenomenally good
idea), then InterViews might be more appropriate.

One subtle difference between OI and InterViews:  In InterViews, as in most
X11 user interface toolkits, the object hierarchy and the window hierarchy
are isomorphic.  In OI, that's not true.  The object hierarchy and the window
hierarchy are independent of each other.  

It's a little hard to explain in a few sentences why this is a good thing, 
but after programming in OI for a few months, I'm convinced that it's a 
fundamental advancement in toolkit design.  It allows you to design and 
implement an interface in terms of logical interface objects instead of 
thinking about window hierarchies, and provides tremendous flexibility
in building user interfaces.  It also allows more dynamic runtime behavior
than any other approach I've seen -- the ability to dynamically reparent 
any object to any other object at runtime and have all of the low-level
window details handled for you is just fantastic.

> = OI is now sold to AT&T and the
> = price is high, and it seems that very few people are using it. IV is a
> = free GUI from Standford University, it has a mailing list
> = (interviews@interviews.stanford.edu) and the source seems pretty good.

The lack of a binary distribution of OI is certainly a problem at the 
moment, but that's supposed to be getting fixed "soon".

> = At the moment I've not tried the OI, but I've read the manual pages. I
> = think that the OI is done in a 'me too' fashion, and it seems as a C
> = project hiding inside C++. 

Not at all -- OI is architecturally very different from most of the other
user interface toolkits available, InterViews included.

As for it being a "C project hiding inside C++", I'd be interested in
hearing what makes you think that.  There are two things that USED to make
me think that, until I understood why they were done this way:

	*  Objects are typically created using oi_create_xxx(...) 
	   instead of by using the ctor directly.  The reason turns
	   out to be that C++ doesn't provide any way for a ctor to
	   indicate failure.  That's the same reason InterViews has
	   the Valid member in classes whose ctors can fail -- whether
	   you prefer saying:

		Box *b = oi_create_box(...)
		if (b == NULL)
			Fail(...)

	   or

		Box *b = new Box(...)

		if (!b->Valid)
			Fail(...)

	   is largely a matter of personal choice.  OI lets you do it
	   the latter way, if that's what you prefer.  (The ctors are 
	   all there.  All the oi_create_xxx functions do is invoke the
	   ctor for the object, test for success, and clean up in case
	   of failure.)

	*  Member data is accessed via inline functions.  This turns
	   out to be a worthwhile C++ programming technique, especially
	   if during development you find yourself changing things from
	   data members into member functions (because they're harder to
	   compute than you thought). 

In fact, when you get into the sources, you find that OI makes extremely good
use of C++ as a language.  It would have to in order to provide the kind of
performance it does.  (I'm finding that apps created with the most recent
release of OI are generally slightly smaller than the corresponding OSF/Motif
or OLIT applications, while providing BOTH GUI styles and more flexibility in
behavior.)  It's also pretty easy to subclass almost any OI class you want.

> = One thing it seems to be a problem which is feared but not
> = handled is the problem with name clash. If you got the source you
> = always has the posibility to get out, OI hopes that no-one uses OI_ as
> = a prefix.

So far, I've not seen anyone suggest a bulletproof way to avoid name
clashes.  Picking a unique prefix for your public symbols and identifiers
seems to be the best you can do given the current state of the art in the
language design.

ISSGS%NUSVM.BITNET@mitvma.mit.edu (Gurminder Singh) (05/21/91)

A UIMS that we are developing may be of use to some of you folks. The

name of the UIMS is "Druid" (Demonstrational Rapid User Interface

Development). Druid currently runs on SPARCstation 1+s under theX11

R3 or R4 window system and the OSF/Motif 1.0 toolkit. It generates

UIL and some C code. The UIL and C programs generated by the UIMS

can be compiled using standard compilers, so there is no proprietary

librarie or compiler that you need to use.


Details on Driud are available in the following two papers:

Singh G, Kok CH, Ngan TY, "Druid: A System for Demonstrational Rapid

User Interface Development". Proc. ACM SIGGRAPH Symp on User Interface

Software and Technology (UIST'90). ACM, NY, 1990, pp: 167-177


Singh G, Kok CH, Ngan TY, "Creating Graphical Interfaces through Graphical

Interaction" Proc. IEEE Workshop on Visual Langauges, IEEE Computer

Society presse, Los, Alamitos, 1990, pp: 187-193.


Druid is intended to be a comprehensive UIMS, i.e., when completed it

will provide support for creating presentation components (widgets, layout

etc.) and dialogue control (i.e. command sequences etc) for X and Motif

interfaces. We will soon be releasing the presentation component of the

UIMS as a commercial product. This system will allow you to create

Motif interfaces using visual techniques. It comes with an inference system

which helps users create attractive looking interfaces by guessing from

their imprecise actions. As you add widgets in the interface, the UIMS

guesses the new widgets relation to already existing widgets in the interface.

The example relations include same-size-as, various types of alignments,

and attachments. On confirmation from the user, these relations are

ly
automatically executed by the UIMS.


This system will be available soon (two months?) as a product. No, I don't

know how much it will cost.


Gurminder Singh

Institute of Systems Science

National University of Singapore

Kent Ridge, Singapore 0511.

rps@arbortext.COM (05/22/91)

Hi.  This is unrelated to X windows.  I have a friend that is going back to
Singapore.  We wish to remain in contact.  How hard is it to get onto the
Internet (via UUCP), or on Bitnet.  Ie, if he can set up a UUCP site of his
own at home, would he be able to get mail out to the rest of the world?

			Thanks, Ralph

psm@trdlnk.uucp (Paul Stephen Murphy) (05/25/91)

In article <9105171951.AA29530@rapier> matt@saber.COM writes:
>Having at this point some accumulated some reasonable amount of experience
>with the OI toolkit, let me offer a different viewpoint from the opinions
>expressed here.
>

We've been evaluating OI here also ...

>One subtle difference between OI and InterViews:  In InterViews, as in most
>X11 user interface toolkits, the object hierarchy and the window hierarchy
>are isomorphic.  In OI, that's not true.  The object hierarchy and the window
>hierarchy are independent of each other.  
>
>It's a little hard to explain in a few sentences why this is a good thing, 
>but after programming in OI for a few months, I'm convinced that it's a 
>fundamental advancement in toolkit design.  It allows you to design and 
>implement an interface in terms of logical interface objects instead of 
>thinking about window hierarchies, and provides tremendous flexibility
>in building user interfaces.  It also allows more dynamic runtime behavior
>than any other approach I've seen -- the ability to dynamically reparent 
>any object to any other object at runtime and have all of the low-level
>window details handled for you is just fantastic.
>

I've used all the major toolkits (OLIT, Motif, and Xaw) and I'd have to say
OI is by far the simplest use and has the greatest flexiblity. The ability
to dynamically reparent any object is a big plus! 

>> = OI is now sold to AT&T and the
>> = price is high, and it seems that very few people are using it. IV is a
>> = free GUI from Standford University, it has a mailing list
>> = (interviews@interviews.stanford.edu) and the source seems pretty good.
>
>The lack of a binary distribution of OI is certainly a problem at the 
>moment, but that's supposed to be getting fixed "soon".
>

Since my workstation is a S4000 from Solbourne, it comes with OI.

>In fact, when you get into the sources, you find that OI makes extremely good
>use of C++ as a language.  It would have to in order to provide the kind of
>performance it does.  (I'm finding that apps created with the most recent
>release of OI are generally slightly smaller than the corresponding OSF/Motif
>or OLIT applications, while providing BOTH GUI styles and more flexibility in
>behavior.)  It's also pretty easy to subclass almost any OI class you want.
>

We've ported a few applications from Xaw to OI and found the OI versions to
be smaller. 
-- 
|=============================================================================|
|Steve Murphy:     ...!uunet!tellab5!vpnet!trdlnk!psm or psm@trdlnk           |
|=============================================================================|
|"My work is visionary or imaginative. That which can be made explicit to the |

bv@NIXCTC.DE (Burkhard Viehoff) (06/14/91)

Hi,

first I should like to thank Alfred Poon for his summary,
that I refer to in my article.


= XBuild (Siemens Nixdorf - see Byte March 91 p. 78)
=   This tool is said to generate C code, but I have from another
=   reference seen that it is generating C++. What is right ?
=   Does anyone have any experiences using this ?

	This is one of the questions, he cites in his article.
XBuild is written in C++.
It produces alternatively  C-Code or UIL .
We used it successfully in a small project under SCO-ODT.
It also supports Apollo, Pyramid and perhaps others meanwhile.

For more detailed information you should try to contact
the following:

Kevin   B r o p h y
N C E C
52 Third Avenue, Burlington, MA 01803

Telefon: 	(617) - 864 - 0066
Telefax:	(617) - 864 - 8240

	This was another question or keyword in the summary

= ixBuild - ixos Germany

ixBuild was developped starting from XBuild.
But I can't tell you about the enhancements.

Here is the address of iXOS Software GmbH in Germany:
	Technopark
	Bretonischer Ring 12
	8011 Grasbrunn/Muenchen

Phone: +49  (89) 46 10 05 - 0
Fax:   +49  (89) 46 10 05 - 99



-------------------------------------------------------------------------
Siemens Nixdorf Informationssyteme AG	( S N I )

Burkhard Viehoff                | bv%nixctc@unido.uucp
D9 Open Systems                 | bv@NIXCTC.DE
                                | bv@nixctc.de.eunet
Loeffelstrasse 40               | pyramid!nixctc!bv
7000 Stuttgart 70               |
West Germany                    | Phone: +49 (711) 977-4387
                                | Fax:   +49 (711) 977-4332
-------------------------------------------------------------------------