"I finally got the iPhone/iPad port [of Dali Clock] working. It was ridiculously difficult, because I refused to fork the Mac OS X code base: the desktop and the phone are both supposedly within spitting distance of being the same operating system, so it should be a small matter of ifdefs to have the same app compile as a desktop application and an iPhone application, right? Oh ho ho ho. I think it's safe to say that MacOS is more source-code-compatible with NextStep than the iPhone is with MacOS."

OPENSTEP isn't an implementation, it's a full OS with an implementation of the OpenStep spec, as well as all the old NeXT APIs (old pre-OpenStep APIs, DriverKit, MusicKit, whateverKit), plus the full Unix goodness (manpages, BSD Unix APIs, etc.). However, there's little meaning in arguing which platform has more libraries (in terms of binary volume), because that's not what I meant to say. I meant to emphasize that the reason the iPhone OS APIs were redesigned and rewritten most likely has little to do with fitting the APIs on a "small" device, as compared with a 1996 computer, the iPhone's performance is stellar. If it were just that, Apple could just as well have dumped half of Cocoa (AppKit part) and created a subset with just a few classes and features added for multi-touch and window handling on small-screen devices. My suspicion is that they tried that, and concluded that the it was just way too hard to do, as the design logic in AppKit is quite big-screen-WIMP centric.