March 93 - Affiliate News
The December WAMADA meeting was host to Jeff Alger, co-founder of SBM International. Jeff gave us a preview of VDL Companion, a CASE tool which implements the design methodology which he and co-author Neal Goldstein first described in their book Developing Object-Oriented Software for the Macintosh. Unable to find an existing CASE vendor willing to faithfully implement SBM, the authors chose to produce it themselves (with the assistance of other MacApp programmers).
SBM International's VDL Companion™
VDL Companion is the first of three products in the VDL series. The other two, VDL Professional and VDL Teamware, add additional features of SBM, as well as multi-user capabilities. SBM is based on the use of a visual design language (VDL) to, literally, draw up the scenarios which describe how an application will interact with the real world. (Here, "real world" means not just individual people, but also the manner in which those people work together to do their jobs.) Companion provides the basic drawing tools needed to create and manipulate VDL scenarios. The Professional version adds the SBM calibration techniques (synthesis, correlation and synchronization) which are used to meld your various scenarios into a cohesive whole. The Teamware version, as its name implies, adds multi-user support through the use of DAL and an ANSI SQL database.
On the business side, the VDL series is reasonably priced, with the entry-level Companion product priced around $75. I am reluctant to give more details, as by the time you read this MADACON will be over, and SBM International is sure to have finalized their shipment and pricing schedules. Jeff and Neal have hired an experienced executive to run the company and will be pushing hard to broaden the base of support for the SBM methodology outside the Macintosh world. While some might see SBM as a newcomer to the land of development methodologies, I think that SBM's emphasis on a graphical approach to building GUI-based programs means they have arrived at the right time, and with the right tools, to make a significant impact on the market.
The January meeting of WAMADA began with a review by Dave Buell of the MacWorld Exposition. Among the products he saw was a new development environment for the Mac named SmalltalkAgents from Quasar Knowledge Systems (QKS). In fact, he was so impressed he brought the company with him to the meeting (the fact that they are based in nearby Maryland helped a little, too). David Simmons, president of QKS, gave us an almost 3 hour tour of their remarkably complete programming system.
Like Component Workshop, SmalltalkAgents is an integrated development environment, including an editor, class/object browser, incremental compiler, garbage collector, debugger, and the classes used to provide an application framework. Unlike CWS, SmalltalkAgents has a richer interface (all text is styled, unlimited undo, nice use of color and icons) and a more complete implementation of Macintosh system software, including support for A/UX, WorldScript, QuickTime, AppleEvents, and (it was rumored) OCE. The environment includes, and uses, its own WDEFs and MDEFs (menus can be torn off, for example). You can define your own trap interfaces, and access external code resources. The class library (360 classes, 7,000 methods) includes support for the usual view/adornment type classes, along with more specialized tasks such as compression and DES encryption (where available). The environment also provides threads and supports pre-emptive multi-tasking.
Also unlike CWS, SmalltalkAgents is written in (surprise!) Smalltalk. As I am not familiar with Smalltalk, either on the Mac or otherwise, I can not compare the QKS implementation of the language with that of other products. On the other hand, for those who find this product solves their development problems, that may not be important. I certainly felt that learning Smalltalk would suddenly be a useful thing to do, knowing that I could then make use of SmalltalkAgents. Once your app is written, you can extract your code into a smaller, double-clickable application. To run that app, though, still requires that the user have the SmalltalkAgents kernel running on their machine. On the other hand, the kernel can support any number of such applications running at once. Once the user has the kernel running, additional applications should require less memory than, say, two MacApp programs running at the same time.
As for pricing, the entire development package costs $695 (with a limited-time introductory price of $495). The runtime Kernel costs just $195, and quantity discounts will be available. While they were not making any statements regarding specific platforms (the Mac version is their first, and won't ship 'till March), it is likely that they will port to both Unix and Windows in the future.
While the VDL tools and SmalltalkAgents provide entirely different services to the programmer, they both share one trait in common. Both were developed by programmers who had tried other systems, found them lacking, and developed their own solutions. QKS and SBM have backgrounds in consulting and contract programming. This exposure to a wide variety of real world problems has given them the ability to provide tools that are refinements of their past experiences and ideas. I believe this background greatly improves the chances of success for these two companies, and I hope MADA members will give their products a close look in the coming months.
While we can't promise that every month will have killer demos of leading edge software, the past year at WAMADA has provided a lot of chances to see the latest in object software tools. If you're in the D.C. area, and interested in object oriented programming, give us a visit. WAMADA meets every third Wednesday at McDonnell Douglas in Tyson's Corner, Virginia, beginning around 7:15 p.m. [Notice: The February meeting will be held a week later, to accommodate MADACON]. For a map, send a message to JEFFRIES.L on AppleLink, or call Leslie at (301) 340-5126 during business hours (EST). -
We had another large turnout for our January meeting (which was held in February). Component Software graciously extended the use of their facility and even helped us forage for chairs.
Jeff Alger delivered two speeches back-to-back: the first explored the directions that OOP has taken and will take, and the second speech described Solution-Based Modeling.
OOP has been around for a while, Jeff observed, but hasn't had the impact its proponents expected because of a lingering perception that it fails to solve real-world problems. This perception helps create a resistance to OOP at high-levels. Managers have watched previous approaches, like structured programming, fall short of their promises, and they refuse to pay the costs of switching to yet another new approach that makes the same old promises.
The point Jeff makes is that the resistance to OOP is not unreasonable. OOP proponents promise instant productivity. In reality, it takes months to learn OOP techniques and perhaps two years to groom a skilled designer. Further, OOP proponents promise great reusability of code and focus their efforts on the code. But if it's true that 75% of a project is spent in analysis and design, then it's more important to focus on reusability of designs. Jeff feels we have much farther to go before we can achieve the kind of reusability and productivity that have been promised.
Nonetheless, OOP is necessary to design software for the coming generation of operating systems. HP and Sun are working on an object-oriented OS called DOE (for Distributed Objects Everywhere), Apple has PINK and the new Dylan™ language, and Microsoft has Windows/NT as well as other OOP systems on the drawing board. Jeff believes the resulting systems will look like an "object soup", his term for the collection of objects, persistent and otherwise, that will comprise the documents and databases and environments of the future.
These new systems will result in the "death of the application" as we know it. Instead of documents being centered around an application, we will see Object-Bases combining the application and the data. These Object-Bases will replace databases as the future corporate assets.
Having barely absorbed the history and future of objects, we were thrust into Jeff's second speech, on Solution-Based Modeling, which is his (and Neal Goldstein's) methodology for analysis and design.
SBM distinguishes itself from other design methodologies with its user-centered approach. For once, however, we are the users. It's nice to know that for all the effort we take to pamper our users, people like Jeff and Neal have gone out of their way to pamper us with a design methodology that's tailored to the way we design software. Jeff calls this "ergonomics for software engineers." It's based on a scientific understanding of the creative process.
According to current research into cognition, people approach problems from the center and work their way outward. Most methodologies force you to work top-down or bottom-up. Even though we arrive at our design from the center (we have to, it's the way our minds work) we have to force-fit our ideas into the methodology. SBM lets us work naturally from the middle.
Once we complete our design, additional research shows that our audience retains only 10-20% of our requirements specifications after we've written them. I'm sure that surprises no one. I've yet to see a requirements spec that reads like a bestseller, so even 10% sounds high. This lack of communication means that marketing people don't know what they're getting until it arrives. And that means more work for us rewriting the software.
Jeff and Neal attack these cryptic specs with a graphic design language. But instead of cobbling up a language on the back of an envelope, with a few arrows and boxes, they took the novel approach of asking a graphics design firm to build the graphic elements of the language. The result is a 3D syntax for analysis and design called the Visual Design Language. The graphic elements can still be drawn on the back of an envelope, but the shape of the elements connote their syntax, greatly aiding comprehension. For example, the element for a class is an open box and the element for an instance is a closed box contained in the class. The graphic elements suggest the logical relationship even before you draw the arrows.
Although the language was built for object-oriented analysis and design, it's compatible with existing (non-OOP) systems. It's been used by career COBOL programmers for designing procedural programs. Jeff even hinted that a major consulting firm is considering adopting it as the standard method for analyzing and presenting business models.
Operators Are Standing By
I know these notes are beginning to sound like a sales pitch for SBM. In fact, I don't know how well it works in practice. Jeff insists that when he and Neal have introduced SBM in corporations, they've "had very good success" but he also admits that using a full-blown set of design scenarios on a small project would be overkill. On the other hand, a few skillfully chosen drawings can clarify the major concepts.
If you'd like to try out SBM yourself, you can get Jeff and Neal's book right now (Developing Object-Oriented Software for the Macintosh, Neal Goldstein and Jeff Alger, Addison Wesley, 1992) and perhaps by press time you'll be able to buy the CASE tool (VDL Companion, $74.95), which is in its third round of beta testing as I write this. If you do use the book or VDL Companion, be sure to let us know your experiences. -
This note is to let you know what took place at the first meeting of TriMADA, the new local chapter of MADA in the New York, New Jersey and Connecticut area. We met at NovaWorks which is located in downtown Manhattan at 630 3rd Ave between 40th and 41st street on the 9th floor. We would like to thank Bob McDowell of NovaWorks for getting us the location to meet. Thanks Bob!
There were about 12 in attendance and I imagine that there would have been many more if we had not been competing with Comdex. We have actually been told by MADA that there are many active or inactive members of MADA in the tri-state area. We will be getting these addresses and mailing out invitations to the next meeting. This meeting will be taking place Monday, January 18, 1993 same place, 7 pm.
The beginning of the meeting was pretty much your first meeting kind of stuff which in no way means that it was boring for one second. Adam Wildavsky chaired the meeting and kept us entertained with his clever puns and quips. Adam also volunteered to keep an electronic mailing list for TriMADA.
The first thing we did was introduce ourselves. We had people attend from the following companies: FieldStone, FutureSoft System Designs, HBO, H.H.Wilson Co., KPMG, NovaWorks, PaperFree Corporation, and RPI.
The next thing we did was elect a temporary president who will serve for at least three months. Stephanie Keller was elected to take the helm for this position of which she was more than willing to do considering all the perks.
The next item was to vote on whether to become a fully recognized local chapter of MADA which meant adopting their bylaws etc. We tabled the topic until the actual benefits of being an official local chapter of MADA can be determined.
We then talked about who we could get to come and talk to us. Craig Morrissey and I also volunteered to personally scout out several possibilities.
The most interesting part of the meeting was when Joel Benisch from Paperfree Corporation demonstrated their dual platform application called LightPaper™. It is an insurance form imaging system for the Macintosh and Windows. They built the application on top of their own proprietary cross platform library. Basically, the LightPaper user interface presents complex forms (i.e. Insurance forms) on the Macintosh screen that look very similar to the paper form which it replaces. The idea of LightPaper is that there is almost no training necessary because the user already knows how to fill out the paper form. However, LightPaper forms are intelligent because each field in the form is actually an object. Each field object knows that it may be dependent on other fields, knows what kind of data it is, how to receive data entry and how to display itself on the form. The same data shown in two or more different places (i.e. Customer Name or Address) is actually one field object so that adding or changing a Customer Name will be reflected in all places the Customer Name is displayed. Joel demoed quite a bit more of LightPaper and there were many other innovative features shown that go beyond the scope of this short description. All in all LightPaper is a good example of how OOP in general, smart class design and some ingenuity can deliver slick user-centered applications.
Unfortunately, the meeting date of Monday, January 18th was a poor choice. That day is the celebrated day of Martin Luther King's Birthday. With all the scheduling software, PIM's and paper calendars possessed by all of the attendees of the first TriMADA meeting, we failed to note that we were scheduling this meeting on a National Holiday until it was too late.
That oversight resulted in a low attendance. However, despite all of that, the meeting was quite lively and enthusiastic. Adam Wildavsky, co-founder of TriMADA, opened the meeting introducing the MacApp-guru and veteran Jesse Feiler who was our speaker.
We began discussing some SIG business of which one of the issues was about picking the meeting dates (surprisingly). It was decided that we will continue to meet on the 3rd Monday of every month EXCEPT WHEN IT FALLS on a holiday.
Following SIG business we began a lively and interesting Q & A session that covered a wide range of topics from migrating from Pascal/MacApp 2.0 -> C++/MacApp 3.0 to the pending impact of Bedrock, Pink and Component Software. The Q & A was lively because it had a conversational tone where we could freely go off on tangents and return back to the question at hand. Much of the conversation was like the more interesting threads on MacApp3Tech$. Most Q & A's are more rigid and linear and less interesting. The conversational tone was probably due to the wide range of backgrounds present and the more personal feeling there is in smaller gatherings.
After the Q & A Jesse Feiler gave a witty and insightful talk and demonstration about creating windows for data entry and the various "undocumented" gotcha's dealing with text editing fields in dialog views. He shared many of the things you only know when you have been in the MacApp trenches doing this stuff for a while as he definitely has. Jesse was also constantly adding witty, tongue 'n cheek, and satirical comments in his presentation. To those that know him or have heard him speak know this is one of his endearing trademarks.
The meeting was then adjourned by Adam Wildavsky but it took another 30 minutes or so before everyone actually left because much of the discussion carried on impromptu.
Our next meeting will be held on 2/22/93 (NOT the 3rd Monday due to President's Day, «we learn quickly») and we are at this time planning on a well known MacApp luminary (that may be an oxymoron) but that has not yet been finalized. Please stay tuned for more information.