Why is Apple's iTunes such a huge program for the relatively few things it does?

The latest version of iTunes is a 90 to 110 meg download. Itunes lets me play and organize my music, sync with iPod devices, shop online via a net connection and has fairly basic CD burning features.

Why is this program so freaking huge? Standalone combo music players & burners like Winamp & Musicmatch with more features are usually 5-15 megs at most. The device sync modules should be fairly compact and the “store” is just a front end portal to the web.

Why the heck do they need 100 megs to accomplish this?

Two reasons I can think of: Apple is a hardware company, not a software company (and their software often sucks as a result). Second, I’m not sure if the PC iTunes is a port of their Mac version, but regardless they’re used to developing software for their own OS and not Windows.

I’m guessing it has more features than you think it does. When I downloaded it I wasn’t really surprised by its size.

Could it be that a big chunk of that size is Quicktime?

As of recently, Apple installs the Apache webserver on your machine as part of their software update, under the guise of an iPhone configuration utility. A full Apache installation can be rather large, so that may explain part of the size.

What?!

So, Basically, itunes turns your computer into a web server???

It does seem to have a lot of neat features that few people use. I love their online radio stations.

Monkey Audio, I’m told does most, if not all of what iTunes does and a lot of people use that as an alternative. I tried it out but didn’t care for it. I have the space, so iTunes isn’t an issue in that regard, so I kept iTunes

Itunes is the new RealPlayer

iTunes 9 uses the WebKit framework for the store. I don’t know how much it installs but WebKit is around 20 megs for Windows and 35 megs for OS X.

I’ve heard that when they were designing iTunes, there was a goal to make it look and work exactly as it does on the Mac. So they didn’t use a lot of the built in functions and API that windows provides, and instead custom-wrote every little function to mimic the way mac does things, which makes it both slow and bloated.

Hmm… that sounds like the most likely explanation. Based on the responses so far they’re apparently virtually running their own little standalone web browser/web server for the store portal vs using windows explorer or API functions. Weird.

Not iTunes – a separate iPhone configuration utility (which 99% of people don’t need, even if they have an iPhone) which Apple tries to push on you whenever you install or update any of their software (including iTunes).

But yeah, if you should choose to install that utility under the misconception that it does something useful: congratulations, you are now a web server administrator! Presumably it doesn’t run on the standard HTTP port, but it’s still a rather scary thing to install onto an unsuspecting user’s PC.

Apple has a pretty bad rep when it comes to bundling lots of unrelated and unneeded crap with their software, often without properly informing the user about what they are installing, or giving the user a chance to opt out. Until recently, they included their Safari webbrowser with the iTunes installation by default. Also, lots of other crap including device drivers for hardware you may not own and which can crash your machine. And drivers for the Bonjour protocol, a “zero configuration” protocol which lets other computers set up a local network with your machine without you having to do anything – useful perhaps, but also a potential source of security risks and something you may not want to run in a corporate network, for example.

Thank you for that. I just uninstalled the iPhone configuration utility.

iTunes on a Mac is 150 megabytes (uncompressed), so I’m not sure that the size of the application on Windows systems is due to Apple trying to replicate the Mac look-and-feel.

I always thought they were a software company.

And for a bit there I actually thought they were good at it…

This is a big part of it. I have a good friend who was a developer at Apple, and he told me that iTunes contains a nearly complete “Mac Toolbox” emulation layer. This basically means that they reimplemented the entire Mac API on windows and ship it as part of iTunes. This is a somewhat drastic approach to porting software, but it works if you don’t care about your user interface “fitting in” on the target platform (e.g. it doesn’t look like a windows app, it looks pretty much exactly like iTunes on the mac).

A large part of the Mac iTunes is apparently the localised interfaces - all the interface versions for different languages. Using the free app Monolingual, you can dramatically reduce the size of the OS and many Apple applications - just by removing the language support for all the languages you don’t use. It isn’t difficult to do it manually either, just time consuming.

When I ran Monolingual after installing Snow Leopard and iTunes 9 and removed everything that wasn’t a version of English - iTunes was reduced from 157MB to 60.9MB.

(Monolingual will also remove foreign keyboard layouts and support for outdated OSs if you don’t want them).

Under Windows, the language resource files are in wherever-you-installed-itunes/iTunes/iTunes.Resources/ and have the extension .lproj

I assume it would be OK to just delete all of them except for the English one, which is the manual equivalent of using Monolingual. But I haven’t tried this so I would maybe Google around and see is others have done it without causing any craziness.

The addition of the iPhone configuration utility was a mistake by someone in Apple when they put together a recent update. It is not intended to be shipped with iTunes, it is an enterprise level utility intended for corporate sysops to control iPhones used by the business. It was mistakenly included in an update for a short while before people noticed and a slightly embarrased Apple pulled it from the update. There is probably some poor programmer doing a “please explain” down at 1 Infinte Loop.

If you updated iTunes in that time window, you got the utility. It isn’t part of Itunes, and isn’t intended to be installed.

Bonjour is a PITA for other reasons. I use Firefox with Foxytunes. If I listen to something iTunes, I have the Foxytunes menu show me what is playing, controls for it, etc. So let’s say I play something in iTunes while Firefox is running. I choose to close iTunes. Hey, what’s going on? iTunes just opened itself back up as soon as it shut down! Bonjour thinks that because FoxyTunes accesses iTunes when iTunes is in use, that iTunes is in use and reopens it. So not only was iTunes slowing my system running, but then it opens and closes and opens and closes.

I had to disable Bonjour and now it closes properly.

I also keep trying to kill iTuneshelper, iPodservice, etc, but they are next to impossible to stop, from what I’ve read.

So all those little extras that you can’t stop or are hard to stop make it too big and too slow.

Re: webserver… I discovered that there’s a web-based printer configuration interface in my Mac! Point a browser at http://localhost:631/ and the main page comes up. Perhaps the internal webserver is used for this as well.

It is pretty huge, iTunes + Quicktime is 98.3MB for my Vista system. The updates are frequent too, in fact it’s been nagging me to update to 9.01 for a few days now, and the updates always seem to want to download the whole damn 98MB again.

Still, with a fast connection it’s no big deal. I just updated and timed it - 7 minutes to download and install. I have no real problem with that.