TweetFollow Us on Twitter

March 93 - MADACON '93 Report

MADACON '93 Report

Mary Elaine Califf

The primary theme of this year's conference was the future. Although there were exceptions, much of what we saw were forthcoming technologies or newly available technologies that haven't proven themselves yet. In fact, one of the two major running jokes of the week was "This is not a product announcement." A number of people came to the conference looking for a new framework and/or development system. Most left not fully satisfied, though many are planning to try Component Workshop™.


The conference opened with Kurt Schmucker's on OODALs-Object-Oriented Dynamic Authoring Languages. He argued that some the content-based applications desired today require authoring tools with the power and sopistication of OODLs. Then the ATG group demonstrated SK8, one of their current projects (this was not a product announcement). It uses SK8Script which is "simpler than HyperTalk" with "All the power of MCL or Dylan in a scripting language." SK8's graphics are also impressive, using some of the techniques used in 3D graphics to improve the performance of its 2D graphics.

The headliner of the day was the Bedrock team who said more than they've ever said before and less than most people would have liked. It was made clear that we haven't seen a complete class hierarchy because the class hierarchy is still changing. As expected, this also was not a product announcement. Lonnie Millett presented Bedrock as three components, the application framework, support classes, and the resources. The application framework will be much like MacApp 3 with a number of familiar kinds of classes. It will have a view hierarchy and a command hierarchy similar to MacApp's. The Bedrock support classes come in 6 types: memory management (its own pointer-based allocation), exception handling, files (similar to TFile), string classes (ANSI, Pascal, and unicode), data structures (lists, etc.), and international facilities (including validators-date, time, numerical-and formatters-date, time, currency).

The team went on to add some detail on four pieces of Bedrock. The first of these was the data structures. Bedrock will use a subset of the Booch Components. These collection classes are template-based, use mixin inheritance, and throw exceptions. The classes with Bedrock will include collections, sorted collections, sets, queues, stacks, maps, and a binary tree. Tools provided will include sequential and binary searching and a quicksort.

The second item to be presented was exception handling, which will be ARM compliant, will handle automatic cleanup of stack objects, and will allow exceptions to be thrown from constructors. The exception types are classes, organized into a type hierarchy. Bedrock will come with 60 defined exception types. The current exception-handling scheme uses macros to duplicate the ARM functionality and once native compiler support for exception handling is available, very few changes will have to be made to take advantage of it.

The third subject was the memory allocation system which is designed to handle the small average block sizes and large request stream of the typical object-oriented program. The implementation approach chosen is a best fit algorithm with the free-list stored in a binary tree and some modification for very small blocks. The team presented a performance analysis which showed the Macintosh memory manager falling flat on its face and their algorithm doing fairly well in both space utilization and speed.

Finally, the team talked about the Bedrock resources. Bedrock resources will be defined in a platform independent resource language similar to Rez which will support inheritance and recursive resource definition. Available resource types will include views, menus, string lists, bitmaps, and icons. User-defined types will be possible. The resource compiler will use a full ANSI C preprocessor and will parse C++ header files. A resource editor is under development.

The Bedrock demo took a while, as Bernadette Jolicoeur attempted to copy source files from a Macintosh onto an MS-DOS floppy. However, once the files were transferred and compiles done on a Macintosh and a machine running Windows, the application did come up with the appropriate "look and feel" for each environment.

Bedrock was followed by an introduction to BETA, an object-oriented language which has recently entered the commercial market. See Steve Mann's article in this issue for more.

The morning ended with Doug Sleeter of Quorum Software Systems. He described Quorum Latitude which provides "virtual porting" of Macintosh applications to Unix systems by recompiling the Macintosh sources on the Unix workstation and linking with the Quorum Compatibility Engine, a portable implementation of the Macintosh API supporting System 6.0.7 and some parts of system 7.

The most heavily attended session of the afternoon was that on support for developers moving from MacApp to Bedrock. Attendees saw prototypes of two conversion tools, one for resources and one for code. The code conversion tool makes no changes, but produces a file of annotations which provide commands to highlight spots where change is needed and explain the needed changes. The primary purpose of the session, however, seems to have been to elicit feedback from the audience, and in that it was certainly successful. One complaint came from those still maintaining MacApp 2-based applications (well over half the audience) because support for that transition is not planned. The most popular statement of the session was the announcement from the back of the room that MacApp 3.0.2 will happen.

Kurt Schmucker's session on Prograph and Serius and Jeff Alger and Neal Goldstein's introduction to SBM suffered during early part of the afternoon from being up against Bedrock, but they gathered a larger audience as the Bedrock session ended.

