April 11 2012

iTunes’ ball and chain: Windows

Everybody knows that iTunes sucks. It’s a giant kitchen sink piled high with loosely related features, and it’s highly un-Apple-like. Users know it, critics know it, and you can bet the iTunes team knows it. But for the love of god, why?

People naturally suggest is to splitting iTunes into multiple apps. On one hand Apple is busy splitting Calendars, Mail, Reminders, and Notes into separate applications in Mountain Lion. On the other hand, iTunes manages and syncs your movies, music, TV shows, ringtones, podcasts, iTunes U videos, books, apps, contacts, calendars, mail accounts, bookmarks, notes, and photos. iTunes also supports iTunes DJ, Genius, Ping, Match, radio stations, shared libraries, DRM, iOS updates, a music store, an app store, and a metric tonne of other shit. Clearly, multiple apps are appropriate.

Except that they can’t split iTunes into multiple apps because many, if not most iOS users are on Windows. iTunes is Apple’s one and only foothold on Windows, so it needs to support everything an iOS device owner could need to do with their device. Can you imagine the support hurricane it would cause if Windows users suddenly needed to download, install, and use 3-4 different apps to sync and manage their media on their iPhone? It’s completely out of the question.

Jason Snell points out that when the Mac App Store launched, it was a separate app instead of shoved into iTunes. A sign of things to come? No, just functionality that isn’t needed on Windows.

Besides the app splitting issue, it’s important to remember that iTunes is the most prominent Apple app that isn’t a modern Cocoa app. Almost all the apps that ship with OS X have been ported to modern Objective-C, except for iTunes: everybody’s favorite cross-platform behemoth written in C1. That doesn’t forgive its issues, but it does help explain them.

iOS 5 is the hero in all of this. As iCloud duplicates more and more of iTunes’ sync functionality, they can start removing it from iTunes. Apple is very explicit about it in their marketing materials: they call it “PC Free”. They’re not quite there yet, but they’re driving towards a future where you don’t need to manage your iOS device with a PC at all – Mac or Windows. PC Free is the golden ticket to cutting the kitchen sink out of iTunes, and golden it is.

Don’t get me wrong – there are other reasons that iTunes blows. Craig Hockenberry brings up the legal complexities involved. Everybody knows that syncing is an insanely hard problem to perfect. That said, if you’re looking for something to blame, then blame Windows. At least, for now.

  1. Of course, iTunes has company – its old drinking buddies Adobe CS and Microsoft Office. []

Related Posts

