Podcast Search

Developing Perspective

#49: Addressing Demand

Select a time to play from there. The line being spoken is highlighted as the audio plays.

0:00:00Hello and welcome to Developing Perspective.

0:00:03Developing Perspective is a podcast discussing iOS development, Apple, and the like.

0:00:07I'm your host, David Smith. I'm an independent iOS developer based in Herndon, Virginia.

0:00:11Developing Perspective is never longer than 15 minutes and is recorded about three or four times a week.

0:00:15This is Show #49. Let's get started.

0:00:18All right. I have a couple of small topics to start off today's show with, and then I'll move into the main topic.

0:00:23To start with, I was just talking about--I wanted to talk about one of the great features

0:00:27and additions to the iOS developer experience that was added in iCloud.

0:00:33And it's something that you may not actually have been aware of,

0:00:35and so I just wanted to point it out.

0:00:37For a long time now, iTunes Connect, which is where you do all of your app management,

0:00:41is a portal where you can download crash logs.

0:00:44And back in the old days, these were uploaded via iTunes

0:00:49when someone synced their device and then hit a button that said,

0:00:53said, yes, go ahead and send diagnostic and stability

0:00:57reports or something like that.

0:01:00And in general, in my experience back in the day,

0:01:02that almost never happened.

0:01:04Every now and then, you'd get a report in there,

0:01:06but you could have millions of downloads and have 10 reports.

0:01:10And it just wasn't especially helpful.

0:01:13But one of the new things that's kind of fun in iCloud--

0:01:17and this was added in iOS 5--

0:01:19is that now, when the user is setting up their iCloud

0:01:22account, one of the little check boxes they push is, you know, "send Apple diagnostic

0:01:27information," I think it is. And I think by default it's enabled. And that, if they check

0:01:33that, then as best I can understand, crash reports are then sent automatically over the

0:01:38air when your app crashes to iTunes Connect. And as a result, I found the crash report

0:01:45in iTunes Connect to be so much more valuable. So I definitely recommend if you're, you know,

0:01:51sort of getting ready to do an update, looking for some bugs,

0:01:53looking for some things that may make your app better,

0:01:56that's definitely a place to go.

0:01:57And basically, you just go into iTunes Connect.

0:01:59You click on the application.

0:02:00You click on a particular version,

0:02:03because it's been done by version.

0:02:04And then over in the top right corner, it says Crash Reports.

0:02:07And you just kind of browse there.

0:02:08And you can download them.

0:02:10And just always, another note is to make sure

0:02:13that you always keep the desim file whenever you do a build,

0:02:16especially one that you're going to submit to the App Store.

0:02:19This is a little debugging symbols file.

0:02:21If you just do build in archive, it'll

0:02:23be sort of stored automatically.

0:02:24But make sure that you keep that somewhere safe,

0:02:27because you can't symbolicate your crash reports,

0:02:31and they'll be kind of meaningless otherwise

0:02:34if you don't have that decent file.

0:02:35So just make sure you keep it.

0:02:37And then basically, you can just download them,

0:02:39and you go into Xcode, and you can

0:02:40look through all the crashes.

0:02:42It'll just give you stack traces of where the problems are.

0:02:45Evaluating stack traces is a bit of a black art.

0:02:48sometimes it feels like, because you're--

0:02:51maybe 50% of the time, it's straightforward.

0:02:53You look at it, it's a stack trace.

0:02:55It tracks back to a line in your code

0:02:57where you're doing something silly.

0:02:58You're putting a nil object into an array.

0:03:00You're doing something that's just clearly not going to work.

0:03:04And you see, you can go through and you fix those.

0:03:06And then you'll end up with the next case.

0:03:09And these are the crashes that you look at,

0:03:11and you're like, that's got nothing to do with my code.

0:03:15You look through the stack trace, and it's all in UIKit.

0:03:18It's all in Foundation.

0:03:19And so then you're kind of like, huh,

