How to Fix iTunes, Part 14: an iTunes Server

Remote app(This is one of a series of articles looking at elements of iTunes that I think need fixing. I’ll choose one element for each article, and offer a solution. See all articles in this series. If you have any particular gripes about what needs to be fixed in iTunes, drop me a line.)

As media libraries balloon with hundreds of gigabytes of music, movies, TV shows, podcasts, audiobooks, and apps, many iTunes users seek ways to organize and consolidate this content in a central location. Instead of each member of a family having content on individual Macs, it would make sense for all of this content to be stored and organized on a single computer.

iTunes lets you share libraries, play content on another Mac, and even synchronize some content from one iTunes library to another using Home Sharing, but the app isn’t designed to work with multiple users. The solution could be a server version of iTunes, which would let households organize all of their family’s media on one computer and allow each user to connect to this Mac to listen to music, view videos, and sync their iOS devices. Here are some ideas for how an iTunes server might work.

Serving Media

If several people in a household have iTunes libraries, they can share content using Home Sharing; Alice can load Bob’s iTunes library and play his content. But the problem arises with syncing to iOS devices. If a family shares media, each person needs to copy that media to their computer to be able to sync it to their iOS device(s).

If Apple were to create a server version of iTunes, the app would be similar to the current version of iTunes, managing all of the content on a single computer. It would also function as a conduit for media files so they can be transferred to and from the server and stored in the master library. This would meet the needs of families with large amounts of media files, and eliminate the need to duplicate many of these files on different computers.

iTunes Server would allow each user to set up an account and build a personal library. These accounts would ensure that the server program knows exactly which files each user wants to access. Users’ library files would remain on their individual computers, and they would be able to create their own playlists, add ratings, and keep track of their play counts and last played dates.

When the server is first set up, users would be able to choose which files they see in their copies of iTunes; this would also affect what they can sync to their iOS devices. During initial setup, as media files are uploaded to the server, there would have to be some way of ensuring that there are no duplicates. Once this is done, however, each user should be able to access a “What’s New” playlist to see what other users have purchased from the iTunes Store, or have uploaded to the server, and that are not in their individual libraries. Each time someone buys music from the iTunes Store, rips a new CD, or adds a new video to his or her library, these media files would be copied to the server so everyone in the family can access them.

Users should also be able to choose which types of content gets stored on the server, and which they keep on their own computers. Some people may have favorite podcasts that they know their parents or children don’t care for, and would rather store them locally than on the server. The same may be the case for mobile apps used on an iOS device; there’s no need to share all of your content with the rest of the family if you don’t want to.

iTunes Server would need to sync to iOS devices connected to different client computers. This would require a relatively fast network — 802.11n or faster wireless, or ethernet — and, while the first sync to a device may take a long time, subsequent syncs would be much quicker because there is much less content to change.

iTunes Server could be installed on a Mac or PC, but Apple could also create a device, similar to a Time Capsule, or an AirPort Base Station, containing a hard drive and the iTunes server software on board. (Or even a new Apple TV: if it had a USB port, it could host the server software, and work with a hard drive connected to it, to provide both local and remote access to its content.) This would eliminate the need to keep a computer on all the time. It would also make it easier to integrate iTunes Server into a network, since it would provide the necessary disk space that may not be available on any individual computer. However, for those with large libraries, it would have to support externally connected USB hard drives. And it should allow for a second hard drive to be connected for backups.

Hurdles to overcome

A number of issues would need to be dealt with in order for this to function smoothly. Initially corralling all the family’s media and ensuring that there are no duplicates — or at least culling duplicate files — would have to be done in a way so that files with slight differences in tags are not duplicated. Also, if one user wishes to change some of the tags for certain files, this could lead to problems locating the files. Ideally, one person would have to be the “librarian” of the media library to ensure that all changes are made correctly so each user’s library remains in sync with the content on the server. But iTunes Server could also host the same files with different tags. Say Alice wants her Aerosmith albums in the "Heavy Metal" genre, and Bob wants his in "Rock." iTunes Server should be able to append the correct tags to the files so each user can have their own organization.

