Understanding digital signage with Screenly
The disruptive power of the Raspberry Pi gave Viktor Petersson the opportunity to launch a low-cost solution to the problem of effectively driving multiple screens
Why did you create Screenly?
It was around New Year’s 2012, I stumbled into a position where we basically had to create a digital signage solution for a company that was acquired. Between just before Christmas, when the deal closed, and the first of January, roughly, we ended up having a digital signage network and no software. So that’s really how the very first version of Screenly came to be, the POC [proof of concept] – that ended up being a very rough-around-the-edges kind of solution where it just wrapped around a lot of tools like rsync, bash and a lot of baked-in Linux tools.
In this time-frame we basically looked at what was out there – bear in mind, this was before the Raspberry Pi – and our goal was to see what open source solutions were out there, and we found that none of them were really up to snuff. We looked at them and they were kind of rough, too homebrew-ish to be something that could be relied upon in production. So we said, well, we could do something better than this anyways – we just need something simple. Within two weeks we had a prototype that worked.
Fast-forward about four, five months or so and the Raspberry Pi came along. We were running on regular, commodity PCs back then – I think the bill of material for each computer was about four hundred bucks or so. Then the Raspberry Pi came along and it was thirty-five bucks per unit. It was like, ‘Wait a second – this device can do exactly what this four hundred-dollar computer can do, at a much smaller price point?’ So I ended up porting in and running a prototype of what is today Screenly OSE, an open source version of Screenly, and I think that by June or so, about a month after I got my Raspberry Pi, we had this version working. We open-sourced it, put it up on GitHub, we posted on the Raspberry Pi forum and it really just exploded.
We never… I mean, we wrote this for our own needs so we didn’t intend this to be a big product, but it just exploded. We posted one post in the Raspberry Pi forum [bit.ly/22ihRCi], and I think that thread on the forum has something close to 130,000 views, close to 700 replies. The funny thing is, that is more or less the only marketing we’ve done for Screenly. I think so far we’ve spent under five hundred bucks on marketing!
So we launched Screenly and we were overwhelmed by the amount of feedback and traction we got from that, and it really goes to prove that the Raspberry Pi community really is amazing. I think a month or two after we launched the open source version of Screenly we were contacted by a company in the US that had something like 10,000 ATM machines around the US, and they were like, this would be great for us. So we thought we should probably do a commercial version.
That particular deal didn’t pan out, but we started to get more and more questions from companies who were like, ‘This is great but we actually want something that’s commercially viable – a managed service and not just an open source standalone solution’. So that’s how Screenly Pro, our hosted and managed service of Screenly, came to be – it grew out of demand. So we started writing this and it took us about eight months or so to get the first prototype up, the first beta of that.
The OSE is a standalone solution, so you install it on the Raspberry Pi and you basically point your browser to the IP address and manage it from there. Screenly Pro, on the other hand, is a managed service, so we have a disc image that you download and you basically pair it – when it boots up the first time, you get a PIN on-screen and you pair that with the web interface – and that’s it! No keyboard or mouse or anything on the actual device. And there’s central management through the web interface, where you manage all these screens. If you sign up for a twelve-month package we give you the hardware for free. We have thousands of these screens running around the world today.
That’s how Screenly and Screenly Pro came to be. We maintain both – we think the Screenly Open Source Edition is essential and we definitely want to give back to the community in terms of maintaining that and providing updates to it. We have developers working on that all the time, as well as Screenly Pro. We’re a big open source company and we use open source wherever we can. We like to submit updates and patches whenever we can, and provide feedback to the community.
What sorts of use cases have you seen with the OSE and Pro editions?
The long-term vision with Screenly and Screenly Pro is basically to become a screen platform. If you have anything that you want to display, you should be able to do that over either a web interface or over our API. That’s the big picture. We currently support web pages, images and videos, so we cover most use cases. In terms of actual people using this, I would say for the majority of people – if you look at the data that people are using it for – it’s mostly images, but we do see a fair amount of all types of content, really.
We’ve been completely surprised by how people are using this. One of the most interesting use cases is a customer that manages hotels. So you know the TVs in hotel rooms? They are usually fed by a central system in the hotel, and a lot of these are dated and they run on RCA, which is a dying standard, more or less, and it just so happens that the Raspberry Pi supports that. So what they did was they threw the legacy system out and they took Screenly to replace it, so they could manage the hotel’s TV system.
The most popular, I would say, is retail. Adverts in hotels, restaurants and retail stores; info boards in universities and schools; churches use them as well; even companies, within the break room. One of the more interesting uses, I think, that I really like, is for dashboards. Maybe you have your Nagios, Hosted Graphite or Geckoboard, whatever you want to have – we see customers with that. So instead of having a mouse or keyboard to the screen and going in to manage that way, they throw Screenly on it and they can manage centrally. Currently, the way we do it is that we just display the web pages, and for most of these dashboard softwares they have a private URL for each individual dashboard, that you can basically add as an asset inside Screenly and Screenly Pro.
Going forward, we’re thinking about the ‘app store’,if you like, of add-ons – that’s definitely something that we have on the radar, and something we’re looking to do in the future, so you can basically integrate this with your board seamlessly. It’s something we are looking to do in the future but we’re not quite there yet.
What advantages are there to Screenly Pro besides the monitoring tools?
One thing that I think is really key for Screenly Pro, but I think a lot of people are struggling with on the Raspberry Pi, is video encoding. The GPU on the Raspberry Pi is relatively picky in terms of the formats, so what we do with Screenly Pro is, for all the videos that we upload to our system, we encode them before we dispatch them to our devices. We know exactly what format we want sent to the device, and that basically means we can upload something like a Windows media file to our system and it would work on the Pi. So that’s one of the really big features.
The whole thing about logical groups is also a really popular feature. Let’s say if you’re a retail chain and HQ wants you to manage all the marketing, maybe you have hundreds of stores around the nation. You might want to have each region grouped, so you can then schedule playlists towards those particular groups. So that’s a pretty popular feature.
Also, the playlist management feature is a lot more sophisticated. I’m actually really happy with the way we’ve structured it – you can set conditions, really complex rules. With a hotel or restaurant, say, you could have one menu for the breakfast hours and one for the lunch hours, one for dinner hours, and maybe you have a brunch menu on Sundays. That was a highly-requested feature that we got early on, and that’s why we spent a lot of time on making the playlist really dynamic. The big strength of Screenly Pro is that you don’t have to worry about these devices. What we strive to do here is have a ‘set and forget’ device – plug it in and then it just sits there, it doesn’t stop.
We are working on a new player module that is going to take Screenly to a whole new level, which we hope to get out in Q2 or so next year. We’ve basically written an entire player from scratch, and leveraged a lot more of the hardware resources – we’ve basically squeezed all the power we could get out of the Raspberry Pi, and we’re doing some really fancy things with that.