From ATG to 2016 AppleScript

I was intresting to know who was involved in the technology that become AppleScript.
By doing so my research have been google search. I do not claim its 100% correct.
And likely I have not include all people.

ex.
AppleScript Studio people from AppKit and Xcode engineers.

If you know this list is not correct. I will be happy to hear it so I could do change.

UPDATE 22-10-2023

  • Some dates
  • Mac OS System 8.5
  • New reference links
HyperCard was created by Bill Atkinson. It started in March 1985 with the code name
WildCard. In 1986 Dan Winkler began work on HyperTalk (Scripting language).

Apple Advanced Technology Group (ATG), code name "Family Farm" From 1986 to late 1997 
	Larry Tesler, Mike Farr, Mitchell Gass, Mike Gough, Jed Harris, Al Hoffman, 
	Ruben Kleiman, Edmund Lai and Frank Ludolph.

	David Nagel, Richard LeFaivre and Donald Norman.

Some works at ATG
	•	Systemlevel programming language
	•	Interprocess communication model
	•	User-level scripting language
	•	Object component models

Apple events Mac OS System 7
	https://catalogimages.wiley.com/images/db/pdf/9780470562291.excerpt.pdf
	https://vintageapple.org/inside_r/pdf/Interapplication_Comm_1993.pdf

Apple Event Manager
	•	Edmund Lai

Code review of Apple event written in Pascal
	•	William R. Cook
	•	Edmund Lai

AppleScript 1991, 1992 Beta, 1993 the orginal team was disbanded.
	William R. Cook, Warren Harris, Kurt Piersol, Dave Curbow, Donn Denman
	Edmund Lai, Ron Lichty, Larry Tesler, Mitchell Gass and Donald Olson.

Introduced in 1993 with Mac OS System 7.1.1

Architect
	•	William R. Cook
	•	Warren Harris
	•	Kurt Piersol (Still at Apple)

Manager
	•	William R. Cook
	•	Donald Olson
	•	Larry Tesler
	•	Mike Askins
	•	Sal Soghoian January 1997 - 2016
	•	Mark Minshull
	•	Ron Lichty
	•	Tony Francis (Still at Apple)
	•	Sarah Weaver
	•	Chris Espinosa (member of original Macintosh team) (Still at Apple)

Marketing
	•	Susan Watkins
	•	Mike Farr
	•	Laura Clark Hamersley
	•	Chuck Piercey

Apple Event Registry
	•	Jon Pugh

Documentation
	•	Sean Cotter
	•	Mitch Gass
	•	Paul Black
	•	Laine Rapin
	•	Sharon Everson
	•	Pegi Wheeler

Developer
	•	Jens Alfke 1991 - 1993
	•	B. Bruce Brinson
	•	Dan Clifford
	•	Donn Denman (member of original Macintosh team) (MacBasic)
	•	Sue Dumont
	•	Warren Harris
	•	Edmund Lai
	•	Bennet Marks
	•	Kazuhisa Ohta
	•	Brett Sher
	•	Laile Di Silvestro
	•	John Coelho
	•	Richard Nygord (Mac OS System 8.5 and 8.6) Jun 1997 - May 1999
	•	Steve A. Smith

Evangelist
	•	Mark Thomas (Interprocess communication)

Quality Assurance
	•	Gary Bond
	•	Scott Bongiorno
	•	Sue Dunmont
	•	Ron Karr
	•	James Redfern
	•	Brett Sher
	•	Laile Di Silvestro
	•	Donald Olson

User Interface Design
	•	Dave Curbow
	•	Jennifer Chaffee

Japanese Dialect
	•	Kazuhiko Tateda

Technical Documentation
	•	John Montbriand

Mac OS System 8.5 released Oct 1998
	•	First release to run on Macs equipped with PowerPC prcessor.
	•	Greater AppleScript performance 5 times faster compare to Mac OS System 8.1

Script Editor
	•	Tim Bumgarner (Still at Apple)
	•	Jens Alfke

Open Scripting Architecture (OSA)
	•	Jens Alfke
	•	Mike Farr

AppleScript Studio
	•	Tim Bumgarner (Still at Apple)
	•	Mike Bombich

Scripting Bridge 2007
	•	Christopher Nebel (Still at Apple)
	•	Bill Bumgarner (William) (NeXT, Apple)
	•	Adam Julian Goldstein

	A scripting bridge allows a developer to automatically build glue classes to 
	access a scriptable application with standard method calls written in a language 
	such as Objective-C. The Objective-C code sends properly formed Apple events 
	automatically (or events according to some other event protocol), 
	so that the developer is not required to have any knowledge of the scripting language
	of the target application. Classes can be created dynamically at run-time, 
	including dynamic creation of methods within those classes. 
	Lazy evaluation is employed to avoid unnecessary inter-process communication traffic. 
	The present invention provides a straightforward model for controlling scriptable applications 
	that can result in code that is significantly faster and more efficient than prior art methods.

Scripting Additions
	•	Donald Olson

Automator
	•	Tim Bumgarner (Still at Apple)
	•	Eric Peyton
	•	Todd Fernandez (Still at Apple) Oct 2002 - Mar 2007

Scriptable Finder
	•	Ron Lichty (Manager)
	•	Greg Anderson
	•	Francis Stanbach

