Following reading a recent blog entry entitled "10 things I hate about OS X", I felt that whilst I agreed with some of the sentiments that there were other points worth raising as well. As a result, here is my "10 things I hate about OS X":
- Finder: creating .DS_Store files. Finder uses these to store meta-information about the directory (and in some cases, meta-entries for the directory's contents), such as icons, size/location of icons and so forth. This is necessary on non-HFS volumes, as only HFS supports metadata that can be stored with the file itself (at least, as far as the Mac is aware - NTFS has the ability to store metadata as well). But rather than using it when necessary, the Finder creates this file pretty much every time you navigate into a directory, including removable media such as memory cards and digital cameras. Furthermore, if you change attributes of the Finder application (for example, switching from/to column view) then it persists this preference in the .DS_Store, guaranteeing to annoy the next user who opens that directory. It's completely unnecessary, and no other application comes close to being as badly behaved as the Finder is.
- QuickTime Player: despite having one of the best multi-media players, Apple insists on a nag screen that starts every time QuickTime Player launches encouraging you to buy a Pro license, and certain menu features are not available. The amusing thing is that the functionality is there; it's just the QuickTime Player that's hobbled in this way. You can write a program to open and play QuickTime files; as well as running them full-screen or exporting them to different formats. Why Apple feels it necessary to disable that functionality in its own player is odd, to say the least. You can instead choose to play things with VideoLan Client or QuickTime Ameteur, which are both good at playing files.
- DVD Player region encoding: I have a bunch of DVDs from North America and Europe. Yet I can only play one of those on my laptop. Worse, I only get to watch 5 of them before my DVD player refuses to change region. Granted, Apple's hands may be officially tied on this but they could at least make it easier to disable this archaic functionality. Instead, if I use a DVD ripper to get the contents off and disable region protecting, then I can simply copy the files to my HD and watch them locally. Region protection discourages copying? It forces people to copy a DVD just so it's watchable. In the future, all my DVDs will be stored on hard disk just so that I can watch the buggers. This is the main stumbling block for Apple launching a standalone media center IMHO.
- .Mac ripoff: the OS has built-in functionality to do great things, like synchronise file systems across WebDAV. However, the OS has been crippled and entries to .Mac hard-coded into the OS so that Apple can sell follow-on services. (Remind you of anything?) It wouldn't be so bad if you got some software as part of the deal (e.g. a subscription for iLife) but it's pretty over priced for what it is.
- Finder: Copying directories in Finder overwrite the contents, rather than merge them. This might make sense for 'bundles' (directories pretending to be a single flie, like .app and .rtfd) but it doesn't make sense for normal run of the mill files. It would be so much better if you had the option of merging or overwriting when copying files if the file wasn't a bundle
- HFS: A lot of problems can be blamed on HFS. Pax is an unarchiving utility (think zip/jar) that can handle multiple compression/archiving formats. All of the Mac OS X applications that are installed with Installer (i.e. not just dragged out of a DMG into an installation folder). However, the pax unarchiver has for a long time overwritten symbolic links, which means that if you move your application to a different place (e.g. /My/Applications/TextEdit.app) and a software update comes along, it doesn't get updated and the symlinks are broken. This also applies to apps in the Dock. Although it would be normal to symlink applications from a directory, the Dock automatically resolves any symlinks you have to the absolute path. So, if you change the symlink, Dock doesn't notice. Actually,this is a general problem with HFS 'aliases' which are supposed to be a cross between a hard- and soft- link. The idea is that if you alias a file, then move it, the alias is still valid. Guess what; this completely breaks symlinks. You can have a user directory mounted at /home, and when the location is updated to a different server, it can break the apps that you have in the Dock. And as for that frigging message that says an application has been moved and updated when accessing a keychain; I have my key chaings synchronised via a network home, and every time I log into a different machine the keychain needs updating. Worse still, because of the fact that I click this all the time, if a virus were to enter the system, it would still be ignored because I've clicked on this warning dialog so often.
- Dock: the less said, the better. A lot of eye candy to sell more copies of Mac OS X that almost everyone turns off when they get their computer.
- Dashboard: it's not quittable. Sometimes it's useful, but most of the time it just gets in the way, taking up memory and processing time. There are widgets that will fire up a thread in the background, periodically pulling new news information, and there's no way of stopping them all when you're finished with them. Once activated, they stay running until you shut the machine down. In the end, I've resorted to moving the Dashboard.app out of the /System/Library/CoreServices/Dock.app just so the damn thing doesn't start up all the time. Of course, now I can't use the widgets, but that's no big loss for me. At least now it's possible to remove the Dashboard.app from the dock.
- AppleScript and Automator: these are highly useful and under appreciated parts of the system. However, they aren't as well integrated as they could be (the Automator seems to be fixated on file-based processes). If they were integrated more tightly, then it would be possible to write an Automator workflow in AppleScript, or hook in AppleScript as part of an Automator workflow without resorting to tricks like associating an AppleScript with a folder, and getting Automator to copy the file into the folder. And what is it with every example that shows me how to rename a directory or copy a file? I've got the shell for that; give me some real examples, like being able to select top-rated photos from iPhoto and mail them with Mail to a group of friends selected from AddressBook, and post those that are on-line with iChat as instant messages?
- Mac OS X Developer tools: why do I have to download it from a password-protected resource all the time? If the download fails, I can't even pick up where I left off because the temporary URL that's been sent to me is no longer invalid. It's bad enough that it can't be updated using the Software Update mechanism; but why can't it just be downloadable via a URL that's reconnectable? And even creating delta updates so that when you need the five new documentation pages that have been written, you don't have to re-download all the documents that have been unchanged since 1990?
So that's my list of most-wanted in the Mac OS X world. Having been a user of Mac OS X whilst it was still called NeXTstep, somehow, I don't think any are going to be fixed any time soon. And after all is said and done, I still am more productive on a Mac OS X system than I am on a Windows or Linux box.