Eight Things I Absolutely Hate About Apple

by Noah Gift

Even though I wrote a very popular post about the Zen of Mac,
to show that I can be fair, I thought I would write about what I hate about Apple.

I don't think Apple has the perfect Operating System or company even though I use OS X as my preferred desktop OS and I love it. They could still improve on things, so on that note these are things I hate about Apple.

1. Dump the silly DRM stuff COMPLETELY, not just for part of your library.

DRM just insults our intelligence. Apple is supposed to be ahead of the curve and creating a user experience that is better than any other desktop OS. "Authorizing" my music when I reinstall my OS is extremely obnoxious. Have some guts and say no to DRM period! No Mac users want DRM, so why are you providing a service we don't want. Sounds like another OS we have all heard of...tread carefully!

2. Free and Open Source Software package management system doesn't exit!

Your core OS is UNIX, yet you STILL can't figure out how to integrate a decent package management system for FOSS? Huh, I don't get it? Integrate Fink or Darwin Ports, or copy debian, but get with the program, it is embarrassing!

3. Regular Commercial Software Package Management doesn't exist...i.e. the "uninstaller"?

Again, why is it so hard to uninstall or reinstall commerical software on OS X? There is at least one robust open source packagement tool Radmind, that does this. Are you telling me that figuring out a regular package management system is that hard? Often you just need to drop a bundle inside of your Applications folder or delete it from your Applications folder, but many 3rd party applications leave a trail of garbage. Make them conform to a package management system so we can get rid of their junk!

4. Locking the iPhone.

Unless this was a very shrewd marketing campaign for the iPhone, what did you think was going to happen when you released the iPhone without an SDK and locked it to ATT? Lets have less "locking" and rules with things we pay tons of money for. Just release the friggen SDK already, even Microsoft has an SDK for their phone.

I don't want to hear all of the excuses either, like Safari is an SDK. They are all lame! Just do it already.

5. Don't break UNIX behaviors that should work.

Now why doesn't autofs work again? Is it because your pushing AFP? That is nice and all, but I like NFS so keep the tinkering off of autofs and make it work again! I shouldn't have to buy an Open Directory Server to serve automounts when I could just use autofs. This was either a real poor design choice, or a somebody from Microsoft was hired to work on autofs :)

By, the way I think I might be the only person in the world who wrote a how to article on getting NFS to work with GNU/Linux and OS X via Open Directory, so I know what I am talking about: Open Directory Part 3. Everyone else uses AFP, but you don't have to. Apple just doesn't publicize it!

6. Now why can't I write cross platform applications with Mac Developer Tools?

Cocoa is really great, but it is quite a daunting task if you need to write a tool that works on OS X, *nix and Windows. I can understand Cocoa not working as that framework only exists on OS X, but why don't you have a cross platform development environment? Why not work with one of the dynamic languages like Ruby or Python and build a toolkit that is OS X like, but builds applications for all platforms?

7. Applescript

Just dump it already. Seriously, it is way past its prime. Replace it with a modern scripting language like Ruby or Python. A lot of the work has already been done for you.

8. Why does OS X Server require a running GUI?

Take a hint from Ubuntu and have the option to not install and/or run the Window Manager. Your starting to get into big leagues with cluster computing, XSans, and quad core 1U servers. Why oh why do I need the GUI running sucking up tons of CPU and memory when it is a file server, or a render node? You need to lose your server OS beer gut and get into shape!


2007-09-03 02:13:20
Re: point 7 Applescript

Don't forget Mac::Glue. It's been around longer and already comes pre-installed on MacOSX with Perl (hopefully appscript will come installed with Leopard as standard).

PS. While I like to see more Apple "scripting" with Perl, Python & Ruby I'm not sure that Apple will or even should dump Applescript because it's tied into a lot of it's apps (and useful for building blocks wit Automator).


2007-09-03 02:35:43
6: Java.

2007-09-03 04:25:11
You can't really blame Apple for DRM or locking the iPhone. Without DRM iTunes would have no content, and without locking the iPhone to AT&T, no phone company would allow Apple to do what they've done (i.e. out of store activation, etc). You only see these things when Apple needs other people, and that iTunes has *any* DRM-less content is because Jobs is pushing the industry to get rid of it. You should *love* Apple for that.

Why is it so hard to uninstall commercial software? Why not ask the software vendor.

