In MacOS 1-9, all windows of an application moved forward or back together. In MacOSX, they move independantly - sometimes that is OK, but when they represent aspects of a single concept, it is not. Apple needs to establish guidelines for the new rules.
/quote]
I don't consider this a problem. Programmers just have to be conscious about the new window behavior and use more utility windows and similar views like they should have done but were too lazy.
For example Eudora's Task Progress window gets in the way because if it didn't exist I could finish with one mailbox, close it, and the next one pops into the foregound. All Qualcomm needs to do is make it a utility window, perhaps a global utility window.
These are small changes which don't need explicit guidelines. Use common sense.
Since System 7, all applications used a standard API to notify users of significant events. That API does not seem to work in OSX.
/quote]
I think the new method is CFLog.
However the old method which used to flash the app menu should still be supported via the Dock. Flash an app's icon in the Dock if it sysbeeped.
Since System 1, the menus have been designed to be very responsive - that did have some drawbacks, such as stopping background tasks, which time slicing should solve. But in MacOS X, it takes a noticeable amount of time after you click on a menu before it appears.
/quote]
Part of this problem is not enough Carbon apps are using Carbon events. Instead they are polling the event manager. If they used Carbon events they would be notified the instant the mouse has been clicked.
Another solution is to have the WindowServer manage the menus instead of each application managing it's own menu bar.
In general, Apple seems to have lost its major advantage: in many ways, MacOS X is no more usable than Windows 2000.
The major problem in my view is Cocoa's horrid text selection. Classic, Carbon, and even Swing select one way while Cocoa selects like windows. I hate it.