At last week’s Worldwide Developer Conference (universally referred to as WWDC), Apple gave independent developers a lot to be thankful for. In fact, Apple gave us many of the things we’ve been requesting for a long time – things like app bundles, preview videos in the App Store, better options for beta testing, and App Store analytics. One thing that Apple didn’t give us, though, is upgrade pricing, or the ability to charge owners of our current software a reduced price for the next major version of that software.

Upgrade pricing is a staple of the non-App Store software market, and its absence from the App Store has long been considered one of the biggest obstacles to creating a sustainable software business within Apple’s ecosystem. Wil Shipley wrote the seminal piece on the subject back in 2012, but complaints about the omission of upgrade pricing in the App Store go back much further. It seems clear at this point that Apple has no desire to add upgrade pricing to the App Store, so conventional wisdom has been that developers had better adjust to the new reality and get on with the business of building software.

But Apple may have unintentionally cracked the door to upgrade pricing with one of its announcements last week. In the latest episode of Release Notes, you can hear my podcast co-host Joe Cieplinski wonder aloud at the possibility of using app bundles as a form of upgrade pricing. His comment was off-the-cuff, so the idea wasn’t fully developed, and we both quickly dismissed it, but upon further consideration it appears that it might be possible to simulate upgrade pricing through the use of app bundles.

First, a little background. In the WWDC Keynote, and later in Session 302: The New iTunes Connect, Apple announced that they will soon allow developers to create bundles of their apps. The gist of the information provided is that developers will be permitted to bundle up to 10 of their apps and make them available to be purchased as a group for a reduced price. One of the key features announced about app bundles is that consumers will be able to complete a bundle at a “discounted price” if they already own some of the apps in the bundle. It was never defined what exactly was meant by a “discounted price,” but it seems reasonable to assume the simplest case – that customers will just have to make up the difference in price between the cost of the bundle and the cost of the sum of the individual apps that have already been purchased. For example, if an app bundle costing $14.99 contains two apps, App A (priced individually at $9.99) and App B (priced individually at $9.99), then a person who already owns App A could “complete the bundle” and receive App B at a cost of $4.99.

But what if instead of bundling two different apps, we instead bundled two different versions of the same app, released as two different SKUs? Modifying the example above, what if our $14.99 app bundle contained My App (priced individually at $9.99) and My App version 2.0 (priced individually at $9.99)? That would allow people who owned My App to purchase the new version 2.0 at the reduced price of $4.99, while still requiring new customers to purchase version 2.0 for full price. This is exactly the effect that we have been seeking with upgrade pricing all along!

Using app bundles to simulate upgrade pricing would not be without its pitfalls, though. Bundling two versions of the same app would probably require that the old version remain available for sale individually. This would inevitably lead to customer confusion and probably cause some customers to purchase the wrong item. It seems like this problem could be alleviated, though, by being generous with promo codes (or app gifting) with customers who contact you with problems. Nonetheless, it’s probably desirable to limit the time that the app bundle is available so that the original version can in a timely manner be removed from the App Store and officially discontinued.

While I still hold out hope for genuine upgrade pricing in the App Store, I realize that it’s unlikely to be introduced any time soon. Until that time, app bundles appear to offer many of the advantages of upgrade pricing with manageable disadvantages. I’m hopeful that Apple will not take action to prohibit this type of bundling, and that this type of simulated upgrade pricing will allow more complicated, higher priced apps to find a sustainable market in the App Store. So thank you Apple!

Posted on June 9, 2014

Read More


The Alt Alt Dub Dub schedule for Friday, June 6 is below. If you’d like to join us in the Parc 55, please contact Charles Perry by email at charles@metakite.com or on Twitter at @DazeEnd. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission. Sessions are already showing, so come on over.

9 AM 409: Introduction to LLDB and the Swift REPL
10 AM 406: Integrating Swift with Objective-C
11 AM 404: Advanced Swift
Noon Lunch Break
1 PM 226: What’s New in Table and Collection Views
2 PM 223: Prototyping: Fake It Till You Make It
3 PM 304: Creating Great App Previews
4 PM 411: What’s New in Interface Builder

Posted on June 6, 2014

Read More


The Alt Alt Dub Dub schedule for Thursday, June 5 is below. If you’d like to join us in the Parc 55, please contact Charles Perry by email at charles@metakite.com or on Twitter at @DazeEnd. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission. Sessions are already showing, so come on over.

9 AM 214: View Controller Advancements in iOS 8
10 AM 403: Intermediate Swift
11 AM 302: The New iTunes Connect
Noon Lunch Break
1 PM 221: Creating Custom iOS User Interfaces
2 PM 216: Building Adaptive Apps with UIKit
3 PM 212: Storyboards and Controllers in iOS 8
4 PM 406: Integrating Swift with Objective C

Posted on June 5, 2014

Read More


tl;dr: Come join us in the Parc 55 to watch WWDC sessions as they they are released. Space is limited and there is a small daily fee to offset the cost of renting a room.

I came to WWDC 2014 without a ticket, as did a lot of other developers this year. Even if you don’t have a ticket, just being in San Francisco for WWDC is a great time, but not having a ticket makes it tougher to watch all the sessions you want to watch. Apple addressed this issue last year by releasing the videos of many WWDC sessions the same day that they were presented. But it’s no fun to hole up in your hotel room and watch technical videos. Alone, you miss out on the discussions and the shared insights of your fellow developers. Because I and a group of friends wanted a more social experience while watching videos, I rented a meeting room in the Parc 55, arranged for a projector, screen, and audio, and dubbed the result Alt Alt Dub Dub.

But yesterday, Apple made a big improvement to our WWDC experience. They dropped the non-disclosure agreement on WWDC sessions. That means that we can discuss what we learned in WWDC without legal worries hanging over our head. What that means for Alt Alt Dub Dub is that I don’t have to be as careful about who joins us for WWDC sessions. And so we are opening our doors to other ticketless developers who happen to be in San Francisco this week.

Space in our meeting room is very limited, but if you would like to join us to watch WWDC sessions as they are released, we would love for your to join us. In order to offset the cost of renting the room and equipment, there will be a $25 per day charge for admission.

We expect seats at Alt Alt Dub Dub to be in great demand. If you want to reserve a seat, please contact me by email at charles@metakite.com or on Twitter at @DazeEnd. We’re showing sessions starting right now, so the sooner you sign up, the sooner you can join us for sessions.

Our schedule for Wednesday, June 4 is:

9 AM 202: What’s New In Cocoa Touch
10 AM 402: Introduction to Swift
11 AM 401: What’s New in Xcode 6
Noon Lunch Break
1 PM 211: Designing Intuitive User Experiences
2 PM 205: Creating Extensions for iOS and OS X, Part 1
3 PM 209: Adapting Your App to the New UI of OS X Yosemite
4 PM 208: Introducing CloudKit

Posted on June 4, 2014

Read More


Today we’re announcing that Leaf Hut Software is changing its name to Metakite Software. This change wasn’t made by choice, but because another company asserted their trademark over the word “leaf.” Although we maintain that our use of Leaf Hut Software did not infringe upon their trademark, it was decided that changing our name to Metakite Software was the quickest way to put this distraction behind us.

So what does this mean for all of our customers? Not much, honestly. If you use Benjamin, Action Lists, or Listmaker on your iOS device, your apps will continue to work just as they have in the past. The company has not changed hands, and you can continue to expect the same great support that you’ve received in the past.

The only change that our existing customers will probably notice is that the addresses that you use to contact us will be changing. Effective immediately, Metakite Software will be changing to the new domain metakite.com. That means you can get documentation and check out our other products at http://metakite.com, and you can get email support by contacting support@metakite.com. If you have a non-support question or comment, you can reach our general email box at metakite@metakite.com. All of the old leafhut.com addresses will be forwarded to their new metakite.com counterparts, so you’ll have ample opportunity to change your bookmarks and address book.

This episode has been a big distraction over the last few months, and frankly, it’s delayed a lot of improvements that we’ve been wanting to incorporate into our apps. But now that this is behind us, we hope to accelerate our efforts. Thank you for your patience, and thank you for choosing our products.

Posted on November 24, 2013

Read More


tl;dr

If you want to cut to the chase, you can just read my conclusions, then share your own results.

Introduction

Over the years, I’ve repeatedly heard people say that localizing an iOS app is important for maximizing the app’s audience and ultimately the app developer’s revenue. Apple urges developers to localize their apps every year at WWDC, and similar sentiments are often shared in conversations among developers whenever they get together. As the theory goes, people like to interact with their iOS devices in their native language, and they are therefore more likely to purchase an app if it’s available in the their native tongue. That’s all almost certainly true, but the key thing that no one ever talks about is the numbers. Does localizing an app really result in more sales? If so, how big of a difference does it make? In which countries is localization the most critical? How long will it take for the investment in localization to pay for itself? These are all questions that can’t be answered without some hard data to work with. Unfortunately, that data is hard to find.

Data on the sales impact of localization is hard to find, I think, because developers are reluctant to share too much financial information with the world. And rightfully so. But I realized after my own recent experience localizing an app, that the information that’s most valuable to other developers doesn’t have to be quantified in dollars and cents.

What follows below is an analysis of the sales data I collected after localizing one of my apps. This analysis is an attempt to collect and share data that I think will be valuable to other developers, but it’s also an attempt to model a process that generates useful data without revealing too much information about revenue. My hope is that the data will be useful to others, and that other developers will use a similar method to share their own experiences with localization. By sharing solid numbers, it gives all developers the opportunity to make decisions that are based on facts instead of guesses.

Background

In this study, I’ll be looking at just one of my apps, Benjamin for iPhone (hereafter, just Benjamin). Benjamin is a niche productivity app which sells for the relatively high price of $9.99. As a result of its small audience and high price, there are rather few daily sales – especially outside the United States. Benjamin has been available in the App Store for about a year and a half, and until very recently it was available only in English. As a part of a major update (version 2.0, released June (25° 20°)13), I decided that I should move beyond my English-only strategy and localize the app for other language markets.

To understand the language choices I made in localizing Benjamin, you first need to understand a little about the app and its audience. Benjamin is a task manager based on the FranklinCovey method of time-management. FranklinCovey is one of the world’s largest providers of time-management training, drawing their clients primarily from white collar workers in fields like healthcare, education, and other corporate environments. According to their own reports1, FranklinCovey does business with 90% of the Fortune 100 and 75% of the Fortune 500. Their bread and butter are multinational corporations. As a result, their training is conducted around the globe and in many different languages. The multinational character of FranklinCovey’s operation was an important consideration in my decision to localize Benjamin. FranklinCovey conducts training around the globe, so it’s reasonable to expect that Benjamin has potential customers around the globe as well.

With this in mind, I decided to localize Benjamin into five additional languages: Spanish, German, French, Japanese, and Simplified Chinese (which is used in the People’s Republic of China, but not in Taiwan and other Chinese speaking countries). These languages were chosen because the countries in which they are primarily used have all widely adopted the iPhone and iPad, and they all have a large base of people trained in FranklinCovey time-management – with the notable exception of Simplified Chinese. FranklinCovey has only had a presence in China since 19982, but it’s a booming market with enormous growth potential. I decided to include Simplified Chinese primarily as a prospect, so that my app would be ready as the Chinese market grows and matures.

Assumptions

As much as I wish it were not the case, I don’t have perfect information about my customers. I don’t know where they come from, how they found my app, or even which languages they speak. Consequently, there were a number of assumptions that had to be made in performing this analysis. I list the major ones below so that you can decide for yourself if they are valid.

Geography and Language

Apple doesn’t provide any information about the language used by those who download apps from the App Store, but it is possible to determine from which country’s store a customer purchases an app. Unfortunately, geography is not a perfect analog for language. One only has to look at the growth of the Spanish speaking population in the United States to know that’s true. And don’t even get me started on linguistically confused countries like Belgium and Switzerland! But despite it’s imperfect nature, some general assumptions can be made regarding geography and language. In this study, I count the United States, the United Kingdom, Canada (my apologies to the Québécois), Australia, New Zealand, India, and Ireland in the English language group. I count Spain, Mexico, and all of Central and South America (with the exception of Brazil) in the Spanish language group. France is counted as the sole member of the French language group, Germany is counted as the sole member of the German language group, Japan is counted as the sole member of the Japanese language group, and the People’s Republic of China is counted as the sole member of the Simplified Chinese language group.

Promotion

I did my best to garner attention for the Benjamin 2.0 update, which hopefully affected sales positively. Although my efforts were global (since they were on the Internet), all my promotional materials and press were in English. My assumption, then, is that if different language groups have benefitted unequally from my promotional efforts, then English language sales have benefitted most from that inequality.

Companion App

A new app, Benjamin for iPad, was launched at the same time that version 2.0 of Benjamin for iPhone was released. Benjamin for iPad was a long-requested product from my established user base, and has been well-received in the App Store. It’s reasonable to think that the availability of an iPad version has contributed to the sales of the iPhone version, especially since they sync with each other and are designed to be companion apps. But since Benjamin for iPad is localized into the same languages as Benjamin for iPhone, my assumption is that any effect that Benjamin for iPad has had on the sales of Benjamin for iPhone have been felt by all language groups equally.

Methodology

The easiest way to measure changes in the rate at which an app sells is by comparing its average daily sales over two different time periods. An app’s average daily sales (ADS) is the total sales of an app during a time period divided by the number of days in that time period. For example, if an app has 5 sales on Monday, 2 sales on Tuesday, 7 sales on Wednesday, and 3 sales on Thursday, then its ADS is 4.25 over those four days. A naive comparison of sales growth due to localization could then be made by comparing Benjamin’s ADS from before localization to its ADS after localization for each language group.

The problem with a naive analysis such as this is that it fails to take into account the natural growth of the app’s audience. Looking at the change in ADS for any language group in isolation, it’s impossible to say whether sales growth was caused by localization, or if it was caused by other outside factors. For example, if the ADS of the Spanish language group increased after localization, can the increase be attributed to localization? Or is it attributable to my promotional efforts? Or to the presence of a companion iPad app that makes the iPhone app more attractive to customers? To isolate any growth that was caused by localization, the growth in each language group must be compared to a baseline. In this case, the baseline I’ll use is the English language group, since that’s the language in which Benjamin was originally available.

In this study, two time periods were established. The pre-localization time period was Feb (25° 20°)13 to June (25° 20°)13, a span of 136 days. The post-localization time period was June (25° 20°)13 to October (25° 20°)13, a span of 97 days. These time periods were chosen because they are ordinary and uninteresting. There’s no particular promotional push that happened during those time periods, and there are no seasonal effects that should have influenced sales. They are representative of typical days in the App Store. Worth mentioning is that the post-localization period begins the day after the last effects of my release promotion efforts can be seen in sales reports.

Sales statistics for Benjamin were collected for both time periods, and broken down by language group. From these statistics, each language group’s ADS was calculated for both time periods, and growth between time periods was calculated for each language group. The difference between each language group’s ADS growth and the baseline (English language group) ADS growth can then be attributed to the effect of localizing the app for that language group.

Results

The pre- to post-localization change in each language group’s average daily sales (ADS) is summarized in the table below. The Change in ADS field represents the percent growth in each language group’s sales when comparing the post-localization ADS to the pre-localization ADS. For example, if a language group had a pre-localization ADS of 10, and a post-localization ADS of 15, then its Change in ADS would be 50%.

Language Group Change in ADS
Chinese (Simplified) 40%
English 11%
French 1,165%
German N/A
Japanese 180%
Spanish 89%

From the table above, you can see that our baseline (the English language group) experienced 11% growth in its ADS after becoming localized. If we assume that this 11% can be accounted for by the effects of marketing, the presence of a companion iPad app, and other effects that are common to all language groups, then we can subtract that 11% baseline from the other language groups’ growth to calculate how much of their growth is attributable to localization. This growth attributable to localization is summarized in the table below.

Language Group Change in ADS Due to Localization
Chinese (Simplified) 29%
French 1,154%
German N/A
Japanese 170%
Spanish 78%

Note: The German language group has its results above listed as not available because of a division by zero error. In the pre-localization time period, there were no sales of Benjamin in Germany. In the post-localization time period, there were 5 sales.

Conclusions

From the results above, it’s clear that localization had a marked influence in increasing Benjamin’s sales in the regions for which it was localized. The Spanish language group in particular shows a growth in sales which I have high confidence can be attributed to the effect of localization.

It should be pointed out that that the number of sales in the German, French, Japanese, and Chinese (Simplified) language groups during the pre-localization time period are very low (in the single digits). Consequently, too much confidence should not be placed in the results for those groups. It took such a small change in sales to wildly influence the results in these language groups that it’s difficult to separate the signal from the noise. My gut (and my insight into the raw numbers) tells me that the there was a genuine improvement in sales that can be attributed to localization in the French and German language groups, though the magnitude of the improvement is unclear. The results for the Japanese and Simplified Chinese language groups, on the other hand, should be disregarded as pure noise, I believe. Sales in these groups were so low that I don’t think any valuable conclusions can be drawn.

So was localization worth the cost in time and money? I would say that it was. The Spanish localization has already more than paid for itself, and the German and French localizations are well on their way to doing the same. There’s an argument to be made that the Japanese and Simplified Chinese localizations were a waste, but my hope is that Japan in particular will become a region of future growth.

Now It’s Your Turn

I know that this was a long journey to take in order to arrive at the somewhat obvious conclusion that “localization improves sales.” The point wasn’t to just show that localization improves sales, though. The point was to demonstrate a way to measure the effect of localization on sales that results in meaningful data that can be shared with others. The method employed above allows developers to calculate and share the effect that localization has on their bottom line, without revealing exactly what that bottom line is. My hope is that other developers will use a similar methodology to publish the results of their own experiments with localization so that our community of developers can accumulate the information needed to evaluate in advance whether localizing for a particular language is a valuable use of our limited time and budget.

If you undertake a similar study of the effect that localization had on your app sales, please publish your results and contact me so that I can link to them.

Note: A version of this article appeared in Issue 12 (Oct (25° 20°)13) of The Loop Magazine under the title “Localizing Your App.” The version above includes updated sales statistics that weren’t available at the time it was first published in The Loop Magazine.


  1. FranklinCovey Investor Relations 

  2. FranklinCovey China 

Posted on November 11, 2013

Read More


There’s been a lot of talk recently about pricing apps on the App Store. Marco Arment thinks that mass market paid apps are dead. Joe Cieplinski, my co-host on Release Notes, thinks there’s still plenty of room for paid apps in the right markets. And Matt Gemmell thinks you should raise your price by a dollar, and then measure the effect it has. With all of this seemingly conflicting advice, what’s an app developer to do? We all want our apps to earn as much as possible, but what price point will achieve that goal? Two dollars? Five dollars? Ninety-nine cents? The fact is, most of us just guess. We pick a price that we think people will pay and we go with it. But what if there was another way? A way to make a reasonable estimate of the price point that would maximize the revenue for an app? A way that didn’t rely on gut feelings and best hopes, but rather economics and mathematics? Well, my friends, if we had that, we’d really be taking control of our software business.

Price vs. Revenue curveWhy would a business owner want to be careful with the price he sets for his goods? Because price influences revenue, and revenue’s what we all want. It’s all the money that comes in the door. Ideally, in large quantities. Unfortunately, the relationship between price and revenue isn’t linear, as is apparent to anyone who thinks about it for more than a minute. If it were, we’d all just charge $1000 per download and be App Store millionaires. Instead, as shown in the figure to the right, revenue starts to increase as we increase our price from free, but then we reach a point where revenue begins to decrease as we scare off potential customers with our higher prices. Our job as business owners, then, is to find the price at which revenue peaks so that we can earn the most from our investment in time and energy.

Finding that peak is the tricky bit, of course. Most developers aren’t trained in economics, and there’s not a lot of App Store-specific information available on the internet to guide us. One notable exception is a series of articles written by Michael Jurewitz, who is trained in economics. Jurewitz’s series on app pricing and the economics of the App Store (parts 1 2 3 4 5) has a lot of great information, and should be considered required reading for anyone who hopes to make a living in the App Store. My goal today, is to add to this existing work and describe a way that developers can calculate the price that optimizes revenue, rather than relying on experimentation. The calculation won’t be exact, but it should allow developers and business owners to find a price that’s close to optimum relatively quickly, and without having to rely on guesses.

Above, I wrote that a product’s revenue increases as its price increases up to a point, then revenue begins to decrease. Economists tell us that when you plot all of these price vs. revenue points, the resulting shape is a parabola.1 This is a key insight, because we know a lot about parabolas. For instance, every parabola has a quadratic function that describes it, of the form:

y = ax2 + bx + c

We also know, using our knowledge of algebra, that the peak (or vertex) of a parabola can be found where:

x = -b / (2a)

In our particular case, the independent variable is price (P), and the dependent variable is revenue (R), so if we replace x with P, and y with R, our equations become:

R = aP2 + bP + c
P = -b / (2a)

So how is this useful? Well, if you know the equation of the parabola that fits your app’s price vs. revenue curve, you can use algebra to predict what price should result in the most revenue. There’s only one problem: You probably don’t know the equation of your particular parabola. Luckily, the equation can be found with just a little bit of price experimentation.

It turns out that you only need three points (P,R) to find the equation of a parabola, and you probably already have two of them. You know that if you give your app away for free, you’ll have zero revenue from sales. So you know that your parabola goes through the point (0,0). You also should be able to find your app’s average daily revenue at its current price by looking at your App Store statistics, or by using a product like AppViz or App Annie. That gives you another point. So all you have to do is alter your price once, allow revenue to come to a steady state over a month or so, and then find a third point.

At this point, an example is probably called for. Let’s imagine that Alice develops an app called “Homecalc,” which is a calculator app meant specifically for real estate agents. Homecalc provides value to its customers by making many calculations that are common to the real estate market easy and convenient. Alice has charged $7.99 for Homecalc since its launch and she sees from her App Store reports that it makes an average of $181.45 per day. A very profitable app, indeed. Good for her! But can she do better?

Homecalc Data PointsTo find out, Alice needs the equation of that parabola. She knows from her App Store reports that the parabola goes through the point (7.99,181.45). She also knows that the parabola goes through the point (0,0). But she needs one more data point. To get that last point, Alice decides to raise Homecalc’s price to $9.99 and see what happens. After waiting a month or two, Alice looks at her reports and finds that Homecalc averaged $207.89 per day in revenue after the price increase. That means that the parabola must also go through the point (9.99,207.89). That’s three points. Let’s find Alice’s equation.

