Imagine a situation where you are sat on your sofa using a laptop to find interesting videos on the web. The laptop is great for this as it is close and you can get a lot of information onto the screen, you also have the keyboard and mouse so navigating options is very useful. Now you've found the video you might hit a snag, what happens if you prefer to play it on that nice big television that is only a few feed from you, instead of the smaller screen of the laptop? Sadly there is often no easy way to do this, but the team over at Ericsson Labs have been working on a solution: Web Device Connectivity (WDC), a solution designed to bring media devices in the home closer to the web by combining the power of the DLNA standard with a web API.
You might have seen the “DLNA certified” logo on the side of the boxes that your favourite home media gadgets cam in. I won't go too much into how this all works here but the basic idea is that this is a trade body that uses a common standard to make devices interoperable so you can do things like store media on one device and have it automatically discovered and playable on another device. DLNA uses the Universal Plug and Play (UPnP) protocol so you will find that a device or piece of software may work with this equipment without necessarily being certified. DLNA is designed for home use and can work really well on your home network, but it does not natively work with devices or services outside that network.
This means that if a video is stored on your local network you may be able to stream it to different devices in your home, but if it is stored on the web and accessed through a web site your luck was out – until now. Ericsson Labs' WDC service runs a small program on one of the machines on your network and relays the information about the available devices that understand UPnP back to a server that they look after. This information can then (after user authentication) be queried using a Javascript library that connects to the WDC site.
Developers can then use the Javascript library to provide options on their websites to play back video on devices in the user's home that WDC has detected. They can also develop widgets that integrate with other sites or just sit on the top of existing web pages and can integrate with the service. I could imagine this sort of idea being really useful for a site offering a large film catalogue for example. Navigating such a large collection on a TV with a ten foot interface could be clumsy, but being able to pick your film on your laptop then sending to the TV so you could watch it on a big screen could be the best of both worlds. You can see a demonstration of WDC in action in the video below.
Thankfully if you just want to try out WDC you don't have to write any code and getting it up and running is relatively simple. One note before starting though, not many TVs that are DLNA certified currently allow you to “push” content to them, they might only be able to “pull” media that you select through the interface on the TV itself. To check if you are lucky enough to own a device that is capable of this go to http://www.dlna.org/products/ and search for your device. If the entry says it is a “Digital Media Renderer” you are in luck. If not, don't worry there are alternatives.
My TV doesn't have any network connectivity, but I do have my trusty Acer Aspire Revo nettop attached to it so I tried out WDC using that. To create a media server that would expose my music, videos and pictures to devices and software that understand UPnP I installed MediaTomb from the Ubuntu repositories. This did not initially work with WDC, but this turned out to be just a bug that the folk over in Ericsson Labs Japan quickly fixed. I also tried out TwonkyServer Mobile on my Android phone and this was picked up by WDC too.
You can install WDC but if you just want to try it out you can run it as a Java Web Start package which is platform independent so if you use one of the Linux alternatives out there you can still join in the fun! All you have to do is click on the link in the Downloads section of the WDC page and it will launch. You will need to sign up for an account to use the service and enter the credentials at this point, full instructions are on the WDC site.
Unfortunately Boxee currently does not act as a media renderer for UPnP, although it can be a client, so I grabbed a copy of the software it is based on XBMC which does have this functionality and installed it on the Revo. You need to switch on the option that says “Allow control of XBMC via UPnP” which is under the Network → Services menu. With everything launched and running I could then use a demo widget provided by Ericsson Labs on my laptop to see my devices. If a video site offered a download URL I could open the widget, see the TV icon for XBMC listed and just drag the link to it. Within a few seconds the video started to play on my TV! It is also possible to pause, stop and change the volume from the widget too. Playback can take a little while to start so be patient here.
Using the widget I could also browse the media made available with MediaTomb. Clicking on an item presented options to play it on an attached media renderer (e.g. XBMC) or play it locally, which transferred the file through the web browser so an application on the laptop could pick it up. This way I could do things like make a media file from my mobile phone play on the TV without touching either device. The option to play locally only worked on the same network, externally it was still shown but had an unobtainable IP address.
I didn't get as far as playing with the API (but I might have a go with it in the future), but I can see that this approach offers a very useful idea to help make the most of devices capable of media playback in your home in an age when more and more content is becoming web based. It is a clever idea that is well worth having a play with as it will provoke thoughts not just about the technology itself but the possibilities of using multiple screens and devices together to help you get to the content you want. My thanks to Takeshi Matsumara, a research engineer at Ericsson Research Japan for his help with WDC.
While you are on the Ericsson Labs website have a look at their other developments as well. They are working on lots of interesting APIs not just for home devices but for mobiles too. Their Twitter account is also interesting to follow (@EricssonLabs) bringing a mix of mobile technology news story stories as well as details on their work.