Hacker News new | past | comments | ask | show | jobs | submit login
Inside Macintosh (1985) [pdf] (weihenstephan.org)
112 points by theBashShell 6 days ago | hide | past | web | favorite | 51 comments





I miss the classic Mac OS. From time to time I turn on one of my classic Macs and use Mac OS 8 or 9 for a while, going down memory lane. While the classic Mac OS was unstable due to its lack of both memory protection and preemptive multitasking, there's a certain simplicity to the interface, as well as a near-universal adherence to the Apple Human Interface Guidelines by most applications, that is unfortunately missing in today's desktop computing environments. Modern GUI software has a lot of "bling", but I feel that Apple got it right in the 1980s and 1990s, with less emphasis on slick, shiny designs and more emphasis on the substance of building usable interfaces. I wish more developers would learn from Apple's usability guidelines from the 1980s and 1990s.

The early days of Mac OS X was like that as well; most third-party devs usually followed the HIG pretty closely. The early days of iPhone apps were similar. That was before designers became way too carried away designing something that's unique and recognizable for their own brands rather than for the unity of the platform. And then it spread to OS X.

I keep hoping that “UI as branding” is just a trend and eventually goes out of fashion. UI/UX is overdue for a dose of utilitarianism.

Its one of the things I appreciated about Sailfish OS's UI lipstick. The system wide inclusion of the users colourscheme preference is so completely hostile to attempts to brand the interface.

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.


Microsoft tried that with Windows Phone 7. I loved the utilitarian concept of plugins for hubs. The OS was king.

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.


1995 Macintosh Human Interface Guidelines: http://interface.free.fr/Archives/Apple_HIGuidelines.pdf.

I still miss QuickTime, it's not even closely replaced by AVFondation: it just supports a few codecs, cannot be extended by plugins, terrible support for video acquisition... sniff

What I kind of miss, was how Apple was into better languages for OS development (Object Pascal, Hypercard, MCL, Dylan, NewtonScript).

I guess that with Swift and Playgrounds, they are kind of back on track.


There were a lot of really cool technologies developed during the "interregnum" years between 1985 and 1997 at Apple. OpenDoc is one of the most interesting technologies to be developed during this time period. OpenDoc would have dramatically disrupted the desktop applications market; people would have bought component-based software instead of monolithic applications such as Microsoft Word and Adobe Photoshop. While it was canned when Steve Jobs returned (I suspect the main reason for this is because Apple desperately needed Microsoft's and Adobe's continued support for Mac OS back when Apple's situation looked precarious), something that I've pondered a lot recently is what would have happened had the free/open source software community had developed something like OpenDoc to build component-based applications for Linux, where the community could spend its time developing components, instead of imitating the Mac and Windows approaches of building large, monolithic applications, which unfortunately have resulted in a very long game of catchup (compare GIMP to Photoshop, or compare LibreOffice to Microsoft Office).

> There were a lot of really cool technologies developed during the "interregnum" years between 1985 and 1997 at Apple.

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.


Having worked with OpenDoc (and never shipped -- I wonder how many of us reached that point!), it was dire -- the concept was a super good idea and all that, but the implementation was so incredibly complicated that it took a huge amount of work to do.... anything really. And then all your work was a 'component' that had no real branding, identity or way to the market, anyway..

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.


Somewhat famously, the first question Steve Jobs took at his developer Q&A at WWDC ‘97 was about OpenDoc & the bullet he put in its head.

https://youtu.be/yQ16_YxLbB8

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.


Thanks for linking to the 1997 WDC (only 1 "w"!) Q&A with Jobs. For those hoping to cut to the chase, the timecode for Jobs' prompt and the hapless attendee who asks "What about OpenDoc" is 4:26 [0]

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.

[0] https://youtu.be/yQ16_YxLbB8?t=266


Microservices are the new components.

After all, the network is the computer.


I am with you on that, for a while I thought that either GNOME or KDE would win the desktop wars, providing on GNU/Linux the same desktop development experience of Macs, Amigas, BeOS, Windows, OS/2 with their respective component libraries.

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.


Playgrounds are still buggy, almost 6 years later. Even Swift has had weird regressions where previously fine code throws runtime errors in a recent Xcode.

They might not be perfect, but they exist and provide a much better developer experience than the PDP-11 one.

Another thing I miss is the near-ubiquitous AppleScript support, at least in terms of major applications. As frustrating as AppleScript is as a programming language — speaking as someone who curses it on a near-weekly basis — it's still far easier to reliably automate applications using a reasonably well-defined object model than via UI automation, which is the only viable alternative for most current OS X applications. And for simple tasks, even a problematic common scripting language like AppleScript is preferable to needing to use a different scripting language for each application, even if these languages are, individually, superior.

I had a Mac Performa from the OS 7 days, and Inside Macintosh from the same time - but with the C API from what I remember, and used Metrowerks CodeWarrior as the development IDE. It was a great introduction to GUI programming, and CodeWarrior was a great IDE too.

I noticed this from the first pascal code example:

TEIdle(textH); {call TextEdit to make vertical bar blink}

.. oh how spoiled we are today :-)


