Digital Signage is Just Another Screen
With the plunging price of television screens, today I found a 43" screen at less than $250, we are seeing them popping up everywhere as digital signage: the workplace, stores, and public spaces.
In the last several years, a number of companies have become successful in selling their proprietary hardware and software to manage the content on these screens. The problem, however, is that these companies charge a premium for their services; often up-front-costs that far exceed the price of the screens themselves and come with per-screen per-month fees.
note: If you are not a web developer or don’t have the time to build a digital sign web application, there are a number of open source (no cost) projects available. The project that I am involved in is a WordPress plugin called futusign that is available in the WordPress Plugin Directory.
A big hurdle in building a web application powered digital sign is delivering the browser to the user in a suitable way. I will assume we agree to use Chrome browser and hide all of the Chrome UI elements, e.g., toolbars, etc. Then, there is choosing the appropriate hardware and operating system.
While folks naturally think of the low-cost Raspberry Pi for digital signage solutions, there are a number of reasons why they do not work well for a web application powered digital sign.
- Up until very recently, installing Chromium on the Pi, has required some hackish work-around. Apparently as of late 2016, it is supported on the Pi 3.
- The Raspberry Pi’s graphics processor (GPU) has historically been weak (have not confirmed on the Pi 3). The implication of this is that some HTML5 features, e.g., CSS animations and video, are executed on the relatively under-powered CPU and provide a sub-optimal experience.
One can buy a decent micro computer for less than $200; just make sure that they have a decent GPU, e.g., the commonly used Intel HD Graphics GPU is fine.
As for an operating system; use Windows 10. While it is tempting to use a more performant and secure Linux based operating system, the Linux Chrome browser does not currently support GPU HD video decompression.
The general steps to getting the Chrome browser to automatically load on Windows 10 boot are:
- Automatically login a non-privileged user on boot.
- Set Chrome to open in kiosk mode (using command-line switch) when the non-privileged user logs in.
The ChromeBit, around $80, is a thumb-drive sized computer running ChromeOS and (obviously) is optimized to run the Chrome browser well. Couple it with the Kiosk Chrome application and you are ready to go.
note: It is a little known fact, but the ChromeBit supports most USB touch-screens.
Android OS Based Systems
There are a number of Android OS based systems that likely would work fine; since Android 4.4 (KitKat), the WebView component is based on the Chromium open source project. Coupled it with the Kiosk Browser Android application and you are ready to go.