Nokia’s N800 “Canola” media player

Here are some of my thoughts after trying the latest beta version of Canola. The smooth über-simple UI very nearly turns the N800 into a home internet media player, but falls slightly short. If it was open source then it would get there sooner. If Canola doesn’t then someone else will first, which would be a waste of the developers’ hard work.

Installation

This is great. Just open a link from the browser and the thing is installed after a few straightforward button clicks. It seems that Maemo supports .INSTALL files, offering to add a line to the apt-get sources.list file, and then using it to install the specified package. Well done, someone.

Separate configuration

Canola can use UPnP and Dmap (part of DAAP, I think) servers to get shared audio and video from your PC or media server device. I think this concept has encouraged the developers to take the client/server idea a bit too far. So there is a separate Canola Configuration menu item, which starts a web page which connects to a local web server. There’s no reason for this to be a web UI, and no reason for it to be a separate application, interrupting the user experience. It’s an implementation detail that has been exposed to the user unnecessarily. For instance, there’s no good reason that I should have to use a web page to change Canola’s UI theme. If the developers want to get and set application configuration via a local http service then that’s fine, but it doesn’t need to be exposed to the user via a web UI. This is architecture astronautism at the expense of user experience.

The same goes for radio stations and podcasts. Please let me choose them from a list or wizard via the regular UI. At the moment they are even hidden under a “plugins” section in the web UI. Give me instant gratification now, please.

Too many clicks

I can’t click on things as soon as I see them. The simple menu is nice, but quickly annoying for one reason: To select something I have to scroll with the arrows until the item is in the selection rectangle and then click it. I should be able to click it as soon as it comes on screen, as I keep trying to do. Then the selected-item rectangle would be meaningless and could be removed.

It would also be nice if I could scroll with a sweep gesture, as I can in the browser. Trying to do this causes me to accidentally select one of the horizontal icons when my stylus touches it.

When I select an “iRadio” station, it should start playing. Don’t make me click the play button too.

Bugs

Something is causing the list of radio stations under each category to be different each time I open the category. I think it’s doubling the list each time.

Media Server

I haven’t tested the Shared Audio and Shared Video features. What upnp server should I use on Ubuntu? The Canola web-page recommends Twonky, which seems to be proprietary.