The afternoon ended with concurrent sessions on Serius, Ad Lib, and ObjectModeler™. Nick Nallick is responding to user requests; the next version of Ad Lib will include a hierarchical view like that in IcePick™.

An Apple reception, complete with Bedrock T-shirts, was followed by a MADA town meeting giving the attending membership an opportunity to express concerns directly to both old and new board members.

Tuesday-The Other Contenders

If Monday focused on Bedrock, Tuesday was devoted to its rivals. After a brief presentation on Newton technology and development tools (this was not a product announcement) including a brief demo, the competitors moved in. The first was Component Workshop which was impressive despite technical problems setting up the demo. The most impressive feature of Component Workshop is clearly its environment, compiler, and linker. Developers drooled over not having to maintain header files and build times of a few seconds for minor changes. Automatic garbage collection was popular, but some expressed concerns about performance. The major concerns were over the Extruder™ which is not yet final and the fact that CW does not use standard C++. Be that as it may, Bob Hablutzel's Component Workshop tutorial that afternoon was popular, and many developers left the conference planning to try out the system.

The other major contender was Gary Odom's OOPC. OOPC is a dynamic object system which can be used with any standard C compiler. Both OOPC and Component Workshop are going cross-platform but aren't there yet.

ParcPlace demonstrated VisualWorks, a Smalltalk-based cross-platform application development environment for GUI-based client-server applications. It looked like a good environment. Unfortunately, the Macintosh version didn't look enough like a Macintosh application to impress the audience.

Another contender suffering from its lack of adherence to the human interface guidelines was Camelot. Camelot was technically impressive, but also suffered from a large memory footprint.

The final contender of the day was QKS's SmalltalkAgents™, a completely new Smalltalk implementation with a true Macintosh interface and toolbox access. The implementation supports System 7 features and WorldScript. For those who can afford its large footprint (1.5 to 2.5 megabytes), SmalltalkAgents looks like a promising development environment.

The evening ended with the first session of Frameworks Facts, an opportunity for the audience to question representatives of various non-C based frameworks.

Wednesday-IcePick, NeoAccess, and Windows

Wednesday morning brought a long-awaited event as Sierra Software announced its developer tools. These included p2c, basically a full Object Pascal compiler that generates C++ code instead of machine code, and a database object toolkit, a domain-specific class library for MacApp 3.0 (and potentially other frameworks) which would provide an interface to relational databases. However, the final product overshadowed the others as IcePick 3.0 was demonstrated. By the way, this was a product announcement. Besides having all of the old IcePick features and working with 3.0 views, IcePick 3.0 has a behavior window for prototyping, handles strings and other empedded resources, and is projector aware. It also, as audience plant Kurt Schmucker demonstrated, has Dinker support for user views.

Bob Krause introduced NeoAccess, a set of C++ classes that provide object persistence, and previewed NeoShare, a forthcoming offering which will support multiple users. An interesting note on NeoAccess: full source code is provided.

At this point, Steve Sinofsky of Microsoft braved the crowd to present Microsoft Foundation Classes 2.0. His reception was fairly favorable, but his response to the cross-platform question-MFC will go wherever the Windows API goes-was unpopular.

The next scheduled presenter was James Plamondon, but his technical difficulties led to a rather appropriate schedule change. Steve Wilson gave the first of his talks scheduled for Thursday and discussed porting a MacApp application to Windows. He showed us how to make Borland's OWL look as much like MacApp as possible.

The afternoon offerings were varied, with tutorials on C++, developing database applications using object-oriented frameworks, Lisp/CLOS, and developing small frameworks including problem-domain frameworks. Dave Wilson demonstrated each of Emergent Behavior's offerings and amused his audience by declaring, "My application framework is smaller than your application framework." Of course, he also demonstrated compile time of under a minute using MPW.

Wednesday evening brought the second round of Frameworks Facts. The frameworks represented were OOPC, Component Workshop, MFC, and MacApp. Unfortunately, MacApp was represented by Bob Hablutzel (later joined by Dan Strnad of DTS) because efforts to get an Apple representative ahead of time had been unsuccessful. The framework most were interested in was, of course, unrepresented.


Thursday morning opened with Adele Goldberg, President of ParcPlace Systems, discussing reuse and visual programming. She discussed some of the difficulties involved in code reuse and the difference between inheritance and delegation. Her post-presentation hallway Q and A was very popular. We almost had to herd the crowd out of the conference center.

She was followed by an introduction to Camelot, which would probably have been more effective before the exposure to it earlier in Frameworks Facts and an afternoon session on Tuesday.

Dirk Bartels of BKS Software introduced their cross-platform OODBMS POET.

