Anyone who was watching my Twitter timeline or RSS feed today may have wondered why I was posting so many pictures of puppies. Basically, they were test posts for a new microblog feature that I’m going to try out here on DazeEnd.org.

Like most of you, I share the vast majority of my writing on Twitter rather than in this blog. But for a while now, I’ve been vaguely uncomfortable with the idea of so many of my thoughts being essentially owned by Twitter rather than me. This unease has recently been nudged to the surface by Manton Reece and some of his writing, so I’m starting a microblog here on this website to collect some of these thoughts that would have otherwise been stranded on Twitter.

I’m not giving up on Twitter completely, though. Most of the things I write on Twitter are snippets of conversations or other thoughts that I don’t necessarily want to preserve. Those will stay on Twitter. But some microposts—is that a thing?—I think are of interest on their own. These I plan to post to the DazeEnd.org microblog and mirror to Twitter. That should allow me to preserve and archive my thoughts on my own website and use Twitter just for distribution.

At least that’s my current plan. I’m sure that plan will change as I actually put the microblog into use, but at least for right now I feel more comfortable using Twitter more like a dumb pipe than as a permanent record. I’ll let you know how it goes.

Posted on February 6, 2016

Read More


Posted on February 6, 2016

Testing with puppies.    

Read More


sub transmogrifyLinks() {}

⬜️ Cache invalidation
✅ Naming things

I think I’ve just about got this computer science thing whipped.

Posted on February 5, 2016

Read More


With other BaaSs adopting the Parse API to attract Parse refugees, Parse API could become a de facto standard, making BaaS interchangeable.

Posted on February 4, 2016

Read More


Posted on February 4, 2016

This is some next level stapling.  

Read More


In October 2015, Pieter Omvlee of Bohemian Coding gave a great talk at the inaugural Release Notes entitled The Great Pretender: Pretend to be More Than an Indie. In his presentation, Pieter talked in part about his experience selling a professional app to professional users. One of the things he suggested is that indies should consider pretending to be a bigger company than they really are in order to instill confidence in the mind of the customer that they are a Serious Business™. He pointed out that professional, enterprise, and corporate customers don’t care that you’re indie. They don’t care that you’re “living the dream.” What they do care about is that you’ll be around to support the product they purchased for years to come. Your inspiring “against all odds” story may buy you credibility with your indie peers, but oftentimes it does exactly the opposite with your professional customers.

Pieter’s talk really hit home with me. After all, my company and his company have a lot in common. Sure Bohemian Coding has been way more successful than Metakite Software has been (thus far), but we both sell products to professional customers. Bohemian Coding sells Sketch to professional designers; I sell Benjamin to professionals of all stripes who who want to be more productive. In many ways, Bohemian Coding is a model for my long-term goals with Metakite Software. So when Pieter pointed out the way that his (and by extension, my) customers viewed indie developers, I sat up and took notice. I didn’t immediately act on his advice though.
(more…)

Posted on January 12, 2016

Read More


Anyone who’s even a little familiar with game theory is undoubtedly familiar with The Prisoner’s Dilemma. It’s a classic thought experiment that illustrates how people can make rational choices that seem to be in their own best interest, even when another choice would result in a better outcome for themselves and for the group.

In the classic formulation of the Prisoner’s Dilemma, the prisoner in question is faced with a choice. The prisoner can sell out his accomplice to the authorities and receive a lighter sentence in return, or he can remain silent knowing that there’s not enough evidence to convict without one of their testimony. The problem is that the prisoner’s accomplice is being offered the same deal. How much can the prisoner really trust his partner in crime? What if the accomplice takes the deal and leaves the prisoner to take on the full burden of the sentence? If the prisoner remains silent and the accomplice talks, doesn’t that make the prisoner a chump?

The central conflict of the Prisoner’s Dilemma comes down to trust. If the prisoner is confident that he can trust the accomplice, and the prisoner is confident that the accomplice is confident that the prisoner is likewise trustworthy, then both are better off (both individually and as a group) remaining silent. But if the prisoner isn’t completely sure that he can trust his partner in crime, or if he isn’t sure that his trust is reciprocated, then he’s better off singing like a canary.

So what does this all have to do with iOS developers? The iOS developer community has been locked in a game of the Prisoner’s Dilemma since the App Store was introduced in 2008, and we’ve lost at every turn. For us, the stakes aren’t whether we’ll go free or go to jail, but whether there will be a vibrant market for paid mobile software. Our choice isn’t whether or not to sell out an accomplice, but rather it’s whether we’ll choose short-term gains while at the same time contributing to the perception that mobile software isn’t worth paying for, or if we’ll forego those short-term gains knowing that a competitor could cash in and make our restraint all for naught. In short, it’s about the race to the bottom.

I used to think that the race to the bottom had reached as low as it could go. After all, what could be cheaper than free, ad supported apps? Turns out I was wrong. Recently, a monetization method that has been around for a while has become suddenly more popular and has taken the race to the bottom to even lower depths. Instead of providing content and requiring customers to pay with their attention by showing them ads, this new method gives everything away for free in the hopes that a small portion of customers will throw a few coins their way.