While the number of users who might want an iTunes server may be relatively small, the ubiquity of digital media means that, as time goes by, more people will be tempted by this sort of a solution as their libraries grow. Many iTunes users already store their media on a shared volume or a NAS, but iTunes Server would simplify this process and go much further, allowing each user to have their own individual library rather than access one monolithic shared library.

One final issue remains to be seen: how iTunes Server would work with multiple iTunes accounts. There’s no longer a need to authorize computers for music, but DRM is still applied to movies, TV shows, audiobooks, and apps purchased from the iTunes Store (and many users will have legacy iTunes tracks with DRM). While you can use more than one iTunes Store account on a given computer, iTunes Server shouldn’t require a family to have a single account. If it did, the issues of authorizations could get quite complex.

Family Sharing, intended to make managing iTunes Store content across multiple members of a family, isn't easy to use, and doesn't work as it should. iTunes Server should not have these same issues; it should be transparent, and easy to set up.

Will Apple provide an iTunes Server soon? With the ease of use of AirPlay to stream media from iTunes, it seems that iTunes Server could be the perfect missing link not only to provide content to the living room, but also to serve as a central media library for any family. iTunes Server would simplify the use of large media libraries, and more iTunes users are accumulating content which would make such an app useful.

An earlier version of this article appeared on Macworld in 2010.

