Mac OS applications are not very friendly

Long before having a Mac, I learnt about it interface and the Application/Window relationship on Mac OS.

You see, there is a fundamental difference between Linux/Windows application and Mac OS application. While in the first two the window is the application (and closing the windows, closes the application), on Mac OS it is not quite like that: you can have an application running without any windows (it would still show on the task list and it would have a menu on the top, but you may have no windows at all.) It makes sense for some applications to don’t have any windows, as it makes sense for some applications to simply disappear if there are no windows open.

Examples: if you are using some text editor, when you close your window/document, it really means you are done? Maybe not, maybe you just want to close that document before starting a new one. In this case, it makes sense to have the application still running. The same goes when you have more than one document open: displaying it as two separate windows make them independent of each other and you can choose how to work with them (that’s something it took years to Microsoft to realize and dump the MDI [multi-document interface] Word was using since it was called Word.)

So, basically, what you have on Mac OS is that every document should be a window and closing all documents don’t close the application.

One of the things that annoys the hell of me is trying to use Mac OS applications in a Mac OS way. One example is Safari: If you follow the idea behind the window/application Apple introduced, you’d have one Safari window for each site. The thing that annoys me on that is that there is no visual feedback about what it is doing. Firefox have the spinning circle, Safari has nothing. To make it display any feedback, you have to enable tabs, which means you’d start opening tabs for every page, which is not the way you should use this. And, to be honest, have a single, dangling tab just to display a damn spinning circle is quite stupid.

Mail.app is another application that completely fails on user feedback. I have some 20-something filters and my IMAP server is not that fast. So, when I start the application, it does nothing. Then it beeps. And displays nothing. And then, suddenly, it displays the mail counts. And there is this space in the sidebar which says “Mail activity”. A completely lost space which could be used to display, for example, “Retrieving your email”, “Applying filters”, “Checking new mail on folder X”.

Other applications simply decide not to follow the window/application metaphor. One example is PhotoBooth. I really like to take a picture of me from time to time and update my 15-something social networks site (well, from “time to time” more likely to be “every year or so”.) The thing about PhotoBooth is that, if you close the window, the application closes too.

Software Update is ever worst. If it doesn’t find an update, it displays “There are no updates” and, when you click “Ok”, it simply disappears. No window, no application, no nothing. What kinda of user feedback is that? Show the user that the update list is empty and let the user close the window or the application. Like every other Mac OS application.

And, on top of that, all those applications where produced by Apple itself. And I won’t even comment about iTunes, which doesn’t even follow the default theme you’re using.

Write once, run in just one place

Oh, Mono running natively on Mac OS X, thanks to Gtk+ Native widgets. But “MonoDevelop has pretty much the same feature parity than Linux does. There are a few missing features that we hope to resolve in the future, and there is plenty of room to improve.” Because multi-platform languages aren’t.

Edit 1: And no, this is not a post to prize Mono. All credit goes to the Gtk+ guys who managed to do the hard work of porting Gtk+ to use the native widgets. Actually, I’m pretty disgusted that De Icaza is again trying to sell Mono taking credit of other people’s work.