Inside Macintosh (1985) [pdf]
weihenstephan.org
weihenstephan.org
I guess that with Swift and Playgrounds, they are kind of back on track.
Instead the GNU/Linux wars replaced the UNIX wars, and while GNOME and KDE do strive to provide that experience, everyone is using Electron apps instead.
The closest to that MacOS development experience turned out to be Android, where the actual kernel being used is irrelevant to user space.
The situation seems to have been similar in Sun Microsystems around the same era: a number of different high-level language/runtime projects kicking around (eg. Self), and a generally deflating outcome.
> While it was canned when Steve Jobs returned
I don't know enough about OpenDoc to comment about the merits of what happened, but here are a few things. First, Jobs and Apple were pushing Rhapsody (Cocoa as a cross-platform API for applications) https://arstechnica.com/staff/2008/04/rhapsody-and-blues/ when OpenDoc was cancelled. It's easy to see the cancellation as the ex-NeXTers killing anything that competed with the NeXT technology or just didn't particularly integrate with it. OTOH, OpenDoc was definitely seen as a big commercial and consumer-adoption flop before Jobs killed it. Finally, it has to be noted that OpenDoc's inspiration and competitor OLE is still around, perhaps underloved.
Honestly, the “component software model” had at least hundreds of millions of dollars in development thrown at it by all the major players and went essentially nowhere at the application level.
It had some nice architectural properties for developers, and COM at least has had a long and prosperous history as a building block. But it’s hard to imagine any possible world where business or consumers spent a significant fraction of their software dollars on components rather than full applications. So Steve was probably right.
After all, the network is the computer.
The four and a half minutes prior are interesting (thoughtful introduction, Jobs' framing of the session and his brief thoughts about Apple's current position), but what he says in response to the questions following the OpenDoc question is deeply thought-provoking.
Many of the ideas Jobs shares show the general shape of recent and current Apple business decisions macOS and iCloud, for example. Especially interesting are his discussions of NIH syndrome, networking, and more.
Thanks, twoodfin, for pointing to this session which punctuates Jobs' return to Apple the year previous.
It was the time when Apple APIs went completely overboard in the amount of code required to do /anything/; OpenDoc was incredible in it's complexity; but even something like OpenTransport was fantastic amount of work to do anything simple -- especially compared to BSD sockets!
AppleScript was another one, being 'scriptable' was a lot of work, but being 'recordable' was a complete nightmare, and implementing the most complex language clauses was borderline suicide, the 'whose' clauses were amazing in their complexity for a feature absolutely nobody would use.
But, still, I miss Classic -- I think there was a lot of good that was thrown with the bath water when OSX arrived; sure, the underlying got a serious upgrade, but the user interface and anything associated got a serious downgrade, to this day really. I think the modern Finder is abhorrent, the Classic Finder was a beauty of consistency and ease of use in comparison. Yeah sure you got a couple of gadgets, that's it.
Meego also had a nice communications hub where all instant messengers would integrate centrally. The skype application was essentially just a plugin for this hub.
Unfortunately iOS' everything is app concept won the market. Soon enough, apps will be the whole ecosystem and the operating system will just be a detail.
I noticed this from the first pascal code example:
TEIdle(textH); {call TextEdit to make vertical bar blink}
.. oh how spoiled we are today :-)
I still prefer to code with book in front of me and I don't subscribe to the Stack Overflow is better mindset. You move more slowly at first but a much much deeper knowledge is gained from well written books. I also get a much deeper sense of satisfaction which enhances my life.
>Bruce F. Webster in BYTE in December 1985 described Inside Macintosh as "infamous, expensive, and obscure", but "for anyone wanting to do much with the Mac ... the only real [printed] source of information". He quoted Kathe Spracklen, developer of Sargon, as saying that the book "consists of 25 chapters, each of which requires that you understand the other 24 before reading it". "The best guide to the Mac's ROMs is Inside Macintosh", Robert C. Platt said in August 1985. "Unfortunately, Inside Macintosh is also the most incomprehensible documentation ever written".
A reason why it was so infamous https://en.wikipedia.org/wiki/Macintosh#1984.E2.80.9390:_Des... :
>Developers were required to learn how to write software that used the Macintosh's graphic user interface; despite standardizing on Pascal for software development Apple did not release a native-code Pascal compiler. Until third-party Pascal compilers appeared, developers had to write software in other languages while still learning enough Pascal to understand Inside Macintosh.
As a result,
>Although outselling every other computer, it did not meet expectations during the first year, especially among business customers. Only about ten applications including MacWrite and MacPaint were widely available ... After one year, [the Mac] had less than one quarter of the software selection available compared to the IBM PC—including only one word processor, two databases, and one spreadsheet—although Apple had sold 280,000 Macintoshes compared to IBM's first year sales of fewer than 100,000 PCs.
Originally, an Apple Lisa computer was used to develop Macintosh software. A Pascal compiler that ran natively on the Mac came later.
>Macintosh development in the early days (circa 1983-1985) was done using the Apple Lisa computer and its Lisa Workshop development environment.
The Lisa Workshop hosted a command line interface which accessed a wonderful mouse based editor, a Pascal compiler, a 68000 macro assembler, an object file Linker, the RMaker resource compiler utility program, and the MacCom Lisa-to-Macintosh utility communications program.
https://www.folklore.org/StoryView.py?story=3rd_Party_Develo...
It had a nice programming interface to the functionality described in Inside Macintosh.
It still does:
https://ccl.clozure.com/docs/ccl.html#the-objective-c-bridge
There’s a Wikipedia article with a summary: https://en.m.wikipedia.org/wiki/Macintosh_128K/512K_technica...
Subsequent volumes did talk about the additions and changes in the Mac Plus, SE and II but not in as much detail.
The Macintosh is designed to appeal to an audience of nonprogrammers, including people who have previously feared and distrusted computers. To achieve this goal, Macintosh applications should be easy to learn and to use. To help people feel more comfortable with the applications, the applications should build on skills that people already have, not force them to learn new ones. The user should feel in control of the computer, not the other way around. This is achieved in applications that embody three qualities: responsiveness, permissiveness, and consistency.
I think the past is wanting to speak to us.
> Every application must have a unique signature by which the Finder can identify it. The signature can be any four-character sequence not being used for another application on any currently mounted volume (except that it can't be one of the standard resource types).
> To ensure uniqueness on all volumes, you must register your application's signature by writing to: Macintosh Technical Support Mail Stop 3-T Apple Computer, Inc. 20525 Mariani Avenue Cupertino, CA 95014
So one had to correspond by mail to get a unique application ID issued manually. Makes sense, considering the technical limitations at the time, but it makes me wonder whether other PCs/OSes had a better solution. Also, I see that the application approval process has always been a pain to this day..
I always thought that the 'creator codes' and other use of that four character sequence system was a great feature. It was gradually lost with osx.
Fun fact: All compilers for Mac had language extensions to deal with four character sequences, like 'AbCd' in C would be an integer with ('A'<<24)|('b'<<16)|('C'<<8)|'d'. Beats 0xdeadbeef and 0xcafef00d!
So I'm a bit 'branded' -- mind you, I still stopped developing for Mac a long while back now. At the time when the company tech was made by bearded cool people for Doctors and Lawyers to the time the company tech is made by Doctors and Lawyers for bearded 'cool people' with a latte :-)
FrameMaker was used for the new Inside Macintosh series, starting in 1992. From my copy of Inside Macintosh: Overview, on one of the last pages:
THE APPLE PUBLISHING SYSTEM
This Apple manual was written, edited,
and composed on a desktop publishing
system using Apple Macintosh
computers and FrameMaker software.
Proof pages were created on an Apple
LaserWriter IIɴᴛⅹ printer. Final page
negatives were output directly from text
files on an AGFA ProSet 9800 imagesetter.
Line art was created using
Adobe™ Illustrator. PostScript™, the
page-description language for the
LaserWriter, was developed by Adobe
Systems Incorporated.
The same page acknowledges, by name, the members of the writing, editorial, and production team.https://vintageapple.org/inside_o/
DocViewer is a weird format. :) It's like an early version of PDF based on PICT graphics. Unfortunately, this makes it difficult to convert. However, a lot of Apple's legacy documentation is still available if you have a deep link to its location, e.g.
https://developer.apple.com/library/archive/documentation/ma...
There are also some third-party mirrors of Apple's old documentation site, like:
http://mirror.informatimago.com/next/developer.apple.com/ind...