I wrote earlier that the equation of an app’s price vs. revenue curve takes the form of:

R = aP2 + bP + c

Knowing that, Alice can take the three points that she found and plug them into the equation above. In this case, Alice has the points (0,0), (7.99,181.45), and (9.99,207.89). Plugging those values into our equation for the price vs. revenue curve, Alice gets three more equations:

0 = a(0)2 + b(0) + c
181.45 = a(7.99)2 + b(7.99) + c
207.89 = a(9.99)2 + b(9.99) + c

which, when simplified, result in the equations:

0a + 0b + c = (0° 63.8401°)a + 7.99b + c = 181.45
99.80001a + 9.99b + c = 207.89

You will no doubt recognize that what Alice has created is a system of three equations in three variables. This system can be solved in any number of ways, but the easiest way is probably to allow technology to do the work. Using an online system of equations solver Alice found that the solution to this system (rounded to two decimal places) is:

a = -0.95
b = 30.30
c = 0

When Alice plugs those values into our equation for the price vs. revenue curve:

R = aP2 + bP + c

she gets:

R = -0.95P2 + 30.30P + 0

which describes the price vs. revenue parabola that is unique to Homecalc!

Homecalc Price vs. Revenue CurveAlice graphed Homecalc’s price vs. revenue equation to get a better feel for where she should set her price next. Looking at the graph (shown to the right), it’s clear that Alice still has room to raise the price of Homecalc and increase its daily revenue. In fact, it looks from the graph that the optimum price for Homecalc is between $15 and $16. It also appears that by raising her price to that range, she can make another $7 dollars per day. Of course, these numbers have been arrived at just by examining the graph. But if Alice wanted to actually calculate the optimum price for Homecalc, she could do that too.

To calculate the optimum price for Homecalc, Alice needs the values of a, b, and c that she calculated:

a = -0.95
b = 30.30
c = 0

and the equation for optimum price that we established earlier:

P = -b / (2a)

Plugging a, and b into our equation, we find that

P = -30.30 / [2 * (-0.95)]

or, simplified,

P = 15.95

With this knowledge, it appears that Alice would be wise to set Homecalc’s price to $15.99. If she does, our calculations show that she can expect an average daily revenue of $241.60 per day. Compared to where she started, that’s an increase in revenue of about $60 per day or almost $22,000 per year! Will everyone see results like this? No way. These numbers were chosen, for the sake of illustration, to exaggerate the shape of the parabola. But I bet that most will see some improvement.

A few warnings are in order before you try this on your own. First, you’ve got to use data that is unique to your app. You can’t just use your friend’s equation, or even the equation of one of your other apps. Each app is different and has different market forces affecting it. How the market reacts to pricing changes varies based on the usefulness of your app, the necessity of your app, your customers’ price sensitivity, the quality of your brand, and a host of other factors. Second, don’t take the optimum price point predicted by your calculations as gospel. Few things in life behave exactly according to theory, and the App Store is no different. In particular, this method assumes that the demand curve for your app is linear. In fact, it probably isn’t perfectly linear2, but having a method like this to use as a starting place for setting your price is a far sight better than pulling a number out of thin air. Nonetheless, it’s probably safest to regard the optimum price that you calculate as merely a starting point that will need to be refined based on experimentation.

The App Store has been great for independent software developers. It’s given us a completely new market, and simplified things like billing and distribution, which used to be real chores. But it’s also complicated our job. In many respects, the App Store is a black box and we don’t have access to a lot of the information that we’d like. We only get sales statistics once a day, and it’s really hard to do things like A/B test different price points. In an information poor environment such as this, choosing the right price for your app is harder than ever. I hope that the method I’ve described helps take some of the mystery out of the pricing process, and I hope you make more money as a result.


  1. This assumes a linear demand curve, but more on that later. 

  2. Florian Kugler points out that not only is our demand curve probably not linear, but that it’s impossible to say with certainty exactly what shape it is. We should therefore take any calculations based on the demand curve (such as this one) with a grain of salt. 