17 thoughts on “Nokia’s N800 “Canola” media player

  1. What upnp server should I use on Ubuntu?

    what about using Rhythmbox and enable the DAAP plugin ?

  2. I’ve been searching for opensource software with UPnP support, there’s just nothing available.
    If you can use DAAP, try firefly (previously known as mt-daapd). Firefly is quite feature-rich and well maintained, i wish it would server UPnP as well. All other Open Source UPnP media servers will rescan your media collection on every startup and keep it in memory, which just sucks with >50GB of Music.
    Twonkyvision does an excellent job, it’s faaaast, but it’s proprietary (although it’s cheap and available for all kinds of embedded devices, architectures, i wish other vendors would care that much).
    The only open source UPnP control point i know of ist Cidero, wich feels more like a proof of concept. VLC should have a UPnP plugin (not compiled by default), so it can access UPnP media servers, but it’s not a UPnP compilant media renderer/control point combo, just a hack. There is a opensource media renderer GMediaRender, but it’s worthless without control point and media server. If we had these three components in good quality and usability, it would easily beat other solutions like mpd and DAAP (“iTunes”) and would integrate with N800, Terratec Noxon (and all other Network Media Players), Windows Media Sharing. This topic is slowly gaining some attention, but i guess we still have to wait two years until these “entertainment networks” will be commonplace.

  3. There is a hidden feature (a gconf key) that enables click-to-select. I do not understand the reasoning of Canola developers that chose to disable it by default. See this bug report: https://garage.maemo.org/tracker/index.php?func=detail&aid=459&group_id=125&atid=529

    What made me like Canola despite it being closed-source is the pretty smooth UI. What made me ditch it is the unfortunate reliance on a media engine shared with the built-in Media Player that causes very strange and disturbing results when you have a song paused in Canola and click on a .mp3 or video link in a web browser. In the end Canola went completely crazy and stopped advanced to the next track, preferring to loop the same song over and over again: https://garage.maemo.org/tracker/index.php?func=detail&aid=557&group_id=125&atid=529

  4. Hi,

    I am one of the canola developers, and i would like to clarify some points here:
    – We developers really want to release canola as opensource, and we are pushing hard to make it possible asap.
    – DAAP (audio) and DPAP (pictures) are subsets of DMAP (Digital media access protocol), and canola supports both. You can try it enabling sharing in rhythmbox, tangerine, … or for pictures, you can try iPhoto, i don’t know of any open source alternatives for DPAP sharing.
    – We chose to use a web configuration UI for some reasons, one of them was developers effort, we don’t have too many developers working on canola, so developing an application to do this would be a waste of resources/time. Second, we want it to run on windows/mac/linux, and again, we don’t have developers resources to build an application for all platforms.
    – Regarding click on any item you want, you can change it. To set it run:
    $ gconftool-2 -s -t bool /apps/canola/plugins/uifolder/free_click true
    – The IRadio station should start playing as soon as you select it, this is problably a bug, please file a bug report on our bug tracker https://garage.maemo.org/tracker/?atid=529&group_id=125&func=browse

    Btw, tnx for the feedback
    Hope this helps
    Andrunko

  5. Hi Murray!

    As a Canola developer and FOSS member, I want to thank you to put some public pressure on Canola being open source, we really need that!

    As for your problems:
    – UPnP: fuppes is the best open source, but it’s not as good as twonky… as said, UPnP is undersupported in FOSS world, maybe because it’s poorly designed and just big, anti Open Source companies (ie Microsoft) pushes it… but we support due customer demand…
    – Internet Radio: When you provide one URL, it’s often a playlist, with many URLs. These can be different channels for the same station, but often misused as various servers for one station. As Amarok or Rhythmbox, we do present every URL and let user choose.
    – Click Everywhere: you can enable it with GConf (use gconf-editor or gconftool-2) using key /app/canola/plugins/uifolder/free_click (Folder Lists) and /app/canola/plugins/uicontainer/free_click (Initial Screen). We opted to not use this by default since our experiences shown that number of incorrect clicks were too high… users would have to use the stylus to get it right, something we want to avoid. But as I said, you can turn it on (it lacks visual feedback though)
    – Configuration: as you may know we use SDL and it provides no layout engine or widgets. Writing these ourselves would be much work for a tool that is used few times. By using web interface, one can use Maemo’s great browser, allow remote administration from PC, being multi platform (MacOS, Linux, Windows)… this wouldn’t be possible from inside Canola/SDL or even GTK.

  6. I’m no longer sure about whether I have to press play after selection a radio station. Maybe I was just impatient for the buffering to finish.

  7. Gustavo, hopefully clutter can make it easier to create these UIs. I did suspect that this was just a matter of developer resources. However, I don’t consider remote-administration of an N800 to be very useful. It seems like an accidental feature.

    Thanks for the information.

  8. I use ushare for upnp, and as long as your media is in the right format (it doesn’t transcode) it works great!

  9. Hi Murray,

    as elmarco mentioned you could use Coherence in combination with one of its backends as a UPnP MediaServer, the file-system backend will work out of the box with Nokias MediaStreamer, but its primary intention is to act as a test-bed for new Coherence UPnP features (maybe it is time for a sqlite/tag based backend).

    A much better choice of course would be using Elisa as the MediaServer backend and let Coherence be only the gateway to the UPnP world. There is a MediaRenderer backend for Elisa too (needs still some care, but basically it works), allowing to control Elisa with Nokias MediaStreamer on the N800.

    And a while ago I had a short chat with one of the Rhythmbox developers, if we proceed there, we’ll get a MediaStore backend and a MediaRenderer backend for Rhythmbox, and maybe others too (http://wiki.xmms2.xmms.se/index.php/Media_Player_Interfaces).

    @Markus:
    There is quite some open source UPnP software out there, I list a few here (https://coherence.beebits.net/wiki/Resources), but they are hard to find and sometimes incomplete with regard to the UPnP standard (only implement what’s needed for their special purpose, no offence).

    This was one of the reasons why I started to work on Coherence. I wanted to create a complete _and_ compliant protocol stack for UPnP (later DMAP too) and easy the pain to connect an application to it [there is still some way to go].

    But so far we have all three parts of the UPnP A/V triade there, a MediaServer, a MediaRenderer and a ControlPoint. And I did some work on a HTML/Ajax based CP a few months ago, which I hope I can merge soon.

    And the idea is not to duplicate e.g. Elisas or Rhythmboxs media-db again within Coherence, but only supply a backend/gateway that exposes that data via UPnP A/V and DMAP. Same for the MediaRenderer and ControlPoint functionality.

    But if anybody want to give it a try, it a not that difficult to put some PyGTK/Glade UI upon Coherence. Any developers out there?

    And you are right, this is gaining attention, but hindered by UPnP devices not following or even extending the specs. But maybe with more UPnP enabled Linux based media software the need to put proper stacks in consumer devices, like for example the Noxon-2, will rise too.

    Ciao,
    dev

  10. I think it’s great that the configuration is web accessible, as it allows for configuring the device using a regular computer for ease of use.

Comments are closed.