A FOSS package management system doesn't exist? What, DarwinPorts and Fink not good enough for you?

Why should Apple help you write cross platform applications? Why should Apple even be interested in helping you with that?

Can you do anything without Apple holding your hand?

Jonathan Wight
2007-09-03 05:02:46
Don't feed the trolls!
2007-09-03 06:25:03
Re. 7: Apple can't dump the AppleScript language as the publishing industry would go utterly ballistic if they had to write off all their existing workflow code. Also, while several other languages do provide equal application scripting support, they still trail behind on the OSA component front (needed for attachability - Mail rules, folder actions, etc.).

OTOH, I do think it's time to declare AppleScript a legacy technology and look to the future: pro users are better served by Python, Ruby, etc., while non-programmers deserve a much better, modern end-user programming environment a-la Alice or Scratch. I think Apple could do great things here if they put their minds to it, so it'll be interesting to see what they've done in Automator 2.0 and see if that's the direction they're heading.

As for appscript in Leopard - not going to happen, unfortunately. Apple did consider it, but in the end decided to add dynamic support to Scripting Bridge to allow it to be used via PyObjC, RubyCocoa, etc. Quite how that'll work out, I don't know yet - I don't expect Scripting Bridge to be as good as appscript, which has spent the last 4 years hammering out a lot of design and application compatibility issues and provides other benefits like native APIs and built-in help - but I guess we'll find out in the coming months.

(I wouldn't be entirely surprised if the bundled copy of Mac::Glue went away in Leopard as well: Apple have totally neglected it since Tiger was released, with the result that it's completely broken on i386 unless you install a newer version yourself.)

2007-09-03 08:00:45
Thanks for the NFS hints in that article, by the way.
Brad Laue
2007-09-03 13:01:20
Lots of comparisons with Ubuntu here. A couple of points.

2) FOSS software is nowhere near the kind of quality you'd want to subject people to. Making a friendly installation mechanism for most open source programs would just be a frustrating experience for people who expect software to work at the level of quality created by paid professionals. I know, we've all heard the 'open source is better' argument, but it's not true for desktop applications.

3) Apps that don't properly uninstall by dragging them to the trash can easily provide their own removal mechanisms. Package receipts can be processed by lsbom(8) and removed thusly with a pretty GUI. Bug the third party devs for screwing up our filesystems. I class these apps as malware.

Lots of Ubuntu love in this article. Sad thing is, Ubuntu is a poor choice for both servers and desktops.

2007-09-03 13:10:09
"Dump the silly DRM stuff COMPLETELY, not just for part of your library."
That is an absurd comment, implying that Apple are responsible for DRM and not the content providers. When iTunes music store opened the only way Apple was able to get any decent catalog is by agreeing to put DRM on the media files. Finally when Apple had the market share large enough they have used the power to push for DRM free content.

Apple introduced a whole new business medium with iTunes music store, and everyone followed.
Apple introduced DRM-free content, and everyone followed.

Finally if Apple were to simply say "screw you" to the music labels, you would end up with 5 indie bands from MySpace that no one would care about.

Noah Gift
2007-09-03 13:24:32
Thanks for the response from everyone so far. I think it is a healthy thing to take the OS, or language, or tool that you love the most, and then complain loudly about what you don't like about it. This is my goal in the article. So far, I really like the responses back.

Brad/I agree the FOSS implemented directly into OS X is a problem. I never said I had the perfect solution, I just want to complain about it because it would be useful. Steve Jobs is making millions let him figure it out. I happen to like Ubuntu as a server quite a bit though, I find things, "just work" on the server end, so I would disagree with you on that point though.

ha/It is a bummer about appscript. I really like it. Of course, I wrote an article about appscript too:


Applescript is a great idea, but very long in the tooth. I wonder why they can't just gradually faze it out, or just leave it in forever like they do with Carbon, and focus on a new tool like appscript.

General Comments/Yes, I agree that implementing FOSS package management is a chore, but they are using FOSS like Apache, etc. Why not go the extra step and allow an integrated package management system like debian? I know there are many problems that would need to be solved, security and stability being a real issue, but your getting subsidized by all of this iTunes/iPhone money, FIX IT! That is why we pay you money :)