A/UX was a choice too, with memory protection and preemptive multitasking. There was a compatibility layer to run system7 binaries too.

I was in a pre-release Macintosh Processional Developers Seminar at Harvard University summer of '83. Because the OS was still in development then, each class would receive photocopy handouts of the pages of Inside Macintosh written the day before, with programmer's and editor's pen and pencil corrections on the pages. I bound them all together into a phone book thick binder, put them into a lockbox and forgot about it until a few years ago. Just last year, I visited a rare book collector and showed it to them - it is apparently in the "priceless" range and they want me to donate it to the Computer Museum in Boston. I've not made up my mind yet, but am thinking I should scan the entire thing and put it online.

Please do scan it and put it online. Sounds like an amazing piece of history.

Yes, scan it then donate it, or keep it. Something like this should be shared.

My first job was making multimedia CDROMS for Macintosh 6/7 and Windows 3.11/95. The Inside Mac books were simply amazing compared to the Windows documentation.

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.


From https://en.wikipedia.org/wiki/Inside_Macintosh :

>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.


>Apple did not release a native-code Pascal compiler.

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...


One compiler that was available very early on was Coral Common Lisp, which ran on a 1MB Mac Plus. It was a real native-code compiler. It lives on today as Clozure Common Lisp [1], and I can still run some of the code that I wrote back in the mid-80s on it today.

[1] https://ccl.clozure.com


Coral Common Lisp was so useful that Apple at one point bought the team&product and distributed the software via their developer channel.

It had a nice programming interface to the functionality described in Inside Macintosh.


> 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


What’s amazing to me from that is that the Mac had even 1/4 the selection. Clearly both the PC and Mac software markets were in very early stages.

As a teenager when these books were in use, they were frustratingly expensive and unobtainable. I've since then always put great weight on the accessibility of documentation. E.G., MDN is a treasure for all.

I distinct remember the joy of finding a set of Inside Macintosh for cheap, and then the regret when I found several hundred pages repeated due to a printing error.

Inside Macintosh is a beautifully written piece of work (contrary to some other statements in the thread). No mention of Inside Macintosh should exclude the amazing Caroline Rose: http://www.storiesofapple.net/interview-with-caroline-rose.h...

One of the neat things about the original Inside Macintosh was that in addition to describing the toolbox APIs it also explained the hardware found in the original Mac with enough detail that one could write a driver (or an emulator).

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.


From Page 37:

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.


My favorite part so far:

> 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..


You didn't /have/ to really. I was a mac developer for 20+ years, and I never did 'register' them officially... even pretty big commercial apps wouldn't -- it was easy enough to have a unique sequence; one of the basic rule was that all lowercase ones were Apple.

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!


I've learned English just to be able to read Inside Macintosh. I was 14 at the time, with just primitive 'school' english that was completely useless in the real world. I started to read novels, SF books and all I could find to get better just so I could read Inside Mac. In fact, I probably have to thank Inside Mac from most of my English basics as it also taught me a lot :-)

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 :-)


Ah, the pleasure of Object Pascal for systems programming.

Looks so weird by today's standards. I can't believe it was once such a cool language for me. I did write some code for MacOS 6 back in the day.

The rise of languages with ML/Pascal inspired syntax means that it will be common again. :)

I wonder what they used to typeset it.

Possibly FrameMaker. I read later editions of the series from my local library ages ago, and IIRC there's a note at the beginning stating so.

The Wikipedia article about FrameMaker says it was first released in 1986, and for the Mac in 1990, five years after the original Inside Macintosh books were published.

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.

Maybe later editions, but in the beginning it was troff (I just talked to Chris Espinosa about it the other day).

Too early, I think Framemaker came out in 1986.

Does anyone know where I could find volumes IV and V as PDFs? Apple appears to have taken down or moved most of their legacy reference documentation. The internet archive has some CD-ROMs from the 90s, but they all contain reference documentation in an "Apple Doc Viewer" format that I would be hard-pressed to decode.

I'm not aware of any official PDF editions of those volumes -- they primarily consist of updates to the first three volumes, and were incorporated into other documentation before Apple started releasing electronic documentation. However, there are scans at:

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...


Thank you- that first link has exactly what I need!

I still have the "telephone book" edition in my library (the version printed on fine newsprint all in one)

Url changed from https://maeda.pm/2019/02/09/inside-macintosh-1985/, which points to this.



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: