The long, winding road to Passbook Coupons

Screen Shot 2013-02-12 at 4.16.16 PMEvery week or so an email or App Store comment would show up and scold us for not enabling Passbook support for SnipSnap. “The app is great, and I use it for all my coupons, but why don’t they allow you to sync your coupons to Passbook?”

Well, I’m proud to say that we finally do support Passbook with SnipSnap coupons. But our implementation didn’t go the way anyone expected. And it certainly wasn’t something we delayed working on until February 2013.

passbook-hero_2xThe truth is that we couldn’t have been more psyched about Apple’s mobile wallet app, or more eager to integrate with it, from its inception. I still remember watching the WWDC presentation about Passbook at our office and immediately (as in, while the keynote was still going on) downloading the Passkit documentation. We scrambled to have an implementation ready to go right at the iOS 6 launch in September. In fact, we had it ready to go weeks ahead of time. And then we did a little something that entirely derailed the plan. We tested it.

There were a couple weeks before Apple’s official unveiling, so we went and shot a demo video. And much to our surprise, when the guy at the register scanned our coupon, it didn’t work. Huh. We had an intern at SnipSnap eager to help, so we sent him on a shopping trip with several passes in hand. And they all failed too. Yikes.

Nothing is more frustrating to a startup CEO than delaying a launch or release, but that’s what I decided to do. And the more we tested and tried to figure out why the passes weren’t working, the worse things got.

SnipSnap Passbook Design, v1
SnipSnap Passbook Design, v1

The problem revolved around the use of 2D, or two-dimensional, barcodes. Unlike linear, one-dimensional barcodes, which have a series of vertical lines, 2D codes have data encoded in two dimensions, thus allowing for dramatically more information to be embedded. Apple made a choice when developing Passbook to only support 2D barcodes, mainly because if you have the right type of scanner, they’re very easy to pick up off an iPhone screen. Of course, that “if” is a big “if.” It turns out that very few retailers have scanners capable of picking up 2D codes. And even fewer have the ability to reconcile 2D codes with their point of sale system. Perhaps worst of all: Even the ones that have the scanners and can interpret a 2D code still choke when you take a 1D barcode and convert it to 2D. Which of course is exactly what we were trying to do.

Why? Well, it turns out that nearly every coupon in the known universe has a 1D, linear barcode. Out of our database of 500,000+ coupon, we did a search for coupons with 2D codes. We found 12. So the only real option was to turn the 1D codes into 2D passes.

But as our intern, Geoffrey, soon discovered, this was a bad idea.

And we weren’t the only ones with it! While we sat on the Passbook sidelines, testing and testing and pulling our hair out, other apps came along with the same solution (1D-to-2D passes). We had no idea if they’d bothered to test these passes in the real world, but were shocked to find that they were even less reliable than the ones we’d made. There were only so many mall trips Geoffrey could make, so our whole team chipped in to test one app (which shall remain nameless), and ended up 0 for 12 on barcode scanning. Yikes all over again.

After months of misfires, I finally sat Geoffrey down. “Listen, is this ever going to work?”

The only way to do make the passes scan, he explained, the only thing we could be sure of, was to display them like we do in SnipSnap: with regular, old-school 1D barcodes. And since Passbook only had support for 2D codes, it was a moot point. Right? Not so fast.

A lightbulb went off: Passbook also has support for a strip image on the coupon passes. Why not use that and make our own 1D barcode images?

So that’s just what we did. And amazingly, right around the time we were ready to launch this new design, we got an out-of-the-blue email from Apple, wondering what, if anything, we were planning for Passbook. After sharing the story above, along with loads of testing data (and our own data about success rates for scanning 1D codes off SnipSnap), we were finally ready to go live with our new and improved design.

Drumroll please …

SnipSnap Passbook Design, Take 2
SnipSnap Passbook Design, Take 2

Hey, we know it’s just a coupon, and no coupon is ever going to win a beauty contest. But we’ve tested this sucker quite a bit, it scans reliably, and it looks awfully pretty to us.

See here for how to add a coupon to Passbook, and watch a video of how it all works here.