As a longtime NeXTSTEP user, I still remember the first time I perused the filesystem of Mac OS X 10.0 (Cheetah) in 2001. And I distinctly remember thinking to myself that Apple basically took NeXTSTEP and slapped their own window manager and app framework on it only. The filesystem and toolset was nearly identical, and I even found several config files (I don't remember which ones) that still had NeXTSTEP listed in the comments.
As I evolved to develop iOS apps in the 2010s, NSObject (NS=NeXTSTEP) continued to be a reminder of this same lineage.
> Apple basically took NeXTSTEP and slapped their own window manager and app framework on it only
Yup, that’s precisely it, and Apple made no secret of this. As early as the mid 90s, Apple knew their OS was a dead end and they needed to start over with a new OS as the base. Their in-house effort (Copland) was becoming an obvious failure and it was apparent they needed outside help. At the time a lot of people thought BeOS was going to be it, but the deal fell through when it became apparent that having Steve come back was a priority, and buying NeXT came with him. But it was always gonna be the case that the OS was going to be totally replaced and only surface level UI conventions would be maintained from classic macOS.
I remember the Unix-ness was a big part of OS X’s nerd popularity. People were talking about real Unix terminals, for example.
Later Windows also aimed for the same thing with their new console app and Linux support. Yet macOS has remained the same. The Terminal app feels essentially unchanged and there’s no good app package service (eg brew etc - these are third party and can mess up your system.)
Even Xcode is, well… look how extensions were restricted.
Modern macOS feels boring, but also not aimed at developers.
Back in early 2000s it was a top choice if you wanted some kind of unixy box with a polished GUI desktop that "just worked", especially if you wanted a laptop. BSD and Linux were fine, but as a desktop OS they were a very different experience from today, took way more tinkering even on a desktop PC as anyone who had to write their own X11 config will tell you. Today installing a Linux desktop distro is so easy and hardware compatibility is so good that the tables have turned, also if you are the type of user that wants a big DE (no judgement) the Linux DEs today are far more polished, people still complain today but if you go back in time it was a mess. These days MacOS seems extremely restrictive and awkward by comparison, on the one hand a huge chunk of the userland got stuck in time, while Apple have become more and more hostile to any kind of changes and customisations to the more unixy side of the system.
Is this supposed to be a bad thing?! It's a rock-solid workhorse. If they changed it I would stop trusting macOS to be any better than the linux flavor of the month
I've never had brew mess up my system and I've been using it and MacOS for over a decade... How can it mess up your system? I think one time brew itself got wedged on updates and I didn't care to bother to figure out what it was, followed the instructions on how to properly blow it away, and reinstalled with barely a hitch.
Apple is pretty clear in it's intention of making SwiftUI the blessed UI toolkit, however, they haven't deprecated AppKit or UIKit in any way and keep updating it, as they demonstrate at every WWDC with "what's new in AppKit" (e. g. for 2024: https://youtube.com/watch?v=McKYDogUICg).
They also provide means to mix-and-match AppKit and SwiftUI in both ways. In no way are they trying to "have you believe it's all SwiftUI now". It is simply the next generation of UI frameworks.
Around 2010, I started learning Objective-C to be part of the whole native mobile development movement. What I didn’t know when getting into this was how much of a history lesson I would have to participate in to understand the background behind so many aspects of the language and the core frameworks.
Yes, I had a similar experience with Objective-C. While I found it generally odd, it makes complete sense as a C/C++ alternative with reflection capabilities and a lean event loop. I disliked the memory management. The language hasn’t aged well but that doesn’t mean it lacked clever ideas for its time.
A tangent I know, but looking at those old screenshots really made me miss that era of OS X. The first versions of Aqua with pinstripes were a bit busy for my liking, but by the Mountain Lion time frame it was just lovely. Actual buttons! Soft gradients! Icons that had colour!
I am still very sad that the point we started getting high-DPI displays everywhere was about the same time we decided to throw away rich icons and detail in UIs in favour of abstract line art and white-on-white windows.
Maybe it was on purpose? Those fancy textures and icons are probably a lot more expensive to produce when they have to look good with 4x the pixels.
iOS 4 on an iPhone 4 and OS X whatever-it-was that was on the initial retina MacBook Pros are still very clear in my memory. Everything looked so good it made you want to use the device just for the hell of it.
I run an iMac G4 with 10.5 as a home music player. The strange thing is that it feels so easy to use. All the ingredients are the same in modern macOS but the feel is very different.
It’s hard to say why. Clarity in the UI is a big one (placement and interaction, not the theme, ie what we’d call UX today). But the look of the UI (colour, depth) really adds something too. Seeing a blue gel button sparks a sense of joy.
I disdain the modern UI, especially how it treats the scrollbar. On MacOS, even with "Always Show Scrollbar" turned on, applications and web pages try their worst to hide scrollbars or make them unclickable for the users. Check the webpage of ChatGPT for example.
I don't know who the hell had the original idea to do that, but I'll curse in my head for eternity.
Absolutely. WO was a brilliantly designed framework (especially for the time) and being somewhat disillusioned with the state of web development in the last decade, I'm still using it as the UI layer for some of my own applications. It just can't be beat when it comes to throwing together a quick app, essentially being AppKit for the web. And as you say, it's influence was great, although I often wish it had a little more influence.
EOF was a great ORM framework as well and I never really understood ORM hate - until I had to use ORM frameworks other than EOF which generally feel … not that great. I ditched EOF a decade back though, due to it being, well, dead, and replaced it with Cayenne which is an excellent, actively developed ORM that feels very much inspired by EOF's design principles.
In the last few years, I've been working on a WO inspired framework (to the point of almost being a WO clone on the component/templating side) as a side project. It's still very raw when seen from the outside, no documentation and still operating under a bad codename - but hoping to make a release and port my remaining WO apps in the coming year. Hopefully it will add at least a bit to WO's influence on the web development world :).
> Along with analysis and debugging tools, Apple still gives away everything needed to build apps for the Mac, iPhone, or iPad.
Very conveniently glossing over the fact that developers still have to pay an annual Apple Developer Program subscription fee in order to be able to distribute their apps.
TANSTAAFL, as always.
Very conveniently glossing over the fact that if are developing for the Mac, no you don't. You can distribute it outside the store without paying anything.
Steve Jobs was very open about taking things from elsewhere and refining them for consumption.
Lisa and Mac were products of his seeing the Smalltalk GUI at his visit to PARC. There was nothing off-the-shelf, so they had to be built from scratch.
Of NeXT he said that he had been so bamboozled by the GUI at his PARC visit that he missed the other two, arguable more important concepts: OO and networking.
NeXT used as much off-the-shelf components as possible: Ethernet + TCP/IP for the network, Unix for the OS, Adobe's Display Postscript for graphics, Stepstone's Objective-C for the OO parts (which in turn mashed together C and Smalltalk). It bundled TeX, Sybase SQL Server, a bunch of scripting languages, Webster's dictionary, etc.
They only built themselves what they absolutely had to to get the machine and user experience they wanted.
He wasn't, his position regarding UNIX beards was well known.
Supporting UNIX was a business opportunity to go against Sun and other graphical workstations.
There are recordings of NeXT meetings, and his famous appearance at USENIX, regarding this.
Note that everything that matters on NeXTSTEP is based on Objective-C and Framework Kits, zero POSIX, beyond what was need for those government and graphics workstation contracts.
I mean, Mach 2 was cutting-edge and freely available from CMU. Probably less a love of UNIX and more the necessity of having a practical base for a new workstation OS.
[+] [-] jasoneckert|1 year ago|reply
As I evolved to develop iOS apps in the 2010s, NSObject (NS=NeXTSTEP) continued to be a reminder of this same lineage.
[+] [-] ninkendo|1 year ago|reply
Yup, that’s precisely it, and Apple made no secret of this. As early as the mid 90s, Apple knew their OS was a dead end and they needed to start over with a new OS as the base. Their in-house effort (Copland) was becoming an obvious failure and it was apparent they needed outside help. At the time a lot of people thought BeOS was going to be it, but the deal fell through when it became apparent that having Steve come back was a priority, and buying NeXT came with him. But it was always gonna be the case that the OS was going to be totally replaced and only surface level UI conventions would be maintained from classic macOS.
[+] [-] mepian|1 year ago|reply
EDIT: I might be wrong about the first part, see my comment below.
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] vintagedave|1 year ago|reply
Later Windows also aimed for the same thing with their new console app and Linux support. Yet macOS has remained the same. The Terminal app feels essentially unchanged and there’s no good app package service (eg brew etc - these are third party and can mess up your system.)
Even Xcode is, well… look how extensions were restricted.
Modern macOS feels boring, but also not aimed at developers.
[+] [-] tomxor|1 year ago|reply
[+] [-] PittleyDunkin|1 year ago|reply
Is this supposed to be a bad thing?! It's a rock-solid workhorse. If they changed it I would stop trusting macOS to be any better than the linux flavor of the month
[+] [-] EasyMark|1 year ago|reply
[+] [-] throw0101b|1 year ago|reply
* https://www.gocomics.com/foxtrot/2002/02/25
[+] [-] carlosjobim|1 year ago|reply
It's called the App Store.
[+] [-] WWLink|1 year ago|reply
[+] [-] keyle|1 year ago|reply
It's actually hard not to know anything about the old Appkit, as much as Apple would have you believe that it's all SwiftUI now.
[+] [-] Longhanks|1 year ago|reply
They also provide means to mix-and-match AppKit and SwiftUI in both ways. In no way are they trying to "have you believe it's all SwiftUI now". It is simply the next generation of UI frameworks.
[+] [-] chrisbrandow|1 year ago|reply
[+] [-] larusso|1 year ago|reply
[+] [-] wslh|1 year ago|reply
[+] [-] myko|1 year ago|reply
[+] [-] mark_round|1 year ago|reply
[+] [-] deergomoo|1 year ago|reply
Maybe it was on purpose? Those fancy textures and icons are probably a lot more expensive to produce when they have to look good with 4x the pixels.
iOS 4 on an iPhone 4 and OS X whatever-it-was that was on the initial retina MacBook Pros are still very clear in my memory. Everything looked so good it made you want to use the device just for the hell of it.
[+] [-] keyle|1 year ago|reply
[+] [-] vintagedave|1 year ago|reply
It’s hard to say why. Clarity in the UI is a big one (placement and interaction, not the theme, ie what we’d call UX today). But the look of the UI (colour, depth) really adds something too. Seeing a blue gel button sparks a sense of joy.
[+] [-] markus_zhang|1 year ago|reply
I don't know who the hell had the original idea to do that, but I'll curse in my head for eternity.
[+] [-] lapcat|1 year ago|reply
You may be thinking of Tiger, because Apple already started removing color from Finder icons and such in Leopard.
Leopard also introduced a transparent menu bar and 3D Dock.
[+] [-] recursivedoubts|1 year ago|reply
[+] [-] mycall|1 year ago|reply
[+] [-] spiderfarmer|1 year ago|reply
Maybe I'm a bit too negative but for example when people romanticise stuff from the middle ages I can't help but think of how it must have smelled.
[+] [-] threeseed|1 year ago|reply
EOF was probably the first ORM and Direct To WS the first web-based no-code tool.
[+] [-] hugi|1 year ago|reply
EOF was a great ORM framework as well and I never really understood ORM hate - until I had to use ORM frameworks other than EOF which generally feel … not that great. I ditched EOF a decade back though, due to it being, well, dead, and replaced it with Cayenne which is an excellent, actively developed ORM that feels very much inspired by EOF's design principles.
In the last few years, I've been working on a WO inspired framework (to the point of almost being a WO clone on the component/templating side) as a side project. It's still very raw when seen from the outside, no documentation and still operating under a bad codename - but hoping to make a release and port my remaining WO apps in the coming year. Hopefully it will add at least a bit to WO's influence on the web development world :).
https://github.com/ngobjects/ng-objects
https://www.youtube.com/watch?v=-obvt93wSFc
[+] [-] pjmlp|1 year ago|reply
Anyone familiar with Java EE will find a familiar home in WebObjects, specially the Java rewrite.
[+] [-] acka|1 year ago|reply
Very conveniently glossing over the fact that developers still have to pay an annual Apple Developer Program subscription fee in order to be able to distribute their apps. TANSTAAFL, as always.
[+] [-] hyhconito|1 year ago|reply
iOS, yep you're right.
[+] [-] rcarmo|1 year ago|reply
[+] [-] shae|1 year ago|reply
[+] [-] andrewstuart|1 year ago|reply
I thought with his not invented here syndrome and desire to control everything and attraction to simplicity and graphical UI he would have hated unix.
How did he come to love unix enough to build NextStep on it?
[+] [-] mpweiher|1 year ago|reply
Lisa and Mac were products of his seeing the Smalltalk GUI at his visit to PARC. There was nothing off-the-shelf, so they had to be built from scratch.
Of NeXT he said that he had been so bamboozled by the GUI at his PARC visit that he missed the other two, arguable more important concepts: OO and networking.
NeXT used as much off-the-shelf components as possible: Ethernet + TCP/IP for the network, Unix for the OS, Adobe's Display Postscript for graphics, Stepstone's Objective-C for the OO parts (which in turn mashed together C and Smalltalk). It bundled TeX, Sybase SQL Server, a bunch of scripting languages, Webster's dictionary, etc.
They only built themselves what they absolutely had to to get the machine and user experience they wanted.
[+] [-] pjmlp|1 year ago|reply
Supporting UNIX was a business opportunity to go against Sun and other graphical workstations.
There are recordings of NeXT meetings, and his famous appearance at USENIX, regarding this.
Note that everything that matters on NeXTSTEP is based on Objective-C and Framework Kits, zero POSIX, beyond what was need for those government and graphics workstation contracts.
[+] [-] Keyframe|1 year ago|reply
Even though IRIX had its quirks.
[+] [-] pram|1 year ago|reply
[+] [-] WillAdams|1 year ago|reply
Anyone using GNUstep successfully?
[+] [-] pipeline_peak|1 year ago|reply
I can’t stand when people bring this up with such pride. Like the web couldn’t have came on SPARC or anything other than the glorious Steve Jobs cube.
[+] [-] pjmlp|1 year ago|reply
Rails, as concept, existed in Tcl and Python, AOLServer, Vignette, our Safelayer, Zope,...
Yet it took Ruby, and a cool demo, to put that idea into world scale motion.
[+] [-] vrodic|1 year ago|reply
[+] [-] pjmlp|1 year ago|reply
Object Pascal got replaced with MPW environment, and a C++ version of Toolbox got introduced.
Additionally Metrowerks with the PowerPlant C++ framework, was eventually the main Apple partner for Mac OS development.
[+] [-] helf|1 year ago|reply
[deleted]