It seems they all serve the same basic service, the "remote" control/use of our media. However, I've not been able to get the kind of control/usage that I want with any of these options. I'll try to describe my "ideal" situation below.
I want a "just works" way to have full control over my library, for multiple profiles (profile being my name for a user interface with the media). I want to be able to initiate the downloading of podcasts or videos, backup discs, auto import and tag media from various devices, to watch/tune live or recorded TV (or any video) and to initiate TV recordings from any profile, without having to have a tuner installed on the device the profile is currently running on, as long as there is a tuner available *somewhere* that the Library Server (LS) has access to (likely the machine the LS is installed on.)
You would configure the LS to know where all the media is, what filters, codecs and settings to use for optimal playback of which file types, what and where to auto import, any and all settings related to the media and it's *usage* are managed here; this way, there's just one central place to make updates and changes about media playback information. As new codecs and capabilities come into play, this will make testing and tweaking faster and easier I think.
Each device will have to relay it's capabilities to the LS when it connects, it seems MC and windows 7 do a good job of recognizing my devices, so this should be easy
My laptop will communicate that it only has a stereo playback device, a microphone, a webcam, and any portable or permanent storage devices connected, and MC asks whether or not I want to share them with other profiles. On my laptop I will have a copy of MC installed, which is what gives me the ability to have/use my personal profile. A device that does not have MC installed (like my phone) will need to use the basic interface that we see now, (webremote). it would be great if I could tell my phone to use my personal profile, but without MC installed, I don't know how this would work. I assume this is also how DLNA works, with this basic interface.
The profiles control the devices and negotiate the the media playback capabilities, codec and filter information and decide how best to playback the media on the selected zone, using the media from the LS. Anything the zone is not capable handling is changed/managed by the profile. For example, my laptop does not have 5.1 surround, only stereo, so the profile will negotiate abilities and availabilities and the LS only sends stereo to this zone, based on this zone's distinct capabilities, again doing the required conversion processing where the media is stored, and saving bandwidth.
Once the LS is configured to know what media is where, what and from where to auto import, where to save any new media and how to best playback all this media, it just sits there waiting for some profile to ask it for something. So I launch my personal profile from my laptop and it tells the server it's ready for some action and it quickly displays to me the last known media information, music, video, cover art, play stats, thumbnails, etc. Meanwhile the LS updates the profile with any new media since it was last connected (like new TV shows or pictures uploaded/saved by another profile), in the background, in a low priority thread so the library loading is as fast as possible, sacrificing initial accuracy for startup display speed.
When the profile requests something; a recorded or live TV feed, a video, a music file, podcast, whatever, the connection speed and zone capabilities would be analyzed and an appropriate bitrate would be calculated and the (possibly down converted or from the stack) file would be streamed to the device to ensure smooth playback, quality being reduced as necessary, as we'd all rather see smooth bad video than choppy good video. The capabilities of the zone and the media file are compared by the profile and the lowest common denominator is used to process the file being requested/served. If the zone can't handle 1080p (or the LS doesn't have that high of quality available), the profile goes down the list of available quality and settings on each side until there is agreement in availability/choice, then uses that quality/setting for playback on the selected zone (which may or may not be on the device used to select/control the media) Of course, doing the conversion work on the LS side in order to send the smaller file to be streamed, allowing more bandwidth for everyone.
The profile can be allowed to have full access/control over the media, thru the LS, or it could be restricted. I don't want a "Party" profile having any delete/rename privileges (but I do want to be able to use that profile from my mobile device and maybe 10 minutes later from the HTPC which is showing visualizations and then again I want to crank up the volume from the mobile device later in the evening.) I don't want to log in and out on each device each time. I want the LS to allow the "Party" profile to switch between 2 devices and the most recent to request it can control, and one has priority, if necessary (competing volume requests at the same time maybe.) However, normally I will want to launch my personal profile from whichever device, see the current/updated media available to me, fully tagged, and be able to use or change it as I wish. Additionally, my changes need to be available to other profiles in (close to) real time.
Views and ratings and playlists and play stats would be profile specific, but some of these things could be shared. For example, if I create a great play/smartlist, I want to be able to 'send' it to another profile (thru the server?) and they can accept/install the smartlist, or view, or split view. Being able to share these with other users here on the forum would be very cool also I think. I'm sure some people have some great workflow or usage or theater view designs that I would find very useful.
Clearly this sounds like a bit of a tall order, but a lot of what I'm requesting works, or nearly works using one of these methods, but it doesn't do all of this from any method I've discovered.
If the Library Server was reconsidered to be as I describe, nothing more than the gatekeeper/organizer/librarian/configuration manager/playback provider for just the media; and the profiles were just the organizer of the display and control and playback and management of the media, on the devices to the configured and available zones, perhaps it's not as much work to implement this paradigm as has been imagined. The playback tools and the settings and so forth seems to do most of these tasks already, one way or another. Just not simply or cohesively. Maybe just restructuring the way the pieces connect and moving the tools and connections and responsibilities around some might get this to a usable state reasonably quickly, with further refinement to increase usability and speed and integration after the restructure is working.
I know people have been asking for client/server for a LONG time, and I think this would solve all of the requests and reasons I saw given and maybe more, and it really might not be that hard to get working. I would love to see MC pursue this path for a while, I think it would increase the WAF, and usability tremendously by just having a simple profile to control and manage the media, and putting the how-to's onto the LS and device connections, as negotiated by the profile in the background to make it all just happen so the common user doesn't have to worry about it so much. But more importantly, having any profile automatically update itself with any changes made by any other profile (as far as new or deleted or moved or renamed files), but simultaneously allowing each profile to keep separate ratings and views and stats and things, so I can rename a file but other profiles will be aware of this change and update the connection info automatically, but it won't affect their view of this file, as far as rating, last played, etc go.
The option dialog box might have to be re-organized to put the LS stuff in one place and the profile stuff (ratings, views, lists, etc) in another and the device stuff in another, but I think it might just be re-organization, I don't think many new options and things would need to be created.
As for Zones; each device can be/have one or more zones. My HTPC has 2 zones, one is via the optical out to my receiver, offering 5.1 ch output, and the other is stereo to another input on the receiver for it's second zone, which goes to speakers on my patio., With another sound card installed, I could have more zones, all configured separately. Each zone must have a unique name, and each can specify if it's shared with certain profiles. If shared, I could open my personal profile on my laptop, send a smartlist to play on the wifi device zone connected to the speakers in the garage. Then i could turn it off from my phone in bed when I suddenly remember it's still playing, using only the basic profile it offers.
DLNA devices would use the basic interface and also be zones themselves, much as they currently function I believe.
So you just install MC, set up the Library Server settings, configure each device and it's zones, then use your profile to request the media you want and MC handles all the connections and translations automatically in the background.
Would this not be a much easier way to manage it all?