For a mere $250 plus shipping, you can order from APDA (Apple's developer-support wing) a year's subscription to the Developer Mailing. Each month you receive a newsletter and a CD.
The CDs are filled with stuff that Apple wants to put into the hands of software authors. Some of it is established system software or beta-releases of future system software (recent CDs have included international systems, LaserWriter 8.1.1, System 7.1 and its Update 2.0.1, AppleScript, and Speech Manager). Some of it is reference documentation (all the old and new Inside Macintosh, and complete tech notes). Some of it is sample code and programming aids.
You don't have to be a real developer; anyone can subscribe (contact APDA at <email@example.com> if you're interested). A lot of non-developers who do subscribe doubtless just crave the CDs. But just as fascinating is how the Mailing, including the newsletter, lets you look over Apple's shoulder as it pep-talks developers towards the new system technologies looming on the horizon. It occurs to me that if I were a developer I would doubtless need such pep-talks.
Even in the good old days (whenever they were), writing even a simple Macintosh application was no mean feat. There are many "managers" built into the system to help you, but they don't do the work for you, even when you're trying to do something that any Mac application needs to do. It's hard to describe, and I'm no expert, but I think it's fair to say that the interplay between what the system software does and what you do in order to achieve even the simplest task is weird. Something as rudimentary as putting up a dialog box, requires a certain level of sheer trickery. A task as common as maintaining a floating palette is so difficult via the standard high-level Window Manager calls that an article in a recent issue of Apple's develop magazine teaches you to hack your way completely around such calls.
These days, new "managers" and capabilities are cropping up at a perilous rate. Each requires the programmer to learn new skills. None can be trivially incorporated into applications; the complexity of the interaction between them all, and between them and your program, means the learning curve angles steeper as the programmer climbs. The problem is that if one wants to stay in business one must keep climbing, because a competitor is certainly going to incorporate the new features, and you'll be left behind if you don't as well - as Apple gleefully points out in the newsletter.
This makes me wonder whether Apple is doing the right thing. Perhaps I'm just an Old Curmudgeon, and I certainly wouldn't want to press my views: I'm not a developer, nor even much of a programmer. But in a quiet way, and perhaps for sake of argument, I'm curious as to whether all this pulling of rugs from under existing Mac applications can be good for the industry, and particularly for the users, of whom I am one.
Just consider a tiny bit of what is around the corner. With PowerPC, the basic bottom-level fact about Macintoshes, the use of the Motorola 680x0 processor, is about to go out the window. Everything has to be rewritten and recompiled if it isn't to be content with running in a mere emulator mode on the new, faster machines. With QuickDraw GX, the most basic act of showing text and graphics on the screen must be implemented in an entirely new way, and the printing and font models are going to change radically. In short, it isn't just a matter of new capabilities piled upon the old; the impending upheaval involves the underpinnings, everything that is most fundamental and long-standing in the Macintosh world.
Then there is the problem of many machines and many systems. Time was when Apple prided itself upon the mutual compatibility of its then-small line of Macintoshes. The system software cleverly sheltered your program from worrying about differences between the ROM of a Mac Plus and that of Mac II. But now there are rudimentary splits between the hardware and software platforms. System 7 lets you make all sorts of Toolbox calls that System 6 can't handle. These are much more convenient, and if I were writing a program for my personal use I would write it for System 7. But if you're a developer, unless you want your program not to run on many of the lower-end the machines, it must be two distinct programs in one, one making System 6 calls and the other making System 7 calls. The same is true of the hardware. Remember all the programs that broke when the Quadras appeared? My copy of ON Location still doesn't work if a StyleWriter II driver is the current Chooser printer. And how about the expansion-slot nightmare?
My point is simple. If the industry of developers is to keep up with all the changes Apple is throwing at them, which it must do to stay healthy, a lot of folks are going to have to do a lot of work. That work is going to take time, in the form of person-hours, mythical or not. Who pays for those person-hours? Why do I think it's going to be the user?
Apple's attitude in this regard does not encourage me. In the newsletter that came with the latest Developer Mailing, an Apple guru jokes that "God was able to create the world in seven days because he didn't have an installed base." As far as I'm concerned this joke, apparently a current hit around the Apple campus, is on a par with Hermann Goering's notorious quote, "When I hear the word Culture, I reach for my revolver." The very fact that anyone finds it amusing, or even clever, sends a shiver of fear up my spine. In the same newsletter, the concept of "current" Macintosh models is used to mean (as far as I can gather): Performa 410, 460, 470, 550; LC II, III, 475, 520; Quadra 605, 610, 650, 950, and the two AVs; plus some PowerBooks and Duos, and the Color Classic II. I get the idea that as far as Apple is concerned, all the machines in my department (Pluses and Classics running System 6, a Classic II, and a Quadra 800) are bad dreams they wish would go away.
Indeed, my own machine at home is starting to feel the bad vibes. It's a poor old LC. It was one of the first lower-priced Macs, and when I bought it, a couple of years ago, I was part of the new revolution, helping Apple down the path of higher volume and smaller profit margins that helped save the company into the 90s. Since then I've accelerated my LC and filled it with RAM to its maximum capacity, and I'm still marginalized by the current system software. Judging from the upcoming system software, we're all supposed to have 20 MB of RAM. Too bad if some of us can't. What are we supposed to do, throw out our machines and start over? Does Apple think we're made of money?
I'm not trying to be a Luddite or a nay-sayer. I drool as much the next person over the prospect of new gee-whiz technologies. And I also think - and this is important, so don't get me wrong - that Apple probably needs to do what it's doing in order to keep going. But I have this sneaking feeling that with a lot of old and slightly middle-aged machines getting the cold shoulder, and a lot of costly software upgrades in the works, the user's pocketbook is going to feel the shaft. Certainly it's going to make the $250 it costs me to be the User Over Your Shoulder look paltry.
In the mean time, if the creek don't rise, and if the Thought Police don't get me, and if I don't get too much hate mail, I might be back from time to time with some more musings on where Apple thinks it's going, and whether it's good for us if it gets there.