Digital Signage at the University of Windsor

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
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
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
– Free PCs
– HDMI video card / transceivers
– Cable runs ($$$)
Problems encountered
– H/W overheating
– OS / Software updates
– update pop-ups
– security concerns
Mitigation strategies
– 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
– 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
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
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
• 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
– Licensing costs
– Continual updates
– Vulnerabilities
– Stability issues
– Needs persistent storage
– 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
– Debian Linux
– Iceweasel browser
– 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:
• SD card storage
Webconverger - Web Kiosk Distro
Read-only media
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
– 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
– 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
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,
Digital Signage Software (v2.0)
Emergency Messaging - CAP Messages
Digital Signage Software (v2.0)
Emergency Messaging - CAP Messages
Thank you
Vlad Pavlovic
[email protected]
Paul Grzeszczak
[email protected]

similar documents