|
All content on this website, Copyright Beeker Studios 2000-2009 |
Building a Digital Signage System using Open Source Tools
Recipe for Digital SignageHardware:
Software:
Capabilities:
How does this work?Using the recipe I have outlined above is a good start, but that sure as heck doesn't guarantee "a working system". If you left Drupal out of the picture, at the root this system is nothing more than a flash slideshow, with an xml file as a playlist, and images/video/audio as assets loaded into the flash application. It's as simple as that. Drupal however offers an easy, and simple way to manage, sort, organize and also present a dashboard back-end to users that maintain and cultivate the digital signage. ![]() Since the CMS is not outward facing, it serves a more utilitarian purpose, the modification of it was secondary to it's functional purpose. I also wanted to exhibit how this is in fact Drupal, in it's very basic form. DrupalDrupal is really the meat of the operations here, I am using a vanilla install, with very few modules. CCK being one of them. Drupal is Open Source, and is an almost perfectly extensible wheel. I know PHP well, but not perfectly, and Drupal is rock solid, and I know how to pull the information out of it that I need. The front-end is user friendly enough for a copy writer to make changes on. XMLWhy XML, over something like AMFPHP, well it's what I know and it's fairly simple, the future may give me more ideas on how to make this more dynamic. For me some of the interactions that a framework like AMFPHP offer, they are even MORE complex than just getting down to business. Using something like XML, also makes other functions using a parser I already have in place to parse my playlist, a hop skip and a jump away from parsing data for other methods. So KISS is the mentality here. AMFPHP seems to really be powerful in live interaction, with a web only engine. FlashFlash is a very capable and ubiquitous platform, it will run on anything (windows, mac os, linux), and aside from the hardware it's the "proprietary" part of this system, that is unavoidable. As a non-programmer, I needed a platform that could handle video, and prescribed animation, and allow dynamic production of content. Currently because of flash this system, can handle still images, full HD 1080p video, and dynamic flash content. Within a matter of minutes, someone who is only a writer, can "produce" an advertisement, and minutes later it's running on the digital signage. DataIn order to make the digital signage "web enabled", but still maintain autonomy if in a worst case scenario, network is cut for some odd reason, the system runs from local files, which are downloaded and synced via cron job and shell scripting. The reason for this is if network gets cut, and the display needs to access "Asset A", it won't be able to, and therefore would have nothing to show. So this is a very forced caching method, and it runs from the local file system 100%. In fact the flash app, aside from pinging the backend system to alert it of the currently playing segment, doesn't talk to the internet at all, and even more so the user that the display is running on, can't even access the web, it can only run the one single flash application. So security/network access of the actual flash app dwindles to almost nothing. This isn't out of inability, it's for security, and as I mentioned autonomy of the system. For all intents and purposes, the system could easily load a youtube video, or any data directly from the internet. However what does occur, is that the back-end system, acts as a gatekeeper in order to mirror assets/content, even for data like weather, downloaded images, etc. This also gives me the capability to show a preliminary version of what the display would look like on the back-end. HardwareTruth be told I could have easily just done this with a linux box, but maintaining a linux box "in the wild" is not my forte. Being able to upgrade the system, and lock it down, easily, with easy manageable interfaces was a benefit. Also the small form factor of the mac mini, in this situation is really beneficial. One detraction of using a mac mini, is the WANT factor of a device like this flying behind, or up on a display. Unfortunately the digital signage I deployed is hanging, with it's front and it's rear completely open, and visible, so the mac mini attached is highly visible. I've had colleagues who suggested using displays/computers that are specifically designed for this type of a system, and my problem with these displays is that they are WAY too overpriced. We are talking about an off the shelf linux PC, connected to a single PSU and smacked onto the back of a sub-par LCD display. If you want a bigger display the cost goes up quite a bit. Having an extra power cable to me really wasn't/isn't that big if a deal. If someone wanted to be super, super anal about this, they could easily come up with a breathable cover for the back of the display, that tidy's up the look of it. In my opinion, that is the ONLY benefit. If the display is attached to a wall, having a PC mounted behind, with an extra cable, big whoop! The mac mini I deployed is secured to a pretty hefty LCD mount, and is locked. My opinion regarding security, it's to keep the good people away. If someone wants something, really wants it, they will get it. Where there's a will there's a way. The display system I have deployed is located in a public place, and is often un-attended with nobody around, for quite some time. The building is locked up, and only those with codes to enter the building can get in, but that still doesn't prevent me from still being a little paranoid. Why use an Intelligent Auto-switching Surge Protector?Unfortunately unbeknownst to me, the LCD display I spec'ed out did not have any auto shut-off functionality. So when it stops receiving signal over HDMI, it just remains on, displaying a no signal message that bounces around on the screen. Kind of lame, since even the "Costco Special LCD" I have have at home, has this functionality. There is an extra functional/green reason for using this. Even an LCD display that has this auto shut-off built-in still uses "phantom power". The awesome thing about the mac mini, is that it can completely shutoff, and uses 0 power, I repeat 0 power, and at a scheduled time (prior to it's scheduled shut-off time), it can turn on, with only using it's on-board CUDA battery, which is similar to a CMOS battery. As an example, I scheduled my computer to shutoff at 1pm, and then set the computer to turn back on at 2pm. At 1pm the computer shuts off, as well as shuts the display off. I go to the wall after this is done, and completely unplug everything, even the surge protecter. At 1:59PM, I plug the computer back in, and at 2:00pm the mac mini fires up, turns on the display and the ball is rolling. So between 1:01pm and 1:59pm the entire system uses 0 power, so during it's off-time it uses 0 power. Now this kind of anecdotal, I am sure the surge protector during it's auto-switching is using some power at the least. But the point is that using the surge protector, allows me to completely cut off power to the LCD display, and whatever else I wish to have plugged in, in the same vicinity. If for instance I wanted to run another display, or some sort of powered video repeater, I could. DrawbacksHD 1080p video in flash on OS X isn't exactly smooth as butter, but I am working on making it look and work better, but it's except-able and it's looks fantastic. Other than that, Drupal doesn't prevent me from doing anything I can't dream up. How long did this take?A lot of the components I used were already in place, but from conception to actual installation was about 6 months. Most of which as I mention below was because of hurdles put into place by the University I work at. Installation ConsiderationsOne thing that became clear when my colleague and I started this project, it was that our end of the project was the simplest. The construction aspect of this project, took the longest, and ate up the most time. The primary reason being that this digital signage is/was being installed in an higher education institution, and in said institution there are processes, and limitations, on how, who, and when a project can be done. In our case the project was done almost 100% by the facilities organization on campus. Just for a better understanding, if we as employees do anything so much as put a nail in the wall, because of union laws, the group we work for can get in very big trouble. So the facilities group acts as the gatekeeper, to ensure that the employees in that group maintain their jobs. I understand this, but it's a bit frustrating, especially if we plan on expanding this system further into the building. The cost is not entirely in the equipment, it becomes expensive to get power, and network, and that is something you need to understand for any professional installation. Content ProductionOne thing a lot of these digital signs don't think about is the cost of time to produce content. They don't provide a method for easy production of content, so you basically need to be a digital media designer, or hire someone to do that work for you. My system takes this into consideration. I currently only have 2 templates, but with the proper work more dynamic templates could easily be created, and business could "produce" the content with the click of a mouse. My templates are fully animated, and have 0 production/render time. I have also devised a method to produce more dynamic full motion video advertisements, but that method is not currently being used or is it necessary. Most digital signs are only offering a video playlist type of content, and no true dynamic content display.
The FutureI plan to expand this system, it has tons of functionality missing, and also has tons of possibilities to leap frog other systems. Here are some examples of things I plan to do to expand the system. Playlist BuilderOne thing that I have seen missing from systems like this, is a simple intuitive method to edit/build a playlist. As a video editor, or one that uses video editing tools (NLE), I understand this paradigm, where a list ordering mechanism, while performing the same function, doesn't give a true experiental understanding of what a playlist looks or feels like. What I mean by that, is that if one was to look at a simple list like this:
It doesn't give a proper representation of timing, and that is huge with a system like this. Putting 2 fairly long assets back to back, with 2 short peices in-between, as apposed to staggering them is cumbersome, from a usability standpoint. Having a visual representation of length built-into the ordering/builder/editor system gives a better understanding of this. For example:
As you can see this is a bit more visually intuitive as it gives a sense of timing, and therefore pacing of a "playlist". So instead of just being a segment orderer, it actually becomes like an editing tool. To see an example of how something like this could work, check this out: Link Coming This is just a starting example, obviously a playlist is a bit more constraining, and allowing things like stretching or cutting like in a real NLE, are pretty much un-necessary. Segments are for the most part already "edited" and final, and exist as standalone works. So editing them individually, except perhaps a dynamic element is not needed. Multi-Screen DeploymentRight now my system uses 1 screen, and has one backend. What would happen if I wanted to deploy another screen, or furthermore n number of screens. Well it's really trivial actually. I can either have the additional screens use the same exact playlist, at which point individual control is an impossibility, or I can make a playlist creator, or something of the sort. At this point the systems needs are so simple, that this just wasn't in the scope of the project. We are looking at deploying a few more screens, and they would need their own individual control. I don't think this is a huge technical hurdle by any means. Social Networking and Text Message GatewaySocial networking is so prevalent, it becomes a no brainer when people respond so fervently to being able to see themselves, or what they are saying on a giant display. I have seen systems like this, and people froth at the mouth, to have their picture, or their message displayed for the world to see. I also see this as a great way for a business/company to show the buzz and chatter about what their business does, even if it's not just about their business. For instance, if someone was running a bicycle shop, showing texts or tweets of people saying they are going for a bike ride in a given city or landmark within a city, props up the business and shows how people love to ride their bike. This is just an example, and I think it's a limitless and ever growing example of how Social Networking is going to be come more and more prevalent in our lives. Mobile GamingThis is not something new, but what I would like to mention is that building a tool that allows for many people to control a single gaming interface, is not something that is readily available. Imagine a crowd of people gathered around a large display all mashing on their mobile devices, trying to win some prize, or just notoriety. Perhaps the prize is to be able to show a message at the end of the game for a given period of time, like a website address, or almost anything. This is a very exciting, and expandable function that I would love to explore. The one company that I know does something similar (Megaphone, uses text messaging, and or a live phone call, to listen for phrases, like up, down, right, left, etc. which gives a real-time chattery experience, that is I must admit a much different dynamic than the mashing of a "controller" (cell phone). I do think, that a web interface is a bit more real-time over a text-message, and a lot easier to implement than a voice-listening speech-to-text system, so it's kind of an improvement over one system, and a compromise over the other. Note: I am sure even thinking up something like this is causing some IP issue, but I would like to add, that even before I saw that company, I had thought of doing something like this. I also think my system is quite different, in that it relies on operating a website, so even people not AT the display can join in, on the fun. Mobile EngagingI have seen various solutions to this. One of them is to provide a short web url, okay, sure that works, but most people are not going to A) remember the web url B) want to type ANY url into any device. Another example is provide some sort of bluetooth pairing, to send data directly to the device. Okay this is getting warmer, but I think it's a bit of an annoyance. Some have also talked about using QR codes on advertisements, and a problem with this, is that ads are so short, most people don't have time to capture the code. QR codes are great for print works that are static, or for longer segments of content. I would even suggest that they could be okay for a universal QR code/lower thirds, that brings you to the company or even an individualized website for the ads on that specific display. The last way I think to provide mobile engagement is using a gateway, on location, that provides a wireless access point within a place of business. Devices connect, and are automatically directed to a page, that shows links to the advertisers on the digital sign. User Cultivated/Purveyed/Aggregated MediaNow this is where it starts to get interesting. If a business or org is selling or making money off of a digital signage, and using media from the web, I am sure there is some giant copyright infringement bomb in this concept waiting to blow-up. On the flipside, if lets say a coffee shop, plays an iTunes playlist in their store, but instead of just playing the playlist, they showed what was playing on a digital sign, and also operated an in-store website/gateway accessible from ANY web enabled device, that allowed their visitors to directly link to online music stores to purchase the music. I know what you're thinking, doesn't starbucks/apple do this already. Well yes, they do, but guess what, you have to have an iPhone, and the little mom-and-pop shops that many prefer to go to, can't put in an iTunes music/radio system. Meanwhile while playing music in the background, showing a message or advertisement in-between showing what is currently playing can be fairly simple. The focus of a system like this, is definitely on the music, and less on an advertising medium. If there is content on the web you wish to use in a system like this, more often than not, you need to get the permission of the person who made it, or better yet get the permission of the service that it's hosted at (i.e. YouTube, Vimeo), etc. The solution to this, is to allow an easy way for you as a purveyor/business to contact the owners of the content, and for the content makers to allow you to use it. This I think could easily be solved by offering a service outside of all of these hosting services, where people post specifically to be allowed to use in systems like this. Yes this means a website. (Note to myself: hey me, make this website pronto!) Once this content is allowed to be used, I think it becomes a no brainer, on how it is displayed in the signage. Since 90% of video hosting services are using flash, and this system is USING flash, and supports flash video. Done deal! 3 Digital Sign's to Rule Them AllAs I see it there are 3 basic conceptual models of how to operate a digital sign, and I will explain the differences, the benefits, and the drawbacks. Advertising First, then EngageThis tends to be what the majority of digital signs have become. Annoyances, and guess what just like spam, people are turning their heads, and unless the content is TRULY engaging, people just don't pay attention to them. I do, but that's because I am looking for flaws, and reverse-engineering how they function and operate. Most if not all digital signage systems become white "noise" (visually, and auditorially). Even when the content is engaging, the screens are usually so cluttered with information, you might as well just show the adverts 100%. Don't get be wrong, I think there is a method, and a madness to an advertising model in digital signage. There is a monitary purpose, and a clear benefit, I just think that sparser usage of ads, and more engaging content, is going to have more impact in general. Engage First, then AdvertiseThis is the model I prefer to use. Present engaging content, and then advertise. The advertising is unavoidable, if a business is only doing it to show specials, or events happening at the location, it's still advertising. Now if they go the extra mile, and help advertise other businesses within their proximity, well that is another story. I think having engaging content; music, video, information, is really key. Get people to actually pay attention to the display, so there is value in it, for your CUSTOMERS, and then it will become valuable to a business. InformationalThis is typically how an organization like I have deployed my digital signage in operates one. It's almost 100% informational. Fluff, and engagement are seen as clouding the information. Advertisements, especially in a higher-ed environment are an impossibility, although sponsors of some of our events at the college, may appreciate having their name scattered in-between. How to engage in an environment like this; present information that is timely, and pertains to your users/viewers. |
Top Mind Dumps |
Post new comment