I've spent the past few days working on my USENIX 2000 presentation. "Challenges of Integrating the Mac OS and Unix Environments." I thought at first that it would be a really short thing, like the paper I did for FREENIX last year, but there is a lot of wacky stuff we've done when you look back at it, and so there is a lot of good material to draw from. I decided to distill it down to filesystem and multi-user issues so that I could get a handle on it. See, I've procrastinated, and the paper is due to the conference committee tommorrow, so I didn't give myself much time. Anyway, it turned out to be a view from the Unix side of things, since that's my problem space, so I'm going to need to talk to the Carbon folks a bit for their take on it.
In the process of talking to some people about this, I regained some respect for Mac OS. It's really easy in hindsight to look at it today given the kinds of computers we have now, and say that there were some bad decisions made early on, but that's totally not the case. Mac OS is an impressive bit of work. The thing is that it was really designed to be a one-user-one-computer system, and that was a good call given the hardware they started with, and the whole point of this newish "personal computer" idea. And it worked really well for a good long time. When you consider that it ran in less memory than my Palm Pilot has... well, that's not bad at all.
It's also interesting to see how implementation details turn into design further down the road. When you look at Mac OS and Unix, which evolved quite independantly, and see how things progressed, you can see it happen in both cases, and its easy to take for granted that one solution is The Right Thing because it so clearly works for you, but there could be a completely different thing that is actually just as good, but you would never have done it that way, because your situation was different.
I hope to capture some of this stuff in the paper, which will be online after the conference, which is in June.