Senior AppleScript Engineer
	•	Chris Page (Other Chris)

Developer Technical Support
	•	Andy Bachorski

AppleScript Resque in 1997 quote from Cal Simone:
	https://talk.tidbits.com/t/sal-soghoian-s-automation-legacy/5015

PyObjC
	•	Lele Gaifax
	•	Bill Bumgarner (William) (NeXT, Apple)
	•	Steve Majewski
	•	Ronald Oussoren (Still active)
	•	Just van Rossum
	•	Jack Jansen

Apple event
	A data structure used to direct the operation of or communicate information
	to a program. An Apple event identifies itself and its purpose, names its destination,
	and contains additional data structures that vary according to the kind of event.
	Apple events constitute the primary form of interprocess communication.

	Object specifiers are represented in Apple event as nested record structures,
	called descriptors. The structure is flattened data format designed to be easily 
	transported or stored.

Apple Event Dispatcher
	A queue of incoming events and a stack of handler tables containing functions
	that respond to those events.

Apple Event Handler
	A function that extracts pertinent data from an Apple event, performs the action
	requested by the Apple event, and returns a result.

Apple Event Manager
	An operating system service that allows program to send and receive Apple events.

Bridging AppleScript and Objective-C
	The Objective-C bridge for AppleScript provides a bridge between the AppleScript
	language and Objective-C. It enables you to use AppleScript commands and 
	scriptable application terminology directly within your Objective-C code.

AppleScriptObjC
	AppleScriptObjC allows you to seamlessly combine AppleScript and Objective-C
	within the same script. It enables you to access and use Objective-C classes and 
	methods directly from your AppleScript code. This integration provides a bridge
	between the high-level syntax of AppleScript and the more low-level capabilities of
	Objective-C and Cocoa framework. 

Reference:
	https://www.cs.utexas.edu/~wcook/Drafts/2006/ashopl.pdf
	https://www.tech-insider.org/mac/research/acrobat/960702.pdf
	https://developer.apple.com/library/archive/technotes/tn2002/tn2106.html
	https://developer.apple.com/library/archive/technotes/tn/tn1162.html
	https://en.wikipedia.org/wiki/Mac_OS_8
	https://web.archive.org/web/20010617061141/http://developer.apple.com/technotes/tn/tn1142.html#applescript


Reference Microsoft Window
	https://learn.microsoft.com/en-us/windows/win32/ipc/interprocess-communications
	https://en.wikipedia.org/wiki/OLE_Automation

Bonus
	NeXT Inc, NeXT Computer Inc and Next Software Inc
	https://appstorey.com

ENJOY!

1 Like

Thanks! Just a typo: “work’s” should be “works”

Thanks Tempel, I have updated and also included some date Richard Nygord.

You mention Hypecard, but to me, the true precursor to Applescript was Userland Frontier. I did all my scripting in Frontier before Applescript came along. I would definitely mention it as well.

@ralphcr
Thank for your input.

I have include UserLand Frontier in new document I working on. To be OSA compatible
and Dave Winer involvement to contact Apple so they included OSA 1992.

First the reason I include HyperCard and the scripting language HyperTalk is. Apple realized from whose experience that it was possible to talk to other application instead of a embedded approach.

AppleScript couldn’t been started before the Apple event was in a good state. In 1991 when William R. Cook one of the architect of AppleScript did code review of Apple event with Edmund Lai (The main developer of Apple event).

Dave Winer released Frontier version 1.0 Jan 1992. The same year he contacted Apple
about consern to supporting more scripting language.

In 1992 when AppleScript was in beta. AppleScript developers change the code to include Open Scripting Architecture (OSA). To make other scripting language to be supported. To be OSA compatible a scripting language need to support Apple event. This made the final release of AppleScript to be delayed to 1993.

Apple event use interprocess communication protocol that had many revisions to be able
to do what AppleScript needed. UserLand Frotier 1.0 used a different interprocess communication protocol. After Apple included OSA it was possible for UserLand developers to include Apple event and to be OSA compatible.

Sure you are right many things Dave Winer invented become also possible with AppleScript. And maybe many ideas for AppleScript after 1993 was ideas Dave Winer had in his Frontier application. I do not know the main technology behind Frontier interprocess communication and RPC. I do know Dave Winer vision was to make Frontier to be cross platform.

There is some text in William R. Cook PDF about Userland Frontier.

I joined Apple in 1989, starting ATG Cambridge (Dylan, Newton), moving to California in 1993, and later becoming Sr. VP Software. I would say that the role Chris Espinosa played is under-reported. Chis is employee #8 at Apple, and when he reported to me was the principal internal evangelist and promoter of AppleScript in the early 1990’s, at least until I left Apple the month before Steve Jobs returned, December 1996. (“I worked at Apple between Jobs”).

4 Likes

@ikenassi
Thanks for sharing.

I have read on random places that the first AppleScript or part of it was created at ATG. Is this true and if so what part was that?. I do know the Apple event was created at ATG.

Also Ike @ikenassi do you know if David Canfield Smith was involved in AppleScript ??
William R. Cook history of AppleScript didn’t include him (David Canfield Smith).

The kind of version of AppleScript that was created at ATG was using SK8Script it was 1989.

So maybe you know something about it?