[comp.windows.x] Xview - what do you think?

tree@sadye.uvm.edu (Tom Emerson) (02/13/91)

Sorry if this is a FAQ, but I'm interested in hearing (reading?)
peoples views towards XView, specifically in relation to its ease of
use and performance.  I'm working on a large application which must
have a good interface.  Is Xview the way to go?  I would rather not
spend the time making modifications to Athena Widgets...

Thanks in advance for your comments...

Tom E.

--
                                      Tom Emerson
________________   Student Systems Programmer - EMBA Computer Facility
 /  /_) /_  /_                    University of Vermont
/  / \ /__ /__                     tree@newton.uvm.edu 
      Wer sich des Vergangenes nicht erinnert, ist verurteilt,
                     es noch einmal zu erleben.
						--- Dachau

andrew@resam.dk (Leif Andrew Rump) (02/13/91)

In <TREE.91Feb12111358@sadye.uvm.edu> tree@sadye.uvm.edu (Tom Emerson) writes:
>Sorry if this is a FAQ, but I'm interested in hearing (reading?)
>peoples views towards XView, specifically in relation to its ease of
>use and performance.  I'm working on a large application which must
>have a good interface.  Is Xview the way to go?  I would rather not
>spend the time making modifications to Athena Widgets...

It's very easy to use and it hasn't constrained our project (i.e. it
has all the facilities we need) even though OpenLook has some funny
ideas (like popup windows always has a pushpin so the user may pin a
window for ever after). The performance is OK but there is some weird
bugs around. Warning: Don't use DevGuide - at least not version 1.1.
And use C++ (I haven't tried it under OpenWindows but the object-
oriented way of programming XView - actually X - is build for C++ not
C (which I'm using at the moment  :-(  :-(  :-(  ))

Leif Andrew


Leif Andrew Rump, AmbraSoft A/S, Stroedamvej 50, DK-2100 Copenhagen OE, Denmark
UUCP: andrew@ambra.dk, phone: +45 39 27 11 77                /
Currently at Scandinavian Airline Systems                =======/
UUCP: andrew@resam.dk, phone: +45 32 32 51 54                \
SAS, RESAM Project Office, CPHML-V, P.O.BOX 150, DK-2770 Kastrup, Denmark

> > Read oe as: o <backspace> / (slash) and OE as O <backspace> / (slash) < <

chuck@trantor.harris-atd.com (Chuck Musciano) (02/13/91)

In article <TREE.91Feb12111358@sadye.uvm.edu>, tree@sadye.uvm.edu (Tom Emerson) writes:
> Sorry if this is a FAQ, but I'm interested in hearing (reading?)
> peoples views towards XView, specifically in relation to its ease of
> use and performance.  I'm working on a large application which must
> have a good interface.  Is Xview the way to go?  I would rather not
> spend the time making modifications to Athena Widgets...

     I use XView for all my windowed tools, and am very happy with it.  I've
never coded with a different toolkit, so couch my remarks appropriately.

     In my book, the best combination is Sun's Devguide interface builder
and XView.  I can produce fairly complex interfaces, ready to be bolted to
application code, in just a few hours.  As an example, a Harris division
needs an interface to a weather radar control system.  I sat with them for
about two hours, talking out the interface details, and then fired up Devguide.
Three hours later, I had a complete interface, with seven popup dialogs and
a base window with three canvases for rendering weather views.  Within a
24 hour time frame, the radar guys signed off on the interface.  The only
work left is to attach the specific application code to the various buttons
and widgets and write the reams of documentation :-(

     I do this with my other tools, too, like Catcher and Contool.  Devguide
costs $250/site license, and XView is free, so I figure I recouped the
software investment (figuring loaded professional salaries) in about 90
minutes of use.  My general rule of thumb is that Devguide yields a 10X
productivity increase, in general.

     Since I came from the world of SunView, XView is a very natural 
environment for me.  I find it easy to remember the attribute "language"
used to build and manipulate widgets.  On the other hand, I can NEVER
remember the Xlib routine definitions without my handy "X in a Nutshell"
book from O'Reilly.

NOTE: Devguide is the new "Official" name of Sun's GUIDE interface builder.
-- 

Chuck Musciano				ARPA  : chuck@trantor.harris-atd.com
Harris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
Melbourne, FL 32902			FAX   : (407) 729-3363

A good newspaper is never good enough,
	but a lousy newspaper is a joy forever.		-- Garrison Keillor

rick@pbi.COM (Richard M. Goldstein) (02/14/91)

Tom-

i've been around XView since the 0.6alpha (i believe there
were about 15 copies distributed) and, moving from SunView,
my experiences have been positive. 

As far as performance, i am continually impressed how much i 
can get away with in an event callback without noticeably impeding 
performance, and i'm running on a Sparcstation 1 (or, as i say, 
Sparc Classic).  i believe that the xview people actually
have a benchmark utility they develop with.

i find the attribute/value-pair api to be convenient, and, i
dare say, more clean than the Xt code i've seen (not being
an Xt programmer myself).  Also, XView in some cases enforces 
OL spec, which you may consider a feature (me) or a hindrance (my boss).
In other words, the XView philosophy of not being able to change the 
font in panel-items, for example, is a feature.  i've seen people
on xpert griping about this, however.

DevGuide is Sun's inexpensive and mandatory interface editor
which generates in intermediate format that can then be
converted to C, or C++ (and maybe more someday).  the resulting
code takes advantage of XView's object oriented features and,
hence, is handy to work with.


there are, of course, some shortcomings of XView2.0 (some of 
which, i hope, will be addressed in the next release):

