Info Kiosk - An interactive digital sign
At my church where I currently work there's always a need to get up-to-date and current information to the congregation in an easy to use format. In the past, using digital signs or kiosks were normally out of the question for various reasons, many of which included price. There are digital signs systems that would make Scrooge McDuck faint when looking at the price tag. And then there are those that are free... but they take a PhD to use correctly.
So we decided to make our own.
Introducing the Info Kiosk
I know... that name! The originality! You know you had to pick yourself up off the floor after reading it :)
The Info Kiosk is an extremely simple way to display what events and classes are going on right now at whatever campus you happen to find yourself. The kiosk displays promotional images at the same time (sort of a smaller digital sign). It sits in a portrait layout with the images at the top and a list of classes that takes up the bottom 2/3 of the screen. Classes that are going on now get highlighted as "Happening Now" and are removed after they are over for the day. You can swipe between promotional images and of course select a class that's on the list.
Selecting a class brings up a bunch of details about that class, and most importantly, tells you where the class is on campus with a campus map. It even gives you a room number and shows you who's leading the class with a picture and name.
There's also a "Church Service Mode" that will remove the list of classes (if there are any during a service, which in our case is usually no) and display a campus map with more information on it. There's been some talk about how to make this mode more useful, and I'm sure we'll end up adding more features in the near future.
We really wanted to keep this thing as simple as possible to start off with and yet keep it usable. And I think we've achieved that with this one.
The Under the Hood Deets
Originally we bought a Samsung 46" Smart TV and decided we were going to buy a separate frame to enable touch input like the ones found at King Touch Group. Let me just save you the trouble: Don't do it. Seriously. Just bite the bullet and get something better. Like this LG 47VT30 TV. It's quite awesome, and it's the one shown in the video.
All the data for the kiosk is driven by Ministry Platform. Whenever a change is made that affects a class or group that's currently being display, the kiosk updates itself automatically. In order for this to happen, the stored procedure that is used by the kiosk has a "Last Updated" field in it that is read directly from Ministry Platform's Audit Log table (the table in the database that keeps track of all changes made).
The Client Hardware
The computer that runs the kiosk app is a Zotac Zbox. I love these boxes and I personally own one. They go great as mini PCs and media centers for home use. But for our purposes it's a fairly inexpensive way to run the software and yet still have enough power for lite animations and the like.
The Client App
Yep. The app is a Windows 8 app all the way. In all honesty, it was the most logical OS choice to go with. We knew we wanted to deploy a Windows machine, and this app was to be touch-enabled. The one snag that we almost had was determining whether or not it was possible to disable the hot corners and edge swiping in Windows 8. At first things weren't looking good. Microsoft has, for some of it's products, notoriously bad documentation. I eventually discovered that it could be possible with Windows 8 Embedded. So that was enough for me to go forward from there.
What's even crazier was that as the app was being finalized, I found out that the upcoming Windows 8.1 is going to have a "Kiosk mode", which Microsoft is calling assigned access. It's where you can assign a user a Windows Store App to use, and upon that user signing in, it launches only that app and disables the Charms bar and app switching. It was perfect (dare I say divine? :) ) timing. Rather than going the seemingly complicated Windows 8 Embedded route, we decided to go the Windows 8.1 route instead. Yeah, our kiosk is running on a pre-release OS. So shoot me.
Other Tech Details
I decided to ditch the offical Ministry Platfrom API for this project to favor speed over convention, since all the kiosk app is doing is reading from a stored procedure in the database and tools to do that have been lying around for a loooong time. I'm using Dapper instead. The web app in which Dapper resides acts as a central proxy. All of the kiosk client apps read from the same internal web app. This bad boy also uses MessagePack for network optimization. It saves insane space when sending data out over the wire, which is good in this situation.
I'm really happy the way this application turned out. And I'm even more excited to see how it's going to help people get to where they need to go during the week. At the end of the day if it helps facilitate ministry, and helps people move forward, than that's enough for me.
About this blog
Tech. Software Dev. A serving of humor, spiced with adventitious talk. What's not to like? ;) Seriously though, I'm all about making the world a better place through software and other tech. Want to know more about me? Find it here.