We’re a small town company (and love it that way), so when we go to the city we like to stand out.


A participant ready to try their luck!

We had an opportunity to be a sponsor at a networking event in London, Ontario (about 40 minute drive from our offices in Tillsonburg, Ontario).    We could have just setup a six foot table, and try and woo people with how geeky we are, and make some new contacts.  Sounds like a cookie cutter way of standing out (especially for someone was introverted as I am!).   Our thoughts were who needs another free pen or a bunch of sticky notes?  Screw that – we decided we were going to give away a new iPad Air 2 – but just doing a regular draw would be boring… After all we pitch ourselves to customers as being this awesome mix of geeky creativity so how do we show that to as many people as possible?

Goals for our Project:

  1. Make an impression and talk to as many of the people at the conference as possible (it’s hard, being only 4 hours long).
  2. Show as many people as possible how we as a company use technology in interesting ways
  3. Make sure we have people’s contact information.

We spent a few minutes deciding what we wanted to do and came up with this as our back of the napkin approach:

  • Give away a big ticket item

    Each person received a card with a unique 2D barcode that they could scan at our booth.

  • Distribute to each guest (either  in a welcome bag, or at their tables) a unique access code embedded in a barcode (example “ABC12345”)
  • Create a Touch Screen Kiosk where participants do a two step process:
    • Scan their access token card
    • Take a picture of their business card (so we can have their contact information)
  • After scanning do a live draw and see if they won – showing them live statistics (example 300 tickets in the wild you have a 0.003% chance of winning, but later in the day when tickets are used up probability is way cooler (50 tickets remaining, 2% chance of winning).

Yes, I know – this sounds crazy complicated for it to work.  We know we could have just thrown business cards in a bucket and pulled one out at the end of the event, problem solved zero cost.  Don’t worry though if we’re doing customer work and we find a “Fish bowl” solution that’s cost effective, we’ll be mentioning and not developing just for the sake of working.

How did we implement this?

We created a native Android app that was used for the data entry.  This fed our touch screen kiosk so the participants could “complete the draw” by clicking the button on the screen.  For the mobile app we figured we could run it on a handheld we are using in a client warehouse tracking/logistics project.  It’s a pretty standard industrial handheld 2D barcode scanner, wifi, cellular/wcdma – it’s really overkill but we had it handy so we made it work.

For the kiosk, we made a single page app (React, Backbone) that runs and integrates with our backend (Java and Scala because we love the play activator platform).    We ended up with a simple but effective solution for the web portal.  It used websockets so we could immediately see people’s business cards after they scanned on one of the handhelds (yes we could feed it with two handhelds, but since I was doing this solo we just used one).  Sorry if that description was too technical for you… sometimes we get a bit carried away. 

So how did it work?

To be honest it was two fold – it was a success in that technically what we tried to accomplish worked, but it was a failure in the fact that statistics were against us (or rather against the iPad winner).  In the interest of transparency we actually didn’t get to give the ipad away that day sadly.   But Thomas did win it in our webcast later in the week.

The logic we used each “draw” was pretty simple.  We generate a random number between 1 and X, X being how many tickets were out in the wild.  If it was 1 (which has a 1 in X chance) it would tell them they won the ipad.  If they lost, it would let them know immediately (with a cheeky response).

Just so you know we did the math and the first ticket had a 0.35% chance of winning (I know not a great change, but it’s 1 in 288 odds)… but when we had 107 tickets left it should have given us 100% probability that someone would have won by that time. In fact, where we left off at 68 tickets remaining there was a 143% chance that someone should have already one.   We thought we were pretty safe, but in the end math and probability eventually failed us.    I guess it’s better than ticket #3 being the winner and everyone else didn’t even get a chance.

What would we do next time?

Post Mortems are great to find out ways to improve.  We didn’t really have a chance to test this out for a large group prior to (but we made sure the technology part was rock solid) so we found the physical workflow was our bottleneck.  We averaged about 21 seconds of conversation with each person while I scanned their barcode and took a picture of their business card.   With multiple people there scanning we could have avoided a hundred or so people standing in line.  You can see from the graph below where the keynote speakers were, and back on breaks the rush of people to scan their cards and enter the draw.

Next time we’ll be changing the handhelds workflow to skip the business card (a lot of people didn’t have one or left them at the seats) and likely we’d make the draw button happen on the handheld (but show the response on the tv).

Our wish list was if we had enough time we would have done some cool OCR functions on the business cards sending them to something like Tesseract to automatically grab their emails and send them an email apologizing profusely that they lost.  But we only had so much time to devote to this.

We spent a lot of time playing around with OpenCV for trying to do the edge detection around the business cards (so we could auto crop and rotate them).  That ended up being a bit too complex for our needs on the timeline, so we went with our own approach. We would have been done this way sooner if we had focused on that from the beginning.

Do you have a networking event you want us to come to?

We had a blast and love to meet new people.  If you’re an event planner think this type of give-away would be a good match at your event please reach out and we’d love to discuss partnering with you!

We’d be interested in any kind of event in Southwestern Ontario (Windsor, London, Kitchener/Waterloo, Toronto, etc) that focuses on the needs of small to mid sized corporations.

Email me (Ian Barton) to get in touch ian@opid.ca.