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