Most notable is extensibility.  i want to be able to write 
reusable conglomerations of objects and use the convenient
attribute-value interface to them.  i have not found the 
current extension mechanisms to be sufficient for what i
want to do.  (why do i see C++ in my future?...).  for example,
can go into DevGuide and punch out an OL "stock" command popup.
i'd like to be able to make an "extension" out of this.  (if 
you're a dreamer like me, you may also like a mechanism to have 
DevGuide recognize this "extension" and be able to read it in 
and use it as any other XView object).

i also find that the colormap situation with xview2.0 is not
sufficient for imaging applications (using either xview's 
color model or Xlib colormaps with xview seems to cause
problems - or maybe i'm unable to figure it out; as my
byline says...).

One thing we had to abandon is trying to use Xlib windows
in XView Canvases (this may be an odd thing to want to do anyway,
but it was fun to try).  the xview notifier filters events to give
them a SunView look-and-feel; this makes it difficult to interact
with the straight-up X.

On DevGuide, i must mention that it doesn't take advantage of
all the possible XView attributes.  this is occasionally problematic
when i want something that is a "create only" attribute and DevGuide
won't generate it.  I'd like to see an "advanced properties" sheet 
or something :-)

finally, there is only one book of documentation available for XView.
it is bad as far as it goes, but...  Really, see a need for
a reference volume dedicated to a ***complete*** and ***accurate***
description of ***all*** the attributes and macros available.


rick w/disclaimer 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                %
% Richard M. Goldstein                           %
%                                                %
% Perfect Byte, Inc.       Phone:  (402)554-1122 %
% 7121 Cass St.            Fax:    (402)554-1938 %
% Omaha, NE 68132          email:  rick@pbi.com  %
%                                                %
% "If I knew what I was doing,                   %
%       d'ya think I'd be in Omaha?"             %
%                                                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fischer@iesd.auc.dk (Lars P. Fischer) (02/16/91)

>>>>> On 13 Feb 91 12:12:45 GMT, andrew@resam.dk (Leif Andrew Rump) said:

Leif> Warning: Don't use DevGuide - at least not version 1.1.

Why not? DevGuide will not do everything, but you will get up to speed
much faster. For putting together standard dialog boxes and the like,
DevGuide is real handy.

If you have found some specific problems, please explain!

Leif> And use C++ (I haven't tried it under OpenWindows but the object-
Leif> oriented way of programming XView - actually X - is build for C++ not
Leif> C (which I'm using at the moment  :-(  :-(  :-(  ))

It's not clear that the OOP-in-C style of XView is a good match for
C++ OOP. Using XView from C++ does not turn XView into a C++ class
hierarchy, i.e. you cannot use C++ inheritance on XView "objects".

XView can be used from either C or C++ - there's not much difference.
Select the language that otherwise best matches your needs.

/Lars
--
Lars Fischer,  fischer@iesd.auc.dk   | Beauty is a French phonetic corruption
CS Dept., Univ. of Aalborg, DENMARK. |                   - FZ

fischer@iesd.auc.dk (Lars P. Fischer) (02/16/91)

>>>>> On 13 Feb 91 17:01:36 GMT, rick@pbi.COM (Richard M. Goldstein) said:

Richard> As far as performance, i am continually impressed how much i 
Richard> can get away with in an event callback without noticeably impeding 
Richard> performance, and i'm running on a Sparcstation 1 (or, as i say, 
Richard> Sparc Classic).

I second that. I have had the (bad) luck of developing a major XView
application on a Sun-3/160. Apart from startup time (it take some time
to initialize a lot of XView objects) performance was more than
adequate. Even interactive graphics performed nicely.

Note - this was using X11R4. XView will do as good as, but no better,
than the window server used.

/Lars
--
Lars Fischer,  fischer@iesd.auc.dk   | Beauty is a French phonetic corruption
CS Dept., Univ. of Aalborg, DENMARK. |                   - FZ

andrew@resam.dk (Leif Andrew Rump) (02/18/91)

In <FISCHER.91Feb15223704@thiele.iesd.auc.dk> fischer@iesd.auc.dk (Lars P. Fischer) writes:
>>>>>> On 13 Feb 91 12:12:45 GMT, andrew@resam.dk (Leif Andrew Rump) said:
>Leif> Warning: Don't use DevGuide - at least not version 1.1.
>Why not? DevGuide will not do everything, but you will get up to speed
>much faster. For putting together standard dialog boxes and the like,
>DevGuide is real handy.

>If you have found some specific problems, please explain!

DevGuide is good for prototyping, but I was looking for an application
that would maintain the user interface of my code and there DevGuide
sure failed: The length of input fields is not global available, help
is not fully implemented, there is no real multi window support (and
if the windows is more or less equal then you are in deep sh*t!!), ...

>Leif> And use C++ (I haven't tried it under OpenWindows but the object-
>Leif> oriented way of programming XView - actually X - is build for C++ not
>Leif> C (which I'm using at the moment  :-(  :-(  :-(  ))

>It's not clear that the OOP-in-C style of XView is a good match for
>C++ OOP. Using XView from C++ does not turn XView into a C++ class
>hierarchy, i.e. you cannot use C++ inheritance on XView "objects".

I partly agree! I'm writing a paint application and I would love to
have OOP functionality to keep track on all the windows and their
state in my application even though XView is only using "old" C.

Leif Andrew


Leif Andrew Rump, AmbraSoft A/S, Stroedamvej 50, DK-2100 Copenhagen OE, Denmark
UUCP: andrew@ambra.dk, phone: +45 39 27 11 77                /
Currently at Scandinavian Airline Systems                =======/
UUCP: andrew@resam.dk, phone: +45 32 32 51 54                \
SAS, RESAM Project Office, CPHML-V, P.O.BOX 150, DK-2770 Kastrup, Denmark

> > Read oe as: o <backspace> / (slash) and OE as O <backspace> / (slash) < <