There's an appropriate saying about history: it doesn't repeat, but it often rhymes.
A good cross-platform app isn't just dumbly copied at the whiteboard stage of MVC planning. It needs to have certain similarities, sure, but the key interface elements will integrate with the host operating system.
Since Windows has window-attached menu bars, why don't cross-platform apps on a Mac have the same thing? Don't say because there's a menubar object to attach commands to. I've seen plenty of apps that use nspopupbuttons to create window-attached menus while clearing the global menu. The reason it's not done is that it's egregiously bad taste. Defeating the user's expectation of how the app interacts with the operating system forces the user to break out of typical interaction into some unknown set by the developer. It's almost never a pleasant transition because someone with the ego to say "do it my way or else" generally doesn't care about testing on users.
In this case, Skype's mistake was breaking OS X's window management portion (Expose), along with the fact that mac applications are almost always one window : one task.
I agree that the application shouldn't be a verbatim copy on each system. There are obviously platform specific UI and methods that need to be adhered to. My point is that the general interface should be similar enough to be able to move a user from one platform to another and they would be comfortable enough to use the application with just the minimal knowledge of that host platform.
A good cross-platform app isn't just dumbly copied at the whiteboard stage of MVC planning. It needs to have certain similarities, sure, but the key interface elements will integrate with the host operating system.
Since Windows has window-attached menu bars, why don't cross-platform apps on a Mac have the same thing? Don't say because there's a menubar object to attach commands to. I've seen plenty of apps that use nspopupbuttons to create window-attached menus while clearing the global menu. The reason it's not done is that it's egregiously bad taste. Defeating the user's expectation of how the app interacts with the operating system forces the user to break out of typical interaction into some unknown set by the developer. It's almost never a pleasant transition because someone with the ego to say "do it my way or else" generally doesn't care about testing on users.
In this case, Skype's mistake was breaking OS X's window management portion (Expose), along with the fact that mac applications are almost always one window : one task.