0:03:22is this a bug in the framework?

0:03:24Or is this something that I'm causing the framework

0:03:27to have a problem?

0:03:29And more often than not, it's the latter.

0:03:31I very rarely found actual crashes in the OS.

0:03:34I'm sure they exist, but nine times out of 10 or 99 times

0:03:38out of 100, if you see a crash like that,

0:03:41you're doing something sort of wrong with the frameworks.

0:03:46And it's likely documented that what you're doing isn't going to work.

0:03:51An example of this is, say, where you don't

0:03:53set the delegate of something to nil when your object is deallocated.

0:03:58Simple example.

0:03:59Something like that, where the crash will actually potentially

0:04:02happen in their object when they start trying

0:04:04to access something in your delegate.

0:04:06But you didn't tell them otherwise.

0:04:09So that's just something I wanted to--

0:04:11I ran into it yesterday when I was doing a big update, kind of my bug fix

0:04:14update for audio books.

0:04:16And I noticed that--

0:04:17I was like, oh, you know, I've got these vague crash reports

0:04:20from users, and every now and then they'll send in a crash

0:04:23report.

0:04:23But I was like, oh, I wonder if iTunes Connect's gotten any

0:04:25better, and it definitely has.

0:04:27So definitely check that out when you're doing your next

0:04:29update, and you may be able to catch and crush a few bugs.

0:04:33All right, second thing, and it's kind of vaguely related,

0:04:36is a trick that I recently started doing to kind of get a

0:04:40sense of how many users are using your application, or

0:04:45have your application installed on their phone, if you have an app like

0:04:49some of mine that have been around for quite a while,

0:04:52it's sometimes a little weird and intimidating to think like, "Well, how many of these

0:04:56people are actually using it?" If you say

0:04:58you had a million people who download your app,

0:05:01is that a million, you know,

0:05:04is 999,000 of them still using it, or a thousand of them still using it?

0:05:09And it's kind of helpful to judge

0:05:11how much time you want to invest in the app, how much time you want to

0:05:14sort of put forth, just kind of good for curiosity. And this is actually one of those few things

0:05:19where the Android market actually does a really good job of this because they track this for

0:05:23you and they'll tell you the number of active installs and things like that.

0:05:27But a good proxy that I recently started using to judge roughly how many people have your

0:05:32app installed is if you go into your iTunes Connect sales reports, you get sales, you

0:05:39get in-app purchases, you get free downloads, and then you get updates. For a long time

0:05:44I thought updates was just kind of useless.

0:05:46You know, Apple's just throwing this number at you that seems kind of arbitrary.

0:05:49It's the number of people who installed an update for the application the day before.

0:05:53And I was like, "What am I going to do with that?"

0:05:56Now what I kind of view that as is I take, when I submit an update,

0:06:00I take a look at say roughly say a week's window of updates after I do,

0:06:04you know, after my point release is approved.

0:06:08I look at that and I say, "Huh.

0:06:10what amount, what proportion of my users updated.

0:06:16And that's probably a reasonable proxy for how many users still have your app installed

0:06:20on the phone.

0:06:21It doesn't mean that they're actually using it, they could just be hitting update all,

0:06:24but it's probably a reasonable proxy for that's how many people have it on their device.

0:06:29So I just kind of wanted to throw that out there.

0:06:31I think it's kind of an interesting statistic.

0:06:32All right, and so now I'm going to move into kind of the main topic for today's show, which

0:06:37is specifically about pricing.

0:06:39And this is motivated by just a refrain I've heard quite a few times recently.

0:06:44A lot of it's by sort of older, old is probably the wrong word, but people who've been making

0:06:51software before the App Store, people who used to make their living selling software

0:06:55directly or those types of situations who complain about pricing in the App Store.

0:07:03And it's one of these funny things that I kind of, you know, it's just a topic that's

0:07:08been talked about a lot and I don't want to belabor it too much, but I have kind of an

0:07:12interesting perspective that I hopefully, well I hope it's interesting, is a lot of

0:07:16people I think sort of confuse two uses in the English language of the word "value."

0:07:23Saying, "Oh man, it's the race to the bottom, devalues my software."

0:07:28And it's one of those awkward things where, just kind of like with "free" in the English

0:07:32language, there's "free" as in "beer" and "free" as in "liberty."

0:07:36the same word has two very different meanings. And you can take value as sort of the intrinsic

0:07:42value, the worth, the excellence, all those other kind of attributes of it that kind of

0:07:49make it awesome. And on the flip side, value is also like a business term that's a measure

0:07:55of sort of revenue, of income, of money, of what the sale price for something is, if you

0:08:02were to look at it as the value of a house.

0:08:06And I think often those two terms get conflated in a way

0:08:10that's not productive, that a lot of people say, well, if I

0:08:13make the price of my app low, I will devalue it.

0:08:19Now what they're really saying is by lowering the price, they

0:08:22may lower a potential customer's perception of the

0:08:27quality of their software.

0:08:29So that's a fair statement, and that may be true.

0:08:32That's certainly another interesting part of it.

0:08:34But I think often what they say, when they say that, what they mean

0:08:38is, if I lower my price, I will make it seem cheap, and I won't make money.

0:08:45And it's a funny thing.

0:08:46You can look at it a couple of different ways.

0:08:48You could say, well, I want to make as much money as I can,

0:08:53which is a perfectly reasonable, good capitalistic approach

0:08:56to selling software.

0:08:58And if that's the case, it seems like really at the App Store

0:09:02right now, especially on the iOS side, the best way to do

0:09:05that is with a relatively low price, potentially even free,

0:09:08and supplementing that with in-app purchase.

0:09:11It allows you to address quite well the demand curve for your

0:09:15application.

0:09:16There are some people for whom the value or the price at

0:09:20which they are willing to pay for your app is either zero or

0:09:23close to zero.

0:09:24And then you have this whole curve of people who, with

0:09:26increasing amounts of a desire to part with their money.

0:09:31And you can address that all within that purchase.

0:09:33So there are some people who are going to have paid you $100,

0:09:35or $20, or $30.

0:09:37And then you have some people who

0:09:38are going to have paid you nothing

0:09:40and just looked at a few ads.

0:09:41By addressing that whole curve, you just-- it's like calculus.

0:09:45You've maximized the value or the revenue

0:09:49that you've received.

0:09:51And so in many ways, that's the way forward.

0:09:55But often you kind of have this... the flip side of that is people will say,

0:09:58"Well, I don't want...

0:10:00I want my software to cost ten dollars. I want my software to cost five dollars.

0:10:03I want to be, you know,

0:10:06viewed as a premium brand in the App Store."

0:10:09And, you know, it's

0:10:11certainly a worthwhile thing, you know, to say that about yourself,

0:10:16or to say that about kind of what kind of an app

0:10:19or brand you'd like to be.

0:10:21But I think... and that's great,

0:10:23but I think I always get a little frustrated when the flip side of that is

0:10:26I'm having difficulty making money

0:10:28as a premium brand.

0:10:30You know, no one really care, like no one would care if Tiffany's

0:10:34announced one day that their sales are flat, people just aren't buying

0:10:37overpriced diamonds.

0:10:39It's like, okay, well apparently people don't think that

0:10:42you're as premium as you used to be or, you know, those kinds of things. Like, complaining

0:10:46about that doesn't make sense.

0:10:47If you can charge a high price and make a high revenue, fantastic. Enjoy that, that is

0:10:51awesome.

0:10:52live in the dream, high five.

0:10:56But the reality is if you're in the app store to make a living, if you're in the app store to make money,

0:11:00your goal is more likely to be, you know, how can you derive the

0:11:05most revenue from the

0:11:06work that you do?

