One of the things that I’ve come to love about Mac OS X is the way it handles the active applications. Let’s first see what other systems do in order to talk about the advantages of this approach.

All other desktop environments—strictly speaking, the ones I’ve used, which include GNOME, KDE and Windows—seem to treat a single window as the most basic object. For example: the task manager shows all visible windows; the key bindings switch between individual windows; the menu bar belongs to a single window and an application can have multiple menu bars; etc.

If you think about it, this behavior doesn’t make much sense and this may be one of the reasons why Windows and KDE offer MDI interfaces. (Remember that an MDI interface is generally a big window that includes several other within it; the application is then represented by a single window, thus removing auxiliary windows—e.g., a tool palette—from the task switcher, etc.) Unfortunately, other systems such as GTK/GNOME do not have this interface and the application’s windows are always treated individually (just think how annoying it is to manage The GIMP).

So, why is (IMHO) Mac OS X better in this aspect? This OS’s interface always groups windows by the application they belong to. The dock (which is similar to a task bar, but better ;-) shows application icons; the task switcher (the thing that appears in almost any environment when you press Alt+Tab) lets you switch between applications, not windows; there is a single menu bar per application; etc. Whenever you select an application, all of its windows become active and are brought to the front layer automatically. In general, you have many different windows visible at a time, but they all belong to a rather small subset of applications. Therefore, this makes sense.

At last, let me talk about the menu-bar-at-top-of-screen thing I mentioned above, which is what drove me to write this post in the first place. Before using a Mac, I always thought that having the menu bar detached from the window didn’t make any sense, specially because different windows from a single applications often have different menus. I had even tried enabling a setting in KDE that simulates this behavior, but didn’t convince me at all because the desktop as a whole doesn’t follow the concept of treating applications as a unit, as described above (plus the applications are not designed to work in such a interface).

However, after using Mac OS X for a while, I’m hooked to this “feature”. Accessing the menu bar is a lot easier than when it is inside the window. And being able to do some actions on the application, no matter which of its windows is visible, is nice. You must try it to understand my comments ;-)