home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / portable-GUI-software / part1 < prev    next >
Internet Message Format  |  1997-03-02  |  52KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.starnet.net!news.starnet.net!news.dra.com!news-out.internetmci.com!newsfeed.internetmci.com!su-news-hub1.bbnplanet.com!news.bbnplanet.com!news.pbi.net!samba.rahul.net!rahul.net!a2i!news.vbc.net!vbcnet-west!news.mira.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!news.syd.connect.com.au!phaedrus.kralizec.net.au!not-for-mail
  2. From: rosko@zeta.org.au (Ross McKay)
  3. Newsgroups: comp.windows.misc,comp.answers,news.answers
  4. Subject: Portable GUI Development Kits FAQ, part 1/4
  5. Followup-To: comp.windows.misc
  6. Date: 2 Mar 1997 20:54:57 +1100
  7. Organization: Kralizec Dialup Unix Sydney, +61-2-837-1183 V.32bis
  8. Lines: 1131
  9. Approved: news-answers-request@MIT.EDU
  10. Expires: Sun, 30 Mar 1997 00:00:00 GMT
  11. Message-ID: <5fbiph$g3p@godzilla.zeta.org.au>
  12. Reply-To: rosko@zeta.org.au
  13. NNTP-Posting-Host: godzilla.zeta.org.au
  14. Summary: This posting discusses many of the various platform-independent
  15.     Graphical User Interface (GUI) development software libraries/
  16.     packages.
  17. Keywords: PIGUI
  18. Xref: senator-bedfellow.mit.edu comp.windows.misc:33551 comp.answers:24595 news.answers:96028
  19.  
  20. Archive-name: portable-GUI-software/part1
  21. Posting-Frequency: monthly
  22. Last-modified: 1997/03/02
  23. Version: 3.1
  24. URL: http://www.zeta.org.au/~rosko/pigui.htm
  25.  
  26.                        PLATFORM INDEPENDENT FAQ PART ONE
  27.                                        
  28.      _________________________________________________________________
  29.    
  30.     Copyright 1996 Ross McKay. Last released $Date: 1997/03/02 09:04:40 $
  31.     Copyright 1993-1995 Wade Guthrie. Permission is granted to copy and
  32.     redistribute this document so long as it is unmodified (including the
  33.     part that explains where to get the FAQ free-of-charge) and the
  34.     copyright remains in-tact. I'd appreciate it if you told me about any
  35.     redistribution, but that's not strictly necessary.
  36.     
  37.      _________________________________________________________________
  38.    
  39. I. WHAT'S NEW IN THIS ISSUE. . .
  40.  
  41.    Seems that many of the vendors with commercial products are looking
  42.    hard at Java... just a few that I know of include Willows, Visix,
  43.    Neuron Data, Bristol, and RogueWave. Of course, there are many other
  44.    big names there already, including Sun, Symantec, Borland, Oracle, and
  45.    yes, even Microsoft.
  46.    
  47.    I will try to get together a rundown on what each offers for next
  48.    month. In the meantime, you may want to check out some of the sites.
  49.    It seems that many people are looking to Java as the language that
  50.    will allow cross-platform portability at last.
  51.    
  52.    Watch those prices! Many will still be out of date! _Check with the
  53.    vendor!_
  54.    
  55.    Notable in this version (3.1)
  56.      * added first entry for GraphApp
  57.      * removed ObjectViews as manufacturer Quest Windows is defunct
  58.      * updated ILOG Views with new database access, ActiveX and plugins
  59.      * updated MainWin with new pricing, support OLE 2.0 and threads
  60.      * updated Galaxy as eval no longer requires training
  61.      * updated NuTCRACKER to 3.0
  62.      * updated prices on Qt
  63.      * updated XVT to 4.5
  64.      * updated home page of wxWindows, and there _is_ a Mac port
  65.      * updated home page of Amulet
  66.      * notice: watch out for StarView falling from the sky soon...
  67.        
  68. II. INTRODUCTION
  69.  
  70.    This posting is intended to shell-out as much information as I can
  71.    find concerning platform-independent Graphical User Interface (PIGUI)
  72.    development kits (actually, it's platform-independent APIs targeting
  73.    various platform-DEPENDENT GUIs, but let's not get too picky). This
  74.    list is being posted because I've seen a whole mess of requests for
  75.    GUI portability information and, besides, I need this information as
  76.    well.
  77.    
  78.    This document is maintained and periodically updated as a service to
  79.    the net by Ross McKay (rosko@zeta.org.au). Any corrections, updates,
  80.    or other pertinent information are welcomed at that address. If you
  81.    are a vendor of a PIGUI package (whether it's represented here or
  82.    not), I encourage you to amend, annotate, and append to this document
  83.    (and then, of course, send the revisions back to the author).
  84.    
  85.   IIa. Where to get this document.
  86.   
  87.    As the primary format of this document is now HTML, the best place to
  88.    get it is on the Word Wide Web at the following place:
  89.    http://www.zeta.org.au/~rosko/pigui.htm
  90.    
  91.    You can also get the plaintext version from the following HTML page:
  92.    http://www.zeta.org.au/~rosko/textfaq.htm, by anonymous FTP from
  93.    `rtfm.mit.edu', or by following newsgroups comp.answers or
  94.    news.answers.
  95.    
  96.   IIb. What's a PIGUI?
  97.   
  98.    A PIGUI (_Platform Independent Graphical User Interface_) toolkit is a
  99.    software library that a programmer uses to produce GUI code for
  100.    multiple computer systems. The toolkit presents functions and/or
  101.    objects (along with a programming approach) which is independent of
  102.    which GUI the programmer is targeting. For the purposes of _this_
  103.    document, a PIGUI must support several GUIs under at least two
  104.    different operating systems (so just supporting OpenLook and Motif on
  105.    two Unix boxes doesn't count). The toolkit does not necessarily
  106.    provide any additional portability features. Native look-and-feel is a
  107.    desirable feature, but is not essential for PIGUIs.
  108.    
  109.    Now, let's consider Petula Sniggly, a programmer who decides she wants
  110.    to build the ultimate computer program. This thing is going to be so
  111.    cool that everyone anywhere near a CPU will want to use it, so Petula
  112.    targets her program for every type of computer on the planet. She
  113.    considers getting herself a PIGUI toolkit to handle the GUI portion of
  114.    her code. With a PIGUI toolkit, when she wants to put a menu on the
  115.    screen, she calls the toolkit's `PIGUI_menu' function. When she
  116.    compiles her code with the `Macintosh' flag set, the PIGUI library
  117.    puts a Mac menu on the screen in response to the PIGUI_menu call. When
  118.    she compiles her code with the `Motif' flag set, the call causes the
  119.    library to put-up a Motif-style menu. All this happens (theoretically)
  120.    without Petula having to change her source code. If she is careful to
  121.    make her non-GUI code portable, she would have a single program (with
  122.    a single source) that works on multiple platforms.
  123.    
  124.    There is no free lunch, so our heroine Petula has a few things to
  125.    consider before deciding whether to use a PIGUI. First, most (and
  126.    maybe `all' depending on whom you believe) of the PIGUIs will slow the
  127.    execution of your code. You are also limited to the feature set
  128.    provided by the PIGUI unless you want to code around the toolkit (but,
  129.    then again, why would you buy the PIGUI in the first place if you're
  130.    going to code around it?). Bugs in any toolset (PIGUI or otherwise)
  131.    filter down to your production code. Fewer people know how to code any
  132.    specific PIGUI than do a platform-specific GUI (e.g., MS-Windows), so
  133.    wizardly help will be limited. The PIGUI only deals with the GUI
  134.    aspects of your program -- you're on your own for other portability
  135.    issues. Finally, if the vendor goes out of business you may be
  136.    out-of-luck for support of future OS enhancements (source code can
  137.    ease, but not eliminate, the pain of a vendor closing its doors).
  138.    
  139.    Another approach that Petula could choose, is to design her system
  140.    partitioned into GUI and non-GUI objects, and implement the GUI
  141.    objects in the native API. Then, when porting, only the GUI objects
  142.    need to be rewritten for the new platform. There are some developers
  143.    who recommend this course of action, as it produces a better fit on
  144.    each platform and eliminates the overheads often associated with PIGUI
  145.    toolkits. Obviously, this would mean more effort on Petula's part, in
  146.    both the initial development and in ongoing maintenance (no single
  147.    base of source code). It also means learning how to code for _every_
  148.    target platform. Not (usually) a trivial task, hence the market for
  149.    PIGUI kits.
  150.    
  151.    (NB: partitioning your design into GUI and non-GUI objects is a _good
  152.    thing_ to do anyway)
  153.    
  154.   IIc. A word (or two...) about language choice.
  155.   
  156.    There are PIGUI kits for languages including C, C++, Smalltalk, Java,
  157.    Ada, Tcl, and Python. Most (all?) new PIGUI kits will be developed in
  158.    Object-Oriented programming languages, as GUI work is ideally suited
  159.    by the advantages of OO (especially inheritance / reuse). The bulk of
  160.    exising kits are in C++, due to the popularity of that language, with
  161.    many still in C but supporting C++. I have partitioned the Vendor
  162.    Reports into separate parts because of this, putting C and C++ kits
  163.    into Parts 2 and 3, and others in Part 4. My justifications are that:
  164.    a)
  165.           Part 2 was getting too big and needed splitting;
  166.    b)
  167.           due to practical or religious concerns, some people don't want
  168.           to _know_ about the C/C++ kits
  169.           
  170.    Many C programmers will look at the purchase of a PIGUI library as a
  171.    great opportunity to migrate to C++. If the library takes full
  172.    advantage of C++, the programmer will have to use C++ methodologies
  173.    (not just a C++ compiler with C syntax) to use it. When one ports a C
  174.    program to such a library, one should expect to invest a _significant_
  175.    amount of effort learning about (and modifying one's code to take
  176.    advantage of) classes, inheritance, and constructors in order to
  177.    complete the port. Of course, if one wants one's C code to become C++
  178.    code, this is a necessary exercise anyway.
  179.    
  180.   IId. What else is in this Document?
  181.   
  182.    After the introductory stuff, you'll find some more detailed
  183.    information about PIGUIs in general followed by tables and prose that
  184.    describe specific PIGUI toolkits.
  185.    
  186.    The limits placed on which products are discussed in this posting are
  187.    pretty-much provided in the title. The products listed here must be
  188.    platform-independent and support at least two different OSs. The
  189.    product must be shipping to the general public (i.e., no beta-only or
  190.    pre-beta PIGUIs). Moreover, these packages focus on GUI portability,
  191.    though some provide a larger breadth of portability features (and,
  192.    I've tried to list those, where applicable). No limits (at either the
  193.    high or the low end) have been placed on price, even though the prices
  194.    in the field vary by more than an order of magnitude (and, now, there
  195.    are some free PIGUI kits).
  196.    
  197.    Note that in addition to one of the products listed here, you'll need
  198.    (natch) one of the supported host machines, a compiler or interpreter
  199.    of the appropriate type, and, for layered GUI packages (q.v.), the
  200.    basic GUI builder for that platform.
  201.    
  202.   IIe. Other Issues to Consider.
  203.   
  204.    The difference in GUI programming is most likely the greatest hurdle
  205.    when programming for cross-platform portability, but it is not the
  206.    only hurdle. Other issues often not delt with by cross-platform GUI
  207.    kits, and not addressed by this FAQ, include (but may not be limited
  208.    to):
  209.      * byte alignment (little-endian vs big-endian) of data types in
  210.        files and over network connections
  211.      * (more generally) data formats, eg. non IEEE floating point
  212.      * memory management (eg. 64k segment limitations)
  213.      * text file end-of-line (CR-LF, LF, CR, RS, ...)
  214.      * directory / folder navigation and file management services
  215.      * multi-threading support
  216.      * inter-process communications
  217.      * system level functions (OS specific)
  218.      * Unicode (16-bit international character set)
  219.        
  220.    When developing an application that may be ported to more than one
  221.    platform (even if those platforms are the 16 and 32-bit versions of
  222.    Microsoft Windows), you should be aware of the differences between the
  223.    target platforms before development commences.
  224.    
  225.   IIf. More Legal Barf.
  226.   
  227.    At this point, I find it necessary to say that this FAQ is my personal
  228.    work and that this FAQ does _IN NO WAY_ indicate, reveal, imply,
  229.    infer, allude to, display, suggest, symbolize, expose, demonstrate,
  230.    hint at, or in any way have anything to do with the thoughts,
  231.    policies, suggestions, reflections, decisions, theories, sentiments,
  232.    ponderings, rules, dreams, or beliefs of my employer.
  233.    
  234.    I use a lot of names that are trademarks in this FAQ. At no time
  235.    should the use of a trademarked name be construed as contesting the
  236.    trademark. Those trademarks belong to their respective trademark
  237.    holders.
  238.    
  239.    If lots of stuff in this posting looks familiar to you, you're not
  240.    hallucinating (well, maybe you are, but not regarding this). Much of
  241.    the format (and some of the words) of this FAQ have been lifted (with
  242.    permission -- thanks Eric) from Eric Raymond's PC-UNIX FAQ.
  243.    
  244.    Despite the best efforts of the maintainer of this FAQ, some
  245.    information contained herein may not be accurate. Please verify any
  246.    information (especially prices) with the respective vendors before
  247.    finalising any desision. Please also forward any corrections or
  248.    comments to the FAQ maintainer, rosko@zeta.org.au
  249.    
  250.    Some information contained in this FAQ is based on the opinions of
  251.    users of the respective products, and does not necessarily reflect the
  252.    views of the maintainer of this FAQ.
  253.    
  254. III. GLOSSARY
  255.  
  256.    Here are some words that you'll find in this FAQ along with working
  257.    definitions for them.
  258.    
  259.    _API_
  260.           Applications Programming Interface. This is what the programmer
  261.           sees when he's using a software development kit. Normally, this
  262.           would be a set of function calls and/or objects.
  263.           
  264.    _APIW_
  265.           Applications Programming Interface for Windows, a standard for
  266.           cross-platform development. APIW was adopted by the European
  267.           Computer Manufacturers Association (ECMA) on 15 December 1995,
  268.           and is currently awaiting approval from the International
  269.           Standards Organisation (ISO). APIW is based on the Microsoft
  270.           Windows API. Microsoft are not happy; expect to see more legal
  271.           action.
  272.           
  273.    _CDE_
  274.           The GUI part of COSE (q.v.) is CDE, the Common Desktop
  275.           Environment which includes hypertext help, IPC (q.v.), printer
  276.           support, and a bunch of other stuff. The look-and- feel is
  277.           Motif-like, but there's a lot more than that to CDE. It looks
  278.           like CDE certification will be withheld from most if not all)
  279.           PIGUIs since CDE includes its own API -- you have to comply
  280.           with the API to be certified.
  281.           
  282.    _COSE_
  283.           Common Open Software Environment. COSE is the industry-agreed-
  284.           upon graphical environment that will augment (significantly)
  285.           and replace Motif and OpenLook.
  286.           
  287.    _CUI_
  288.           Character User Interface. This is like a graphical user
  289.           interface, but it's implemented only with characters (e.g.,
  290.           ASCII). Many Platform-Independent CUIs are developed using the
  291.           public-domain curses package.
  292.           
  293.    _DDE_
  294.           Dynamic Data Exchange. This is a method of inter-process
  295.           communication under Microsoft Windows.
  296.           
  297.    _DDEML_
  298.           Microsoft Windows' Dynamic Data Exchange Management Library.
  299.           
  300.    _DLL_
  301.           Dynamically Linked Libraries. These are, essentially, shared
  302.           libraries under Microsoft Windows or OS/2.
  303.           
  304.    _FAQ_
  305.           Frequently Asked Questions. A list. . .like THIS one!
  306.           
  307.    _font_
  308.           A specific set of shapes for a character set. Old English is
  309.           one example of a font (it's more complicated than that, but I'm
  310.           not going into it here).
  311.           
  312.    _GDI_
  313.           Microsoft Windows' Graphical Drawing Interface.
  314.           
  315.    _GUI_
  316.           Graphical User Interface. If you don't know what this is
  317.           already, you have quite a bit of homework before this FAQ will
  318.           mean anything to you.
  319.           
  320.    _HTML_
  321.           HyperText Markup Language, an implementation of a Standard
  322.           Generalised Markup Language (SGML). HTML is what Word Wide Web
  323.           (WWW) pages are written in; click on `View Source' in your Web
  324.           browser to see some.
  325.           
  326.    _IMO, IMHO_
  327.           In My (Humble) Opinion. Usually means very opinionated and not
  328.           very humble.
  329.           
  330.    _IPC_
  331.           Inter-process Communication. It's a generic term for the way
  332.           separate processes (or tasks) under an operating system talk to
  333.           each other.
  334.           
  335.    _MDI_
  336.           Microsoft Windows' Multiple Document Interface. An MDI parent
  337.           window is intended to be the main window of an application and
  338.           MDI child windows represent separate documents or sessions (or
  339.           whatever) under that application.
  340.           
  341.    _Motif_
  342.           This is one of the choices of look-and-feel under the X Window
  343.           system. In order to have one's software certified as Motif
  344.           compliant, one must pay a fee to the Open Software Foundation
  345.           (OSF).
  346.           
  347.    _OpenLook_
  348.           This is one of the choices of look-and-feel under the X Window
  349.           system. It was originally championed by Sun Microsystems before
  350.           they agreed to support COSE (q.v.).
  351.           
  352.    _PCL_
  353.           Hewlett Packard's Printer Control Language. It's a language for
  354.           getting HP printers to display what you want. Several versions
  355.           exist, including PCL4 and PCL5.
  356.           
  357.    _PIGUI_
  358.           Platform-Independent Graphical User Interface. Actually, it
  359.           refers to a platform-independent API (q.v.).
  360.           
  361.    _PM_
  362.           OS/2's Presentation Manager. This is the GUI under OS/2.
  363.           
  364.    _PostScript_
  365.           This is a printer language owned by Adobe Systems. It's an
  366.           interpreted language that is used by a wide variety of
  367.           printers. This is yet another technology created by Xerox Parc.
  368.           
  369.    _SDK_
  370.           Software Development Kit. It's software to help a programmer
  371.           build other software.
  372.           
  373.    _Unicode_
  374.           This is an international (16-bits per character) character set
  375.           in which all the characters from the various supported
  376.           international languages co-exist at once. Among the supported
  377.           character sets is the Latin alphabet (as used for English and
  378.           other languages), Hebrew, and kanji.
  379.           
  380.    _WYSIWYG_
  381.           What You See Is What You Get (pronounced Wizzy-Wig). It's a way
  382.           of allowing the user of a package to see the package's output
  383.           (in its ultimate format) while the user is developing using
  384.           that package. Most WYSIWYG software is really WYSISWYG
  385.           (pronounced Wizzy-Swig) -- What you see is sort-of what you
  386.           get.
  387.           
  388.    _Xlib_
  389.           This is the library of X-Windows functions distributed by MIT
  390.           with the X Window system (hence, it's free -- just like X
  391.           Windows). One can generate software that is compliant to the
  392.           OpenLook or Motif look-and-feel (or any other, for that matter)
  393.           using Xlib.
  394.           
  395.    _YMMV_
  396.           Your Mileage May Vary.
  397.           
  398. IV. USER-INTERFACE APPROACHES
  399.  
  400.    Most, if not all, of the products in this FAQ take one of three
  401.    approaches to providing platform independence. The two most common
  402.    approaches are the `layered' and the `emulated' user interface but an
  403.    up-and-coming approach is `API emulated' interface.
  404.    
  405.    Products using a layered interface access native, third party,
  406.    GUI-building toolkits to provide the look-and-feel compliance for each
  407.    particular GUI. Layered user interfaces have the advantage that, since
  408.    they depend on other products which concentrate on a single GUI, they
  409.    have to provide less software (and, hence, are usually less expensive)
  410.    than emulated interfaces. Layered interfaces are also more likely to
  411.    get the native look-and-feel correct on all platforms. Most of the
  412.    PIGUI products in this FAQ fit in this category.
  413.    
  414.    In an emulated user interface, the PIGUI's resultant code produces
  415.    low-level calls and all the look-and-feel compliance is handled by the
  416.    PIGUI software itself (e.g., for OpenWindows support, the software
  417.    would _NOT_ produce an XView program that must be compiled with the
  418.    XView toolkit; the software would produce code that interfaces
  419.    directly with X intrinsics). To provide an emulated user interface, a
  420.    vendor has to develop a lot of extra code for look-and-feel support.
  421.    Emulated user interfaces have the advantage that someone on a Motif
  422.    workstation, for example, can see how the Macintosh-style UI will look
  423.    (since the look-and-feel is part of the product). Emulated interfaces
  424.    have the opportunity to provide a faster GUI than does a layered
  425.    interface; in addition, it does not require you to purchase (or learn
  426.    how to use) other kits to build GUI software.
  427.    
  428.    A third approach to platform independence is emulating one of the
  429.    supported target's APIs (usually, the Microsoft Windows API) to target
  430.    other GUIs. With one of these products, one would program using the
  431.    emulated API and the code would be (to the extent to which the product
  432.    provides portability) portable to other GUIs.
  433.    
  434. V. FEATURES AND SUPPORTED PLATFORMS
  435.  
  436.    [Platform vs Price]
  437.    [Features, Other Nifties, and Hidden Costs]
  438.    [Hardware Vendors Supported]
  439.    [Support Features]
  440.    
  441.    The products in this FAQ are pretty similar in their basic
  442.    functionality; they each provide function calls or classes that allow
  443.    the user to build windows, buttons (regular as well as radio buttons
  444.    and check boxes), menus, menu bars, and the like. Areas of contention
  445.    seem to be things such as:
  446.      * support for the platforms you need,
  447.      * the choice of implementation language,
  448.      * availability and price of source code,
  449.      * printer support,
  450.      * support for international character sets,
  451.      * capability to support draw-package-like features,
  452.      * bitmap (and icon) support,
  453.      * the approach to platform independence (see below),
  454.      * nifty high-level widgets, and
  455.      * price (complete price including royalties and distribution
  456.        charges),
  457.        
  458.    Of course, each user will have his own requirements; YMMV.
  459.    
  460.    Now, on to the comparisons. To interpret the tables below, bear in
  461.    mind the following things:
  462.      * If information for a cell is unknown, a period ('.') is placed
  463.        there. It is the ultimate goal of the author to eliminate all of
  464.        these.
  465.      * If a PIGUI package does not support a feature or platform in the
  466.        table, the cell is marked with a hyphen ('-').
  467.      * If a feature or platform is not currently supported, but that
  468.        support is planned, the cell is marked with ('soon'). Support in
  469.        the form of beta versions (as well as longer- lead versions) fit
  470.        in this category.
  471.      * If a price is known for a product, that price is inserted in the
  472.        appropriate cell of the table. If that price is not known (but the
  473.        feature is supported), the cell is marked with `yes' -- it is
  474.        hoped that all `yes' entries will be replaced with prices `Real
  475.        Soon Now'.
  476.        Note that prices in this FAQ are the MSRP (Manufacturer's
  477.        Suggested Retail Price). The street price for some of these
  478.        products can be _significantly_ less.
  479.      * Tables are annotated, where appropriate, with letters (in
  480.        parentheses where it doesn't take up too much room). The
  481.        appropriate notes are found below the table. Also note that as
  482.        information changes, some of the notes will disappear. The note
  483.        letters will not necessarily be in sequence -- get used to it.
  484.        
  485.    Another note: given that Sun Microsystems has announced its
  486.    abandonment of OpenLook in favor of COSE, I'm not sure I'd hold my
  487.    breath for the OpenLook betas in the tables below. It may just not be
  488.    worth it for some of the vendors to support a product that has limited
  489.    (at best) application (in fact, at least one vendor has abandoned an
  490.    existing OpenLook product).
  491.    
  492.    The following products are listed in this FAQ. Abbreviations are given
  493.    for product names which are too long to go into the tables.
  494.    
  495.    _Alleg_
  496.           Allegris Workshop, Intersolv (was C++/Views by Liant)
  497.           
  498.    _CLIM_
  499.           Common Lisp Interface Manager, several vendors
  500.           
  501.    _DCLAP_
  502.           Don's Class Application library, Don Gilbert
  503.           
  504.    _Eiffel_
  505.           EiffelVision, ISE
  506.           
  507.    _Galaxy_
  508.           Galaxy, Visix
  509.           
  510.    _Graph_
  511.           GraphApp, by Lachlan Patrick
  512.           
  513.    _ILOG_
  514.           ILOG VIEWS, ILOG
  515.           
  516.    _JAM_
  517.           JAM, JYACC.
  518.           
  519.    _Java_
  520.           Java AWT, Sun Microsystems Inc.
  521.           
  522.    _libWxm_
  523.           libWxm, Visual Solutions
  524.           
  525.    _MAINWin_
  526.           MAINWin/Cross-Development Kit, MAINSoft Corporation
  527.           
  528.    _MetaCrd_
  529.           MetaCard, MetaCard Corporation
  530.           
  531.    _Menuet_
  532.           Menuet/CPP, Autumn Hill Software, Inc.
  533.           
  534.    _MEWEL_
  535.           MEWEL UIL, Magma Systems
  536.           
  537.    _MS-MFC_
  538.           Microsoft Foundation Classes as provided by _Microsoft_ Visual
  539.           C++ and related products. This does NOT include non-Microsoft
  540.           vendors who also support MFC (they are listed separately).
  541.           
  542.    _NuTCRAC_
  543.           NuTCRACKER, DataFocus, Inc.
  544.           
  545.    _OberonF_
  546.           Oberon/F, Oberon Microsystems
  547.           
  548.    _OI_
  549.           Open Interface, Neuron Data
  550.           
  551.    _OpenUI_
  552.           OpenUI, Open Software Associates
  553.           
  554.    _Qt_
  555.           Qt, Troll Tech
  556.           
  557.    _ScrMach_
  558.           Screen Machine, Objective Interface Systems, Inc.
  559.           
  560.    _StarVie_
  561.           StarView, StarDivision
  562.           
  563.    _SUIT_
  564.           Simple User Interface Toolkit, University of Virginia
  565.           
  566.    _VisAge_
  567.           
  568.    VisualAge for C++ and Smalltalk, IBM
  569.           
  570.    _VisWork_
  571.           VisualWorks, Openware
  572.           
  573.    _Wind/U_
  574.           Wind/U, Bristol Technology
  575.           
  576.    _WMMOTIF_
  577.           WM_MOTIF User Interface Library, Software UNO, Ltd.
  578.           
  579.    _WNDX_
  580.           WNDX GUI Toolkit, WNDX
  581.           
  582.    _wxWind_
  583.           wxWindows, Artificial Intelligence Applications Institute
  584.           
  585.    _XVT_
  586.           XVT Portability Toolkit, XVT Software Inc.
  587.           
  588.    _YACL_
  589.           Yet Another Class Library, M. A. Sridhar.
  590.           
  591.    _zApp_
  592.           zApp, RogueWave (Inmark have merged with RogueWave)
  593.           
  594.    _Zinc_
  595.           Zinc, Zinc
  596.           
  597.    In addition, I'd like to mention the following products that are not
  598.    mentioned in this document (well, not except for here):
  599.    
  600.    _Appware_
  601.           This product has been _de-emphasized_ (which is commonly
  602.           believed to mean `dropped') by Novell.
  603.           
  604.    _Aspect_
  605.           Looks like `Open' has gone out of business.
  606.           
  607.    _CommonV_
  608.           Word has it that Computer Associates has stopped supporting
  609.           Glockenspiel CommonView.
  610.           
  611.    _GUILD_
  612.           this seems to be part of the software configuration management
  613.           tool, Continuus, rather than a toolkit in its own right
  614.           
  615.    _Object Windows Library_
  616.           Borland seem to think `cross platform' means all varieties of
  617.           Microsoft Windows.
  618.           
  619.    _Presentation Services Manager_
  620.           after months of fruitless searching, I don't believe this is
  621.           around anymore
  622.           
  623.    _STDWIN_
  624.           This product is no longer supported, but it's free from
  625.           ftp://ftp.cwi.nl/pub/stdwin/.
  626.           
  627.    _Vibrant_
  628.           I'm told this is no longer supported, but contact
  629.           info@ncbi.nlm.nih.gov for more information.
  630.           
  631.    _Table 1: PLATFORM VS. PRICE (US$ except where noted) _
  632.    
  633.    _Please_ check with vendor, as many of these prices may be out of
  634.    date!
  635.  
  636.                                          X/    Open-             Next-
  637. Vendor  ASCII DOS  Win(s) Win/NT  OS/2   Motif Look  Mac   PenOS Step
  638. ------- -----------------------------------------------------------------------
  639. Alleg   -     -    995(f) 995(f)  995    995   -     -     -     -
  640. Amulet  -     -     -     free    -      free  -     free  -     -
  641. CLIM    .     .    .      .       .      yes   yes   soon  .     .
  642. DCLAP   .     .    (k)    .       .      (k)   .     (k)   .     .
  643.  
  644. Eiffel  -     -    .      .       -      .     .     soon  -     .
  645. Galaxy  -     -    9600m  9600m   9600m  9600m 9600m 9600m -     .
  646. Garnet  -     -    -      -       -      free  -     free  -     .
  647. Graph   -     -    free   free    -      free  -     soon  -     -
  648.  
  649. ILOG    -     -    6500   10000   10000  10000 -     -     -     -
  650. JAM     yes   yes  yes    .       .      yes   yes   .     .     .
  651. Java    -     -    -      yes     yes    yes   .     yes   -     .
  652. libWxm  -     -    (h)    (h)     -      yes   -     -     -     .
  653.  
  654. MAINWin -     -    (h)    (h)     -      8000n -     -     -     .
  655. Menuet  -     499  599    -       599    999   -     .     yes   .
  656. MetaCrd -     -    995(l) 995(l)  -      995(l)-     soon  -     -
  657. MEWEL   1595  395u (h)    (h)     795    yes   -     -     -     .
  658.  
  659. MS-MFC  -     -    yes    399     -      -     -     1999  -     -
  660. NuTCRAC -     -    -      2995    -      (h)   -     -     -     -
  661. OberonF -     -    400v   400v    -      -     -     400v  -     -
  662. OI      yes   yes  5800   6850    6850   9850  9850  4800  .     .
  663.  
  664. OpenUI  yes   -    3500   soon    4900   7900g -     3500  (w)   .
  665. Qt(q)   -     -    -      1470    -      1470d -     -     -     -
  666. ScrMach 495   495  1995   soon    -      (p)   -     -     -     -
  667. StarVie -     -    499    995     495    1499  1499  499   -     -
  668.  
  669. SUIT    .     (k)  (k)    .       .      (k)   (k)   (k)   .     .
  670. Tcl/Tk  free  soon free   free    soon   free  free  free  -     .
  671. TWIN    -     -    (h)    (h)     soon   (t)   .     (t)   -     -
  672. V       -     -    free   free    soon   free  -     -     -     -
  673.  
  674. VisAge  -     -    .      .       .      .     .     -     -     -
  675. VisWork .     .    2995   .       2995   4995  4995  2995  .     .
  676. Wind/U  -     -    (h)    (h)     -      9950  -     -     -     .
  677. WMMOTIF 1500  -    (h)    (h)     -      1995  -     -     -     .
  678.  
  679. WNDX    .     1000 1000r  1000r   1000r  1000r -     1000r -     -
  680. wxWind  soon  -    free   free    soon   free  free  free  -     .
  681. XVT     -     -    1950   6300ab  1950   6300a (c)   1950  .     .
  682. YACL    -     -    free   free    free   free  -     -     -     -
  683.  
  684. zApp(i) -     -    1495   1995    1995   4995d -     soon  -     .
  685. Zinc(e) 1499e 499e 499(f) 499(f)  499e   1499  -     499ej 499   .
  686. ------- -----------------------------------------------------------------------
  687. Vendor  ASCII DOS  Win(s) Win/NT  OS/2   X/    Open- Mac   PenOS Next-
  688.                                          Motif Look              Step
  689.  
  690.    (a)
  691.           This is the price for platforms other than x86-based computers.
  692.           For x86-based machines (under DOS/UNIX/Xenix -- where
  693.           applicable), the price is $1950.
  694.    (b)
  695.           For non-x86 platforms, check for availability -- Alpha and MIPS
  696.           supported.
  697.    (c)
  698.           Support for this product has been discontinued.
  699.    (d)
  700.           per platform, e.g. once for each of SGI, HPUX, etc.
  701.    (e)
  702.           Zinc requires a single-time purchase of the Zinc GUI Engine at
  703.           $499, plus the cost for each individual GUI (e.g. HP-UX Motif =
  704.           $499 + $1499). They also offer several packages, called
  705.           `bundles', which reduce the total price when you buy several
  706.           platforms. These are PC (Engine + DOS, Win16/32, OS/2, Mac)
  707.           $1999; Motif (Engine + all Motif platforms) $4999; Everywhere
  708.           (Engine + all platforms) $5999. Unicode is $4999.
  709.    (f)
  710.           Win16, Win32s, and Win32 are packaged together.
  711.    (g)
  712.           for a PC-based Unix, we're talking $5850.
  713.    (h)
  714.           This product uses the API that's native on this platform (e.g.,
  715.           support for Win32 under MS-Windows NT); so, in that sense, it
  716.           supports this platform.
  717.    (i)
  718.           You can purchase the entire bundle of libraries with zApp
  719.           Factory for one platform for $8995.
  720.    (j)
  721.           Pre-release.
  722.    (k)
  723.           This product is free for non-commercial use. If you make a
  724.           profit, you'll have to check with the vendor for pricing and
  725.           availability.
  726.    (l)
  727.           A single license (any platform) can be used for all supported
  728.           platforms.
  729.    (m)
  730.           Each version of Galaxy is able to use the Motif, OpenLook, OS/2
  731.           CUA, or Windows look-and-feels. On the Macintosh version the
  732.           Mac look-and-feel is available along with the others listed
  733.           above. Also: This is the C price. You're looking at $12.2K for
  734.           C++.
  735.    (n)
  736.           The cost drops for subsequent copies. Number 2 is $3500 and
  737.           number 3 is $2000.
  738.    (p)
  739.           The pricing here is a little complicated. It was explained to
  740.           me as follows. "We have both systems based pricing and floating
  741.           license pricing. The system based pricing runs from $3K (small
  742.           Sun or SCO) to $24K (big VAX or Sun 2000). The Unix Motif
  743.           floating license pricing is $6K for the first license and $3K
  744.           for each additional license."
  745.    (q)
  746.           Qt is actually sold in terms of Norwegian Krona, so US prices
  747.           may vary. A `Duo pack' for Win32 and UNIX/Motix for one
  748.           developer is NOK13950, or about US$2200.
  749.    (r)
  750.           Per programmer per platform per annum. Check other options
  751.           online.
  752.    (s)
  753.           That's Microsoft Windows (TM).
  754.    (t)
  755.           Annual subscription; Willows has three levels of subscription:
  756.           Basic for $250 p.a., Standard for $1000 p.a., and Premium for
  757.           $5000 p.a. Non-commercial users can download TWIN for free, or
  758.           buy a CD-ROM for $80.
  759.    (u)
  760.           Price does not include source code (the other MEWEL products
  761.           do).
  762.    (v)
  763.           Price includes all platforms supported, in one package.
  764.    (w)
  765.           Does work on PenOS systems, but does not _yet_ have Pen
  766.           extensions.
  767.    (x)
  768.           That's OpenLook.
  769.    (y)
  770.           That's NextStep.
  771.    (z)
  772.           DOS Text is sold separately from DOS graphics.
  773.           
  774.    What we're looking at is two groups of products. The lower-priced
  775.    group is usually C++, is a more recent introduction to the market, is
  776.    almost always a layered GUI, and concentrates on PC-based operating
  777.    systems. Products from the higher-priced group usually offer a more
  778.    stable platform with both greater breadth and depth than does the
  779.    previous group. In either case, the cost premium for UNIX support is
  780.    usually a factor of 3 -- that is, the GUI package for a UNIX platform
  781.    for any PIGUI product is usually 3 times as expensive as the version
  782.    for DOS/MS-Windows. Other `personal' operating systems (e.g. OS/2 and
  783.    the Mac) vary as to whether they follow the UNIX pricing or the PC
  784.    pricing. These are merely observations, your mileage may vary.
  785.    
  786.    _Table 2: FEATURES, OTHER NIFTIES, AND HIDDEN COSTS _
  787.  
  788. Vendor  Type(p) LAF(i) Eval(a) Source Royalty Distrib(z) Language Builder(g)
  789. ------- -----------------------------------------------------------------------
  790. Alleg   layered native (j)     free   no      .          C++      yes
  791. Amulet  layered native -       free   free    free       C++      soon
  792. CLIM    .       native (u)     .      .       .          Cmn Lisp (u)
  793. DCLAP   .       native free    free   .       .          C/C++    .
  794.  
  795. Eiffel  emulate native .       .      .       .          Eiffel   yes
  796. Galaxy  emulate native (d)     (e)    no      .          C/C++    yes
  797. Garnet  emulate custom free    .      .       .          Cmn Lisp yes
  798. Graph   emulate native free    free   .       .          C        no
  799.  
  800. ILOG    emulate native 30      no     no      -          C++      yes
  801. JAM     layered native .       yes    no      .          C        yes
  802. Java    layered native free    (l)    .       .          Java     (l)
  803. libWxm  API emu native 60      4995   .       .          .        .
  804.  
  805. MAINWin API emu native 30      no     (w)     (w)        C/C++    yes
  806. Menuet  .       native .       .      .       .          .        .
  807. MetaCrd emulate native free    no     no      free       MetaTalk yes
  808. MEWEL   API emu native .       (r)    no      no         C(s)     (t)
  809.  
  810. MS-MFC  .       native .       .      .       .          C++      yes
  811. NuTCRAC API emu native .       yes    .       yes        C/C++    .
  812. OberonF emulate native free    free   no      no         Oberon   yes
  813. OI      emulate native (x)     .      no      $8,000     C/C++(k) yes
  814.  
  815. OpenUI  layered native (q)     (e,b)  no      .          C(h)     yes
  816. Qt      emulate native .       .      no      no         C++      .
  817. ScrMach layered native 30      (e)    no      .          Ada      free
  818. StarVie layered native 30      6000   no      free       C++      yes
  819.  
  820. SUIT    .       native free    free   .       .          C        .
  821. Tcl/Tk  .       custom free    free   no      .          Tcl(c)   yes
  822. TWIN    API emu native free    free   no      no         C/C++    .
  823. V       emulate native free    free   no      no         C++      .
  824.  
  825. VisAge  layered native .       .      .       .          C++,Smal yes
  826. VisWork emulate native 30(j)   100000 yes     .          SmalTalk yes
  827. Wind/U  API emu native 30(j)   (f)    no      $19,500/yr C/C++    (t)
  828. WMMOTIF API emu native (j)     7500   no      no         C/C++    (t)
  829.  
  830. WNDX    layered native 30      (f)    no      .          C        yes
  831. wxWind  .       native free    free   no      .          C++      (n)
  832. XVT     layered native (j)     yes    no      .          C/C++    yes
  833. YACL    .       native free    free   no      no         C++      .
  834.  
  835. zApp    layered native 60(j)   free   no      .          C++      $499
  836. Zinc    layered native 60(j)   free   no      no         C++      yes
  837. ------- -----------------------------------------------------------------------
  838. Vendor  Type(p) LAF(i) Eval(a) Source Royalty Distrib(z) Language Builder(g)
  839.  
  840.    (a)
  841.           This is the number of days that the product can be evaluated.
  842.           Inside this time, the software can be returned for full money
  843.           back (minus, possibly, a cost for the evaluation -- check with
  844.           the vendor).
  845.    (b)
  846.           Open Software Associates is willing to make a deal for source
  847.           on a case-by-case basis.
  848.    (c)
  849.           The Tk part of Tcl/Tk can be used from C/C++ and Java also.
  850.           There is a shell for Ada, called TASH. There is a version of Tk
  851.           for Perl and Scheme (Unix et al).
  852.    (d)
  853.           Give them a P.O. They'll give it back if you don't like the
  854.           product.
  855.    (e)
  856.           Source code is held in an escrow account. You can't get to it
  857.           unless the company goes belly-up. This helps you protect your
  858.           investment -- if the company goes belly-up, you can do the
  859.           software maintenance yourself.
  860.    (f)
  861.           You can buy it, or you can get an escrow account.
  862.    (g)
  863.           This is a WYSIWYG GUI Builder.
  864.    (h)
  865.           Pascal, Cobol, and Ada are supported, too, but there wasn't
  866.           room.
  867.    (i)
  868.           Look And Feel - as claimed by the vendor. Native means on OS/2
  869.           it looks like a Presentation Manager app, on Macintosh it
  870.           _doesn't_ look like a MS-Windows app, etc. Custom means it has
  871.           made up a new one of its own.
  872.    (j)
  873.           There is a cost for evaluation.
  874.    (k)
  875.           They've taken a `wrappers' approach -- you can't subclass from
  876.           their C++ classes.
  877.    (l)
  878.           Source to the JDK and AWT is available, unknown (to me) what
  879.           licence conditions apply. 3rd party GUI builders abound in beta
  880.           release.
  881.    (n)
  882.           Uses SunOS's DevGuide.
  883.    (p)
  884.           Type means `emulated', `layered', or `API emulated'. This
  885.           describes how the product approaches support for various GUIs.
  886.    (q)
  887.           They charge (about $500) for a 90 day (money applicable to
  888.           purchase) evaluation period. Included is a 1-day training
  889.           course and phone and fax support.
  890.    (r)
  891.           ASCII, OS/2, and Unix versions come with source for free. The
  892.           DOS version is an additional $400 with source. The Motif
  893.           version can also be purchased.
  894.    (s)
  895.           You can program in the MS Windows API or use MFC, OWL, or
  896.           C++/Views.
  897.    (t)
  898.           Any C/C++-based (depending on the nature of the product) MS
  899.           Windows Application Builder will work.
  900.    (u)
  901.           Different LISP vendors support CLIM -- each provides a
  902.           different set of options and pricing structures.
  903.    (w)
  904.           MAINWin kind-of charges royalties and/or distribution... there
  905.           are two schemes, `per product' and `machine general'. When
  906.           there is more than one product installed on a machine, `machine
  907.           general' is best, otherwise probably `per product' would suit.
  908.    (x)
  909.           These guys have a `flexible evaluation structure'.
  910.    (z)
  911.           This represents a cost per platform or application (check with
  912.           the vendor) distributed. It's not technically a royalty since
  913.           the cost is not per unit of software shipped, but it is a cost
  914.           that one has to consider. These costs are usually limited to
  915.           commercial applications.
  916.           
  917.    _Table 3: HARDWARE VENDORs SUPPORTED _
  918.    
  919.    This table makes the most sense for operating systems that work on
  920.    various types of hardware (e.g., UNIX, Windows NT) rather than for OSs
  921.    dedicated to a certain type of hardware (e.g., DOS, Microsoft Windows,
  922.    Macintosh).
  923.  
  924.                               Win32   Sun     A   U
  925.          D O S   A Win Mac    +++++  +++++    X   l                 L
  926.         +++++++  S +++ +++ O      M  O S      P O t   A   M H     P i   N
  927.         G T 1 3  C 3 3 6 P S  x A I  p n S  I / V r V T S I P A S m n Q E
  928.         f x 6 2  I . 2 8 P /  8 X P  e O o  S U M i M & C P U I G i u N X
  929.         x t x x  I 1 s k C 2  6 P S  n S l  C x S x S T O S X X I d x X T
  930. =========================================================================
  931. Alleg   - - - -  - y c - - c  c . -  - c c  - c . - . . . - c c c - . . .
  932. Amulet  - - - -  - - - c c -  c . .  - c c  . c . . . . c c c c c . c . .
  933. CLIM    . . . .  . p . p . .  p . .  c c c  . . c . . . c c c c c . . . .
  934. DCLAP   . . . .  . c . c c .  c . .  . c c  . c . . . . . . . . . . c . .
  935.  
  936. Eiffel  - - - -  - y . p p -  c . .  c c c  . . c c c . c c c c c c c . c
  937. Galaxy  - - . .  - - y y c y  y c b  y y c  . c c y y . . c y y c . i . .
  938. Garnet  - - - -  - - - c c -  - - -  . c c  . c . . . . . . c c c . . . .
  939. Graph   - - - -  - c c p p -  c . .  - c c  . c . . . . c c c c c . c . .
  940.  
  941. ILOG    - - - -  - c c - - c  c b -  c c c  - c - - - - - - c c c - . . .
  942. JAM     - - - -  c c c c c -  c c c  c c c  . c c . c c c c c c c c . . .
  943. Java    - - - -  - p p . y c  y . .  . c y  . . . . . . . . y c c . y . .
  944. LibWxm  . . . .  . e . . . .  . . .  . c .  . . . . . . . c c c c . . . .
  945.  
  946. Menuet  . . . c  . c . . . c  . . .  . . .  . . . . . . . . . . . . . . .
  947. MAINWin - - - -  - e . - - -  c c c  c c c  p c - - - - c - c c y - - - -
  948. MetaCrd - - - -  - - - p p -  c - -  - c c  - c - c - c c - c c c - c - -
  949. MEWEL   c c . c  c e . - . c  p p p  - c c  - - - - - - c - c c - - . . .
  950.  
  951. MS-MFC  - - - -  - y y y b .  y y y  - - -  - - - - - - - - - - - - - - -
  952. NuTCRAC - - - -  . - - - - -  y c c  - - -  e e e e e e e e e e e e e . .
  953. OberonF - - - -  - . c c . -  c - -  - - -  - - - - - - - - - - - - - - -
  954. OpenInt . . . .  . c . c c c  c c .  c c c  . c c c c . c c c c c . i . .
  955.  
  956. OpenUI  - - - -  y y . y p y  c . .  - c .  c c c c c . c - c c - c . . .
  957. Qt      - - - -  - - - - - p  y . .  - c c  . y - - - . c . c c c . y . .
  958. ScrMach - c c c  c c . - - -  p p p  - c .  c . . c c . c - c c c - . . .
  959. StarVie - - - -  y y y y y y  y c c  c c c  - . . p p . p p p c p - p . .
  960.  
  961. SUIT    c . . .  . c . c c .  . . .  c c c  . c . . . . . . c c c . . . .
  962. Tcl/Tk  p - - -  * - c c c p  y y y  c c c  . c c y y . c c c c c . c c c
  963. TWIN    - - - -  - e e c c p  e e e  . c c  . c - - - c c c c c c . c c .
  964. V       - - - -  - y . - - p  c . .  - c c  . y . . . . c c y c c . y c .
  965.  
  966. VisAge  - - - -  - . . . . c  c c .  . . .  . . . . . . . . . c . . . . .
  967. VisWork . . . .  . c . c c c  c c .  c . .  . c . c . . . . c c . . . . .
  968. WNDX    c - c c  . c c c c c  c . .  . c c  . . . . . . . . c . c . c . .
  969. WMMOTIF - - - -  c e - - - -  e - -  - c c  c c - - - c c - c c - - c . .
  970.  
  971. Wind/U  . . . .  . e e . . .  e e e  . y c  . c c . c . . p c y y . . . .
  972. wxWind  - - . .  p c . c c p  b - -  c c .  c . . c . . c c c c y . c . .
  973. XVT     - - - -  y c c c c c  c c -  x c c  x c c x c c c c c c c - p . .
  974. YACL    - - - -  - y c - - c  c c c  - c c  . c . c . . c . c c c . c . .
  975.  
  976. zApp    - - - -  . c c - - c  c c .  - y c  . - - - - . y . y y c . . . .
  977. Zinc    y y y y  c y y y y y  y c .  - c c  . c c . p c c c c c c c i c c
  978. =========================================================================
  979.          D O S   A Win Mac O  Win32   Sun   I A O U V A S M H A S P L Q N
  980.         +++++++  S +++ +++ S  +++++  +++++  S X V l M T C I P I G m i N E
  981.         G T 1 3  C 3 3 6 P /  x A M  O S S  C P M t S & O P U X I i n X X
  982.         f x 6 2  I . 2 8 P 2  8 X I  p n o    / S r   T   S X     d u   T
  983.         x t x x  I 1 s k C    6 P P  e O l    U   i                 x
  984.                                   S  n S      x   x
  985.  
  986.    y
  987.           indicates that support has been verified by a user report.
  988.    c
  989.           indicates that the hardware/OS is claimed to work in vendor
  990.           literature.
  991.    e
  992.           indicates that this is the API emulated by the software.
  993.    b
  994.           indicates that the hardware/OS is in beta.
  995.    p
  996.           indicates that the hardware/OS is planned, but not yet in beta.
  997.    x
  998.           indicates that support for the hardware/OS is being PHASED OUT.
  999.    i
  1000.           indicates that I've heard that the vendor has ported their
  1001.           libraries, but they are only available in-house.
  1002.    .
  1003.           indicates that whether this combination works is unknown.
  1004.    -
  1005.           indicates that the vendor doesn't support that hardware.
  1006.    *
  1007.           points you at footnote info.
  1008.           
  1009.    Sun - Open:
  1010.           SunOS OpenLook
  1011.           
  1012.    Sun - SnOs:
  1013.           SunOS Motif
  1014.           
  1015.    Sun - Sol:
  1016.           Sun Solaris Motif
  1017.           
  1018.    AXP/Ux:
  1019.           AXP Digital Unix
  1020.           
  1021.    OVMS:
  1022.           DEC AXP OpenVMS
  1023.           
  1024.    AT&T:
  1025.           AT&T System 3000
  1026.           
  1027.    SCO:
  1028.           SCO Unix/Xenix
  1029.           
  1030.    SGI:
  1031.           Silicon Graphics Irix
  1032.           
  1033.    Pmid:
  1034.           Pyramid
  1035.           
  1036.    Footnotes, denoted by `*'
  1037.    
  1038.    Tcl/Tk
  1039.           There is ASCII support for Tcl/Tk, but it is limited. However,
  1040.           it is claimed that `most scripts will run' on it.
  1041.           
  1042.    _Table 4: SUPPORT FEATURES _
  1043.  
  1044.         With     800                     FTP     Read           Support
  1045. Vendor  sale    number? BBS? Compuserv? server? USENET? Other  contracts
  1046. ------- -----------------------------------------------------------------------
  1047. Alleg   .       yes     no   no         yes     yes     (w)    17%/yr (v)
  1048. Amulet  .       no      .    .          yes     .       (wb)   -
  1049. CLIM    (c)     (c)     (c)  (c)        (c)     (c)     (c)    (c)
  1050. DCLAP   none    no      no   no         yes     yes     .      -
  1051.  
  1052. Eiffel  .       no      no   no         yes     .       (w)    yes
  1053. Galaxy  none    yes     no   no         yes     yes     (wk)   $1,995/yr
  1054. Garnet  none    no      no   no         yes     yes     (wb)   no
  1055. Graph   none    no      no   no         yes     no      (w)    .
  1056.  
  1057. ILOG    30d     yes     no   yes        yes     yes     (wn)   15%/yr
  1058. JAM     .       ?       .    .          .       .       (w)    .
  1059. Java    .       .       .    .          yes     yes     (w)    .
  1060. libWxm  .       ?       .    .          .       .       .      .
  1061.  
  1062. MAINWin 90d     yes     .    .          yes     .       (wh)   $2000/yr(e)
  1063. Menuet  .       ?       .    .          .       .       .      .
  1064. MetaCrd forever no      no   no         yes     yes     (bhw)  (i)
  1065. MEWEL   yes     no      yes  yes        yes     yes     (w)    $250/yr
  1066.  
  1067. MS-MFC  .       no      .    .          .       no      (w)    .
  1068. NuTCRAC 1 year  yes     no   no         no      yes     (w)    $500-$750/yr
  1069. OberonF .       no      no   no         yes     yes     .      yes
  1070. OI      .       ?       yes  .          .       yes     (w)    $1200-$2400/yr
  1071.  
  1072. OpenUI  90d     yes     soon no         yes     yes     (wh)   12%-30%/yr
  1073. Qt      1 year  no      no   no         yes     .       (w)    30%/yr
  1074. ScrMach 1 year  yes     no   no         no      yes     (hk)   20%/yr
  1075. StarVie .       yes     yes  yes        no      yes     (w)    -
  1076.  
  1077. SUIT    .       no      .    .          yes     .       (wd)   -
  1078. Tcl/Tk  (t)     no      no   no         yes     yes     (w)    .
  1079. TWIN    .       no      no   no         yes     .       (w)    (p)
  1080. V       no      no      no   no         yes     no      (w)    .
  1081.  
  1082. VisAge  .       yes     .    .          .       .       (w)    .
  1083. VisWork (f)     yes     yes  yes        (g)     .       .      $675/yr
  1084. Wind/U  .       no      no   no         yes     yes     (wn)   12%-20%/yr
  1085. WMMOTIF 30d     yes     yes  yes        yes     yes     (w)    20/yr
  1086.  
  1087. WNDX    30d     no      yes  .          soon    no      (hnw)  (p)
  1088. wxWind  .       no      no   no         .       yes     (w)    -
  1089. XVT     6 mon.  no      yes  yes        yes     (r)     (wb)   (call)
  1090. YACL    -       no      no   no         .       yes     .      -
  1091.  
  1092. zApp    forever yes     yes  yes        yes     yes     (w)    $395-$1995(a)
  1093. Zinc    forever no      yes  yes        yes     yes     (w)    $499/yr(j)
  1094. ------- -----------------------------------------------------------------------
  1095. Vendor  With    800     BBS? Compuserv? FTP     Read    Other  Support
  1096.         sale    number?                 server? USENET?        contracts
  1097.  
  1098.    (a)
  1099.           $395 for Windows 3.1, $495 for Win32 (95 and NT) and OS/2,
  1100.           $1295 for Unix, or a complete package (all platforms) for
  1101.           $1995.
  1102.    (b)
  1103.           There's a mailing list.
  1104.    (c)
  1105.           CLIM is a multi-vendor product. See the individual vendor for
  1106.           information.
  1107.    (d)
  1108.           There is a SUIT mailing list. Send email to
  1109.           suit-users-request@uvacs.cs.Virginia.EDU for more information.
  1110.    (e)
  1111.           That's for one person. The second person is $700, and
  1112.           subsequent users are at $500.
  1113.    (f)
  1114.           Installation and temporary evaluation help plus one free
  1115.           general support question.
  1116.    (g)
  1117.           Gopher service.
  1118.    (h)
  1119.           Support (including distribution) by e-mail.
  1120.    (i)
  1121.           Phone support available on a `per incident' basis
  1122.    (j)
  1123.           This is for their higher-end support. Simple support still
  1124.           comes for free, but telephone and fax support stops after 60
  1125.           days.
  1126.    (k)
  1127.           They support an email mailing list.
  1128.    (n)
  1129.           Newsletter.
  1130.    (p)
  1131.           Cost of technical support per year == purchase price of
  1132.           product.
  1133.    (r)
  1134.           Informally.
  1135.    (t)
  1136.           There are commercial releases, which offer support. Check out
  1137.           the Commerical Uses of Tcl/Tk FAQ - Part 2. http://www.cpu.com
  1138.    (w)
  1139.           WWW support.
  1140.    (v)
  1141.           Intersolv has `QuickStart' license plus service packages for
  1142.           extra bux, which can accelerate your startup.
  1143.           
  1144.      _________________________________________________________________
  1145.    
  1146.     Ross McKay
  1147.     email:rosko@zeta.org.au
  1148.     $RCSfile: pigui1.txt,v $; $Revision: 3.1 $; $Date: 1997/03/02
  1149.     08:37:38 $
  1150.