20 thoughts on “How to Fix iTunes, Part 14: an iTunes Server

  1. I’ve wanted an Apple iTunes server for a long time. The killer feature I desire is the ability to stream music from my oversized library throughout my home and to my mobile devices, even when I am out of range of my home network.

    I don’t want to subscribe to a paid service like Rdio, Pandora, or Spotify and be limited to the music they offer. I don’t want the intermediary of a cloud-based solution like Apple’s MusicMatch, with its limitations of number of tracks. I just want an easy-to-manage Apple solution that works with my personal music collection of mostly Apple Lossless files.

  2. I’ve wanted an Apple iTunes server for a long time. The killer feature I desire is the ability to stream music from my oversized library throughout my home and to my mobile devices, even when I am out of range of my home network.

    I don’t want to subscribe to a paid service like Rdio, Pandora, or Spotify and be limited to the music they offer. I don’t want the intermediary of a cloud-based solution like Apple’s MusicMatch, with its limitations of number of tracks. I just want an easy-to-manage Apple solution that works with my personal music collection of mostly Apple Lossless files.

  3. Vox offers a new service with $4.99 monthly unlimited storage. You can stream or download anything in your library to your iPhone. It’s still a little buggy, but certainly has potential.

  4. Vox offers a new service with $4.99 monthly unlimited storage. You can stream or download anything in your library to your iPhone. It’s still a little buggy, but certainly has potential.

    • That only solves part of the problem. One of the biggest headaches for families is syncing content to devices, having to either duplicate it in different user accounts, or sync all devices to a single user account.

      • Valid objections. As Apple seems either not really able or not really willing to rationalize synchronization or file management, could be partly answered by creating discrete family/community users’ playlists from a unified library in MyTunes RSS.

    • That only solves part of the problem. One of the biggest headaches for families is syncing content to devices, having to either duplicate it in different user accounts, or sync all devices to a single user account.

      • Valid objections. As Apple seems either not really able or not really willing to rationalize synchronization or file management, could be partly answered by creating discrete family/community users’ playlists from a unified library in MyTunes RSS.

  5. I think that, with regards to dealing with multiple Apple IDs, the server should tie multiple Apple ID to one primary Apple ID so that everyone tied to that account could use the apps and media purchased by every other user tied to that ID. There would naturally be restrictions on how many users could be added, and removing an account would then remove that user’s ability to access DRM-encrusted files, but I feel this makes more sense overall than merging IDs (though this could perhaps be an option as well for those who desire it?).

  6. I think that, with regards to dealing with multiple Apple IDs, the server should tie multiple Apple ID to one primary Apple ID so that everyone tied to that account could use the apps and media purchased by every other user tied to that ID. There would naturally be restrictions on how many users could be added, and removing an account would then remove that user’s ability to access DRM-encrusted files, but I feel this makes more sense overall than merging IDs (though this could perhaps be an option as well for those who desire it?).

  7. First of all: a great article, maybe the killer suggestion in a series of very good articles. I wondered if you could kluge something by putting your iTunes files on Dropbox and synchronizing them to all the computers in the house. Inefficient use of disk space, but capacity is cheap these days. iOS users would need to sync via their computers, selecting only the files they wanted on their devices.

    • iTunes library files can’t be opened by more than one user. Sharing the same library file requires that each other user quit iTunes. It’s not very practical.

  8. First of all: a great article, maybe the killer suggestion in a series of very good articles. I wondered if you could kluge something by putting your iTunes files on Dropbox and synchronizing them to all the computers in the house. Inefficient use of disk space, but capacity is cheap these days. iOS users would need to sync via their computers, selecting only the files they wanted on their devices.

    • iTunes library files can’t be opened by more than one user. Sharing the same library file requires that each other user quit iTunes. It’s not very practical.

  9. Oh boy, this is the million dollar question and that’s been bugging me since I first started messing with iTunes so many years ago and discovered that you couldn’t actually share a library file. But OTOH you shouldn’t need to do that. Each user should be able to configure their own view of the music and associated data. Like having their own playlists etc. But I think on the whole, they should all see all of the music and just use the filtering capabilities of the ‘client’ (i.e. their iTunes) to allow them to only view what they want. It would be impossible otherwise to determine who gets to see what. Everyone needs to be able to see ALL the music to then decide what they want to limit themselves to.

    There is another problem that I alluded to in the thread about Album Artwork. There is a big problem with the ‘track-centric’ approach of the music file formats. It just isn’t suited to a real life representation of how music data is structured. In fact, as iTunes has done to a certain extent, the data needs to be abstracted from the music files. One obvious example is a Recording that is used as a track on multiple albums. The current file tagging schemes simply CANNOT deal with this, without having duplicate copies of the same digital music data in multiple files and although iTunes does create a separate database (the Library file), it has not been able to entirely break free of the digital music files’ poor original design.

    This would not be a trivial task to correctly design. But Apple would need to involve those with real music data experience (hey, I’m available 🙂 which they have clearly failed to do so far. IMO, it should be incorporated into their Server.app as another ‘service’. This would be a serious piece of software and I think need more power and control than possible if trying to implement in e.g. an TV which would of course make an ideal client from which to play the music (as indeed it is now) and with each user (accounts controllable from within Server.app) able to configure their own viewing preferences using their Mac.

    The reality is, it does not look like Apple has a mind to do any such thing and any apparent offering from third parties has been woefully lacking so I’m looking into creating something myself. Don’t hold your breath though 🙂

  10. Oh boy, this is the million dollar question and that’s been bugging me since I first started messing with iTunes so many years ago and discovered that you couldn’t actually share a library file. But OTOH you shouldn’t need to do that. Each user should be able to configure their own view of the music and associated data. Like having their own playlists etc. But I think on the whole, they should all see all of the music and just use the filtering capabilities of the ‘client’ (i.e. their iTunes) to allow them to only view what they want. It would be impossible otherwise to determine who gets to see what. Everyone needs to be able to see ALL the music to then decide what they want to limit themselves to.

    There is another problem that I alluded to in the thread about Album Artwork. There is a big problem with the ‘track-centric’ approach of the music file formats. It just isn’t suited to a real life representation of how music data is structured. In fact, as iTunes has done to a certain extent, the data needs to be abstracted from the music files. One obvious example is a Recording that is used as a track on multiple albums. The current file tagging schemes simply CANNOT deal with this, without having duplicate copies of the same digital music data in multiple files and although iTunes does create a separate database (the Library file), it has not been able to entirely break free of the digital music files’ poor original design.

    This would not be a trivial task to correctly design. But Apple would need to involve those with real music data experience (hey, I’m available 🙂 which they have clearly failed to do so far. IMO, it should be incorporated into their Server.app as another ‘service’. This would be a serious piece of software and I think need more power and control than possible if trying to implement in e.g. an TV which would of course make an ideal client from which to play the music (as indeed it is now) and with each user (accounts controllable from within Server.app) able to configure their own viewing preferences using their Mac.

    The reality is, it does not look like Apple has a mind to do any such thing and any apparent offering from third parties has been woefully lacking so I’m looking into creating something myself. Don’t hold your breath though 🙂

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.