July 92 - MacApp is Bedrock is MacApp
MacApp is Bedrock is MacApp
Ken Addison
Ken Addison
FutureSoft System Designs, Inc.
AppleLink: D0416
AOL: Ken Addiso
Finally, The Announcement
First there was the hint in the WWDC brochure about Apple's cross-platform plans that would be previewed at that auspicious event. Then came the WWDC event itself, and only small tidbits and a name, Cross Platform Framework (CPF), were revealed. However, Apple did promise to make the announcement about the CPF at the New York PC Expo in late June.
Finally on June 23 it happened, the "technical announcement, not a product announcement" was made by Apple and Symantec. The Cross Platform Framework is called Bedrock and will be the successor to MacApp as Apple's premiere object-oriented framework. Bedrock will first support cross-platform development between Apple Macintosh OS and Microsoft Windows. Later cross-platform support will include Unix, IBM's OS/2, Windows NT and future systems. One future system mentioned was Taligent's Pink. In fact Bedrock will be the most direct path for migration to Pink. Most important, a developer using Bedrock will have multiple platform support maintaining a single version of source code.
Bedrock will be marketed by both Apple via APDA and Symantec via the retail channels that Symantec uses for its other developer products (i.e. Think C, Think Pascal and Zortech C++).
Why Symantec, Why Anybody?
Apple listened to its developers' concerns about cross-platform development and decided that they would openly support cross-platform development. And although there is a wealth of software engineering talent within Apple, they decided that they do not have the superior Windows expertise required for a superior cross-platform solution for developers. Hence, they decided to seek out a partner. They also believed that a partner with good Windows credibility would make Apple's cross-platform solution more credible.
Apple chose Symantec because of Symantec's technical and marketing commitment and expertise on both the Macintosh and Windows platforms. This is evident in Symantec's offerings of applications and developer tools. Also, Symantec had internally developed over the last two and a half years a cross-platform object-oriented framework to aid in their own cross-platform development. This object-oriented framework is called Bedrock and is similar in design to MacApp. And, finally, Apple and Symantec have enjoyed good working relationships with one another over time. All of these factors made Symantec Apple's choice as partner in their cross-platform plans.
The announcement is of an agreement for Apple and Symantec to use Symantec's Bedrock framework, add MacApp object- oriented technology and expertise, and take advantage of Symantec's Windows expertise to create a credible, robust and flexible cross-platform framework. Bedrock would then be marketed by both Apple and Symantec. It was stressed by Apple and Symantec that Bedrock is not using the lowest common denominator approach to cross-platform support. In fact they both believe that would be highly undesirable and opposite of the reason why Bedrock is being developed.
The agreement also states that Bedrock would be used by both Apple and Symantec for their own internal development efforts. This last point is significant because provides some assurance that Bedrock will be kept current with new system features as they are introduced on the Mac OS and other OS's. It will also encourage bug fixes in Bedrock to be done quickly.
Another interesting note about the partnership is that it was initiated from the engineering and marketing level of Apple and Symantec and filtered up to upper management. So rather than some high level decision that may be a little detached from the motives, the partnership was created by the very people who are intimate with the needs for the partnership-a necessary ingredient for a viable partnership.
Bedrock Details (well sort of)
Enough of the high level stuff, how about the details of Bedrock? Again this was a "technology announcement not a product announcement," so many details are not yet known or were not revealed. However, several things were announced. Also Tom Chavez, Lonnie Millett and Richard Rodseth of the MacApp team (who were present at the announcement) were helpful in filling in some of the details.
Bedrock is implemented in "standard" C++ and is compiler independent. Therefore, there will be no PascalObject type classes that are compiler-specific, just pure C++ classes. There is no outstanding reason that applications that use Bedrock have to be written in C++, but the first release of Bedrock is only concentrating on support for applications written in C++. Future versions of Bedrock may support other languages. No specific other languages were given.
Although packaging of Bedrock is unknown at this time, the initial release of Bedrock will be usable in Apple's MPW development environment and Apple's future advanced MPW-replacement. Bedrock will be usable in Symantec's Zortech environment on the Windows side. Nothing precludes using Bedrock from other environments that support standard C++, but no specific platforms other than Apple's and Symantec's were mentioned at the announcement.
As mentioned above, Apple is adding their expertise to Bedrock. This is being done by seven of the MacApp engineers, who are adding MacApp 3.0 technology and functionality to Bedrock. The MacApp engineers have been reviewing and working with Bedrock for several months, so much work has already been done. They are also ensuring that migration for MacApp 3.0 applications to Bedrock have the smoothest path possible. They don't know yet how much work will be required for a MacApp 3.0/C++ application to migrate to Bedrock, but both Apple and Symantec will provide developers with tools to help make the task easier.
Bedrock's Time Line
As mention earlier, Bedrock already exists and is being used internally at Symantec. Also, Apple's MacApp team has been working with Bedrock for the last few months. Apple and Symantec are planning for early testing by developers sometime in the fall and release sometime in the first half of 1993.
The Future of MacApp
MacApp is Bedrock is MacApp! It could be said that Bedrock is the next major version of MacApp, adding cross-platform support, functionality and a name change. The differences are similar to the evolution from MacApp 2.0 to MacApp 3.0 (including the headaches that were involved). The obvious difference being that MacApp 2.0 to 3.0 didn't have a name change.
Currently MacApp 3.0.1 (a maintenance release, no new features) has just gone final. Further versions of MacApp 3.0 are dependent on the progress of Bedrock. If Bedrock is not behind schedule and is released in a timely manner then there will be few or NO more releases of MacApp 3.0. If Bedrock development is behind schedule, then there will be another version of MacApp. It is too early in Bedrock's development cycle to predict exactly what will happen. One important thing to remember is that the most direct path now to migrating to Bedrock later is to keep working with MacApp 3.0/C++.
Conclusion
A lot of the announcement was understandably sketchy given the early development phase of Bedrock. But enough information was given to get a "feel" for Bedrock.
In general Bedrock appears that it will be a comprehensive, NOT lowest common denominator and flexible solution for both Macintosh-specific and cross-platform development. Bedrock is designed from the ground up with the developer's concerns in mind. Bedrock is being developed by the best object-oriented engineers (from MacApp team) and cross-platform technology (Symantec).
There are still many technical obstacles to overcome and questions to be answered, but all in all it appears that it will be the best object-oriented framework available.
By the way, did I mentioned that this was "a technical announcement not a product announcement"? n