The morning ended with James Plamondon's session originally scheduled for the previous day. He introduced Object Linking and Embedding 2.0 and demonstrated a prerelease version running on the Macintosh. OLE allows objects from other applications to be placed in a document using either linking (which means that it will be updated if the original changes) or embedding. The objects can be edited in place (in the case of embedded objects) or by bringing up the original document. The editing is done by either the original application or another application capable of handling that type. The new Windows version will be available soon, but the Macintosh version is still in the future.

There were two more sessions after lunch before everyone headed out to SeaWorld. First, Steve Wilson discussed writing application generators and demonstrated two provided by Emergent Behavior with their frameworks. The concept proved popular, and someone in the audience suggested that an application generator would be an appropriate replacement for Skeleton.

Lee Harris of Pillar corporation then discussed monagement of a large OOP project, using Pillar corporation's 400,000 line financial planning application as an example.

Sea++World was little disappointing since the rain we avoided Monday through Wednesday showed up on Thursday. However, the banquet itself was enjoyable, and the keynote address actually had some substance. Now don't get me wrong, Taligent still isn't talking. However, Mike Potel did give us a few facts that we hadn't heard before. First, he emphasized small frameworks and described the components of system as frameworks. Second, Pink is being developed in C++, and that will be the initial development language though others will become available. Third, Taligent will be providing "good" developer tools. Potel went on to discuss the better features of various development environments, but he made no promises regarding the specific features of the tools Taligent will provide. For now, the advice is to learn C++ and to gain experience using frameworks and then to jump on the Taligent bandwagon when the time seems right for you and your business. One encouraging feature of Mike Potel's talk was its firm grounding in the economics of software development. Following the banquet, Taligent held a reception back at the hotel at which Taligent employees were available for questioning.

Reactions to the evening were mixed. Many people felt that they had heard some new things and obviously felt more confident that Taligent is a real part of their future and is interested in them as developers. On the other hand, some felt that they had heard nothing more than they had heard before.

Friday-Crystal Balls

If the theme of the week was the future, Friday's sessions made an appropriate end. The morning began with Steve Goldband's discussion of Apple's frameworks futures, emphasizing a move away from monolithic applications to smaller applications using objects to interact with each other both within a computer and over a network.

The LISP/CLOS overview that followed was not strictly futuristic, but was encouraging developers to move in new directions.

An introduction to Dylan followed. As many of you know, Dylan is Apple's attempted answer to the drawbacks of OODLs. For an introduction to the language, see Mikel Evins' article in this issue.

G. Gordon Apple continued the morning's focus, presenting a Direct Broadcast Satellite system currently under development which will make extensive use of object-oriented programming. For a description of the system, see his article in this issue.

The final session featured Jeff Alger's thoughts on the current state of OOP and its future. As always, his ideas are thought-provoking. They will be presented in full in the May issue of FrameWorks.

So, what was MADACON '93? It was primarily an opportunity to examine new application frameworks and other developer tools and a chance to glimpse the future. There were no clear winners (other than MacApp 3.0.2), but we saw several promising candidates.


Community Search:
MacTech Search:

Software Updates via MacUpdate

