With all of the hype and interest surrounding Rhapsody, Apple's next-generation operating system, it's only natural that people are also interested in NeXTSTEP as well. NeXTSTEP (now commonly called OpenStep/Mach) is the operating system that Rhapsody will be based upon.
NeXTSTEP itself is about a decade old (give or take a few years), and is based on the Mach kernel, with a layer of BSD Unix compatibility on top. Unix is an arcane, mysterious, and even magical beast. There are many "similar-but-different" variants of Unix out there, but they all share the common traits of being industrial strength OSs that geeks love and average users are baffled by.
It'll be interesting to see how Apple deals with the issue of attempting to merge the most user-friendly OS on the planet to (arguably) the most user-hostile OS on the planet. Don't get me wrong: Unix is a great environment if you're familiar with it and enjoy that kind of thing, but it fails the "mom test" with flying colors. But I digress...
I've long been interested in NeXTSTEP--in fact, I have the complete NeXT programming library (circa 1990) on our reference shelf. I'd considered getting into NeXTSTEP development back then, but school and a fit of sanity prevented me from pursuing it. Still, I familiarized myself with the user and programming environments, and I was quite impressed with both.
When I first heard about Apple's acquisition of NeXT, my reaction was "You've got to be kidding me." It just didn't seem to make much sense to me. The more I thought about it, however, the more the idea intrigued me: a stable, industrial-strength OS with a development environment that still hasn't been matched, a Unix shell, all with a nice GUI layered on top for the icing.
With that in mind, I set out to purchase a sleek NeXT Cube (the machines NeXT used to sell before they became a software-only company). I ended up getting a Color NeXT Cube Turbo, fully loaded, with a nice monitor, keyboard, and NeXTSTEP 3.3 (a bit behind the times--it's currently at 4.2) preinstalled.
I've since been playing around with the machine to familiarize myself with the operating system, development environment, etc. It seems that many people share my interest in the Cube and NeXTSTEP, because I've received numerous requests to write up a few paragraphs of my impressions of the machine.
First, let it be said that this machine is about 5-7 years old, and is running on relatively outdated technology (a 33mHz Motorola 68040 processor). Despite this, and despite the prostrations of how slow Display Postscript is (NeXTSTEP's imaging model), the machine is actually quite responsive.
The user interface takes some getting used to, not because it is poorly designed, but because it is simply different than what I usually work with. Before anyone gets worried about learning a new GUI, rest assured that Apple is putting a MacOS face on Rhapsody, and will be taking the best of both worlds into account.
NeXTSTEP ships with a variety of productivity tools, including a word processor, a system-wide spelling checker and dictionary, a terminal emulator, administration tools, and a number of other niceties. There are also a number of excellent products available for it, including a web browser called "OmniWeb" that I'd rather use over Netscape or Internet Explorer any day.
Keep in mind that this is a true multi-user, multi-tasking machine -- you can fire up Terminal.app and open up a Unix shell (or a dozen) and geek out if you wish. However the majority of the things you do day-to-day on the machine consist of using well designed graphical applications, just like on a Macintosh.
Behind the scenes, though, you can be running an extremely robust server. I set up a ftp server, web server, ircii, Perl, etc. all with relative ease, and it's performing solidly but quietly behind the scenes while I work on it. If you care to check it out, you can visit the rather uninteresting web site and ftp mirror at:
We're using the machine both as a learning tool, and as a way to distribute the chores of ftp'ing (downloading) our software. When you click on a link to download one of our products from our web site, a program picks from a list of our servers to initiate the ftp session. The ftp sites are automatically mirrored, giving you quicker downloading response times.
I must say that as a programmer, I love the idea of working with a really well designed GUI, yet still have a shell (command line) to muck around in. Having all of this on top of a beefy OS like Unix with a robust kernel like Mach is geek paradise. My major concern is how this will play with "average" users, and this concern has been echoed by others as well.
For the vast majority of things you'd want to do with a computer, you can run NeXTSTEP as it exist now and never even know you're running Unix (except that your machine won't crash). I'm sure Apple is working furiously to make sure that the OS will be even more user friendly by the time it gets into your hands. Then if you want to mess around on a command line, run a server, or whatever, you can--but you can also ignore it and continue happily using your computer to get work done.
I, for one, can't wait.
Ambrosia Software, Inc.