[General Topics] Menneisyys:
Introduction

What is Universal Plug and Play (UPnP) and why you might want to make use of it? To get a nice overview what it’s all about, spend some time on reading the Digital Living Network Alliance (DLNA) tutorial’s first three pages HERE, HERE and, finally, HERE. These pages are also interlinked so you can just safely follow the “Learn how DLNA works” link at the bottom of the first page. I especially recommend the interactive “What can you do with DLNA products?” section at the bottom of the third page. Try selecting all the possible pairs to see what a particular device pair can be used for - this demo is really instructive. An example screenshot showing what for example the NAS & networked TV pairing can be used for:

Pretty instructive, isn't it? Again, I really recommend playing with the different pairings so that you get a clear picture of what UPnP can really be used for. In addition, please PLEASE do read the above DLNA intro (the three pages) so that you understand what UPnP is about and the terms used in this UPnP Bible. I’ve refrained from reproducing (almost) the same info in here so that I could concentrate on the more important and never-before-published subject: how this all works on the two most widely used mobile platforms: Windows Mobile and Symbian.

You might also want to take a look at the Wiki page (most importantly, the “UPnP AV (Audio and Video) standards” section) but it’s highly technical and, for a non-pro, in no way as comprehensible as the DLNA tutorial. Note that the DLNA tutorial doesn’t explain what “Controllers” are. It’s, as has also been explained in the Wiki (officially referred to by “MediaServer ControlPoint”), is like a remote controller between the source (the “MediaServer”), that is, typically a file store, and the target (the “MediaRenderer”); that is, typically, a TV set, a monitor or a home Hi-Fi.

On both Windows Mobile and Symbian (more precisely, the latest-generation, N-series Nokia handsets) all these three functionalities are supported:

a phone can act as the source (“MediaServer”) of multimedia content (for example, the pictures you’ve taken with the built-in camera; the MP3’s you have on your storage card etc.)

it can also act as the mediator (“MediaServer ControlPoint”) between the server and the renderer. That is, it can select the files on the server you’d like to, say, see on your TV / listen to on your home Hi-Fi etc. It also allows for basic playback control functionality like pausing/ resuming, previous / next etc.

finally, it can also function as the target of the stream: the device that actually plays back the video / audio / images on its own screen / audio unit. That is, it’s also a “MediaRenderer”.

As far as the two operating systems are concerned, all these functionalities are implemented. First, a birds-eye view on what’s available and supported.

For Windows Mobile (WM), currently, there are three apps with UPnP capabilities: Nero Mobile Pro, Conduits’ Pocket Player and Rudeo Play & Control (at the time of writing - December, 2007 - no preview of CorePlayer 1.2 was available. It will also have UPnP support.)

For the newer Nokia N-series Symbian devices (N95 (8 GB ), N81, N82), the OS already has built-in, pretty impressive (no third-party, commercial apps are needed) UPnP support.

[*]: with the N95, only starting with firmware version v20, not with previous OS’es; also see THIS. Note that the manual printed with the original N95 still reflects this (old) state.

[**]: limited presentation capabilities (while it has no problems with the much more important streaming): no library, not even file system folder-separated view

Now, let’s take a look at what functionalities the MediaRenderer-capable applications offer.

I'll later explain what the difference between pre-fetching and streaming is.

Incidentally, the second column ("Accessible for external controllers") is also clearly visible in the following Windows Vista screenshot:

It shows the following UPnP servers / renderers in order: Nero MediaHome (server), N95 (server), (the notebook itself, where the screenshot has been taken), the built-in UPnP server of the Vista on the notebook, the Conduits Pocket Player (PP) renderer (!) on the “wr-x51v” PDA; the same PP on the same PDA as a server; PP as a server on the “wr-univ” and, finally, PP as a renderer on the same “wr-univ”.

1.1 Differences between traditional Remote Media Controllers (RMC’s) and full UPnP applications

Back in February, I’ve already published an extensive Bible on all non-UPnP applications. Now, let’s see what the real difference between a fully-fledged UPnP app and the, back then, reviewed remote controllers is!

First, as you may already have guessed (without even reading my previous Bible), RMC’s can only remotely control media player applications – they don’t offer built-in, local rendering (MediaRenderer) or file serving (server) capabilities. The best, UPnP-capable titles in this respect (currently, as of late December, 2007, Pocket Player 3.51 on Windows Mobile and the built-in UPnP client on the latest Nokia N-series models) offer both of these.

Second, their configuration can be much more complicated than those of UPnP clients, particularly when you need to manually (!) enter the local network address of the server (also containing the media player) you’d like to remotely control. This is true with almost all RMC’s not capable of discovery protocols to automatically discover controllable servers in the LAN. UPnP’s automatic discovery also greatly helps in this respect: you don’t need to do any manual work; just let the controller discover the servers / renderers and you’re all set.

Third, you can only remote control a Windows PC (in cases, other desktop OS’es are also supported) with those “old-fashioned” RMC’s because all the tested applications need server&renderer-side custom software to be installed. This also means it’s impossible to remote control for example Network Attached Storage (NAS) devices (file servers) or plain renderers like a flat TV. With UPnP, all these can be remote controlled.