Warhammer 40,000: Freeblade guide - How...
Warhammer 40,000: Freebladejust launched in the App Store and it lets you live your childhood dream of blowing up and slashing a bunch of enemies as a massive, hulking Space Marine. It's not easy being a Space Marine though - and particularly if... | Read more »
Gopogo guide - How to bounce like the be...
Nitrome just launched a new game and, as to be expected, it's a lot of addictive fun. It's called Gopogo, and it challenges you to hoparound a bunch of platforms, avoiding enemies and picking up shiny stuff. It's not easy though - just like the... | Read more »
Sago Mini Superhero (Education)
Sago Mini Superhero 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: KAPOW! Jack the rabbit bursts into the sky as the Sago Mini Superhero! Fly with Jack as he lifts impossible weights,... | Read more »
Star Wars: Galaxy of Heroes guide - How...
Star Wars: Galaxy of Heroes is all about collecting heroes, powering them up, and using them together to defeat your foes. It's pretty straightforward stuff for the most part, but increasing your characters' stats can be a bit confusing because it... | Read more »
The best cooking apps (just in time for...
It’s that time of year again, where you’ll be gathering around the dinner table with your family and a huge feast in front of you. [Read more] | Read more »
Square Rave guide - How to grab those te...
Square Rave is an awesome little music-oriented puzzle game that smacks of games like Lumines, but with its own unique sense of gameplay. To help wrap your head around the game, keep the following tips and tricks in mind. [Read more] | Read more »
Snowboard Party 2 (Games)
Snowboard Party 2 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Crowned the best snowboarding game available on the market, Snowboard Party is back to fulfill all your adrenaline needs in... | Read more »
One Button Travel (Games)
One Button Travel 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: “To cut a long story short, If you like interactive fiction, just go buy this one.” - “Oozes the polish that... | Read more »
Light Apprentice Volume 1 (Games)
Light Apprentice Volume 1 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: Light Apprentice Volume 1 includes Chapters 1 to 4, all gathered in a new exclusive game. When life in the world of... | Read more »
The best games like Animal Crossing on m...
Animal Crossing amiibo Festival is out right now for the Wii U, reminding us of just how much fun that world can be. Or at least to go back and check in on our villages once in a while. [Read more] | Read more »

Price Scanner via

iMobie Releases its Ace iOS Cleaner PhoneClea...
iMobie Inc. has announced the new update of PhoneClean 4, its iOS cleaner designed to reclaim wasted space on iPhone/iPad for use and keep the device fast. Alongside, iMobie hosts a 3-day giveaway of... Read more
U.S. Cellular Offering iPad Pro
U.S. Cellular today announced that it is offering the new iPad Pro with Wi-Fi + Cellular, featuring a 12.9-inch Retina display with 5.6 million pixels — the most ever in an iOS device. U.S. Cellular... Read more
Newegg Canada Unveils Black Friday Deals for...
Newegg Canada is offering more than 1,000 deep discounts to Canadian customers this Black Friday, available now through Cyber Monday, with new deals posted throughout the week. “Black Friday is... Read more
Black Friday: Macs on sale for up to $500 off...
BLACK FRIDAY B&H Photo has all new Macs on sale for up to $500 off MSRP as part of their early Black Friday sale including free shipping plus NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $... Read more
Black Friday: Up to $125 off iPad Air 2s at B...
BLACK FRIDAY Walmart has the 16GB iPad Air 2 WiFi on sale for $100 off MSRP on their online store. Choose free shipping or free local store pickup (if available): - 16GB iPad Air 2 WiFi: $399, save $... Read more
Black Friday: iPad mini 4s on sale for $100 o...
BLACK FRIDAY Best Buy has iPad mini 4s on sale for $100 off MSRP on their online store for Black Friday. Choose free shipping or free local store pickup (if available): - 16GB iPad mini 4 WiFi: $299.... Read more
Black Friday: Apple Watch for up to $100 off...
BLACK FRIDAY Apple resellers are offering discounts and bundles with the purchase of an Apple Watch this Black Friday. Below is a roundup of the deals being offered by authorized Watch resellers:... Read more
Black Friday: Target offers 6th Generation iP...
BLACK FRIDAY Save $40 to $60 on a 6th generation iPod touch at Target with free shipping or free local store pickup (if available). Sale prices for online orders only, in-store prices may vary: -... Read more
Black Friday: Walmart and Target offer iPod n...
BLACK FRIDAY Walmart has the 16GB iPod nano (various colors) on sale for $119.20 on their online store for a limited time. That’s $30 off MSRP. Choose free shipping or free local store pickup (if... Read more
Black Friday deals on the Apple Watch and App...
Apple resellers are offering discounts and bundles with the purchase of an Apple Watch this Black Friday weekend. Below is a roundup of the deals being offered by authorized Watch resellers: Apple... Read more

Jobs Board

Storefront Operations Coordinator, *Apple* -...
# Storefront Operations Coordinator, Apple -Latin America Job Number: 43587750 Miami, Florida, United States Posted: Oct. 16, 2015 Weekly Hours: 40.00 **Job Summary** The Read more
*Apple* Enterprise / Government Professional...
# Apple Enterprise / Gove ment Professional Services Engineer Job Number: 42292976 Reston, Virginia, United States Posted: Aug. 18, 2015 Weekly Hours: 40.00 **Job Read more
iOS Wallet & *Apple* Pay Engineer - App...
# iOS Wallet & Apple Pay Engineer Job Number: 40586801 Santa Clara Valley, Califo ia, United States Posted: Nov. 16, 2015 Weekly Hours: 40.00 **Job Summary** The iOS Read more
Software Engineer, *Apple* Watch - Clock Fa...
# Software Engineer, Apple Watch - Clock Face Team Job Number: 44368761 Santa Clara Valley, Califo ia, United States Posted: Nov. 14, 2015 Weekly Hours: 40.00 **Job Read more
Administrative Assistant, *Apple* Online St...
# Administrative Assistant, Apple Online Store Job Number: 43992352 Santa Clara Valley, Califo ia, United States Posted: Nov. 9, 2015 Weekly Hours: 40.00 **Job Summary** Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.