Proponents of this model call it “patronage,” but it has little in common with the historical concept of patronage where a well-off patron paid an artist an amount to commission a work of art. This new model, in fact, is the opposite of patronage. Instead of requiring a patron to provide money up front in exchange for an item of value, this new model gives away all the value in advance and requires nothing from those who receive it. It less resembles patronage, or even commerce, than it does begging, or busking if you’re feeling generous.

So how did we get to this point? One rational decision at a time. Over the years, thousands of developers have decided that it was in their interests and their businesses’ interests to lower their price and capture more price-sensitive purchasers. Many of them no doubt increased their revenue by attracting customers who would have otherwise purchased from competitors, which was exactly the plan. The unfortunate side-effect of this strategy, of course, was that customers were trained over time to expect mobile software to be free or low-cost. And once that expectation became set, it became incredibly hard to convince customers to part with even the smallest sum of money to purchase an app.

But I don’t blame those developers that contributed to the race to the bottom by selling their work at rock bottom prices. In general, they did act in their own best interests and the best interests of their businesses, and that’s how free markets are supposed to work. Just as in the Prisoner’s Dilemma, they had no way to know that their competitors wouldn’t try the same price-lowering gimmick, so the only rational choice was to preemptively lower their price to capture those price-sensitive customers. Even if a developer realized at the time that he was contributing to the race to the bottom and diminishing his long-term prospects in the App Store, the rational decision was still often to lower an app’s price and cash in first.

That’s the insidious nature of the Prisoner’s Dilemma: By the time you’re faced with a choice, it’s too late to take the high road. By the time the prisoner is being questioned, the only rational choice is to sell out his accomplice, because he can’t be sure of the other’s thinking. Likewise, by the time an app developer faces the choice of lowering his price or holding the line, the only rational choice is to lower his price and cash in first, because if he doesn’t, a competitor will. And so, step after step, price drop after price drop, the cycle continues until we arrive at the situation we find ourselves in today where we give away months of labor gratis in the hopes that a few customers will take pity on us and drop a couple coins in our hat.

The good news is that we can break this cycle, but only if we engineer our businesses to avoid competing on price in the first place. We can avoid competing on price by choosing to build apps that are truly differentiated from their competition. We can avoid competing on price by choosing app ideas that present a barrier to entry (legal, technical, or otherwise) to prospective competition. We can avoid competing on price by entering niches that are less price-sensitive than the mass market is. We can avoid competing on price by carefully considering and analyzing the financial viability of prospective apps before ever opening Xcode. In short, we can avoid competing on price by treating our app businesses as a business and doing the up-front work that’s needed to ensure that a prospective app idea is a sustainable one.

Posted on November 13, 2015

Read More


A friend of mine, Curtis Herbert, has been writing a series of articles (1, 2, 3) he calls Slopes Diaries about the development and pricing of version 2 of his app Slopes. Although I’ve found Slopes Diaries to be interesting, and while I agree with a lot of what he’s written, a few things that he wrote in his most recent installment of the series struck me as wrong.

Curtis begins Slopes Diaries #3 by quoting himself from Slopes Diaries #1, “Lesson learned: Charge more. Then double it.” He then continues:

After that lesson you might expect I’d announce I’ll be raising my price to $49.99 with v2.

Nope.

I’m going free up front with Slopes 2.

Why would Curtis make Slopes free after earlier citing “charge more” as one of his lessons learned? He gives three reasons in his post:

  1. The first reason, he refers to as “The Acquisition Barrier”: “One of the biggest barriers to entry for someone to try my app is having a price on it.”
  2. The second reason, he refers to as “The Churn Barrier”: “Eventually, I’m going to saturate the market of people willing to pay up front for my app.”
  3. And the third reason, he refers to as the “The Survival Barrier”: “Here’s the thing: if I want any kind of serious chance to grow this into a business and do more for my users I need to find a way to charge more. My current price of $7.99 would be considered by many a premium price point, but even at that I have practically no money for user acquisition through advertising or customer support.”

While I completely agree with his third reason—he does need to increase his revenue per user if he wants to grow his business—his first two reasons for going free are almost certainly wrong. But he’s not the only one that believes them. I’ve seen these same justifications trotted out by other independent developers as well, so I want to take a moment to refute them.

The Acquisition Barrier

Let’s start with the first reason, “The Acquisition Barrier.” Curtis claims that an up-front price is the biggest barrier to entry for his app. I don’t think it is.

According to the SnowSports Industries America (a snow sports trade association), there are an estimated 13,000,000 adults in the United States who ski or snowboard in 2015.1 According to the Pew Research Center, 64% of American adults own a smartphone.2 According to Forbes, the iPhone accounts for 36.5% of smartphones in the U.S.3 Multiply those together and you end up with an estimate of the number of adult skiers in the United States who own an iPhone: Over 3,000,000.

Compare that figure with Slopes sales last year. According to Curtis, Slopes had about $10,000 in sales last year.4 Since Slopes sells for $7.99, that means Slopes sold about 1,250 copies last year.