On DRM, I am not sure if I buy that answer of, well they made us do it. How about don't do business with people who make you do bad things? Ultimately the software rights movement is really picking up steam, so I don't think it is wise for Apple to be lumped into the "bad" camp. Sure, tough decisions have to be made, but then again, the people running Apple get paid millions...just figure it out!

On Ubuntu, the reason I bring up Ubuntu is that it is really making lots of progress as a desktop OS. I think this is great for Apple. Lets see how you can make OS X even better by competing, fairly, with Ubuntu. I am not a 100% believer in the FSF movement. I like many parts of it, and some of their ideas, but ultimately I think competition in the marketplace is what will solve problems and drive innovation. The brutal harsh reality is that no one cares what you did for them yesterday in the software world, they want to know what you are doing today and in the future. Adapt, or die!

Noah Gift
2007-09-03 13:29:12

I am not disagreeing with you on how Apple got here, but now iTunes is a huge success and Apple admits DRM is wrong. So don't halfway do the job, dump anyone who uses DRM. I don't really care as much about DRM, even though it is stupid and easy to break, it is a usability issue. DRM breaks basic usability design on OS X. I hate "authorizing" my own music. What is this a MS application :)

Kevin Ollivier
2007-09-03 15:08:28
General Comments/Yes, I agree that implementing FOSS package management is a chore, but they are using FOSS like Apache, etc. Why not go the extra step and allow an integrated package management system like debian? I know there are many problems that would need to be solved, security and stability being a real issue, but your getting subsidized by all of this iTunes/iPhone money, FIX IT! That is why we pay you money :)

I for one would not like to have a package manager built-in to OS X. There's already DarwinPorts and Fink for those who want this style of software management. I find app bundles and installers are very convenient for just about any software installation task. On the other hand, I find package managers are great for widely-used packages, but lesser used packages often get neglected, or are not properly packaged. (Debian/Ubuntu's wx packages are very old, for example, and wx distributes its own, but you have to "add the URL to your system" first. As a result, some people are using a really old version and not realizing it, and then they report long-fixed bugs to the developers...)

In the end result, getting a "package manager" right is a considerable amount of maintenance work and I'll bet Apple sees them as primarily a drain on resources that brings little concrete benefits to users. (I think an uninstaller would provide the main 'missing feature' a package manager would provide.) As a developer, they make distributing software just more of a pain and their reliance on a centralized repository makes it a chore to users when you can't convince the package manager team to include your software.

2007-09-04 00:06:01
As for DRM, just don't buy stuff from the iTunes Store. Problem solved. The iPod and iTunes support songs ripped from CDs, at any quality level, perfectly well. So what's the big deal? It's not like iTunes music is cheaper or anything.

Re: uninstalling. Do this: Drag the app into the trash can. Empty. Problem solved. If you want to go into the Library and delete the preferences, go ahead, but they aren't hurting anything.

Joe H
2007-09-04 13:32:25
Add to this list:

Launchd - this broken "replacement" for init and cron has been a buggy train wreck. Don't re-invent wheels what roll on their own just fine

Case sensitive filesystems - Would be nice to have. I know, it's available... why the hell is it not the default? I've often been able to check out open source projects from SVN/CVS simply because of a name conflict introduced by the insensitive file system.

Proprietary tools named same as unrelated open source tools - one word: libtool.

Basic diagnostic tools are convoluted - People, it's vmstat, not vm_stat, and there's a lot of fundamental metrics missing from your version.

Noah Gift
2007-09-04 16:34:11
Joe H/ Thanks for mentioning launchd! To be honest I don't even use launchd as I just got frustrated. I think the concept is interesting because it could increase the speed of the system boot and I don't particularly like the cron syntax, BUT I just don't have to to mess with it. I also don't like the fact that you need to write a plist file, etc. It is non-unix like. So, I just don't like it.

I think part of the problem with case-sensitivity is legacy, I agree though it is a problem.

Noah Gift
2007-09-04 17:19:13
One thing I wanted to mention is that quite a bit of these complaints have to do with the Unix implementation by Apple. To be fair, I am sure getting UNIX perfect in OS X is not the highest priority as the UI takes precedence. I would gently suggest to the powers that be at Apple though, that hey, you have all of this new iPod/iPhone/iTunes money, put some back into the geek toys.

Reinvesting in getting an API for package management that fits with GNU/Linux, and getting UNIX behavior more standardized would be great. Hire a few more people and it will reap rewards as the geeks will pay you back with more great development. Just my 2cents. Apple I love you but work a little harder at the guts of your OS :)