32 Comments

  1. Andy Lumb
    Apr 11 2012
    10:34 am

    Wait, slow down a second… Why is multiple apps on windows “completely out of the question”? There should only be one installer for sure, but a suite of separate apps would be just fine. Both of iTunes’s drinking buddies, Adobe CS and Office, use this method rather than the one behemoth app. There is no reason that Apple couldn’t come out with the “iTunes Suite” which comprised of several separate apps as long as you update all the apps together with one install file.

  2. Chris Demwell
    Apr 11 2012
    10:52 am

    They could also split itunes for windows out as its own application, and run different apps on the OSX side.

  3. Allen
    Apr 11 2012
    11:55 am

    Most average Windows users are hostile to iTunes, and are also hostile to installers that load your desktop and Start Menu with multiple apps. On the Mac, what would the divisions be? At the least, you’d have:

    - Music
    - Videos (Replaces QuickTime)
    - Books
    - Music Store
    - App Store (integrate iOS store into Mac App Store)
    - iOS Device Manager
    - Background process for media sync and library sharing

    Do you think most Windows users would accept and understand what had just been dumped on them? Would they figure out how to set up playlists in Music and Videos so that they can select which ones to sync with iOS Device Manager? Besides the point, can you imagine Apple creating and designing all these new apps from scratch for Windows and Mac?

    Chris’ suggestion is more plausible I think – they could do this on the Mac, and then keep legacy iTunes on Windows on life support until iCloud can kill it. This flies in the face of consistency, and could double the amount of maintenance work they need to do, but might be worth it anyway.

  4. Hub
    Apr 11 2012
    12:23 pm

    iTunes is a Cocoa app. If you want to be sure, it links against Cocoa.framework and contains a good deal of .nib (they are in the .xib format).

    Also the fact that is a x86_64 binary as well leads to think that Carbon is out given that most of it isn’t 64 bits.

    From here saying that there no Carbon is a step I wouldn’t make.

  5. Andy Lumb
    Apr 11 2012
    12:42 pm

    So, assuming people currently have 2 apps (iTunes / quicktime) and the background process on windows is, as it currently is, invisible to the user… your asking the user to go from 2 to 6 apps ( maybe 5 you don’t provide a book reader for windows… which sounds illegitimate, or 4 if you make just one “Store” app). This sounds perfectly reasonable. Windows users get irate when you add 6 apps to the desktop (in this case, you’d only need to put music there) and 52 to the start menu (this would be at most 7). I don’t think Apple would make that kind of mistake.

    Windows users are hostile to iTunes for the same reasons Mac users are… it is a bloated pile of unrelated functionality. It takes 5 min to start, when all you want to do is play music. It ask you to update it every 2 weeks which means the average “time to playing that cool new song” is more like 10 min.

    It’d be great if the music playing and iOS syncing were de-coupled. “Sync all things in this directory”, and “sync everything on this .pls file” would be welcome additions.

    However, to your last question, “can you imagine Apple creating and designing all these new apps from scratch for Windows and Mac” I do agree with you. I think iTunes is the way it is because Apple sees that iTunes isn’t the way forward, iCloud is. I suspect they will maintain iTunes as it is, until all of its functionality can be replicated in iCloud, and then they will slowly drop windows support (at least for syncing your phone, if not all together) and split the Mac side into separate apps.

    Thus.. iTunes ball and chain is iTunes itself.

  6. Allen
    Apr 11 2012
    1:16 pm

    Andy: What you describe is fine for people who are actually using iTunes for playing music and video on their Windows computer, but I think Apple and its Windows users mostly care about iOS device sync and media management. For that, you’d need all the sub-apps to be easily findable (on the desktop and Start Menu). I suppose existing users’ iTunes shortcut could become a launcher that gives you a half-dozen icons, one for each sub-app.

    Hub: iTunes on Mac definitely has Cocoa in it, but at least a couple years ago when I was still . Maybe it’s been de-Carboned a lot since.

  7. Hub
    Apr 11 2012
    1:38 pm

    I’m sure the transition has been long an painful. Also this is not an indication on how cross-platform the application is inside. The way Apple ported Safari to Windows was to bring over a certain number of Frameworks too. Yes we often forget that Safari is also on Windows. Still don’t get why though.

  8. Danny
    Apr 13 2012
    3:51 pm

    I don’t see this is requiring an app-suite solution… unless you call 2 programs a suite.

    To me, there’s a single media program where you can manage you’re music and video libraries, including buying new music. And for your convenience, you can still add media files to your iOS device using playlists and all the features of the media manager.

    And then there’s an iOS manager that is primarily geared towards apps. You have one place to manage all the apps you’ve purchased for your various devices, which are all listed there for you. Adding an app (or coping its data between devices) is as easy as dragging the app’s icon onto the device. If that device is capable of loading data from the cloud, that happens automagically, otherwise it’ll wait until the next time you plug it in. [One byproduct of this is the idea of an iPhone+iPad app package, which some publishers might want to offer at a discounted price.] I think this program should have access to iTunes’ sync settings, so it is a true one-stop-shop for iDevices; but that might be a stretch.

  9. GadgetDon
    Apr 13 2012
    4:28 pm

    As someone who has been a big proponent of the split-up, here’s how I’d handle it on Windows.

    (1) iTunesBackgrounder.exe – always runs in the background. Functions include streaming to AppleTV/iOS devices, sharing with other copies of iTunes on the network, wireless sync with iOS devices, downloading things like updates to apps, new episodes of TV series with season passes, podcast episodes, etc. Also handles an icon in the system tray, with options to launch other parts and simple controls

    (2) iTunes.exe – main configuration app. Manage your media library (add/remove/playlists), sync settings for various devices, interface for things like “send this data/media file to that iOS device on the local network which is set to the same AppleID”. It can launch all the other apps based on user action. And even though it’s one configuration app – it doesn’t have to be one configuration window. Separate windows for “fiddle with my apps” than “music”

    (3) iTunes Player.exe – double-clicking on something in iTunes.exe launches the player. Can be launched separately with mini-browser for what to play

    (4) Store apps – these might be able to be done away with – put the store completely in the browser, the backgrounder automatically downloads what you purchased. Some of the Genius handling may be tricky – recommendations based on what you’ve purchased is easy, but what about the CDs you’ve ripped?

    Start menu gets a group entry for iTunes, with separate choices for the iTunes, Player, and store apps if they survive. Only desktop or quick launch icon is the iTunes.exe.

  10. Allen
    Apr 13 2012
    4:39 pm

    I think a problem with app suites on Windows (or Macs before Automatic Termination) compared to iOS is that multiple players and stores is that they litter your taskbar and system memory. On iOS having it jump from one app to another for a different type of media isn’t much of a burden, but on Windows you now have multiple apps to close or hide.

  11. Joshua
    Apr 13 2012
    4:49 pm

    One small point: there’s another current application for Windows, called iCloud Control Panel.

  12. Sirshannon
    Apr 13 2012
    5:29 pm

    Installing iTunes on Windows currently installs at least 5 separate programs (as seen in Control Panel > Add/Remove Programs) so I don’t think the “users won’t install multiple programs” argument is proven wrong by every iTunes installation, even though we don’t know or have a choice.

    BTW, uninstalling iTunes on Windows only uninstalls 1 of those 5 programs.

  13. ManSkyBook
    Apr 13 2012
    6:11 pm

    Isn’t this an interface design problem, not a division of labor problem? Arguably, iTunes is already multiple apps within one interface (and, historically, iTunes folded in the work of several developers whose ideas were licensed, or bought outright, over time).

    And the separate apps idea doesn’t seem to work very well in MacOS or Windows. When you install HP printer software (if you dare) or Canon camera software when you get the disk included with those devices when purchased new, your hard drive, dock (and Start menu, in that case) are littered with multiple apps and one or two central “management” apps.

    The “functions” of iTunes can be nailed down to 3 areas: Organize, Sync, & Purchase. What if there were “tear-off” apps that could be placed in the Dock or on the Desktop; and you could tear-off a function, or a medium (music, video, podcast…) with all functions. How you use those is up to you, but they all draw from the central app, invisibly.

    But, like the others, I can’t imagine that Apple isn’t a bit ahead of us on this, particularly, as others note, because of iCloud. We’ve trusted Apple to innovate, and to listen to us when something goes haywire. Sure, they’ve failed before, but maybe this discussion will point to other options…

  14. eknirb
    Apr 13 2012
    6:45 pm

    Been running iTunes on Win7 for about 8 mos..not one issue. But I haven’t updated iTunes since the initial hold my breath while I import my library install.

    I know better than to update it once I get it to a usable state.

  15. Pingback Daring Fireball Linked List: iTunes’s Ball and Chain: Windows
    Apr 13 2012
    7:46 pm

    [...] iTunes’s Ball and Chain: Windows [...]

  16. mike
    Apr 14 2012
    2:58 am

    Multiple apps on Windows is not at all out of the question. Most users have the Apple Update widget installed and it will do all the heavy lifting.

    For Win8/Metro, you’d want separate tiles for each — meaning there is even more reason to split it up.

  17. Allen
    Apr 14 2012
    11:50 am

    A few thoughts:

    - Installing multiple apps that the user needs o launch and use is different than apps that just hide in control panels or trays.
    - I hadn’t thought about Metro – that would be a better place for multiple apps.
    - My argument wasn’t that people won’t install them, but that it will be annoying and/or confusing.

  18. Pingback iTunes’ Windows Problem | Monday Note
    Apr 15 2012
    1:16 pm

    [...] is Apple’s “Windows problem”. As Allen Pike explains on his blog (pointed to by John Gruber), Windows is iTunes’ ball and chain (emphasis [...]

  19. MobileGeorge
    Apr 15 2012
    5:16 pm

    This is why the “app” model sucks. Because once a company has a hit app, then there’s tremendous temptation to keep adding more and more features to that app to keep it competitive with whatever slightly-related technology comes along. And what you end up with is a bloated mess. Now imagine if computer systems were more data-centric so that your data did not live within app silos but were always presented front and center by your OS. Then you could add-on features that let you extend what you can do with your data, such as syncing it to an iPod that would operate in the context of the OS instead of creating a whole new experience within an app. So by adding syncing to the system, it wouldn’t muddy up the whole experience of dealing with the media on your system like the mess that Apple has created with iTunes. Too bad we don’t live in that world… Windows has always been app-centric just like iOS and Android which are headed for similar fates.

  20. shawn
    Apr 15 2012
    10:02 pm

    @Hub,

    Safari is on Windows solely as a pure “reference” WebKit browser, so that people who might be developing web apps for iOS devices, can do their testing and simulation without buying a Mac :-)

  21. Pingback Apple’s iTunes is a victim of its own success | newmp3songs.com
    Apr 16 2012
    7:05 am

    [...] “Windows problem”. As Allen Pike explains on his blog (pointed to by John Gruber), Windows is iTunes’ round and chain (emphasis added):[…] they can’t separate iTunes into mixed apps since many, if not many iOS [...]

  22. tin
    Apr 16 2012
    12:21 pm

    Hmmm. I think the main reason iTunes is shit is that the code is shit. Not what it does or how it does it – although I’m not going to deny (or even discuss) that how it works might be in question – but the main thing is that the code is absolute shit.

    It’s like Apple got two teams of programmers – one full of people who really understood how to write tight code providing the user interface and feedback that users want from modern equipment, and put their code on the phone (although that’s starting to go pear shaped) – and one full of morons with no idea how to write code at all, never mind what language it’s written in, and they got to write iTunes.

    I’ve seen (a lot) of stuff written in the 1970s that’s WAY more responsive reliable and intuitive than iTunes. That it’s on version 10.something.subrevision.thisweeksupdate and it’s still so dreadful is an embarrassment to apple and every single person who’s had a hand in the code.

    Whether it’s written in C, objective superturbo, COBOL, or 6502 assembler, there’s absolutely no excuse for the poor performance and bugs that persist. That it’s on Windows is of no consequence. As people have pointed out above other software exists as separate apps quite nicely on Windows and other software exists as massive behemoth monolithic apps without exhibiting the sort of bumbling incompetence that iTunes displays.

    It locks up for minutes at a time. It’s pot luck as to if it will recognise a device, and if it does, if it knows it’s a device it’s seen before. If it gets itself in a knot it will start to take all day to sync a phone and there’s no way to fix it. It tells you there are 1000s more on your phone than there is. It tells you there’s space on the phone, but upon sync that there’s actually not. It deletes stuff on the phone when you specifically ask it not to. It reorganises the folders for fun. The list goes on. And all of the time with an Apple-esque GUI on windows just to be different, which isn’t a good thing because it locks up for minutes every time the software’s having a good long hard think. And this is in an ecosystem that Apple control. It’s their software talking to their device.

    I very very rarely use iTunes because it’s so poor, but without exception every single time I do, there’s some problem. As pointed out elsewhere it always wants to update before it can permit you to do stuff. For me today it’s decided to download the update for my iPhone 4 times now, even though I don’t want it and can’t use it because (for some reason that I can’t get to the bottom of yet) iTunes wants to sync more stuff onto it than it thinks will fit (including several thousand pictures that I am pretty sure don’t exist) so the update can’t happen.

    Apple do themselves no favours – the forums are brimming with people with the above and many other problems all responded to by others haphazardly guessing as to what random acts (sync, restore, do a hard reset, re-install itunes, upgrade the phone, downgrade the phone, buy a new computer, stand on your head for 5 minutes, do 20 hail Marys etc). Not a single response from Apple – there’s the FAQ, yes we’re aware of this problem and you do this – sorry this is a known issue, we’ve asked the iTunes devs to fix it in the next release. Hundreds of people bothering to report problems in the software that just go begging, littering the internet with documentation that consists of other people recounting how they have the same problem as you, with no resolution, making it impossible for people to quickly Google how to fix said problems themselves.

    Don’t get me wrong. I’m no Windows fan at all. I think it itself robs much of the horsepower of a modern day computer from the user. I have used computers that have tiny fractions of the memory, disk and CPU of even the lowliest PC or mac you could buy today, where the responsiveness of the system and apps still manages to run rings around Windows, but the fact that other application vendors manage to write and sell applications that people actually pay money for means it’s possible, and it’s not down to Windows that iTunes is so very very shit.

    Cmon Apple, as the iPhone and it’s brethren prove – it’s all about the code.

  23. Allen
    Apr 16 2012
    4:07 pm

    There are various plausible theories as to why iTunes suffers from worse quality than Apple’s other apps, but that the iTunes team is “full of morons with no idea how to write code at all” is not one of them.

    Railing against iTunes isn’t very interesting – trying to understand why is much moreso. Yes, there is some good software on Windows, but how much good, free, cross-platform software is there?

  24. Pingback Apple’s iTunes is a victim of its own success | newsworlddigest.com
    Apr 17 2012
    3:44 am

    [...] “Windows problem”. As Allen Pike explains on his blog (pointed to by John Gruber), Windows is iTunes’ ball and chain (emphasis added):[…] they can’t split iTunes into multiple apps because many, if not most [...]

  25. Hank
    Apr 17 2012
    8:50 am

    I’ll blame Apple, thank you. They could have made it so you could only install what you need, or opened the phone to 3rd parties to write their own sync tools. As it is, I hate launching iTunes, and only about once a month will I sync my phone.

    Concerning Cloud, while I think this is a great idea, it is perhaps one that I don’t want to use. I’d like some control of my information, and where it is. Also, why transmit everything to Apple just to have to pull it back down again, especially when the phone carries are anal about data plans?

  26. Kevin P.
    Apr 17 2012
    11:41 am

    They still need to maintain iTunes while non-iOS portable devices (nano, shuffle, classic) are developed, sold, and supported.

  27. Mingus Waits
    Apr 17 2012
    12:45 pm

    I agree with Tin, iTunes is crap code. I would pay for a sleeker more functional version of iTunes that actually worked. Yes, I am a Windows user, but that is because I am a gamer. I have used iTunes on Mac and it is crap too. The interface is slow, it locks up, it is a resource hog, and it doesn’t scale very well. None of these things have anything to do with Windows. I use other media players when I can, but I love my Apple TV and my iPhone so I have to use iTunes unless I jailbreak them.

    As to iCloud being the savior, what about those of us with large collections. I spent 3 weeks ripping all 1800 of my CDs to the Apple Lossless format since iTunes doesn’t support flac (I did both so I would have something for my other players to read) and now iTunes runs like molassas in January because I have 150 gigs of music for it to sort through in addition to all of my DVDs that I have backed up to iTunes. I would love to see a complete redesign of the program so it will work efficiently like say, XBMC, or MediaMonkey.

  28. Pingback Serial Serveur » Faut-il brûler iTunes ?
    Apr 21 2012
    12:54 pm

    [...] question revient souvent sur le net ces jours-ci (voir par exemple ici, ici, avec un contre-argument ici) [...]

  29. Pingback Apple’s iTunes is a victim of its own success | iTech
    Apr 27 2012
    6:14 pm

    [...] “Windows problem”. As Allen Pike explains on his blog (pointed to by John Gruber), Windows is iTunes’ ball and chain (emphasis added):[…] they can’t split iTunes into multiple apps because many, if not most [...]

  30. Pingback Apple’s iTunes is a victim of its own success | Apple
    Apr 29 2012
    11:38 am

    [...] As Allen Pike explains on his blog (pointed to by John Gruber), Windows is iTunes’ round and chain (emphasis added):[…] they can’t separate iTunes into mixed apps [...]

  31. Pingback Betalogue » iTunes and the temptation of ‘good enough’
    May 3 2012
    4:36 am

    [...] “iTunes’ ball and chain: Windows” (Allen Pike) [...]

  32. seamus brennan
    Mar 20 2013
    4:05 pm

    My complaint about iTunes is that the version I have on my new laptop wont allow me to sync my music to my ipod. That’s all I want iTunes to do, so as far as I am concerned iTunes is history, and my ipod also. Good riddance to both.

What do you think?