Digital Signage at the University of Windsor Paul Grzeszczak - Client Services and Support, IT Services Vlad Pavlovic - Web Services Group, IT Services Brief History • In October 2006, UWSA requested a simple “slideshow” system that would iterate through the Campus Events (available as RSS) and display each one (image included). • I designed and developed a proof of concept system, • Tragically, this design never saw the light of day (new UWSA government took over). Brief History • In 2008, Medical Education Building required a system that could display the sensor data from the Living Wall. • IT Services decided to create a web-based system that had the ability to be remotely managed (via web browser). Designed by members of Public Affairs and Communications department. • Initial requirements were very simple: – Show the sensor data from Living Wall. – Display time lapse video of building construction. – Message to be shown in ticker at the bottom of the screen. • Shortly after, the requirements were expanded to include: – Current class schedules. – Additional slides. – Parsed content from News feeds (RSS). – Broadcast/emergency messaging. v1.0 Screenshot (MEB) Original Hardware • Monitors and media streaming units were donated by Exhibio and placed in two locations • Hardware was a dedicated media player device based on Sigma chipset, not a standard PC • Hardware could not be re-purposed later on • Exhibio interface (at that time) required direct access to the machine in order to change any information shown on displays • Not easy to get the sensor data to show up and be automatically updated v1.1 • Later in 2008, Faculty of Law also purchased Exhibio machines and a number of displays. Encountered similar issues as above. • Our solution was expanded to handle more than one display at a time and to allow for different content to be displayed on each display. • Added ability to pull news and events from Faculty of Law website directly and selectively into various displays. • An easier-to-use interface was also added to accommodate the expanding number of users (MEB, Law, Campus Police, etc.) • Added ability to select different themes for different displays. • Over next few years, a number of other displays and display locations were added to the system. Reached a maximum of 12 displays throughout campus. • Retired in 2012 as new requirements from Student Ancillary Services pushed it beyond the available capacity. v1.1 Screenshot (Campus-wide) Hardware - Old PCs • Retired PCs – P4, 2GB RAM – 250W • Costs – Free PCs – HDMI video card / transceivers – Cable runs ($$$) • Problems encountered – H/W overheating – OS / Software updates – update pop-ups – security concerns • Mitigation strategies – RDP – on-site visits New Digital Signage Software Requirements • Major Requirements – Emergency/Alert messaging. – Support any number of displays. – Improved Rich Media handling. – Better content management (ie: content reuse). – More flexible and configurable layout/theming system. – Better support for multiple departments and display provisioning. – Better integration with our CMS (Drupal). • Other considerations – Use of standardized javascript libraries for effects/transitions as well as AJAX calls (jQuery). – Allow Public Affairs and Communication department to push content to any displays on campus. – Improved UX and documentation. Digital Signage Software (v2.0) • Essentially turned the back-end system into an aggregator with the ability to share content sources between departments/displays. – Exceptions: Media playlists and Emergency/Broadcast messaging. • Supported content sources: – RSS Feeds – iCal Feeds – Media Playlists (RSS playlist format, extended with jwplayer namespace) – Custom XML Feeds from Drupal – JSON Feeds • Details about how the content is output is configured when it is assigned to a particular display. Digital Signage Software (v2.0) Content Sources Content Sources List from the admin section of digital signage system. Currently only 75 sources are used in order to provide content to more than 25 displays. Digital Signage Software (v2.0) Content Assignment • Created content can be assigned to any display. Specifically, any content source is actually assigned to a region on a display. • At this point the desired output formatting is defined. – Different content types have different formatting options available. • Example: iCal Feed content assignment vs RSS content assignment. Digital Signage Software (v2.0) Content Assignment - Differences defined by type • Notable exceptions are JSON feeds and content being pushed from Drupal, which allows for users to define these parameters when creating the slides (on a per-slide basis). – JSON Feeds allow for token-based row outputs. Digital Signage Software (v2.0) Content Assignment - Regions Digital Signage Software (v2.0) Content Assignment - Differences defined by type • In Drupal, created a custom module that allowed content providers to easily push content to their displays using their existing Drupal website. • Idea was to configure the content sources for the display once and then manage the slides using Drupal’s content authoring and management capabilities. • Allowed users to not only create the content but also define its behaviour, such as slide transitions, and appearance. – Example: If a slide is an image and is assigned to a particular region, the image itself is automatically scaled and cropped to the correct size. • Content could be scheduled, and could be full slide images, flash presentation or a combination as defined using a WYSIWYG editor. • Drupal 7 version also supports oembed content for very easy-to-use presentation of third-party sites (such as YouTube, Flickr, Vimeo, etc.) Digital Signage Software (v2.0) Content Assignment - Design • Current theme was designed by Public Affairs and Communications. – Similar in appearance to previous version. – Added better weather and clock widgets. – Is also configurable, ex: Banners can be different whilst using the same theme. • Only regions with visible content are shown in the rotation. – Content is cycles through on a per region basis until completed. • ex: Split Screen content will continue to cycle until both sides are done before switching to Full Screen content. • Currently displays/theme are configured for 720p resolution (1280x720). – Good balance of picture quality and performance. – Allowed for a 640x480 video to be played in split screen configuration. • Header/banner is 140px tall • Split/Full Screen content is 480px (when footer present). • Footer/Footer Marquees are 100px tall. Digital Signage Software (v2.0) Display Management • Displays are identified by unique IDs and/or IP Addresses. – On campus, we have the ability to statically assign IP Addresses so at times this is the fastest way to identify a display. • Every visit to any display webpage is logged (even if the visiting device is not a permanent display). – A display can then be “claimed” as one managed by the system. – Alternatively, a display can be created manually using the admin UI. • Display capabilities and statistics are also recorded. – Resolution, theme preference, banner preference, media playback capabilities, operating system, browser used, department ownership. – Last Reset time and last check-in times are recorded as well. • Claimed displays can then have content assigned to them, be reset (ie: webpage refreshed), or be shut down (ie: stopped from checking for new content and stop showing any content) using the UI. Digital Signage Software (v2.0) Display Management - Display Listing Digital Signage Software (v2.0) Content Display - How it works? • Each display essentially just visits a web page. – The first AJAX call is made immediately to check the current status of the display (ie: should it be on, are there emergency messages etc.) • This call is repeated every 2 minutes. – A second AJAX call is made to retrieve the content that belongs to the display. • If the display is managed by the system (if not default display is used), the assigned content is loaded and returned (with appropriate hashes) as JSON code. – Multidimensional array with region as index containing the hash and content payload (ie: slides). – The hash is used to check if content update is needed or not. If not needed, we didn’t want to disturb/reset the slideshow. • Content updates (and weather) are checked every 10 minutes. Switch to Linux • Windows – Licensing costs – Continual updates – Vulnerabilities – Stability issues – Needs persistent storage • Linux – Free, open-source – Secure – Customizable – Live OS – Cool Other Hardware Explored • GuruPlug Display – Marvell SoC, ARM core – 800 MHz, 512 MB RAM – HDMI, Ethernet, USB, µSD – < 5W power – size 4 x 3 x 2 inches – ~ $100 • Software – Debian Linux – Iceweasel browser • Issues – Slow – Video acceleration N/A Current Hardware • Foxconn NanoPC barebone system – AMD APU based (Intel versions available) – 1.0 GHz Dual-core – Radeon HD 7290 w/DVI & HDMI – GB Ethernet, USB 3.0 – ~$200 – 65 W power – NanoPC - passive cooling – Added: • 4GB RAM • SD card storage Webconverger - Web Kiosk Distro • Debian-based • Open-source • Lean • Read-only media • Secure • Versatile • Customizable (API) Webconverger Customization • Customization offered – one-time • $200 / PC – subscription • $10 / PC / mo – bulk / organization • quote • DIY customization – non-trivial – free • Needed to change – custom URL – no address bar – UW logo – time zone, etc Webconverger Boot API • Specify options interactively • Bootloader passes options • Need to make them persistent • Debian Live ISO-9660 file system (read-only) • Customization – Mount ISO file system – Copy to host – Modify bootloader configuration – Repackage ISO – dd to SD card Digital Signage Software (v2.0) Media Playback Issues • We encountered poor performance when playing MP4 videos (vast majority of our rich media) resulting in choppiness and general system slowdown. – Caused by a lack of hardware acceleration. Outputting videos using HTML5 <video> tag resulted in videos not working at all, JW Player fell back to Flash. – In cooperation with Centre for Teaching and Learning (stream providers on campus), Paul came up with a solution to use the VLC player browser plugin which was fully hardware accelerated and results excellent playback of HD videos. – On the software side, we simply changed the slide output to use VLC plugin for video slides only on displays that support it (disabled by default). VLC Media Player / Plugin • Can’t do this through boot API • Customization (Webconverger wiki) – Debian build environment – Clone GIT repositories • Debian-Live-config • webc – Modify bootloader configuration as before – chroot into Webconverger filesystem • apt-get install vlc – chroot into build environment • make • Using Vagrant – automates creation of development environments (VMs) – integrates with Virtualbox / VMware – scripts written to ease the process Digital Signage Software (v2.0) Emergency Messaging • Most important requirement was for Campus Police to have the ability to remotely send targeted (or broadcast) messages to public displays. – Messages take precedence over content on all displays. – Displayed within 2 minutes of posting. – Scheduled messaging allows for messages to be automatically published and unpublished. – Created canned messages for certain events (ex: Fire) to speed up message creation with automatically pre-filled fields. – Messages are tested every month by Campus Police and operational status is confirmed via security cameras. Digital Signage Software (v2.0) Emergency Messaging - CAP Messages • We also generate CAP (Common Alerting Protocol) messages which can be used by other services. – Campus police can choose which messages are also meant to be used as CAP messages. – Reuse fields from regular messages where possible and adds the required CAP message fields. – Odette School of Business uses Rise Displays for their Ticker and Digital Signage and Rise can parse relevant CAP messages for emergency messages. – Currently talking with Campus Police about possibly adding the CAP messages to Google Public Alerts which could ultimately push any alerts to smartphones subscribed to the service, located in the region, etc. Digital Signage Software (v2.0) Emergency Messaging - CAP Messages Digital Signage Software (v2.0) Emergency Messaging - CAP Messages Thank you Vlad Pavlovic Vlad.Pavlovic@uwindsor.ca Paul Grzeszczak Paul.Grzeszczak@uwindsor.ca