Ooey gooey UI
Because I'm doing some development work involving a GUI, I've been doing some freshening up since the horror freak-show that was CMPUT 301, a.k.a. the root of all evil, a.k.a. the worst class I have ever taken ever ever. This has so far entailed the perusal of interface guidelines for various systems, including the Macintosh. Now I am not a Mac person, let me state that up front. I have experience with Windows, Linux and Unix, in that order in terms of time spent with each, but my time with Macs has been limited to at most putzing around on other people's systems.
In going through a comparison between Windows-centric design and a Mac-centric design, I found a feature on Mac OS that I have decided is now a must-have in ALL OSs. Yes, Macs do something better than any other system, I admit it. Yes, yes, I was wrong, all my posturing about how they are inferior was for naught, Apple triumphed in the end, blah blah BLAH. Get over it.* (Asterix footnote for Macaholics only.)
The devilish bit of interface I found so striking is the Mac OS X style of application install. There is no installer program, ala Windows. There is no tarball full of files to compile ala Linux. Most profoundly, there are no files at all. Just one bundle, which you drag into a folder. That's it, and at the same time that's it. It's so simple, it's genius. One of the biggest peeves I've had of any system is the methods of installing/removing applications. On Windows, the installer programs are nice, offering a unified single point of contact for said applications, but that point of contact can break if something behind it changes (ie. a file gets renamed), and at that point, you are on the brink of that mighty steep cliff called FUBAR. On Linux, well, the less said of ./configure and ./make -install, the better. Not only is this an arcane process, but in my case it forces me to resign myself to ignorance. "Go, install yourselves little files. Flutter off to the far reaches of my computer and hide yourself. I just hope I don't need to get rid of you," I think. There are but three blessings that offer redemption to this approach, which in my eyes almost breaks even. First, with Linux, when you install it, you often get all the programs you ever use in one swoop, so there is little need to bother with this unless you're doing something specialized. Two, a number of distros come with central self-fixing, semi-autonomous program agents like portage or apt-get that act as program butlers, offering to fetch and prepare for you any package they know about (and they know of many). Three, because of the nature of Linux, a cobbled together hack job of nuts and bolts that through natural selection has evolved to be the superior OS, this style of application management has been settled upon for maximum transparency. If you know how, you can go in a see the arcane inner workings of any program, divine anything you care to learn about it and even change and tweak things for yourself, and in those respects, the unholy binary of ./configure and ./make can almost be accepted.
Red Hat's .rpm packages and Debian's .deb packages have been a small step towards the greatness that is Apple's application management, but they are as crude clay golems compared to Apple's homo sapien. While successfully providing a single point of reference for a program, they still explode into the myriad of files needed to run, all to different places. Why can't programs be archived into one big ball that can be moved around or deleted as the user sees fit? It's not efficiency, because the way I see it, having a program exist in one archive of contiguous space would be
better than scattering it about. (Feel free to offer a contrary position in the comments though.) The same applies to Windows programs, and I suspect the only reason it continues is because it has been this way forever. I only hope that someone has been paying attention to all this and a Linux interface is on the way or these elements are being incorporated into existing shells with this sort of thinking in mind.
* Now that you've recovered from your "triumph", you Apple addicts aren't off the hook yet. Why did I only find out about this now? Why isn't this touted on Apple's site more prominently? You could be gaining converts by pointing out little things like this rather than how pretty your laptop is, or how well it works with your iPod. Just saying that Mac OS X is easier to use isn't enough, and examples like this could help you out considerably. I know I'm not the only one with this sort of mindset. Now go to your corner and think about what you've done.