Info Kiosk - An interactive digital sign

A discourse on the deep secrets of Calvary Chapel Melbourne's new 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

TV Touchscreen

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.

ChMS

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.

Round Up

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.

If you have any questions, or you're interested in getting your hands on the software, drop me a note
in the comments, send me a message on Twitter, or send me a direct
note here.

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.