Roon Web Controller Usage Survey - need your input!

(Mike Plugge) #1

I know that it appears that there have been very few updates lately for Roon Web Controller, but I can assure you, it is not forgotten. It was a very busy summer so I was not able to do much with it, but things are settling down and I am starting work on a complete re-write.

This is where I need your help. I am trying to identify use cases that may affect development.

So how do you use the Roon Web Controller extension?

This is what I already know about - can you confirm that these are still valid? Anything that I am not mentioning?

Use cases:

  • Raspberry Pi touch screen
  • A small “Now Playing” screen or mini player on a desktop using something like Fluid (Mac OS), Nativifier, Electron, QT Webengine
  • Older tablet that is too old to run the official client - like early generation iPads - What version of IOS are you running? Is IOS 9 still the norm?

I will likely use this as a chance to upgrade the requirement for Nodejs. Currently, this app is written to be compatible with Nodejs 6 LTS (Boron). But Nodejs 6 is scheduled to go end of life in April 2019. Nodejs 8 LTS (Carbon) is going end of life in December of 2019. So I would really like to make Nodejs 10 LTS (Dubnium) a requirement to be able to support possible inclusion of some HTTP/2 features. Is this going to be a problem for your use case?

I am considering the following new features - but this is by no means locked in:

  • Keeping all of the current features
  • Multitouch gestures
  • Keyboard shortcuts - will likely use the Kodi key mapping to enable this app to be used as a TV interface
  • Better support for on screen keyboards for the Library
  • Possible play queue management - still need to dive into that new part of the API

Is there anything that you are looking for that you would like me to consider?

Thanks all!


(Ged) #2

Can it/ could it be loaded on an Amazon fire stick?

(Mike Plugge) #3

Not sure - can you run Nodejs on a fire stick?

For things like an iPad, the server side (nodejs) runs on a desktop or a VM, and then the iPad accesses it with a web browser.

I would assume you could do the same with a fire stick if it has a web browser.

(mannp) #4

A key thing for me is not wanting to install the deps on multiple machines and wondered if a docker version was possible?

I already use roon via a linux docker image and it would allow people to spin up your plugin very quickly.

My older iPad 4 is stuck on iOS 10, so any local or remote support for that would be great.

Icing on the cake of my ott wish list :slight_smile: would be an electron or other client I could install on arch linux (since there seems a slim to none chance of roon labs actually officially supporting it).

Thanks for all your work.

(Mike Plugge) #5

I actually have no experience with docker, so I haven’t really looked into it.

It is a possibility though.

As for IOS 10, you should be fine there. I have an IOS 10 iPad that I test with. I am purposely using things that are compatible with IOS 9, but have limited ability to test IOS 9.

I use Arch Linux as well. Since I use a KDE Plasma, I use a small browser using QT web engine to display the client side of this. I can share the code for that if you don’t want something as heavy as electron.

(mannp) #6

There are a couple of dockers out there for your plugin, but the ones I have found were built some months ago, so are likely very out of date.

I use android tbh but have an old iPod stuck on iOS 6 and the Ipad 4 on 10. It would be good to get some more use out of the iPad, so its good it will be supported.

I’m on Gnome 3.30 and gtk3 but do have a couple of kde apps installed, so likely have the libs needed already installed.

It would be cool to try though; is the code on github or elsewhere I could grab it from without taking up your time…

(Mike Plugge) #7

My main reason for Docker is my inherit distrust of any OS build that someone else did… I am just paranoid about that… I will probably look around in a few months. There is some interest in using it for work, but my security team needs to be convinced that it is safe…

I don’t have the code for the QT web engine browser anywhere because it is almost 99% of one of the examples that comes with QT. Here is the page in the QT web engine documentation ( The only mods I made were to main.qml,

  • change the width/height of the window
  • change the url to point to my server
  • added a line for the window title just below the visible: true line:
    title: "Roon Web Controller"

To compile it, you will need qmake and QT webengine (pacman -S qmake qt5-webengine). Once those are installed, run qmake <path to directory> then make. It is a pretty quick compile - about 10 seconds on my Core I7 Kaby Lake Quad Core…

Presumably you could do something similar with WebKitGTK+, but I am not a fan of GTK3, so I don’t do anything with it. QT webengine is based on the Chrome browser sources, so it also tends to support things better than WebKit based browsers/includes.


Hello @mannp. I just used the docker image for the Roon Extension Manager.

In the extension manager you can choose which extension to install and he has an integrated update mechanism.

This works for me so far.