Native Mac OS X applications, be they Carbon, Cocoa, Java, or BSD, are
nice and snappy. Cosmetic problems abound, but stability is quite good for
a developer release. The newer apps are the flakiest. The newly
Carbonized Finder-like thingie (it's not the Finder Mac OS users know and
love, nor is it the Finder that will ship with Mac OS X which Apple is
still keeping close to its vest) is the most crash prone, almost gleefully
dying and then restarting in the background while you do other things.

There is very little consistency in the UI widgets at this point. Carbon
application widgets (menus, buttons, windows) look and behave exactly like
classic Mac OS widgets. Cocoa widgets look and behave like Mac OS X Server
widgets, which are basically NEXTSTEP widgets repainted to look sort of
like Mac OS. A particularly annoying example of these foreign widgets
dressed up in Mac OS clothing is the behavior of hierarchical menus in
Cocoa.

In classic Mac OS, the green path in the screenshot below is a perfectly
valid way to select "Page Break" from the sub-menu. Experienced Mac users do
this quickly, and without thinking. Try that same move in NEXTSTEP, and
consequently in Mac OS X Server and Mac OS X DP2, and it won't work. The
orange path is the only way. It's this kind of attention to detail that
distinguishes the classic Mac OS UI, and its presence in Mac OS X is badly
needed if it is to ever "feel" like Mac OS.

Green: Mac OS.
Orange: Cocoa.

Cocoa applications also support the
(un)usual array of NeXT-like
functionality including universal tear-off menus, NeXT-like window resizing
widgets, and so on--not particularly offensive, but not very Mac-like
either.

All native application windows enjoy opaque dragging. In informal
"shake the window around while compiling and linking an application in
ProjectBuilder" testing, screen redraw in DP2 feels a lot more responsive
than the same feature in Mac OS X Server. It's apparent that some form of
hardware video acceleration has been incorporated into DP2, but the actual
presence of "Quartz" (Apple's next-generation low-level graphics library)
is harder to pinpoint. Some things suggest its presence, like the
translucent drag-select on the desktop (see
screenshot) and the strange ability to rotate PDFs in real-time in
DP2's "ViewPDF" app. These seem like things that no one would bother
implementing by hand in DP2 when they're bound to be trivial to accomplish
via Quartz.

Java applications behave, well, like Java applications. It's difficult
to gauge Java performance when so much depends on the particulars of the
JVM implementation, and DP2 is still using Symantec's venerable JIT. Java
applications built on the Cocoa APIs are nearly indistinguishable from
other Cocoa applications, but I'm not sure why anyone but a die-hard Java
devotee would build an application with a cross-platform language like Java
that can only run on a single platform--Mac OS X being the only place where
Cocoa is available. (More on the cross-platform puzzle later.)