There still seems to be some issues with managing multiple users utilizing the same collection of media files. I am proposing a questionnaire that will hopefully get some ideas stirring about creating a more user friendly multi-user environment. When you look at your media files, there are some fields and settings that should be left to the user but there are other settings that should be managed only by the administrator. Options to rip music to the library, for example, should force users to follow the method setup on the server.
I can picture a new option in MC. When creating a new library database, it could be created as a server database, joined (as a client onto a server database), or simply a standard database as users use now.
If creating a new database, there would ideally be a wizard or completely redesigned set of options geared towards setting up rights for users with passwords. Ideally, clients could Windows logon & password automatically so if the server has the correct users and passwords setup, then everything would work based on that single logon in Windows. The server end would be given the option to create users and groups. Groups could be configured to allow or disallow certain actions.
To make things simpler and likely how most people would want the system to act, the server would have locations for files that the server would manage. Files would then be transferred through the Media Center connection to the client so a drive would not even have to be shared to access the files--they would be passed through Media Center's connection. When setting up ripping CDs, for example, certain groups would be able to rip CDs and the ripping settings would be configured on the server end based on the user group. I personally would set all groups to rip FLAC Q8, etc. Plus, secure rip would be enabled from the server end on ALL drives.
Fields would be setup on the server along with lots of other settings. The point would be to allow basically anything over this incredible MC connection. This connection would provide all that users want to do but with all the settings managed by the server. Settings could be changed on the client but those would be sent back to the server--and some settings would not be able to be changed. There could be an administrator user who could change settings. Thumbnails would be handled by the server. This way, only one copy of all this stuff needs to be kept and it would be well worth it to keep thumbnails built, etc.
When adding a server library, they would enter the IP or domain of their server plus port number if necessary, just as library server. It would be MUCH improved, though. Media Center would then be able to update fields from clients--because everyone would be a client. MC should also handle ratings and playcounts for every user. The wizard would provide a good system for setting up the method for achieving this. My initial instinct is the system I use--it would create a custom field each user's rating & play count. Ben's Rating and Ben's Play Count. Then, MC would automatically apply the user's rating to the Rating field but store their rating in their personal field. It would leave Rating blank at all times.
Updates to the server's database, such as a rating change, must be sent to all clients on the fly to keep everything up to date without requiring restarts.
If this is understandable, from the design perspective, this feature list just scratches the surface. There are so many more abilities with a complicated server/client system like this. It really makes managing a huge media library much simpler. Especially when you consider in-wall units for playing media which would utilize MC, this entire system would be amazing. Imagine the in-wall units with logon and logout buttons. Then, the user would select their username, enter a 4-digit PIN, and they would be able to access their playlists, view schemes, ratings, etc. It would really be amazing to say the least.
I can only imagine the kind of engineering and time this type of system would require but I know I would utilize it to its full potential. Managing all this stuff can be such a process...and I am looking into wall units sometime in the future.
In closing, remember that this "blessed connection" between server and client would ideally automatically test the connection speed and the server would be configured to encode things on the fly based on criteria. For example, a 500Kbps connection would warrant 256Kb mp3s whereas a 2,000 Kbps connection would warrant full FLAC quality--assuming the server's upload is great.
Plus, video and photo should have better re-encoding but only based on criteria. When on the local network, the same speed test would run but would see that there's no speed issues at all, so the criteria would say NO conversion!