29: Numbers and Analytics
00:00:00
◼
►
Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.
00:00:04
◼
►
And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.
00:00:09
◼
►
So I have a bit of a reputation, a reputation as somebody who likes numbers, who likes making
00:00:18
◼
►
charts, pretty pictures made from numbers, and using them to talk about all kinds of things.
00:00:25
◼
►
things. I've run an iOS version stats page for, oh gosh, it's probably four or five years
00:00:33
◼
►
now. And there's something that I love about being able to make decisions in my business
00:00:40
◼
►
and my development based on numbers rather than just on instinct or on gut feel. And
00:00:48
◼
►
so it was something that I thought would be an interesting thing to dive into because
00:00:51
◼
►
I don't think that's how everybody tends to work. I collect and process, and on a weekly
00:00:58
◼
►
basis, use numbers in ways that I don't think a lot of developers do, and so I kind of thought
00:01:03
◼
►
it would be interesting to unpack that a little bit, because what I find is being able to
00:01:10
◼
►
make my decisions based on numbers and actual measured things makes me a bit more rigorous
00:01:18
◼
►
in terms of, you know, I'm basing it on something concrete, as well as, honestly, I think it
00:01:22
◼
►
makes me more honest with myself, because it's so easy to trick yourself into thinking
00:01:29
◼
►
something's more important than it actually is.
00:01:32
◼
►
And so as an example of this, like something that I've run into recently is, I, in, you
00:01:37
◼
►
know, Perimeter++, my most sort of popular app, has an Apple Watch component, which is
00:01:44
◼
►
Apple Watch component, it has a complication that you can install. And I added, when I
00:01:50
◼
►
added this feature to the app, I added a little thing that, as part of my analytics, which
00:01:54
◼
►
I'll talk about a little bit later, the actual collecting of it, but in my analytics, it
00:01:58
◼
►
tells me how many people have installed the complication. And I started getting the numbers
00:02:03
◼
►
back and it's like, the reality is, a very small percentage of my users use the complication.
00:02:09
◼
►
And so, which was different in my mind than what I originally expected, like, I use it,
00:02:13
◼
►
I love it, and it's the part of the watch app that is most useful to me, but it turns
00:02:19
◼
►
out a lot of my customers don't use it. There are some, but it's very helpful for
00:02:23
◼
►
me to kind of guide how much time and energy I should put into making that awesome, because
00:02:27
◼
►
I have a number to base on it. It's a few percent of people are using it. Maybe it's
00:02:32
◼
►
not as important as I thought it was. And so that helps me to be honest. Do you use
00:02:37
◼
►
numbers in your work?
00:02:39
◼
►
What I usually do is just randomly discuss a possible thing with you around, and then
00:02:46
◼
►
you will jump in and say, "Actually, I have an entire graph and database for this going
00:02:51
◼
►
back seven years. Here, this is how this actually works."
00:02:54
◼
►
That's true.
00:02:55
◼
►
So it's actually very useful having you around as a friend. But no, I mean, I do way
00:03:01
◼
►
less of it than you do, and I want to change that, and I have slowly been changing that,
00:03:07
◼
►
not nearly to the degree that you do because you have numbers and stats and data on things
00:03:15
◼
►
that I wouldn't even consider, like I would never think to do that, but it would be so
00:03:21
◼
►
useful if I did think to do that. And there are ways, we're going to get into the details
00:03:26
◼
►
of this, but like there are ways to do this that are not difficult, that are not that
00:03:32
◼
►
time-consuming and importantly that aren't creepy or that don't sell out your users.
00:03:38
◼
►
And there's like there's so many data based decisions that I should be making and I should
00:03:45
◼
►
be factoring in usage data and activity data and revenue data and things like that. I should
00:03:51
◼
►
be factoring in all those things as you said like when I'm when I'm making decisions about
00:03:55
◼
►
what to do with my products, what products to even make in the first place, what not
00:04:00
◼
►
to do, what to expect revenue-wise or usage-wise, and really I feel like I've been underdoing
00:04:09
◼
►
it in the past, and so now I've been trying to jump into the data game a little bit.
00:04:15
◼
►
Yeah, and it's definitely an interesting balance that I find you have to strike, because you
00:04:19
◼
►
can become a little obsessive with it, where you end up with, oh, what's it, the KPIs or
00:04:28
◼
►
whatever, there's the terrible business speak where you end up with, "Oh, our business is
00:04:32
◼
►
like, are we hitting our key performance indicators?" I think is what that is. Anyway, that's terrifying
00:04:37
◼
►
to me, but it's that kind of a world where you end up with a business that's based on
00:04:41
◼
►
the numbers, and it's all A/B tested, and it's all driven from this kind of feeling
00:04:45
◼
►
that, "Well, if we can just keep tweaking the numbers, then our product will get better
00:04:50
◼
►
and better and better." Personally, I find that a little bit, it kind of removes the
00:04:55
◼
►
craft from what we do. It removes a lot of the feel of what you can make in that sense.
00:05:01
◼
►
And so that's not really the kind of numbers that we're talking about. But what I moreover
00:05:06
◼
►
have found is that if I'm able to collect the right kind of basic information and then
00:05:11
◼
►
have a very basic set of skills in Excel or in scripting or SQL or things like that to
00:05:17
◼
►
actually be able to pull it together, is that I can answer these questions that otherwise
00:05:22
◼
►
you just can't really get a good answer for. Because what you really don't want to be doing
00:05:28
◼
►
is just kind of like shooting in the dark. As an example, I remember when I was localizing
00:05:34
◼
►
some of my apps. It's like, you have to be able to answer the question, "Where are people
00:05:38
◼
►
using it? What countries is my app popular in, but it's not localized into? I should
00:05:45
◼
►
probably be localizing there." And you need to be able to pull that number from somewhere.
00:05:50
◼
►
Yeah, I mean, there's so many, there's so much, I've done personally, so much wasted
00:05:55
◼
►
effort over the years in working on something that a basic investigation into some numbers
00:06:03
◼
►
would have told me that it's not worth doing. Consequently, I've also, you know, on the
00:06:09
◼
►
flip side, I've also not done things over the years that I should have been doing because
00:06:14
◼
►
I wasn't looking at the right data that would have shown me this is something you
00:06:18
◼
►
you should be doing. Things like localization are obviously a big one. Even simple things
00:06:23
◼
►
like app features and usage. I mentioned recently that I did a lot of effort to make Overcast
00:06:30
◼
►
work really well on the iPad. And in retrospect, that might not have been worth all that effort
00:06:35
◼
►
because my iPad usage is in the low single digit percentages. It's like 3% or something
00:06:41
◼
►
of people who use Overcast. And that was a very, very simple thing to look up and to
00:06:46
◼
►
realize, oh, this is actually maybe not worth prioritizing over more important features
00:06:50
◼
►
that would benefit all the iPhone users. Similarly, I can look at features that make it better
00:06:58
◼
►
or worse with certain numbers of podcasts. Well, I can look on my server and I can see
00:07:03
◼
►
what's the average or the median number of podcasts that people subscribe to. And I should
00:07:09
◼
►
optimize the interface to make that look good and work well and things like that. There
00:07:14
◼
►
are so many opportunities that I can bring in just basics of looking at numbers, looking
00:07:19
◼
►
at stats, doing a little bit of research, and finding out other things. Over the last
00:07:25
◼
►
year or so I occasionally get tempted by the idea of making an audio editing app for producing
00:07:30
◼
►
podcasts. I keep talking myself out of it because I just keep seeing -- I'll look up
00:07:36
◼
►
rank data, I'll look up revenue data, of estimates of what other apps make, and try to figure
00:07:41
◼
►
out how many people are producing these kind of podcasts, how many people might be buying
00:07:46
◼
►
this app, what might I be able to charge for it, and I keep coming back to the conclusion
00:07:50
◼
►
that it's just not worth doing. But eventually, if I look at the data on an ongoing basis,
00:07:57
◼
►
eventually, it might be worth doing, and it'll be useful to figure out when that time comes.
00:08:02
◼
►
Yeah, exactly. And I love that making these types of decisions, it feels like there's
00:08:07
◼
►
always going to be an emotional part to it, where you may want to make your app look good
00:08:14
◼
►
on the iPad just because you like the iPad, for example. But there's always something
00:08:20
◼
►
kind of sobering when you look at the numbers and you're like, "Huh, I just did all this
00:08:25
◼
►
work for 5% of my users." And it makes that more gut decision into something that you
00:08:37
◼
►
can be like, you know, not that I want to ignore that 5% of my users and you know, there's
00:08:41
◼
►
certainly arguments to be made for making sure that you're taking care of your most
00:08:48
◼
►
devoted or powerful users type of people, but it really helps you to focus in on what
00:08:54
◼
►
are my 80% users and is their experience as optimal as I can make it.
00:09:01
◼
►
>>Ezra Klein Exactly.
00:09:02
◼
►
So I wanted to—it seemed like there's two types of numbers that I personally have
00:09:08
◼
►
a lot of infrastructure around collecting that I thought would make sense for us to
00:09:15
◼
►
discuss. The first one is sales numbers. So sales and revenue downloads. This is the kind
00:09:23
◼
►
of thing that you really—if you're going to make making software your livelihood—maybe
00:09:29
◼
►
This doesn't apply as much if you're just more of a hobbyist, but if this is what you
00:09:33
◼
►
want, either want it to become your livelihood or it is your livelihood, you really have
00:09:38
◼
►
to have a good grasp on how much money are you making on a daily basis. Where is that
00:09:43
◼
►
money coming from? Both in terms of geographically, what countries are you popular in, asking
00:09:49
◼
►
questions like, "Are you making your income from advertising, in-app purchase, direct
00:09:56
◼
►
sales, all those types of questions that you need to be able to understand in order to
00:10:01
◼
►
make sure that, A, your business is functioning and let you make good, thoughtful decisions
00:10:06
◼
►
about your future. And I've used so many different tools for this over the years. I think it
00:10:11
◼
►
was called AppViz. It was the first product I used back in the day, which was like a Mac
00:10:16
◼
►
app that would download the reports out of iTunes Connect. There have been all kinds
00:10:22
◼
►
of other things, there's AppFigures, AppAnnie, iTunes Connect itself has actually gotten
00:10:26
◼
►
a lot better at this. It used to basically just give you a CSV file and now you can go
00:10:31
◼
►
into the sales and trends area and they have a nice interactive thing that you can get
00:10:36
◼
►
quite a lot of mileage from. Personally, I ended up actually, I have an entirely homegrown
00:10:42
◼
►
system that I built over the course of, because what I do is I have a little Ruby script that
00:10:50
◼
►
go in, like iTunes Connect has an ingest API, which you can sort of hook up to, and it will
00:10:58
◼
►
pull in the sales reports directly from iTunes Connect, and it puts it into a SQL database
00:11:03
◼
►
that I run locally that has my historical data going back, I think it's somewhere on
00:11:09
◼
►
the order of about seven years or so. And what I love about that, and the reason I've
00:11:14
◼
►
I've done that is because now I can look and I can ask very strange questions and I can
00:11:21
◼
►
get an answer for them because I have data going back so long and in such a normalized
00:11:26
◼
►
way. And most people don't need to do that. I'm not recommending that. But that is certainly
00:11:32
◼
►
something at the end of this that if you keep going down this path for long enough, eventually
00:11:37
◼
►
you might find yourself being like, "Huh, none of the tools that exist can answer the
00:11:42
◼
►
questions that I'm asking, and then you can start to get a bit more homegrown. But for
00:11:46
◼
►
most people, use AppFigures, use AppAnnie, just use the iTunes Connect thing. But be
00:11:50
◼
►
able to look at them and decide questions. And you have to think about some strange things.
00:11:55
◼
►
I don't know how you think about your revenue, but I've always found that I think of revenue
00:12:00
◼
►
in terms of average revenue per day. That is the number that I've—I don't know why,
00:12:08
◼
►
I think where this came from is when I was initially going independent, or that was my
00:12:14
◼
►
goal. I was still doing contracting at the time, and I was saying, "One day I'd like
00:12:17
◼
►
to go independent." I kind of had a big number in mind. What would I like my ideal
00:12:24
◼
►
base salary to be? How big would my software business have to be before I could go independent,
00:12:32
◼
►
before I could say no to consulting and just make this my main focus. And when that number
00:12:38
◼
►
was the annualized number, it was kind of daunting and scary and felt very amorphous.
00:12:46
◼
►
But when I took that number and divided it by 365 and said, "Well, this is the amount
00:12:52
◼
►
that I need to make each day," and as I was putting out apps, every morning I could log
00:12:59
◼
►
into iTunes Connect or I can get an email from a lot of these services that do this,
00:13:04
◼
►
and they'll tell you how much you made. And I could see that number gradually increasing
00:13:09
◼
►
over time and getting closer to my tipping point. My wife and I decided that once my
00:13:17
◼
►
software hit this number, at that point, that was our focus. That's what we were going
00:13:24
◼
►
to keep going behind because we'd hit that sort of tipping point. And so that's still
00:13:29
◼
►
the way I think about it now. Like the day-to-day numbers maybe are a bit less relevant at this
00:13:33
◼
►
point. You know, like I'll have some good days, I'll have some bad days. But overall,
00:13:38
◼
►
I think about it in those terms, and I think about when I'm making a new app. I don't think
00:13:42
◼
►
about it in terms of how much money I could make in a year from it. I think about how
00:13:45
◼
►
much money per day I could make from it, which I think is helpful too from a sustainability
00:13:51
◼
►
perspective, 'cause I think about it,
00:13:53
◼
►
it doesn't matter if an app can have a huge, big spike
00:13:56
◼
►
at launch if it immediately falls to zero,
00:13:59
◼
►
because what I really want are apps
00:14:02
◼
►
that make steady income every single day.
00:14:05
◼
►
- Yeah, and that also gives you an idea,
00:14:06
◼
►
like when you get those daily reports,
00:14:08
◼
►
you can already have a sense for like,
00:14:11
◼
►
are things going well, or are things starting to go badly?
00:14:14
◼
►
Because you have internalized,
00:14:17
◼
►
like what is my target daily income?
00:14:20
◼
►
- Exactly, yeah.
00:14:21
◼
►
I mean, there's a good point for it too.
00:14:23
◼
►
It's like if you only measure, say, on a monthly basis,
00:14:26
◼
►
you could be potentially 30 days behind
00:14:30
◼
►
making changes that you need to correct problems or issues.
00:14:35
◼
►
If one day your revenue falls off a cliff,
00:14:39
◼
►
it's like you should probably know about that right away
00:14:43
◼
►
because is something wrong in iTunes?
00:14:46
◼
►
Like that's happened to me,
00:14:47
◼
►
where I've definitely had a weird thing
00:14:49
◼
►
where an app update messed something up in iTunes Connect
00:14:53
◼
►
and no one could download my app.
00:14:55
◼
►
- It's a bit of a problem.
00:14:56
◼
►
- It's a bit of a problem when all of a sudden
00:14:57
◼
►
you wake up the next day and you have 10% of the sales
00:15:00
◼
►
of the day before.
00:15:01
◼
►
And it's like, because I'm keeping track of it
00:15:03
◼
►
on a daily basis, I was able to go into iTunes Connect
00:15:06
◼
►
and make a non-meaningful change
00:15:08
◼
►
and somehow it magically fixes things and hooray,
00:15:10
◼
►
we're get back on path again.
00:15:14
◼
►
But you have to be able to look at that,
00:15:16
◼
►
have a mechanism to be aware of those types of things on a regular basis. And I think
00:15:21
◼
►
I tend to—I wouldn't say I necessarily look at everything on a daily basis. Usually
00:15:25
◼
►
it's the thing I do first thing Monday morning is kind of the pattern I've gotten into.
00:15:29
◼
►
Like I run my little scripts and pull in all my data and run my reports on a Monday morning,
00:15:34
◼
►
and I find it kind of helpful to think about what I'm going to do that next week. But
00:15:38
◼
►
yeah, it's definitely so helpful to have this number in mind that you're trying to
00:15:42
◼
►
to hit and have a way to kind of generate that number
00:15:45
◼
►
and look at it in a way that makes sense to you.
00:15:51
◼
►
All right, our sponsor this week is Pingdom.
00:15:53
◼
►
Once again, go to pingdom.com/radar
00:15:56
◼
►
to start monitoring your websites and servers today.
00:15:59
◼
►
You get a 14-day free trial,
00:16:01
◼
►
and when you use the offer code RADAR at checkout,
00:16:03
◼
►
you get 20% off your first invoice.
00:16:05
◼
►
Pingdom makes the web faster and more reliable
00:16:07
◼
►
for everybody by offering powerful, easy-to-use
00:16:09
◼
►
monitoring tools and services for anybody with a website.
00:16:12
◼
►
You can, for example, monitor availability and performance
00:16:14
◼
►
in your server, database, or website
00:16:17
◼
►
from more than 70 global test servers.
00:16:19
◼
►
They can emulate visits to your site
00:16:20
◼
►
to check its availability as often as once every minute.
00:16:23
◼
►
Now, we all know websites are becoming more sophisticated
00:16:26
◼
►
and are often made up of several dependencies.
00:16:28
◼
►
And when one dependency encounters an adage,
00:16:29
◼
►
it can affect the entire site.
00:16:31
◼
►
So it's also possible to use Pingdom
00:16:33
◼
►
to monitor the availability of key interactions.
00:16:36
◼
►
So things like contact forms, e-commerce checkouts,
00:16:38
◼
►
logging in, search functionality, and a lot more.
00:16:41
◼
►
And you'd be surprised how often stuff breaks
00:16:44
◼
►
in the internet.
00:16:45
◼
►
Every month, Pingdom detects more than 13 million outages.
00:16:48
◼
►
So regardless of whether your web presence
00:16:50
◼
►
is a small website or a complete infrastructure,
00:16:52
◼
►
you really should monitor its availability and performance.
00:16:54
◼
►
And I use Pingdom personally.
00:16:56
◼
►
I have used Pingdom since 2007.
00:16:58
◼
►
Now to give you some idea of how long that is,
00:17:02
◼
►
that is older than the entire app store.
00:17:05
◼
►
The entire business we are talking on this podcast about
00:17:08
◼
►
is younger than the time I've been using Pingdom.
00:17:11
◼
►
And so this is way before they were response,
00:17:13
◼
►
so they started sponsoring like a few weeks ago
00:17:14
◼
►
and I've been using them for, you know,
00:17:16
◼
►
literally since 2007.
00:17:18
◼
►
I recommend them strongly if you have any kind of monitoring,
00:17:21
◼
►
if you're monitoring things for changes or for downtime,
00:17:24
◼
►
you don't even have to own the sites you're monitoring.
00:17:26
◼
►
If you wanna monitor some other site for changes
00:17:28
◼
►
or downtime, you can do that too.
00:17:30
◼
►
All Pingdom needs is a URL to monitor
00:17:32
◼
►
and optionally any kind of conditions
00:17:34
◼
►
to check for on the page, substring, stuff like that.
00:17:37
◼
►
and you know, or you can just tell it, check when it's up.
00:17:39
◼
►
And when they detect an outage,
00:17:41
◼
►
you can be alerted immediately,
00:17:42
◼
►
so you can fix the problem before it becomes
00:17:44
◼
►
a much bigger and more costly outage for you.
00:17:47
◼
►
Now, you should not be learning that your site is down
00:17:50
◼
►
by people on Twitter telling you three hours ago,
00:17:53
◼
►
hey, by the way, I think your site's down.
00:17:54
◼
►
No, that is not good, it's not professional,
00:17:56
◼
►
it's not good for your business.
00:17:57
◼
►
You should be the first to know,
00:17:58
◼
►
and with Pingdom, you can be.
00:18:00
◼
►
And you can fix it before too many customers
00:18:02
◼
►
or readers see it.
00:18:03
◼
►
Check it out today, go to pingdom.com/radar
00:18:06
◼
►
for a 14 day free trial and get 20% off your first invoice
00:18:10
◼
►
with offer code RADAR.
00:18:11
◼
►
Thanks to Pingdom for sponsoring our show.
00:18:14
◼
►
- All right, so the other aspect of numbers
00:18:19
◼
►
that I find personally really helpful for
00:18:21
◼
►
to think about is app analytics,
00:18:24
◼
►
to understand how people are using your app,
00:18:27
◼
►
how people are, what the devices they're using.
00:18:31
◼
►
I mean, there's some very basic questions that,
00:18:34
◼
►
Like for a long time I struggled with not having an answer for.
00:18:38
◼
►
This was easier back in the day when there was only, for example, one screen of iPhone
00:18:43
◼
►
But even back then there was different versions of iOS.
00:18:47
◼
►
And you find yourself in a question of like, well, how soon can I drop support for old
00:18:54
◼
►
And there's some amount of this that is sort of generally available in public.
00:18:58
◼
►
But the reality is, even like, I have a site, like if you go to david-schmidt.org/ios-version-stats,
00:19:03
◼
►
You can see the data that I collect from one of my apps that I made public.
00:19:08
◼
►
But even if you look at that, that applies to my app with its particular user base and
00:19:15
◼
►
Your app and your mileage may vary.
00:19:17
◼
►
And so this is the kind of thing that I feel like every app developer needs to have a good
00:19:20
◼
►
handle on for themselves to be able to answer these kind of questions.
00:19:24
◼
►
Because otherwise you're just kind of shooting in the dark.
00:19:25
◼
►
Like, "Well, I guess I'll drop iOS 9 6 or iOS, I guess it wouldn't be, I'm dropping
00:19:32
◼
►
a bit foolish, but dropping iOS 8 support maybe six months after it comes out, like
00:19:38
◼
►
you're just kind of pulling a number out of the air versus looking at your app and deciding,
00:19:42
◼
►
"Hey, maybe my users don't upgrade very quickly or they're using it on devices that I wasn't
00:19:48
◼
►
aware of." And so this is something that you just kind of have to do. Where do you collect
00:19:53
◼
►
this kind of data when you were saying that your iPad usage was single digits? Like, where
00:19:58
◼
►
is that number coming from for you?
00:19:59
◼
►
So I used to, like back in the newspaper days,
00:20:02
◼
►
I used to just do the basic kind of homegrown
00:20:05
◼
►
server stat reporting.
00:20:06
◼
►
So basically, when the app would connect
00:20:09
◼
►
to the backing web service, and of course,
00:20:10
◼
►
this depends on having a backing web service,
00:20:13
◼
►
it would report what kind of device it was,
00:20:15
◼
►
what its OS version was and stuff like that,
00:20:17
◼
►
and so I would just be able to go
00:20:18
◼
►
and query my users table and be like,
00:20:20
◼
►
all right, how many people are running the iPad One?
00:20:24
◼
►
How many people are running iOS 7 or whatever?
00:20:27
◼
►
So that has pluses and minuses.
00:20:28
◼
►
The main downside is that you have to,
00:20:31
◼
►
if you do it that way, you have to write
00:20:34
◼
►
any of the supporting tools yourself.
00:20:36
◼
►
So if you wanna have graphs over time,
00:20:38
◼
►
or additional metrics, or any kind of smarts,
00:20:41
◼
►
or intelligence, or summarizing behind that reporting,
00:20:44
◼
►
you basically have to do it all yourself,
00:20:45
◼
►
and you probably won't.
00:20:47
◼
►
I never did.
00:20:48
◼
►
I just kept the basics there.
00:20:50
◼
►
So it made it hard to really draw
00:20:53
◼
►
any kind of deeper knowledge from it,
00:20:55
◼
►
and there was a lot of data I was missing
00:20:57
◼
►
by doing it that way.
00:20:58
◼
►
But the advantage there is that there's no code dependencies
00:21:01
◼
►
in your app and it's really not creepy at all.
00:21:04
◼
►
Nobody would really be offended by you reporting back
00:21:07
◼
►
to your own server during requests you were already making
00:21:10
◼
►
what kind of device they're running on, stuff like that.
00:21:12
◼
►
I mean, it can be abused, but it's harder to abuse, I think.
00:21:15
◼
►
So there are some advantages there in terms of privacy,
00:21:19
◼
►
simplicity on the technical side,
00:21:21
◼
►
like you don't have to embed somebody's library
00:21:23
◼
►
into your app, stuff like that.
00:21:25
◼
►
But it is very limiting in what it can do.
00:21:28
◼
►
With Overcast, up until the handful of most recent versions,
00:21:33
◼
►
I was doing basically nothing.
00:21:35
◼
►
I was embedding crash reporters.
00:21:37
◼
►
And so in the early days I used Hockey,
00:21:39
◼
►
and then more recently I used Crashlytics.
00:21:41
◼
►
And so I would have an approximation of what the app was,
00:21:45
◼
►
or of the install base,
00:21:47
◼
►
if I would get a really common crash,
00:21:49
◼
►
then the crash logger would say,
00:21:51
◼
►
"Hey, this is like 92% on iPhone."
00:21:54
◼
►
Okay, well I guess I have roughly 92% iPhone use then.
00:21:58
◼
►
That was also not a great method because--
00:22:01
◼
►
- It's not the best.
00:22:02
◼
►
- First of all, it kind of encourages me
00:22:03
◼
►
to leave common crashes in the app.
00:22:07
◼
►
I didn't, but yeah, so and then--
00:22:10
◼
►
- There's a better way.
00:22:10
◼
►
- Yeah, there's a better way and I didn't,
00:22:14
◼
►
I didn't get, you can't get a lot of data from that really.
00:22:17
◼
►
There's also the iTunes Connect built in stats,
00:22:21
◼
►
but they're also very limited in both what they report
00:22:25
◼
►
and also which devices in use they report from.
00:22:29
◼
►
Because they only report if the user had checked in
00:22:31
◼
►
that like send data to Apple thing during setup.
00:22:34
◼
►
So I have found that the number of devices reporting in
00:22:39
◼
►
through iTunes Connect is way lower
00:22:42
◼
►
than the actual number in use.
00:22:43
◼
►
I think mine was something like 10 or 20%.
00:22:46
◼
►
- Yeah, and I think my numbers are fairly similar to that
00:22:48
◼
►
in terms of the like the opt-in rate is pretty low.
00:22:51
◼
►
- Yeah, so that's also like,
00:22:53
◼
►
That's good to get an approximate idea
00:22:56
◼
►
of what's my rough ratio of iPhone to iPad
00:23:00
◼
►
or something like that,
00:23:00
◼
►
but those can't tell you a whole lot overall.
00:23:04
◼
►
So recently I switched to Fabric
00:23:06
◼
►
because Fabric is the umbrella that owns Crashlytics.
00:23:11
◼
►
It's all part of Twitter.
00:23:13
◼
►
And so I started adding basic analytics through Fabric
00:23:16
◼
►
and it has been surprisingly useful to me.
00:23:20
◼
►
I was a little wary at first
00:23:22
◼
►
And there's this whole other area of it that allows you,
00:23:25
◼
►
there's like a second level of creepiness
00:23:27
◼
►
that you can opt into that I didn't opt into.
00:23:31
◼
►
Where you can like, it like tries to figure out
00:23:33
◼
►
who your users are so it can tell you like the geography
00:23:36
◼
►
and demographics and like all sorts of more advanced things
00:23:40
◼
►
about like what kind of people are using your app.
00:23:41
◼
►
Like, well it's the people in this age group
00:23:43
◼
►
and you know skewing mostly female or mostly male
00:23:45
◼
►
or whatever and like there's more of that that I don't do.
00:23:49
◼
►
Maybe someday I'll turn that on.
00:23:50
◼
►
I don't, with Fabric, it gives you not only the basics
00:23:54
◼
►
automatically of things like what versions of your app
00:23:57
◼
►
are in use, what platforms are they in use for
00:23:59
◼
►
and everything else, but also, and of course,
00:24:02
◼
►
things like crashes are all integrated,
00:24:03
◼
►
so you have a crash for user percentages.
00:24:06
◼
►
This morning I got an email that there was one crash
00:24:09
◼
►
that was crashing more today than it usually does,
00:24:12
◼
►
so it sent me an email, 'cause it's like,
00:24:13
◼
►
"Hey, this number is suspiciously high.
00:24:16
◼
►
"You might wanna look at that."
00:24:18
◼
►
Stuff like that, and then you can add custom events,
00:24:20
◼
►
which I have done, I have something like 15 custom things
00:24:24
◼
►
that I can track, and it's things like,
00:24:26
◼
►
I track how many new signups do I get,
00:24:28
◼
►
and then how many people among those
00:24:30
◼
►
click the anonymous account button
00:24:33
◼
►
versus the give me an email address button.
00:24:35
◼
►
I do things like how many people use the watch app,
00:24:37
◼
►
and are they using the entire app or just the glance?
00:24:40
◼
►
And even in the watch app, are they going
00:24:43
◼
►
to the deeper menu parts and rearranging playlists,
00:24:45
◼
►
or are they really just using the basic play controls?
00:24:48
◼
►
And then in the app, I have like,
00:24:49
◼
►
how many people use SmartSpeed?
00:24:51
◼
►
How many people add podcasts through the directory
00:24:54
◼
►
versus add it through URLs?
00:24:57
◼
►
How many people are playing through the speaker
00:24:58
◼
►
versus playing through headphones?
00:25:00
◼
►
Stuff like this, and what this allows me to do
00:25:02
◼
►
is what we said in the beginning.
00:25:04
◼
►
Basically make smart decisions about what I work on.
00:25:07
◼
►
And so ever since integrating Fabric a few months ago,
00:25:10
◼
►
I have not only dramatically reduced the number of crashes,
00:25:13
◼
►
'cause I keep optimizing for that
00:25:15
◼
►
crash for users percentage,
00:25:17
◼
►
But also, I have gotten a lot of insight into what I really need to be working on.
00:25:23
◼
►
Like, there are certain numbers here that I want to increase.
00:25:26
◼
►
Things like, you know, how many people hit the recommend button ever?
00:25:31
◼
►
You know, like, I want to boost that up because that helps my social discovery features.
00:25:35
◼
►
Then I also know how many people use the social discovery features.
00:25:39
◼
►
How many people ever add podcasts through the recommended podcast section?
00:25:43
◼
►
Now I have data on that and I can see if I make changes over time, I can see like, okay,
00:25:50
◼
►
maybe making this thing more prominent or rearranging the order of things on this screen
00:25:53
◼
►
or something else like changing the wording, changing the language around things.
00:25:58
◼
►
You know, I can see the effects of those things and now I kind of know like what's worth
00:26:02
◼
►
it, what's not, what I need to work on, what I probably don't need to work on and
00:26:08
◼
►
just all sorts of useful stuff about how people are actually using my app all in a way that
00:26:12
◼
►
that I don't think is creepy at all,
00:26:14
◼
►
because there's reasonable boundaries here,
00:26:16
◼
►
and I think I've chosen reasonable parameters
00:26:19
◼
►
and reasonable limits,
00:26:20
◼
►
and so I think the downside really is pretty low.
00:26:24
◼
►
- Yeah, and I mean, one of my favorite stories about this
00:26:27
◼
►
was the reason why you ended up adding the,
00:26:30
◼
►
I guess the EQ profile for the built-in iPhone speaker.
00:26:35
◼
►
- That's right.
00:26:37
◼
►
- Which was like this really cool, clever thing
00:26:39
◼
►
that you did in one of the more recent Overcast updates,
00:26:42
◼
►
or when you're playing a podcast through the iPhone speaker,
00:26:46
◼
►
it sounds a lot better now,
00:26:47
◼
►
because you kind of changed the IQ to optimize it
00:26:49
◼
►
for the type of speaker it is.
00:26:51
◼
►
But if I'm remembering right, you added that
00:26:52
◼
►
because you discovered that a lot of people
00:26:54
◼
►
listen to podcasts playing out of the iPhone speaker,
00:26:58
◼
►
which I wouldn't have guessed.
00:27:00
◼
►
- And yeah, and I listen to it
00:27:01
◼
►
out of the iPhone speaker all the time,
00:27:03
◼
►
but I didn't think most people did.
00:27:04
◼
►
And yeah, it turns out a good number of people do,
00:27:07
◼
►
so I thought this is a feature worth doing.
00:27:09
◼
►
With my watch app, I decided, you know,
00:27:11
◼
►
I still have my WatchKit 1 app,
00:27:14
◼
►
and a lot of people have asked me for WatchKit 2,
00:27:16
◼
►
so I decided to look,
00:27:17
◼
►
and how many people are actually using the Watch app?
00:27:20
◼
►
And it turns out the number is very, very low.
00:27:23
◼
►
And so now I know, like, you know what,
00:27:24
◼
►
I can hold off on that.
00:27:25
◼
►
I can wait until WWDC, wait and see, you know,
00:27:28
◼
►
what's happening with WatchOS,
00:27:30
◼
►
and maybe just like skip WatchOS 2
00:27:32
◼
►
and go right to WatchOS 3 before I invest time into that.
00:27:36
◼
►
So there's all sorts of really useful things.
00:27:38
◼
►
Like, I discovered that, you know,
00:27:40
◼
►
I'm better off investing time in the iPhone speaker
00:27:42
◼
►
optimization than rebuilding a watch kit app.
00:27:45
◼
►
You can get insights like this with fairly easy
00:27:48
◼
►
to collect data.
00:27:50
◼
►
And I think ultimately, the reason
00:27:52
◼
►
that I find that this is so important for me
00:27:55
◼
►
and my business is the nature of doing the kind of work we do.
00:28:00
◼
►
We're just one man shops.
00:28:04
◼
►
Our most limited resource in most realities is our time.
00:28:09
◼
►
There's only so many things we can work on.
00:28:10
◼
►
There's only so many projects that we can tackle.
00:28:13
◼
►
And having a way to concretely say,
00:28:17
◼
►
this is worth doing, this is why,
00:28:20
◼
►
and pointing to a number and saying,
00:28:22
◼
►
if I do this, this will benefit 50% of my users,
00:28:25
◼
►
is incredibly helpful to get out of the kind of,
00:28:30
◼
►
all the rabbit holes that otherwise I find
00:28:32
◼
►
that I'll end up going down,
00:28:34
◼
►
and just be working on projects
00:28:37
◼
►
that I think are kind of cool or interesting,
00:28:39
◼
►
but ultimately aren't helping my business be sustainable
00:28:42
◼
►
or my apps to be really useful.
00:28:45
◼
►
And so it's such a vital thing to get,
00:28:48
◼
►
once you kind of start going down this road of saying,
00:28:50
◼
►
what would I like to know about my users
00:28:53
◼
►
and how can I use that to then make better decisions?
00:28:58
◼
►
All right, that's all the time we have for this week.
00:29:00
◼
►
Thank you everybody for listening
00:29:01
◼
►
and we will talk to you next week.