– Oisin Prendiville & Padraig Kennedy

This post was published in the third issue of the Appville magazine. The Tokens App was launched recently and there was so much buzz, I had to get in touch with Padraig and Oisin to come and tell their story.

This is a classic case of an app solving a painful problem and I believe that contributed to its launch success. If you are an app developer, you know how painful it is to distribute tokens and manage which ones have ben redeemed.

Best of all, Tokens is not available on the Mac App store. (Read the article to find out why). These mavericks are tackling the marketing, payment processing and everything a startup has to deal with!

We developers have a lot to learn from them and I’m sure this is a tip of the iceberg in their journey. I will definitely be watching them.

Where The Idea Came From

TOPE: How did you come about the idea? Was it through personal frustration on generating and sharing tokens? Complaints from other developers etc.

OISIN: Padraig and I had worked on a few web projects together in the past and were keen to collaborate on a native Mac or iOS app. Earlier in the year we started brainstorming project ideas and one of them was to build a native app for iTunes Connect since we were both sick of dealing with the web interface.

At first we thought scraping iTunes Connect would be too much of a pain so we brushed it aside but the the idea kept coming back up in discussions. Eventually we decided the idea had legs, but that we should focus on one piece of core functionality rather than trying to do everything in one app.

Promo codes seemed like a natural fit since we both had experienced frustration when sending them out before. So we built Tokens to take all the hassle out of promo codes.

How to Get Traction

TOPE: You seem to have received a lot of buzz during the launch of Tokens. How did you go about marketing the app and can you give us some tips on how to get the same buzz for our apps?

OISIN : We’ve been blown away by the amount of positive feedback we’ve gotten over the past couple of weeks. It’s definitely reassuring; after months of development, launch time is both exciting and nerve-racking.

We knew we had focussed on the product and making sure we smoothed out all the edges but when it comes time for other people to start using your app, you’re never quite sure how it’s going to be received.

In the weeks leading up to launch we started contacting press people and offering them a sneak peak at what was coming, we also contacted lots of our favourite developers in the hope that they’d be interested in Tokens, and nearly all of them were.

That was really reassuring. When we launched, posts started appearing the same day, and there was a good bit of buzz among developers on Twitter, which helped bring traffic to our site.

First impressions count, so we put a lot of work into a nice website which we continue to tweak. And after reading Pitch Perfect by Erica Sadun and Steven Sande we realised we really needed to put together a short demonstration video.


We spent a day putting together a demo in Screenflow. This helped give people a feel for how the app works and the benefits it offers.

One thing that really helped is that early on we clearly outlined the problem the app would solve and we focussed all development around that problem. From day one we said it had to be super easy to generate, share, and track promo codes. As well as keeping us focused during development, this also helped us pitch the app to bloggers and developers because we had a very clear statement of what Tokens does.


TOPE: You are using a freemium pricing model. How did you decide the pricing model and what to include in each tier?

OISIN: We always planned on offering some kind of trial mode and early on we started discussing what exactly the limits of the trial should be. We considered a more traditional time-based trial or the idea of limiting the number of promo codes you could generate for free.

In the end, we reasoned that if we let developers use Tokens for free to share codes for one app (of their choice), many of them would upgrade when they release their next one. There are some drawbacks to this approach too; we have all the usual costs in servers, support and maintenance.

Giving away a fully functioning version like this means that there’s not much incentive to upgrade until you release your next app and that could be months or years away. Will they remember to come back to Tokens then? So we’re working on new paid-only features to reward people who buy sooner.

It’s surprisingly rewarding to watch the notifications come in telling you that your shared codes have been redeemed.  I’d hate to go back to not knowing which codes are still valid and which are gone, so we hope that we’ll spoil developers into needing the app.

App Store Distribution

TOPE: Is there a reason why you are not making the app available in the App store?

OISIN: We scrape iTunes Connect, which is explicitly prohibited in the App Store review guidelines, so Tokens would never be accepted there. We always knew we would have to distribute this app ourselves and we’re comfortable with that.

We do sign the app using Gatekeeper, which offers much of the same security for users as the App Store. The main disadvantage of not being on the App Store is that payment is more awkward. The main advantage is that we can issue updates immediately.

Padraig previously built some other non-app store apps so we were able to re-use that payment and licensing system.

The inner workings of Tokens

TOPE: How did you figure out how to use the API to generate and redeem tokens in iTunes? Is there documentation available somewhere?

OISIN: For redeeming promo codes, the App Stores have a URL for the redeem page; you can pass a promo code to that URL to redeem it automatically. I’m not sure if Apple have ever publicly documented this URL. I think TapTapTap may have been the first to document it on their blog 3 years ago.

There is no official API for generating promo codes unfortunately, so we have to scrape the iTunes Connect web interface to generate the codes. This means pulling down the HTML in the background and searching it for the data we want. It’s not the most elegant approach but without an API, there’s no other way.

The scraper is written in Objective C and all this happens locally on the user’s machine so that account details never have to get passed to our server.

We also make some use of the iTunes Search API to get the URLs of app icons.

Get Tokens

Tokens for Mac is free to generate, share, and track unlimited promo codes for one app of your choice, after that it’s $29 to unlock all of your apps.  Special for Appville readers, use this link to get $10 off your purchase before 31st January 2013. Download it here

We’re on Twitter as @usetokens, @padraig and @prendio2

Version 1.1 launched this week and includes the ability to import any previously generated promo codes so that you can get started using Tokens right away.

Comments are closed.