A former Apple Developer Services person talks about the history of scripting on the Macintosh.
I got this message yesterday and wanted the people on the Frontier website to see it. I'm not sure any comment is necessary, other than I wanted to share these good vibes and closed-loops with the community.
Date: Sun, 22 Sep 1996 09:41:01 -0700
From: "Paul F. Snively" email@example.com
I don't know if our paths ever crossed professionally or not, but I was in MacDTS from 89-91. In other words, in the time-frame that System 7.0 was finally getting out the door. One of my big areas of specialty was AppleEvents and AppleScript.
It was very painful watching Apple do its usual job of overspecifying and overengineering the things that weren't quite as important as some other things would have been, such as a distributed directory of AppleEvent-aware applications so that a poor user would know where to find that Spelling Checker that was no longer linked into their word processor in the Brave New World of small, suite-specific applications (remember those promises)? Of course, when I prodded anyone about this, they'd tell me that that particular issue was being addressed by AppleMail... how long after System 7.0 did AOCE finally arrive? And does anyone outside of Apple use it?
Anyway, we all knew about Frontier, of course. While some people were willing to give you credit for having gotten something out the door (a feat that anyone who's attempted it knows is no small thing), many Apple people felt "morally superior" because AppleScript would be an easier syntax, more like HyperTalk, which had been wildly successful; because AppleScript would allow you to compile in English and decompile to Japanese and so forth; and because AppleEvents/AppleScript had an object model that would abstract the semantics of AppleEvent-aware applications away from their implementations.
So here we are, five years later. I can count the number of AppleScriptable (aware, recordable, attachable) applications on the fingers of one hand. Most developers found grafting the object model onto their existing code far too difficult to be worthwhile, and even if it wasn't technically, they felt that all it did was expose the guts of their functionality to the world, which they didn't want. Apple didn't provide enough real-world suites out of the gate, and relied on developers who were leery of trying to define a "standard" set of suites that, once again, seemed like it would weaken their market position. AppleScript languishes in emulation while the world moves to the PowerPC.
Meanwhile, Frontier, which a lot of Apple people said would never make it in the AppleScript world, seems to be thriving. It does tons. It's fast. It's net-savvy to a degree that other systems only dream of. I think the coolest recent thing is the support for dynamic MCF generation. It absorbs new stuff so quickly! It's native, and fast. And of course you knew that people would need a place to store their scripts, their data, so you gave it an object database. Coooooool!
And now you've released the object database library so anyone who needs fast hierarchic structured storage can have it! With no royalties!
I think this is the thing that prompted me to write. I know what it's like to put blood, sweat, and tears into a piece of software; I did it before going to Apple and have done it since. I'm often torn between trying to make money from my efforts--having rent, wife, and stepson to consider--and contributing back to the community. Sometimes I look at what gets given and it hardly seems worth it.
Frontier and the object database, though, are at the opposite end of the scale: they're just so stunning in scope! I browse through Frontier.root and am just constantly amazed. And the only reason I have this coolness on my hard drive is because... you cared enough to give it to me. To us, the Mac (and soon Windows!) community.
So the bottom line is just this:
© Copyright 1996-97 UserLand Software. This page was last built on 5/7/97; 1:51:54 PM.
It was originally posted on 9/23/96; 6:42:35 AM.
Internet service provided by Conxion.