MacOS X DP3
Rourke McNamara writes, "Some screenshots and my reactions after using Mac OS X DP3 for a few hours.
" Several interesting things: like seeing tcsh running top on MacOS. It's chock full of BSD goodness, but with that pretty interface on top. It'll definitely be interesting to see where this one heads.
Linux is great for what it is. Linux is a swiss army knife. It is most things to most people. There's nothing it wont do if you're willing to put forth the effort to use what's there. In itself that's a wonderful design philosophy. I've been using Linux for a long time and it amazes me what it can do when people put their minds to it. Gearheads love this sort of OS, and love to demonstrate it's ability to perform any function no matter how arcane or bizarre the procedure to get there is. The people who build Linux are pragmatists. Soured by years of lofty goals, but failed implementations, they work to make a system that solves all the problems, even if they have to compromise usability, simplicity, or advanced design. Efficiency is stressed at the system level. I've never encountered a general purpose computing task that could not be solved by Linux.
:-)
NeXT (and MacOS X I hope) on the other hand is more like a perfectly ergonomic, intuitivley simple yet surprisingly flexible single bladed knife. It doesn't have a corkscrew or scissors, But the handle grip doubles as a file and it is perfectly balanced along every axis. Ninjas use it for throwing, Butchers use it for cutting meat. Carpenters use it to score material and Master chefs use it to prepare dishes, but you wont be able to open a wine bottle, it wont loosen most phillips screws and you'll just make a mess if you try to open a can of peas or bottle of beer with it. It also wont fit in your pocket. However, if there was ever a knife that was a perfect balance of asthetics, utility, and well executed engineering, this is it. Again, a wonderful design philosophy. Programmers, bankers, artists, secretaries, they all have their fond memories of how great NeXT was. The people who built NeXT had only the highest standards in terms of design and executed them to the limits of technology, but no amount of good design can make an OS that is useful for everything, there's some things it just cant do. This is becasue efficiency is adddressed at the UI level. I've never used a system as elegant as NeXT.
It's no coincidence that alot of people who have used both try to make Linux look like NeXT and make NeXT as flexible as Linux.
-Rich
Let's not get sloppy here. The kernel which OS X and NextStep run on is the Mach kernel, written at Carnegie Mellon. It bears little or no resemblance to the BSD kernel.
In a microkernel, what we'd traditionally think of as a "kernel" is reduced to code supporting a set of abstractions for tasks, threads, memory objects, messages, and ports. Things like file systems, networking code, etc... are all implemented in user space using formal message passing to communicate with the "kernel". As a rule of thumb, if it can be implemented in a platform-independent manner, it's not in kernel space.
Mach is actually "OS Neutral". However, rather than having to port all of the system libraries of an OS to use this new, extremely different kernel interface, it's usually easier to write code which implements a the kernel API of another OS. Here's the BSD tie-in: BSD is one of the OS "personalities" available for Mach. Someone has done the work for a Linux personality too (MkLinux). In this sense, OS X is not BSD at all- the kernel code is completely different. On the other hand, it will include a full BSD 4.4lite environment of system programs and utilities, and uses much of the BSD kernel code to implment filesystem, networking, etc... that is "outside" the kernel.
What I don't know is what API the bulk of OS X is based on. Perhaps the different run time environments / programming models used by OS X (Carbon, Cocoa, etc...) are using diffent base kernel APIs. I'm guessing they didn't port all the old MacOS stuff to the BSD personality- it would make more sense to write a MacOS personality for Mach. How about Cocoa- does anyone know if the new / NextSteppish stuff has the BSD kernel API under it?
http://www.xappeal.org/archive/dp3.shtml
Take a look at this, for instance, it's the Text System Overview for OS-X. Read that and then come back and tell me that OS-X/Aqua/Cocoa is nothing special, and with the proper skins GNOME provides the exact same thing to developers.
That is just the beginning. There is EOF, which is the most advanced, high level, database independent access framework available. It's so far beyond ODBC, JDBC, and the frameworks available in commercial appservers like Dynamo and WebLogic that it really isn't even funny.
After 11 years, InterfaceBuilder is still without peer. It doesn't generate code. Nobody else seems to get it.
The fact is, Mac OS-X has the most powerful object-oriented API that has been under development and constant refinement for over 12 years. It has been shipping since 1989. It's been through four major revisions since then.
You may be able to make GNOME look something like Aqua, but it's still going to be a pain in the ass to write applications with a decent UI for it. I use GNOME every day and even the cut and paste support totally sucks. It's been 16 years since the Mac came out, you'd think that every GNOME app would have real cut and paste. I use Navigator, GNOME Terminal, and XChat every day. Only Navigator actually has "cut" in the menu. A quick survey of other GNOME apps that come with my system reveals that only a few have cut and paste support (GEdit comes to mind). Of course, Navigator's clipboard only works within Navigator. The others apps use something that vaguely resembles cut and past but isn't even close (middle clicking causing pasting of the selection does NOT count as real cut and paste). You guys really have no idea what you're missing here....
Burris
Some comments:
tcsh isn't running on MacOS. Remember that Mac OS-X is essentially OpenStep 6.0 (the NeXT operating system). Rhapsody was akin to OpenStep 5.0. It really is a NeXT, with Mac compatibility (Carbon and Classic) and Java.
Most BSD source will port pretty easily. The biggest gotcha I've found is that the HFS+ filesystem isn't case sensitive. Like NTFS, it preserves case but you cannot have two files with the same name differing only in case (i.e. you can't have "README" and "readme" and "ReaDMe" in the same directory). Prepare to hack some makefiles.
When you miniaturize a window, a snapshot of the window is taken and placed in the dock. This is where the magnification feature is really handy. You can actually see which document the icon represents before you expand it.
The "sheets" functionality is way cool. Modal dialogs like save panels are attached to specific document windows and do not affect other documents. They scroll down from the title bar and cover part of the window. However, they are translucent so you can still see some of the document behind it.
Another new thing are "drawers" which are sub-windows that scroll out when you activate a control. For instance, in the Mail application, hitting the "Mailboxes" menu item causes a "drawer" containing your list of mailboxes to slide out from the side of your mail reading window.
The finder has plug-in support for document previewing... I was quite surprised to select WAV and AIFF sound files and find that I could play them from within the finder. Writing your own plugins is not that difficult.
Mac OS-X really is going to be the coolest operating system around. I've been waiting years for it...
Burris
I don't have DP3, I used on someone else's machine. I never signed an NDA. But I'm still not sure what the legal ramifications are of posting information about it, so I took down those links. OS X is truly amazing and I can't wait until the release. Then I'll be able to talk about it all I want without worrying about legal issues.
The server is not MacOS X, but OpenBSD on a PIII 450. Admittedly, Linux would have fared better against the /. effect. However, the server never crashed, it just became very slow and the mysql server started to fail.
The images were stored in the file system, but the pages that show them in a "slide show" were generated via php3. This is becuase I just took the uploaded screenshots and ran the same program against them that I use for my other pictures. I had not idea how crushing the ./ effect could be. Again, I apologize.