Posted on October 4, 2013

Read More


What if we lived in a world without the iPhone, where we didn’t have the Internet in our pockets and the world at our fingertips? What if we couldn’t instantly check the Web to settle a bar bet, or get driving directions to our destination after we had already left home? What if we didn’t have the instant access to information that we all now take for granted? For millions of people with disabilities, these aren’t just hypothetical questions. It’s their reality. Many of the apps that most of us take for granted simply can’t be used by those with disabilities like vision and motor impairments. And as a result, they’ve been shut out of many of the conveniences of mobile information that we take for granted.

Now, don’t get me wrong. The iPhone is a wonderful device and Apple has done amazing things to make mobile software accessible to those with disabilities. Apple’s VoiceOver technology, especially, has made it incredibly easy to build apps that can be used by the blind and vision impaired. But a lot of iOS developers don’t realize that they have to do their part as well. There are lots of decisions that need to be made in the process of designing an app, and the cumulative effect of all those decisions can make a profound difference on whether those with disabilities can make effective use of an app or not. But if making an app accessible requires effort on the part of developers and designers, the natural question to ask is, “Why bother?” After all, accessibility is a feature, and features take time – time to plan, time to implement, and time to test. Why should those who build apps take the time needed to make sure that their software is as accessible as possible?

I would hope that developers and designers would implement accessibility in their apps simply out of altruism. More so than most, those who create mobile software should recognize the power of the ubiquitous information and communication that their apps make possible. This is not just a matter of whether or not someone can play the hottest new game. Accessible apps make it possible for those with disabilities to make efficient use of public transportation and to more easily find jobs. Accessible apps make it easier for those with disabilities to access news and government records so they can remain active and engaged citizens. Accessible apps empower those with disabilities to remain self-sufficient and independent. Through their work, app creators have the opportunity to improve the lives of millions, and it would be a shame if they failed to take advantage of that opportunity.

But even app creators who aren’t motivated by altruism should be motivated by simple self-interest. Chances are that the authors of today’s apps will someday need accessible software themselves. It’s just a fact of life. The older we are, the more likely we are to experience vision loss, become hard of hearing, have motor disabilities, and suffer cognitive decline. According to U.S. Census Bureau statistics1, people who are at least 80 years old have a 70% chance of experiencing a disability of some kind. To be blunt, as we age, we either become disabled or we die.

Today’s app developers and designers need to ask themselves what they want the world that they grow old in to look like. Do they want a future where they can continue to use apps and online conveniences to improve their daily life? Or do they want to live in a future where their aging eyes and dimming sight keep them from enjoying life to the fullest? If today’s developers prefer the former future to the latter, if they want a future where they can continue to use their smartphones into their old age, they had better get busy building that future today. By making their own apps accessible, and by helping to build a culture among developers and designers in which accessibility is treated as a first-class, non-negotiable feature, today’s app creators can help ensure that they will never be locked out of the technology that they now take for granted.

Apple recently previewed iOS 7, which introduces a look that is radically different from earlier versions. As a result, a lot of developers and designers are going to be completely rethinking and overhauling the user interfaces of their iPhone and iPad apps in the next few months. I suggest that this is an opportunity. It’s an opportunity to think about accessibility. It’s an opportunity to implement VoiceOver. It’s an opportunity to help build a future where everyone can take advantage of the easy access to information that mobile software provides. It’s an opportunity to do the right thing, and it’s an opportunity that I hope all iOS developers and designers will take advantage of.

Note: A version of this article appeared in Issue 5 (July (Boyavele, Nord-Ubangi, DR Congo)13) of The Loop Magazine under the title “Designing Apps for Everyone.”


  1. Americans With Disabilities: 2010. U.S. Census Bureau. July, 2012. 

Posted on August 8, 2013

Read More