UPnP always stuck me as a good idea, but until recently it's never been something that has made it into my day to day media setup. That was until a colleague showed me BubbleUPnP - a very nice little Android app that seemed to provide the piece, that for me, had been missing.
No Configuration ∞
The fact that everything simply finds each other via broadcast messages is a big part of what makes it so appealing. No configuration, no messing around with IP addresses and fiddling with static DHCP allocations or even worse hard coding IP addresses into machine configurations. Turn it on and it's available.
I think the key to making it all work is having a decent remote control for all things UPnP. Something that exploits the touch capabilities of smartphones makes perfect sense and it's generally always to hand when you want it.
Anything Anywhere ∞
I'm a big fan of the idea of being able to take music from any device that exposes content to any device capable of playing it. The ability to play music from my phone, laptop, dedicated NAS or anything else capable of handling UPnP is how it should be.
Most new smart televisions seem to show up as a UPnP renderer albeit they tend to be slightly limited in the range of codecs they accept. That of course can be dealt with my having a UPnP server that transcodes, but then you are back into the world of configurations and setups.
I like it's no nonsense web GUI that just gets the job done and it's resource usage seems minimal. Should I wish to it also has full support for transcoding to support less flexible or less powerful UPNP render devices, but the TonidoPlug certainly wouldn't cope with video transcoding.
XBMC fully supports UPnP and can be both a source of content and a renderer. It is also (as ever) very flexible in terms of the codecs and formats it supports, so it is my destination of choice compared with playing to the TV directly.