Amarok/Proposals/Multi-user support ideas:2.0
Multi-user support ideas...
There are a few multi-user scenarios to consider....
- More than one user at the same computer accessing the same collection, but maintaining individual preferences, ratings, etc.
- Multiple users on different computers accessing a central music store on a server, maintaining individual preferences, ratings, etc.
There are notes on the Postgres how-to about ways to do this
- Multiple users on various computers accessing a shared library on a server plus their own private (local?) collection.
As an example, let me describe the set-up at my home. We have a server on which we host a communal music share. Most our music is there, but we each have some particular tastes all our own. One of us really likes power metal from european bands, and has a largish collection on his local computer since the rest of us would rarely listen to it. I am a dead-head / jam-band fan and keep many live show sets on my computer. Then there are some specialty things like audio-books, lectures, and radio plays that are best left out of the main collection. Even so, we still find common ground enough on some 42,000 tracks.
The way we do it today, the server music share is read/write to everyone and we all use our own players. This is becaus I am the only Linux desktop user - the others insist on their games, go figure. So even though I run a db back-end on my server, I am it's only user at present. I am hoping this will change when Amarok 2 becomes viable on Windows XP. I already have the rest of the household interested, as they hate the players they use for various reasons. Winamp is a hog, and buggy but has the best media library they say. Windows Media Player just peeves them since they know how fond MS is of phoning home and DRMming down your musical experience, and other players have failed them in various ways. Amarok on Windows (with DAP-support/mp3 transcodes) would be a godsend to them.
Once A2/Win is out, I am presently planning the hack suggested by the Postres how-to... creating an overlay schema, basically, allowing multiple users access to public tables (collection) and personal versions of the user-centric tables (ratings, etc). My only real concern for this is if I were to list both music from the central archive and music on my local computer in the database. Other users would have problems when they came to my private tracks in the listing. Likewise if they started adding their own local music to the database.
Amarok could take this all to another level with a well-thought out approach to multiple user scenarios.
If A2 can support multiple collections, then the problems of listing local tracks on the central db go away. This might be tricky juggling multiple db's and trying to present a unified view. But if A2 were user-aware in the db, it could manage public tables for the public music, private tables for the private music, and have the db present a unified view. It would also be handy to have migration tools to put part of your local collection into the public pool, perhaps even moving/copying files for you.
There is one more scenario worth considering...
The usual mode around the house is going to be "to each his own", listening locally to tracks hosted on the server or locally. But when we entertain, we want to be able to do a party mix. We can do this with one computer in the living room or rec room, which is not a bad approach. The only caveat is that the song preferences, ratings, etc. would revolve around one user. Unlesss we create a separate partymix user account. What would be even better is a party-mix mode where Amarok weighted all the users' ratings, etc. to bring up a mix that we could all agree on. In the database, I suppose since private tables are private to the user and public tables are available to all users, another specail 'partymix' user on the db could have access to all the private tables, too. This would allow reading and processing the listening preferences of all the users by the partymix db user.
Now I have also been giving serious thought to Ampache or just MPD or something on the server to stream music for party mode. The idea is to have all the computers streaming the music, so the house is full of the same music. In the past, streaming to multiple computers in the house has been problematic as you have a noticable latency difference between machines, and so when between to rooms you hear the music out of sync. Pulseaudio holds some promise here as it takes the network latency into account and is supposed to support Windows machines as network sinks. The partymode would be best if there was an easy UI to include/exclude users from the mixed ratings.
I know that Amarok is gaining support for things like Ampache, but I don't really understand how that integration is done in the database, or if it even is at all. Perhaps it's as simple as making Amarok a remote control for Ampache and tuning the stream... not integrated into Amarok's collection?!? Not sure but watching to see what comes.
I suppose to recap:
- Multiple users each with both public and private music collections, personal ratings & such, individual listening.
- Single user playing in partymix mode with access to other users's ratings for sensible mix
- Multiple users streaming the same partymix
- Users can log in to the db from different computers to play shared music with their preferences (such as listening in the kitchen)