Mobile Phone Check-in

Thursday, July 05, 2012 2:42 PM by nairdo

Last year I told you about our problem of trying to check-in 1750+ kids ( at roughly the same time to avoid the long line that growing as our Vacation Bible School program grows each year.  I hinted that the solution might be to allow people to use their mobile phones to check in...

Presenting - Mobile Check-in!  Works on any mobile device (at least the ones that people are actually using ;) that has geo-location services.

mobile kids checkin on iphone

Over the past several weeks, Jason and I have been adding the missing features, re-skinning, polishing and testing a variant of our custom Checkin Wizard module for Arena ChMS.  (Internally we've been calling it v1.5.0, but I'm still not sure if it will get merged back into the current Arena ChMS code base on our Redmine repo.  But, this is the kind of magic we'll be adding into Rock ChMS for sure.)

Although it was a relatively simple set of changes, we still ran into enough 'gotchas' that made the project linger longer than we both wanted.  It's still just a web app, so the person doesn't need to install anything on their phone (because frankly, they don't want to have to install a church app on their phone -- they've already got their Bible app, so what more do they really need?)  Seriously, I've mentioned this topic at previous RefreshCache events -- many others balk at the idea writing separate apps for iPhone, Android, Blackberry, etc., and even though there are frameworks/tools that will let you more easily build a native app wrapper around your HTML "app", I still say "people don't want to install your app."  With the coming HTML5 storm coupled with changes by vendors to allow web apps to have the same access to hardware that native apps enjoy, I feel stronger than ever with my argument.

allow location

For now, the only thing we really needed was access to the person's location.  Thanks to the team over at Geo-Location-Javascript for their JavaScript library and their use of the MIT License, we only needed to work out the details of mapping the person's geo-location to a particular kiosk at one of our four campuses.  We decided that if you're within .5 miles (configurable, of course) of our campus you're close enough to check-in, otherwise you're still too far.

too far, try again later

Once you're on campus, if the event's check-in start time has started you can check-in using your phone number.  In the future, it would be nice to automatically access the devices mobile number directly and try to find a matching family first, but for now it's still better than waiting in line to use a public kiosk.

mobile checkin, animated 

Major props go to Jason because he did a sweet job taking our existing module's markup and making it look amazing using his mad CSS styling magic skills.

I'll let you know how it all goes sometime after next week's VBS...



  1. Jim Michael Says:
    This looks really nice, Nick! One thing that isn't clear is how you are handling printing... are you only using this for check-ins where you don't need to print tags, or do you have a centralized "get your tags here" for these mobile clients?
  2. nairdo Says:

    No, we're definitely printing labels.

    We have two approaches when it comes to labels. For most of our cases (normal children's weekend and VBS) labels print in the location/room.  For the other cases where the system is configured to print at the "[kiosk]", the mobile devices have their labels printed via the physical (or virtual) kiosks to which they are **mapped (-- but even in this case that physical kiosk simply provides the defined printer name to which the print job will be sent.)  In all our cases, our printers are network printers.  We no longer use USB/parallel-port printers attached to kiosks.

    ** our new code uses an Arena lookup to 'bind' a lat/long coordinate to a defined physical/virtual Arena kiosk.

    Does this make sense?

  3. nairdo Says:

    Update: At one of our campuses we had 50% of the 1163 kids (580 to be exact) check in using this mobile, non-native, web-app!  At that campus we checked in one kid every second during that first, peak minute.  I'll  blog all the details and metrics next week.

  4. Jacob R Says:
    Nick, How can I get a copy to start testing on my end?
  5. nairdo Says:

    @JacobR, at the moment there is no way for you get a copy.  It's only a local test branch based off the CheckInWizard 1.4.0 code.  You can get 1.4.0 here:

    Also, it's still certainly an Arena Module.  In the future, it will be a Rock Block for the Rock ChMS system (

New Comments to this post are disabled

Powered by Community Server, by Telligent Systems