WWDC 96 Report
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, were 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 Apples 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 Apples 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 youre 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. Ive 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 isnt alerted until theres 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: isnt Apples drive for backwards compatibility holding Mac OS 8 back to a dangerous degree? Is pre-emptive multitasking really the best way to go? Isnt the much-touted memory protection model going to be a long time delivering benefits? Will the virtual memory model prove compatible with Apples 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 couldnt 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 wasnt 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 wasnt 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 havent developed any personal internal sense of what this might mean in practice.
Jim George puts an interesting spin on the Internet situation:
Apples 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!
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 Ive 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 Alfkes 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. Lets 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:
Clariss 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 weve 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 well 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.