It’s clear that Slopes has a lot of fans, but there is a lot of room for growth. Slopes’ 1,250 sales last year mean that it has penetrated only four ten-thousandths of the addressable market. There are millions of adult skiers in the U.S. that haven’t purchased, and have probably never even heard of, Slopes. This leads me to believe that up-front pricing is not, in fact, Slopes biggest barrier to entry. Customer awareness is.

The Churn Barrier

Now let’s talk about Curtis’ second reason for going free, “The Churn Barrier,” in which he fears that he will eventually saturate his market of customers. While I concede that is mathematically inevitable, I don’t think that’s the issue Curtis should be most concerned about at this point. Slopes sold 1,250 copies last year. At that rate it would take 2,400 years to saturate his addressable market. Even if Slopes experienced 10x growth next year and started selling 12,500 copies per year, it would still take 240 years for Slopes to saturate its addressable market. Simply put, even if Slopes experiences a sharp uptick in sales, its developer will be dead and in the ground before market saturation becomes an issue.

The Survival Barrier

What I find most interesting about Slopes Diaries #3 is that Curtis’ third reason for going free, “The Survival Barrier,” gives tacit acknowledgement to the fact that the root problem of Slopes’ sustainability is not in fact the two reasons that are explicitly stated, but rather that Slopes can’t effectively reach its target market to acquire new customers.

Inability to reach the target market is a real problem and one that many indies, myself included, struggle with. Charging even a relatively high price (by App Store standards) of $7.99 ($5.60 after Apple’s cut) doesn’t make it worthwhile to advertise, market, and generally do the things that need to be done in order to attract customers. The cost of customer acquisition is simply too high compared to the revenue per user.

The solution to this, as Curtis acknowledges, is to increase the average revenue per user. There are many ways to do this, and Curtis has apparently chosen to go with some variation on a freemium or subscription model. Those can certainly work (I use them myself) and it very well might be the best solution for Slopes, but I’d like to close with a look at a strategy that Curtis acknowledged, but dismissed: paid up-front premium pricing.

Charge More. Then Double It.

In Slopes Diaries #3, Curtis quickly considers increasing his paid up-front price, but just as quickly dismisses it:

I know the value of my app: at the end of the day Slopes is considered entertainment. Fairly so as I’m not making my users money with it. If I raised my price to say $50 to increase my revenue per user I’d lose so many sales that I’d have less revenue coming in monthly.

I’m not so sure. Curtis knows his customers better than I do, but I think the $50 price point he mentioned is interesting, at least, as a thought experiment.

First let’s consider the feasibility of a $50 price point. Skiing is an expensive hobby. Doubly so for those serious about it. Skiers have to pay for transportation, lift tickets, equipment, special clothing and more. But the fact that they’re skiing is proof that they’re willing and able to pay those costs. Skiers are a self-selected affluent market.

According to SnowSports Industries America, skiers spent over $4.5 billion5 on clothing, equipment, and accessories last year. That’s a lot of money. I bet there’s a lot of people who would consider $50 to be a reasonable investment to permanently document their day skiing and have tangible evidence of their bragging rights.

So now let’s imagine how re-styling Slopes as an app for “prosumer” skiers at a $50 price point might change Slopes’ business model. Most obviously, with no other changes, Curtis could almost certainly expect fewer sales. But as long as sales were more than one one-sixth their previous level, Slopes would still be making more money than at the lower level. But who says that nothing else must change? At $50 per download ($35 after Apple’s cut), that gives much more room for user acquisition. How might Curtis make use of that extra revenue per user? Google ads? Facebook ads? Podcast ads? Physical signage at ski resorts? Ads in ski-related newsletters? All of these seem like real possibilities when each sale brings in at least $35 in revenue.

Charging a higher price could provide a solution to the biggest problem that Slopes (and most indie apps) face—customer awareness. It could give Curtis a way to reach a larger, more valuable audience, and help him overcome the “survival barrier” that he identified.

Wrapping Up

To be clear, I don’t take issue with Curtis’ stated intention to take Slopes free with version 2. I have no insight into his business, or his plans. It very well might be that going free with Slopes (presumably with some sort of in-app purchase or subscription), is the best course of action. What I do take issue with are his stated reasons for going free. I take issue with them not to belittle Curtis or his app Slopes (it’s a well made app that’s functional and stylish), but rather to hopefully counter some misguided business thinking that seems to be common among indie developers.

I wish Curtis nothing but the best of luck with Slopes. I hope he find success, and is able to find a market that is willing to pay for the clear value that he’s providing. If you’re a skier and you’ve read this all the way to the end, you might consider supporting a fellow indie by buying his app.


  1. Snow Sports Fact Sheet Note: I assumed that 50% of snowboarders, freeskiers, and cross country skiers were double counted, since no total numbers were provided. 

  2. U.S. Smartphone Use in 2015 

  3. Apple’s iPhone Continues To Lose Market share Month to Month 

  4. Slopes Diaries #1: Prologue 

  5. Snow Sports Fact Sheet 

Posted on October 27, 2015

Read More