September 93 - WAMADA Notes
WAMADA Notes
John MacVeigh
The June and July WAMADA meetings both took place in WAMADA's new home: the
Advanced Laser Graphics office in Georgetown. Their training room includes almost a
dozen Centris 650s with large monitors, allowing everyone to view presentations via
Timbuktu over EtherNet. The primary problems encountered so far are parking (in
Georgetown even "free" costs $6.50) and our unintentional stress testing of Timbuktu,
which hasn't always been up to the job. There has been some interest in using the ALG
training room for actual training or tutorial classes on other evenings of the month.
That will probably become more likely after the end of summer. Thanks to the efforts
of Leslie Jeffries and Mark Gerl we continue to have excellent success in getting
speakers for our meetings. The past two speakers covered both ends of the range of
object products that are now on the market: NeoLogic's persistent object components,
and Visix's Galaxy application environment.
Over 25 people gathered in June to hear Bob Krause of NeoLogic discuss his company's
products: NeoPersist, NeoAccess, and NeoShare. NeoAccess is a collection of components
which provide the developer with an object oriented database. It provides multiple
keys per class along with an abstract selection class. NeoAccess also returns actual
C++ objects, which simplifies coding and reduces redundant storage requirements.
Objects are moved into memory on demand and can be purged when space is tight.
NeoPersist is a "light" version of NeoAccess. It lacks the secondary keys, source code,
and runtime fees of NeoAccess. It also limits the size and number of classes and objects
you can use. (See the July/August 1993 copy of FrameWorks for a review of
NeoPersist). NeoShare is billed as a "collaborative computing component". It includes
NeoAccess, and adds support for sharing, locking, and multi-user access control.
NeoShare also adds support for Apple Events, and the OSL. Either we didn't discuss this
feature (unlikely, Bob handled lots of questions) or I was so entranced with the
presentation that I didn't take any notes on this, so that's all I can say about Apple
Event support. (Sounds like a great article opportunity for someone, though!)
NeoAccess and NeoShare are cross platform components. While the Mac and Windows
are the currently supported platforms, Bob says that all he needs to port to another
system are a file system, a memory manager, and a C++ compiler. The components
have been designed to make them easy to use within application frameworks. Bob cited
MacApp, TCL and Borland's ObjectWindows frameworks as the best candidates to work
with. By the way, Bob's presentation was part of a MADA "road show", put together by
MADA, which scheduled a number of visits to MADA and other Mac developer groups
across the country. I encourage other component developers to consider MADA as part
of their promotional plans. Just be prepared to answer a lot of questions.
Visix Galaxy
The July meeting suffered a bit from standard summer absenteeism, but that didn't
make the product discussed any less interesting. Visix is a Reston, Virginia based
software developer. Their primary market is the same sort of in-house development
market that XVT, Neuron Data, NextStep, and, one day, Taligent are trying to target.
They are also interested in selling to independent software developers (ISVs). Over the
past five years they have worked towards the development of Galaxy.
Galaxy is a multi-platform application development environment. The supported
operating systems are currently Unix (represented by Sun, HP9000, RS/6000, SGI,
and DEC Ultrix), the Mac, Windows 3.1, OS/2, NT, and DEC OpenVMS. Galaxy is not
"integrated" as, say, Component Workshop is, but it does come with a full set of tools,
themselves written with Galaxy. What the developer buys is a class library, a
"resource" builder (similar to Mac resources, many of the Galaxy engineers have a
Mac background), an image editor, and a Help authoring tool. A programmable editor
(based on an update of Preditor) and a browser are in the works. These tools are part
of a "software backplane" that allows other third party tools to be added to the basic
tool kit. The developer supplies a Galaxy-supported compiler and linker (currently
MPW on the Mac).
Their library is intended to provide a "highest common denominator" for each
supported OS. By this it is meant that if an OS does not have a certain feature, Galaxy
will provide its own. Thus on the Mac the standard windows and controls are used, but
the text editing class is Galaxy's own, since it is a superset of the toolbox's TextEdit
code. Galaxy's imaging model is Display PostScript. They support the RTF document
format and Unicode character encoding. Full international support is dependent on the
platform you're on. The class library appears smaller than MacApp, but they have a
number of abstractions for networking and cross platform communication that you
won't find in MacApp. Their "Distributed Application Services" allows you to build
distributed applications, with peer-to-peer exchange of data between applications on
different machines.
Galaxy's equivalent of ViewEdit was demonstrated at the meeting. The most impressive
part of the program was its
interface for what Visix calls "springs and struts". This is their model for positioning
subviews in relation to one another. A strut keeps a fixed distance between two edges. A
spring allows a view to resize or reposition itself in relation to the size or position of
another view. Most combinations of relative and absolute positioning and justification
has been provided, including resizing based on text strings (nice for
internationalization). Galaxy also allows you to see what an application would look like
under another platform's GUI–an application can be started up in Motif or Windows
mode on your Mac. (Due to a "request" by Apple's legal department, you can not see the
Mac interface running under other operating systems).
There are no runtime fees associated with Galaxy. Their product pricing is fairly
simple. For Unix: $9600 per developer per platform, for Windows and Mac: $7800
per developer per platform. So if you have 5 Suns for development, and plan to sell a
Mac and Windows version as well as a Unix version, you would make 7 purchases.
While this is rather steep for some people, Galaxy is shipping and is in use. One of
Visix's success stories is Morgan Guaranty Trust, which decided on Unix servers and
Mac desktop clients. They have chosen Galaxy as their development environment for
both platforms. It will be interesting to see how Taligent, which intends to target
exactly
this sort of customer, can talk a company into replacing everything but the hardware
with a new OS. A product like Galaxy, which works with, rather than replaces,
existing OS standards makes a lot of corporate buyers more comfortable with their
decision to switch environments.
If you're in the D.C. area and interested in object oriented programming, give WAMADA
a visit. We meet the third Wednesday of every month, beginning around 7:15 p.m. For
information on the next meeting, and directions, send a message to
JEFFRIES.L@applelink.apple.com, or call Leslie at (301) 340-5126 during business
hours (EDT). If you leave her an e-mail address, she can place you on her mail list for
WAMADA meeting announcements.