0:11:08And that's not to get to a point, you know, there's sort of the dark side of that, of kind of

0:11:11getting into scamming and

0:11:14kind of fleecing users, which I would certainly advise against,

0:11:18but you know there's ways to

0:11:20view pricing as a tool to extract that value

0:11:24and in a way that just is basic microeconomics

0:11:28makes good sense.

0:11:30That's kind of

0:11:31the way I approach it. I view pricing as a tool that I have

0:11:35to allow me to make money.

0:11:37You know, I don't really associate too much intrinsic value

0:11:42in the price. That, oh, well,

0:11:45all my apps are 99 cents and that makes me a cheap app developer

0:11:49or whatever. I mean, I have a couple of apps that are more expensive than that.

0:11:52But in general,

0:11:53you know, I just feel I'm trying to price something where I think I will make the most

0:11:56money.

0:11:57And the actual cost of that

0:12:00is really only important to the customer.

0:12:02And that's, you know, that's fair enough. If some customers think that

0:12:05my app is worth more than great, if some of them think it's less than, you know,

0:12:10great, I'm not going to get them.

0:12:11But what I really want to avoid is,

0:12:13you know, not taking advantage of people who

0:12:17could do who could find my app interesting, who could find it useful,

0:12:20but are turned off by a high price.

0:12:22And so,

0:12:23rather than getting, you know, a dollar from them, I'm getting zero from them.

0:12:27On the flip side,

0:12:29you want to make sure that if there are people who are willing, who'd be really interested

0:12:31and engaged and want to give you lots of money, that you're addressing them to, and giving them an

0:12:34opportunity

0:12:36to give that back to you. It sounds like kind of a funny thing, but,

0:12:38you know, it's like you really are creating an opportunity for someone to part with their

0:12:42money and to give it to you. And, you know, it's a willful,

0:12:45often happy joyful thing. I have many people who contact me and support

0:12:49and it's like

0:12:50you know I'm glad I was able to support you and keep this going and

0:12:53keep making the app awesome

0:12:55and they're happy to keep... by creating an opportunity for them to

0:12:58give me money

0:12:59they feel good about that

0:13:01you know and so I think that's kind of where I am. I think I tweeted the other day

0:13:05in my recent update to audiobooks it's been kind of striking how important free is in

0:13:09the app portfolio these days

0:13:12uh... were making about in revenue i'm making about twice what up for my free

0:13:16app

0:13:17and from the paid app and do the absolute central identical except one of

0:13:20them shows ads

0:13:21and the other one doesn't

0:13:22and in the paid after you there's no ads in the free up a show i had so i used to

0:13:26do

0:13:27aggregator and all the stuff that mob ads and all the stuff that i'd still add

0:13:31now because

0:13:33the quality about the so much better and

0:13:35it's just so much simpler for and better from a coding perspective

0:13:39but when i found

0:13:41is that's, you know, I think that means that I'm addressing the entire spectrum

0:13:45probably of user.

0:13:46Where I go, there's some people who get the app

0:13:49who give me, you know, pennies from watching ads

0:13:53and then there are people who get the free app, like it, buy all the in-app purchases

0:13:57and, you know, make some money from them directly.

0:14:00There are people who buy the app for ninety-nine cents

0:14:03and

0:14:04who then never see an ad but they've given me their buck

0:14:08and then kind of you know also potentially buy in at purchases and you

0:14:12by addressing that whole spectrum

0:14:14i think i mean it's it's a good wise business move

0:14:17uh... you know kind of as a especially as it you know as a smaller business

0:14:21i can't afford to be leaving money on the table

0:14:24so anyway

0:14:25just some thoughts

0:14:26hopefully that's helpful

0:14:27as always if you have questions comments concerns hit me up on twitter i'm @_davidsmith

0:14:33the twitter feed for this podcast is dev perspective

0:14:36and otherwise, hope you have a good week.

0:14:38Happy coding, and I will talk to you later.

0:14:41Bye.