[comp.windows.x] OI

garya@marvin.Solbourne.COM (Gary Aitken) (10/03/90)

> Is OI any easier to use than Sun's Xview toolkit?

I won't comment because I'm biased...

We have submitted a proposal to teach a tutorial on programming
using the OI toolkit for the upcoming X technical conference,
but haven't heard yet whether it's been accepted or not.  If
it is, and you are at the conference, you might take the
tutorial and then you would be in some position to make an
assessment, although it's hardly as good a method for evaluation
as writing real code.

The interface design has been strongly influenced by real
applications.  We developed real applications in parallel with the
toolkit.  Whenever we found applications writers were having to
write several lines of code to do a simple task, we tried to
analyze what the real goal was and come up with the "right"
interface which was usually only one line.  I'm sure we haven't
succeeded in all cases, but we have made the most common tasks
pretty simple.

> Is there a prototyper comparable to Sun's DevGuide?

Like everyone else in the industry, we have one in progress.  We've been
shipping an application based on it for over a year.  Our
object description language is an X standard -- the resource manager.
Demos to qualified potential customers who pay the appropriate bribes. :-)

> Did they design the C++ classes so that they are easy to extend?

The first cut was lousy.  The next release will be pretty good.
The main problem was maintaining model independence
(ie. either motif/openlook/3d-openlook)
at runtime and still allowing user derivations.  You can use the current
release to subclass easily if you do not require model independence in your
development environment.  It is a one line change to get the model independence
in user derived objects in the next release.

> Is there good documentation available (similar to
>	the Xview Programming Manual from O'Reilly & Associates)?

Not yet but one is in progress.

> Did Solbourne faithfully follow the OpenLook specification?

It's pretty close.  We have some nits, as do all of the other OL toolkits
I am aware of.  Our nits are different than sun's and at&t's nits.... :-)
The release version is targeted at level 1 compliance.

> Is a production version available or is it still in Beta test?

Production source has been delivered to AT&T.  The product has been
announced.  A production binary version has been shipped with our 4.0D
OS/SMP release.

> Is it a pretty solid product or do the objects have a lot of
>	bugs and deficiencies?

It's not bug free (is any toolkit?), but it's pretty solid.
Applications (bundled on Solbourne machines) using it have been shipping
for almost a year now.

> Are there any reasons why our group should switch from XView to OI?

I think it depends on what you see as your development environment.  XView is
C based; OI is C++ based.  If you view your environment as a C environment,
with all of the associated problems, XView may be a better choice.  If you 
are seriously interested in object oriented programming, OI is a better
choice.  You can't do a very good job of object oriented programming using
a non object oriented language (C).  There are some
things you can't do with a C based toolkit in a C++ environment.  One of
the most notable of these is use member functions for particular objects as
callbacks.  The only way you can do it is to wrap the toolkit with a bunch of
C++ objects.  Even then, you still have basically a C interface, and can't use
many of the object oriented aspects of C++.

Other reasons:

OI supports Motif, OPENLOOK, and 3D-OPENLOOK, at runtime.  A single executable
image runs all three models.  The user can choose via a command line option or
a resource which model is preferred.  We are trying very hard to provide the
best possible OPENLOOK and Motif implementation, with no bias towards either.
While our company makes SPARC hardware, and therefore has a hardware bias
which favors Sun compatible systems, our software is not.  Our first release
primarily supports OPENLOOK because it was the first "standard" interface spec
we had to work with; we are currently concentrating on fleshing out the Motif
aspects.  If you are an ISV and need to support both the OPENLOOK and Motif
environments, you can do so without having to maintain two sets of source code
and executables.  This works well; none of our applications have any code 
which know anything about the interaction model.  Applications have ranged from
desktop tools (mail/news readers, appointment book, SCCS/RCS tools, etc.) to
a window manager, a debugger, an application builder, a bug tracking interface
to a relational database, load monitors, and numerous others, so a fairly good
sample is involved.

OI (next release) will support full use of the resource manager and translation
mechanisms (similar to Xt based toolkits) on an object by object basis.

OI will support full internationalization including 16 bit fonts and input
servers in the future.  Work has already started on this and is well underway;
again, demos to qualified skeptics with proper bribes.  Our target is an
environment where you can write code more or less oblivious to worries about
internationalization.

> Will OI become the toolkit of choice in the '90s?!

We'd like to think it will be.