September 93 - WAMADA Notes
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.
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.