We've shipped two significant updates to our beer-hobbyist app TapCellar in the last 3 weeks.1 The first update included a large number of performance improvements, increased the off-line database to over 45,000 craft beers, changed the way we sync with BreweryDB, and added several new In App Purchase features I'll describe below. The second update made the IAP actually work (sorry about that).
There are a couple of new features we added as part of the "Pro" upgrade in TapCellar.2
- Barcode scanning for beer lookup
- Export a list as plain text
I personally LOVE both of these features, which is kind of why they exist. The barcode scanning makes it easy to find a beer by just holding the iPhone camera in front of a can or bottle barcode. We don't have every barcode, and some brewers reuse barcodes, but it works often enough that it's my primary way to look up a beer.
Most craft beer nuts like to share their finds. We wanted a way to share all of the beers from our latest trip to the beer store or from a beer-cation in Asheville. Now we can, by exporting a nicely formatted list to Slack, a text message, or anywhere else that accepts text.
Part of the fun in making an app is experimenting and learning from the process. It's been a nice way to challenge my assumptions and opinions. I already knew that I wanted to make a good app, not just a passable app that wrapped a web service. I wanted an app that was unique and special. By storing over 45,000 beers off-line and inside the app, TapCellar is unique but it was also expensive to build. That's a lot of data to search, filter and refresh.
TapCellar cost around $65,000 to build. That includes most of the incidentals for the business as well as design and engineering costs. Marketing costs are also thrown in there. It does not include our personal time. TapCellar was built by a really excellent contract engineer and I don't consider his work expensive. I think we got a good deal.
Before we even started on TapCellar, we looked at the market for similar apps and they mostly relied on secondary revenue outside their app.3 Many of them are still really good apps but that wasn't a business model we wanted to mimic.4 Mostly we didn't want to sell data, we wanted to sell an app.
We set our price point at $4.99 for the app with no other purchases required. $5 is "expensive" in the modern app-world but we liked the idea of selling fewer copies of the app to people that cared about privacy, flexibility and nerdy features. We still think the market breaks down into two groups: people that don't want to pay anything and people that don't mind paying for something of high quality. But, the trick is getting in front of that second group. Without a major marketing push or getting featured, we're just another app in a long list of a mostly sub-par category.
We lowered the price for TapCellar to just $0.99. It's not free but it's within the tolerance levels of people that don't like to buy apps.5 I look at it like we charge a buck as an entry fee for leaving a review. That price includes all of the original features of the app.
We added an In App Purchase for the new (mostly nerdy) features. Since there's no way to grant the In App Purchase to existing users without running some sort of registration server, we are making the IAP free for awhile. This should allow existing users that paid $4.99 to grab it now at no cost. The IAP price will go up to $2.99 in the near future. Instead of a $4.99 app with all of the features, TapCellar will be a $0.99 app that costs $3.99 for all of the features.
I don't understand pricing psychology but I also know there's no fighting against trends. People prefer In App Purchases over full price apps in many markets. I don't, but we're all snowflakes.
How's It Going?
Most of my experience with App Store trends is with the Food and Beverage category. It's ridiculously easy to influence position in this category. Six sales in a day can push your app into the top 20 for a short time. Category rankings are really just grade school participation ribbons but they get taken away at the end of the day.
The only real metrics we care about are profit and satisfaction. We're thrilled with the satisfaction part. People like TapCellar a lot and we are extremely proud of the app. On the other hand, we've only paid ourselves back a fraction of the development costs. We really just wanted this app to pay for itself so we can keep making it better. Every new feature is harder to justify.
I'm not complaining about Apple or the AppStore here. I'm an adult. I know what this business arrangement is. App developers exist to sell iOS devices. I actually think the 30% cut is a pretty good deal. I've worked in plenty of industries where a 90% skim off the top is normal.6
Marketing is hard. We've tried a few things like pitching Web sites, Twitter ads, stickers and beer coasters. I actually love our coasters and it's fun giving them away with promo codes on them. But, it's also hard to compete with free.
The number one comment we receive: "If you made a free Android app, I'd totally use it"
The number two request is to make an Android version that doesn't cost anything. And so on.
Here's something I didn't even think about researching. Bartenders and people running the show at bottle shops mostly use Android. They work in a harsh, somewhat wet, environment. They don't make a lot of money. Android phones are free or at least very inexpensive. Our best marketers are users and we really wanted to get TapCellar on the phones of craft beer servers. That was more difficult than I estimated. See, I told you it's been educational.
I've been asked how we found an engineer to work with. Here's how that happened.
I knew we wanted someone with experience handling a huge amount of data inside some kind of data structure.7 I looked at apps that do that sort of thing really well. One of the top apps in that area is HanDBase. It's a personal database app for iOS, Android, Palm, and you-name-it. So I sent the developer, Dave Haupert, a specification document. He gave us a quote and we signed some contracts.8 He's clever, thoughtful and actively avoids wasting our money. Dave is also very good at managing data too. HanDBase has a custom database engine. We struggled with sorting and filtering performance but he solved every issue we encountered.
While we handled app UI, interactions and the rest, we contracted icon design with Jono Hunt at Iconaholic. He made a ton of great art for us. Most of it didn't get used because we never implemented the features. I still love the little icon for adjuncts he created and I still love the TapCellar logo. He's very talented and we enjoyed working with him. Check out all of his icons. They are amazingly good. You probably already have some of them on your Mac.
The Web site design and development was entirely Erik Hess over at High90. It looks amazingly good on pretty much every device I use. It's so nice to tell someone to go to TapCellar.com because it's a real product page. Man, it looks good!
For this latest round of updates, we decided to use an intermediate sync service between the app and the data provider BreweryDB.9 This gave us more control over the entire sync process and also made troubleshooting sync easier. The intermediate sync service was created entirely by Nick Wynja. He's talented and a super nice person. We were lucky he had time and that we could afford to buy it.
The team over at BreweryDB was also really awesome. They are super nice even when they are aggressively defending the integrity of the BreweryDB data.10
Creating TapCellar confirmed a lot of my assumptions about app development but there are a few major lessons I can provide to anyone considering something like this.
- Good apps are expensive.
- Good apps are unlikely to make more money than mediocre apps.
- However much you think you know about your market, it is never enough.
- There are no magic marketing tricks. It's luck and timing and good will. Maybe in that order.
- Working with people you actually like takes the sting out of spending money.
I can't over emphasize point five enough. Working with super nice people that enjoy the work is a blast. Working with smart people has rewards beyond the thing you make. The most enduring product of this little adventure is the friendship Jeff Hunsberger and I developed. Before this project we only knew each other through Twitter. Now we text every day, talk at least once a week, and even go on vacation together. It wasn't just a business deal and we weren't just looking to score. We both care about what we put out into the world and how we fit in it. A partner isn't just there to defray cost. What I sacrificed in complete control and vision, I gained in motivation and sanity.
After all of this, would I recommend making an app? Yeah, but only if you're not in it for the money.
Why not pick up TapCellar for yourself. It's inexpensive and I think we did a pretty good job.
Hey, if there's pro bowling, there's pro craft beer collecting. ↩
Well, some don't seem to have a revenue model at all but I guess they make it up in the VC market. ↩
The reality is that a large number of people don't want to spend money on apps. We can write all of the thought pieces we want, that will not change the reality, because those people don't read blogs. The AppStore is successful because Apple got an entire segment of the population that doesn't care about software to think about software. They didn't get them to think that software has a cost. And so it goes. ↩
We were also never dinged with a capricious app review either. ↩
I did shop around a bit but several engineering firms insist on their own requirements gathering phase (for a fee). I'm an I.T. project manager by day and didn't want to pay someone else to generate my specification documents. ↩
Of course we used a lawyer for everything. Good contracts remove some of the anxiety of working with other people. ↩
Don't worry, it's still completely private. We only see the beer and brewery data. Unless you upload a beer you named after your spouse, we don't have any private information. That's not the business we want to be in. ↩
That's actually one of the reasons we like BreweryDB. Their data is high quality and actual humans review all of the submissions. It's a tight ship over there. ↩