2007-09-05 09:53:45
6. Lazarus/FreePascal (Delphi like) is almost there !
2007-09-10 01:37:06
The better GNU/Linux gets at running on laptops, the more of those things you hate about Apple will go away.
2007-09-10 08:40:45
[1. Dump the silly DRM stuff COMPLETELY, not just for part of your library.] << Silly Comment.

[3. Regular Commercial Software Package Management doesn’t exist…i.e. the “uninstaller”?] << You're kidding us right? Installing and uninstalling ridiculously simple on OS X. Another silly comment.

[4. Locking the iPhone.] << Why do people talk like they know everything involved. Bringing the "Apple Experience" to cellular companies is most likely a more daunting task than you know.

[8. Why does OS X Server require a running GUI?] << I'm guessing you don't know Apple then. They are about simplicity and experience. They've made it simple for folks who are not formally trained in network administration to be able to maintain a network with relative ease. Making thing stuff easier is how Apple works. Seems clear to me.

2007-09-10 10:44:56
Hi Noah. I found this post via your Slashdot troll and just ... wow.

1. DRM. You have two choices: DRM, or no music (or a lot less music, and higher-priced music). Mac users want a lot of low-priced music. To most users, DRM is an acceptable compromise. You can say you dislike it -- I agree, I don't use iTMS mostly because of DRM, and also because of relatively low quality -- but to say they should get rid of DRM is nonsense.

2. I don't care that package management doesn't exist. I've never liked package management and don't use it even on Linux, unless I am managing multiple machines. Not for my own personal machines.

3. I've never known uninstalling to be a problem except for software that doesn't follow the rules anyway. You cannot "make" anyone "conform." If you want that, use Windows. We can only ask they conform, and if they do, then uninstalling isn't a problem.

4. I don't care about the iPhone. My eyes glazed over. Moving on.

5. I don't know anything about autofs, however, it seems your complaint here is not "breaking UNIX behaviors" but "not making [software I like] work." Two different things.

6. There is no such thing as a good cross-platform GUI development environment. You're asking for what doesn't exist anywhere. Because Apple has not invented something no one else has been able to invent doesn't sound like a good reason to hate.

7. I am a bit of an expert here, since I wrote and maintain the aforementioned Mac::Glue (I've been working on it even longer than I've been working on Slashdot, since 1998). And I don't agree with has (who has worked on similar things in Python) that Mac::Glue is likely to be removed from Leopard, though I don't know (they didn't tell me it was going to be put in Tiger in the first place, so it's not like they would tell me!), but do agree that it deserves strong mention.

As to AppleScript itself, "long in the tooth" is meaningless. The question is whether people still use it, and need it. The answer is categorically yes. Now, I hate using AppleScript. I wrote Mac::Glue because I hate using AppleScript. But AppleScript is far superior for non-programmers to Python, Ruby, and Perl. It is necessary for Apple to keep it around and to keep improving it, which it has done quite a bit of in recent years. It'd be nice to offer better support for other languages, and to communicate better with the language communities, but that does not require or justify removing AppleScript.

8. Mac OS X Server does not require running a GUI. I run Mac OS X Server (10.3, FWIW). Works just fine without a GUI running. Not sure what you are thinking of here. Almost everything, if not everything, can be handled via command line programs and text file editing, and you can control the Server configs remotely with the GUI admin tools. Or you can just go into the GUI on the server and set everything and then log out. No need for GUI.

2007-09-10 10:49:14
Oh, regading Mac::Glue being broken on Tiger for Intel: yes, because they didn't tell me it was going to be included and I had no access to Intel, Mac::Glue (though mostly Mac::Carbon) was not Intel-compatible. Apple loaned me a Mac mini for a few months and I fixed most of the problems, and I have since found a few more ... another reason to doubt they will be removing Mac::Glue, since they invested a bit in loaning me hardware to get it fixed!

2007-11-30 10:45:53
AppleScript solves a VERY different problem then Python or Ruby. AppleScript is one of the few languages that provides workflow automation for tying together multiple command line and GUI applications. I would actually argue that Apple and OS X developers should pay more attention to AppleScript and really support and enhance it. It can be painful to use sometimes, but it is an indispensable tool in many instances.