WWDC 96 Report
Volume Number: 12
Issue Number: 9
Column Tag: Wwdc
Looking for the Future
What did you learn, Dorothy, in the Land of Oz?
By Matt Neuburg and others
Special thanks to our on-the-scene experts - John Clements, Chris Magnuson,
Jim George, and Jeremy Roschelle - who gave selflessly of their time and expertise to
provide us with reports, only to have them hacked to bits and buried in this article.
We owe them for much more than the small snippets explicitly quoted here.
Another WWDC has come and gone, bombarding us with four and a half days of talks by
Apple employees (and others), accompanied by large projected images, consisting
mostly of: (a) the magnified talking head of the speaker; or (b) cryptic text
summaries (see Figure 1); or (c) software demonstrations ranging from the
suspiciously glitzy to the refreshingly crashy.
Assuredly, a genuinely instructional component is not entirely absent from the
proceedings; and for this, of course, we’re always grateful. Still, the presentational
mode does have a certain mind-numbing uniformity; and one does occasionally get the
sneaking suspicion that the event is really an elaborate excuse for the carefully
orchestrated peppering of press-release announcements that have been so obviously
timed and reserved to be released at intervals throughout the proceedings (see
http://product.info.apple.com/pr/library/1996/
may.html for a sampling).
At such an affair, hard information is like gold - highly valuable, but deriving
some of that value from its scarcity. I felt a great sympathy for developers trying to
make a living around the ramifications of Apple’s elephantine movements, seeking
hints of what those movements might be likely to be. As Jim George says, “The ‘talk in
the hall’ was centered on analysis of Apple’s technologies, plans, and tool offerings.”
The sad thing is that such analysis had to be based so heavily on speculation. My own
personal picture of where Apple might really be heading, what technologies it will
really pursue, is not much less murky than if I had never attended the convention.
Figure 1. Get ready for forty-five hours of this (we particularly hope you like the
logo at the left, because you’re going to see it a lot)
Mac OS 8
The biggest draw (largest number of sessions held in the biggest rooms) was surely
Mac OS 8. Clearly, in some ways, Mac OS 8 is appealing. I’ve been ranting for years
about the stupidity of the event loop and the back-and-forth between system calls and
program response required just to put up ordinary objects like windows and buttons, a
legacy from the days when a Mac had small RAM and tiny ROM. In this regard, Mac OS
8 should be the answer to a prayer; the event loop is doomed, ordinary GUI objects are
maintained by the system, and my code isn’t alerted until there’s an event to which I
really have to respond, all of which should make the Mac a lot easier for “the rest of
us” to program.
Amongst the critics, though, debates on architectural and market issues were
rife. Do we really need a whole new system to do this? Or, just the other way: isn’t
Apple’s drive for backwards compatibility holding Mac OS 8 back to a dangerous
degree? Is pre-emptive multitasking really the best way to go? Isn’t the
much-touted memory protection model going to be a long time delivering benefits?
Will the virtual memory model prove compatible with Apple’s best existing
technologies? Will end-users really see a speed gain, and when? When will the Mac
OS 8 architecture and details start settling down into something stable and reliable,
and stop mutating like a Transformer toy?
The best way to get a firm feel for Mac OS 8 as it exists now was to sign up for
time in the hands-on lab. From here, there emerged some vivid reportage. John
Clements writes:
There was a hands-on demo of the current state of OS 8. There were tantalizing
glimpses of the goodies to come, but the overall experience was awful. It does not yet
support text editing, so you couldn’t actually do anything except open and view
documents (any dialog field that needed something typed into it was blank and dead).
Also, it was incredibly fragile and crashed repeatedly, often corrupting system files on
the disk in the process. The demo staff reformatted and rebuilt the hard disks at
regular intervals. It was incredible that they even let us see the beast.
And from Chris Magnuson:
One thing I discovered is that, with this build of the OS, development is difficult. The
floppy drive wasn’t working under Mac OS 8, so I had to build code on my Powerbook,
then boot the test machine with System 7.5, copy the files from the floppy to the test
machine, then reboot the test machine with Mac OS 8 and run the code. This long
process was a limiter on how much I could get done in the time allotted.
The application I was working with was a heavy Sound Manager 3.2 user. I had written
this application over the last year and knew it inside out. The first thing I found was
that the Gestalt call with the selector for a built-in sound input port wasn’t working.
In fact, the machine would hang. I commented this out and went from there. The next
place it hanged was querying (using Gestalt again) to see if Sound Manager 3.1 or
better was present. Obviously it was supposed to be, so I commented this out too in
order to get on with the job.
The next thing that I saw was visually shocking. One of my dialog boxes came up and
the background was all grey (not white), with funny white regions around some of the
dialog items (in particular, the sliders). I had been prepared for this mentally but
nothing does it to you like seeing it. This dialog is going to take some work, because it
uses custom defprocs (CDEFs) for the sliders. The assumption was made that the dialog
background would be all white; this was now no longer valid. I will have to redo this
code so that on Mac OS 8 a different slider will be used - one that is savvy about the
Appearance Manager.
Internet and Java
Particularly noteworthy was the tendency to throw the incantations “Internet” and
“Java” at everything like some sort of fairy dust. The public networked Macs were
running Cyberdog, which seems to have been promoted from an OpenDoc
proof-of-concept to some sort of killer-app wannabe (though the one I tried just
crashed on me when I tried to send mail with it). Java applets were shown running
inside OpenDoc and every other imaginable sort of container, and even poor old
HyperCard seemed to be maintaining a lease on life only by promising that stacks would
some day manifest themselves by way of a Web browser. Press announcements
proclaimed distant sightings of Java on all horizons (Pippin, Newton, Mac OS), but I
haven’t developed any personal internal sense of what this might mean in practice.
Jim George puts an interesting spin on the Internet situation:
Apple’s future is not entirely in its own hands, but lies in “strategic” alliances and
partnerships with many other hardware and software developers and suppliers. On the
surface, Apple is more dependent on these alliances than the reverse; either the Mac
versions already constitute only a small percentage of their market, or the companies
are expanding into the “more lucrative” Wintel market. Yet, it is important that
alternatives and competition continue in personal computing platforms, as a guarantee
for continued innovation. The Internet phenomenon happened with little help or
leadership from either the Wintel or the Apple market; in fact, both are being changed
by the Internet!
OpenDoc
There were a great many OpenDoc sessions, and certainly these generated the most
striking demos, because, by its very nature, OpenDoc consists of curious actions
occurring in unlikely contexts. Most eye-catching of these was a spreadsheet
(codenamed “Baywatch”) by Adrénaline Software of Québec, which made a highly
customizable animated three-dimensional graph out of its data - though this seemed to
me an advertisement less for OpenDoc than for QuickDraw 3D, a technology of whose
brilliance no one should need any convincing.
Once more, Java and the Internet were the props most heavily relied upon. The
legerdemain included Netscape plug-ins or Java applets made to run inside OpenDoc,
intimations of integration between Java and OpenDoc or Java and SOM, and, of course,
poor old Cyberdog.
This analysis comes from Jeremy Roschelle, who, as long-time readers of this
magazine will agree, ought to know:
The announcement that Netscape would become OpenDoc-compatible, along with the
adoption of OpenDoc by the Object Management Group, is important because it means
that CORBA distributed-object computing is going to have a home in Netscape through
OpenDoc.
On the C++ framework front, Metrowerks showed their OpenDoc/PowerPlant bridge.
“PowerPart” is now shipping on DR/9 (with a little help from yours truly).
Digital Harbor was showing WAV, a very cool OpenDoc-based “work processor” with
an innovative “task bar” (http://www.digitalharbor.com/docs/wav.html).
WordWrite also announced their intention to be a container app. Apple had their first
set of “QuickStart” components that cover each standard Mac OS media type. Expect to
see a lot of components by Macworld Boston.
On the cross-platform front, IBM said they have a Windows OpenDoc beta nearing
completion, and the 1.0 releases of OpenDoc for Windows95 and WindowsNT should be
completed this year (http://
www.software.hosting.ibm.com/clubopendoc/tools.html). Apple is preparing ODF to
compile to Windows “as fast as they get stable code from IBM”.
On a technical level, the most significant announcements were related to OpenDoc under
Mac OS 8. As I’ve long said, OpenDoc requires a better memory manager. Under Mac
OS 8, documents will have no 'SIZE' resource, and in fact will not consume an
application partition at all. There will be no fixed-size heap. Instead, the memory
manager will allocate RAM and virtual memory on demand, until you fill your hard
disk. This way, your doc will run no matter how many components are embedded. To
be compatible, use only the OpenDoc Memory API calls.
Mac OS 8 will allow parts to launch pre-emptive tasks (e.g., for computation and
communication). Bento, the OpenDoc storage architecture, will be highly optimized.
Apple event encoding and decoding will be optimized by what sounds suspiciously like
Jen Alfke’s AEGizmos. This will become part of the OS. SOM and Java will both be
deeply integrated in Mac OS 8, too. The goal of the OpenDoc team is to be able to launch
a document in two seconds or so. Let’s hope they achieve this, if for no other reason
then to make iterative debugging faster.
Finally, at the human interface, Mac OS 8 will support OpenDoc seamlessly (Kurt
Piersol is now assigned to that job). There will be OpenDoc viewers for every media
type. Pop-up folders will support part stationery very gracefully. A new titlebar
will make it easy to drag and drop an entire document. Perhaps most importantly, the
new HIObjects (which replace the Window, Menu, Control, Dialog, and TextEdit
Managers) will gracefully install into any OpenDoc facet.
Jim George adds a more sombre note:
Claris’s approach for ClarisWorks and OpenDoc is interesting and provoking. They
analyzed ClarisWorks, their installed base, the OpenDoc architecture, and their
business model, and concluded that implementing it as OpenDoc parts that the user
could configure at will did not fit well with their business marketing/delivery model.
So they decided to upgrade ClarisWorks to become a OpenDoc container. Further, they
found that CALib was not the tool that was needed, and developed a tool, the Claris
Container Library, which will be made available to developers; and Claris will upgrade
it until the end of ’96.
OpenDoc component parts as a business model (i.e., how to make money with parts) is
not understood: if Apple cannot even convince Claris to adopt the OpenDoc software
model, how will they convince other developers?
To date, OpenDoc is available for Mac OS, OS/2, Windows (alpha) and AIX (beta). But
this is not the ordered list that developers needed - no final product for Windows or
UNIX with an appreciable installed base until mid-1997. Keep in mind that AIX is not
the UNIX employed by high-end educational and scientific research laboratories; for
them, SunOS, Solaris, and SIG are UNIX!
And So, Until Next Time
Apple continues to reorganize itself and its plans, so WWDC can be only a glimpse of
where Apple might be at a particular moment in time. The glimpse we’ve presented
here is limited also by our own resources; a full report would require the whole
magazine, and besides, you just had to be there to enjoy the full cafeteria of pies in
which Apple has a finger. Of course we’ll do our best to be informative about a wide
range of Apple technologies, in our regular articles. If you want more information
about what WWDC was like, you can see a sketch of the timetable for each day of the
convention at http://www.info.wwdc.carlson.com/cmg/day1.html (and day2.html, and
so on); and http://wwdc.carlson.com/ tells you how to purchase a CD of what you
missed.