#146: Get up, Get Moving.
00:00:00
◼
►
Hello, and welcome to Developing Perspective.
00:00:02
◼
►
Developing Perspective is a podcast discussing news of note in iOS development, Apple, and
00:00:07
◼
►
I'm your host, David Smith.
00:00:08
◼
►
I'm an independent iOS and Mac developer based in Herne, Virginia.
00:00:12
◼
►
This is show number 146, and today is Friday, October 4th.
00:00:16
◼
►
Developing Perspective is never longer than 15 minutes, so let's get started.
00:00:19
◼
►
All right, first a couple of more, I guess, news and sundries at the beginning.
00:00:25
◼
►
First, it's been lovely to see all the people who bought Developing Perspective t-shirts
00:00:29
◼
►
and everybody's sending me pictures and telling me about wearing them or trying to explain
00:00:32
◼
►
them to coworkers and friends.
00:00:34
◼
►
So it's been lovely to hear.
00:00:36
◼
►
Thank you for sending those notes.
00:00:37
◼
►
I really appreciate it.
00:00:38
◼
►
If you ordered one, you should probably have it unless you're outside of the US at this
00:00:42
◼
►
So if you haven't, there's probably something to follow up with with the Teespring.
00:00:45
◼
►
And just something else, I wanted to first thank you everybody for the amazing response
00:00:49
◼
►
to the previous episode.
00:00:51
◼
►
And when we sat down, when I sat down with my wife to do an episode, it's kind of outside
00:00:56
◼
►
of the norm, outside of something that I'm sort of used to doing, something that I've
00:00:58
◼
►
I've done before.
00:00:59
◼
►
And so there was certainly a little bit of apprehension about putting that out there.
00:01:02
◼
►
And I was just blown away and really humbled and grateful for the response to that and
00:01:07
◼
►
the kind words and the support that I got out of that.
00:01:11
◼
►
And I think generally the discussion that sort of spurned has also been really interesting
00:01:16
◼
►
and productive, I think.
00:01:17
◼
►
I'm not going to get too much into it here.
00:01:20
◼
►
I talked more about it on the prompt this week, which I'll have a link in the show notes
00:01:23
◼
►
too if you want to hear some more of my thoughts about the current state of App Store pricing.
00:01:27
◼
►
But it's something that kind of thing that we can always talk about because there's two
00:01:31
◼
►
parts or two or three parts to what we do and one of them is always going to be the
00:01:35
◼
►
business side of it.
00:01:36
◼
►
The thing that enables us to have the time available to make interesting and amazing
00:01:41
◼
►
products hopefully.
00:01:42
◼
►
So that's just an interesting discussion and I just wanted to thank you all for that.
00:01:47
◼
►
So now I'm going to get into the actual topic for today's show.
00:01:51
◼
►
And actually there will really be two topics.
00:01:55
◼
►
main topic and another mini topic.
00:01:58
◼
►
The first I'm going to talk about is the,
00:02:01
◼
►
so this is related to something I did this last week,
00:02:04
◼
►
where I launched a very simple app called Pedometer++.
00:02:07
◼
►
And Pedometer++ is basically just
00:02:10
◼
►
an application that takes advantage of a new API
00:02:13
◼
►
that Apple opened up in iOS 7, and more specifically
00:02:16
◼
►
on the iPhone 5S with iOS 7.
00:02:19
◼
►
And so that lets you basically query the data
00:02:22
◼
►
query the data coming out of the M7 chip,
00:02:25
◼
►
which is a new motion tracking thing,
00:02:27
◼
►
very low power, battery, et cetera,
00:02:28
◼
►
that runs on your iPhone now.
00:02:30
◼
►
And it basically lets you-- the API
00:02:34
◼
►
is structured such that it's very easy to use it
00:02:36
◼
►
as a pedometer, because it tells you
00:02:38
◼
►
how many steps a user takes between any given interval
00:02:42
◼
►
And so when I saw that, and I think--
00:02:44
◼
►
I'm not entirely sure on this, but I
00:02:46
◼
►
think it was actually introduced in the GM, which
00:02:50
◼
►
and that happens very often, that I don't think necessarily
00:02:53
◼
►
all these APIs were there.
00:02:54
◼
►
And at least in the final state they were,
00:02:56
◼
►
before they announced the iPhone 5S
00:02:58
◼
►
and then launched iOS 7 with it.
00:03:01
◼
►
And so they created a kind of interesting situation.
00:03:03
◼
►
These have happened a couple of times
00:03:05
◼
►
where the App Store as it is, in some ways you could call it
00:03:12
◼
►
It's not necessarily full in the sense
00:03:14
◼
►
that there's a limited space.
00:03:17
◼
►
But there's very few new concepts.
00:03:18
◼
►
There's very few things, times you'll
00:03:20
◼
►
created now that is new and interesting in a way that is new in concept.
00:03:25
◼
►
It can be new in implementation, new in aesthetic, new in a lot of different ways, but it's
00:03:29
◼
►
very rarely new in concept.
00:03:31
◼
►
That's just the nature of there being a million apps in the store and there only being so
00:03:34
◼
►
many things that you can reasonably do with a phone that's four inches that you can hold
00:03:40
◼
►
in your hand.
00:03:41
◼
►
But every now and then there'll be these things that come out, that show, allow something
00:03:47
◼
►
totally new that you really couldn't do before.
00:03:49
◼
►
There were pedometers before, but most of them worked either in a way that would crush
00:03:53
◼
►
your battery by following the accelerometer all the time, or would do kind of inference-related
00:03:59
◼
►
things where they'd use significant location changes to roughly identify how much you were
00:04:06
◼
►
moving around.
00:04:07
◼
►
This was a new thing.
00:04:09
◼
►
And whenever I see one of these, and this is just something I want to sort of put out
00:04:12
◼
►
there and just as a developer, you kind of want to always be thinking about is, I think
00:04:16
◼
►
I think these are always the interesting things, always
00:04:18
◼
►
the interesting market opportunities, by far more
00:04:21
◼
►
than necessarily re-implementing an application that's
00:04:23
◼
►
been done many times, building another weather app,
00:04:25
◼
►
building an RSS reader, building a calculator, whatever it is.
00:04:29
◼
►
There's something that is-- honestly,
00:04:31
◼
►
I want to say at this point it's building another podcast
00:04:33
◼
►
client, it seems.
00:04:35
◼
►
The reality is when you have these new opportunities
00:04:37
◼
►
to build something completely new, completely from scratch,
00:04:40
◼
►
I usually think it's a pretty good idea
00:04:42
◼
►
to try and explore it at least, to understand
00:04:45
◼
►
exactly what's going on there.
00:04:46
◼
►
And the reason I do that is because suddenly you're
00:04:49
◼
►
competing in a very much more narrow market.
00:04:51
◼
►
And these types of opportunities often lend themselves
00:04:54
◼
►
to experimentation.
00:04:55
◼
►
And that's really what the goddess
00:04:56
◼
►
of what I want to talk about now is experimentation
00:04:59
◼
►
is the really important, I think,
00:05:01
◼
►
part of being a successful developer,
00:05:02
◼
►
that you want to be able to try new technologies,
00:05:04
◼
►
both from a learning and experience perspective,
00:05:07
◼
►
as well as giving yourself a bit of permission to try new things.
00:05:10
◼
►
And so with pedometer, this app I put out,
00:05:13
◼
►
very simple, surprisingly well received. I was very sort of, had no high expectations
00:05:20
◼
►
for it necessarily, and I put it out there and it seemed very well received. And it's
00:05:24
◼
►
kind of a funny story with it though, because I put it out and I had originally planned
00:05:28
◼
►
to have it have iAds in it so that you'd, you know, it's a free app and I wanted,
00:05:32
◼
►
it needed to make it free mostly because it only works on an iPhone 5S. And if you use
00:05:37
◼
►
it on any other phone, you'll have no data and it'll be kind of useless. And so what
00:05:41
◼
►
what I wanted to avoid is the situation where someone buys it and turns out doesn't work
00:05:44
◼
►
on their phone and they're grumpy. So I was like, it has to be free. So okay, so what
00:05:48
◼
►
do I do? So I'll put an ad in it. Okay, that's fine. I've done ads before, they pay pretty
00:05:51
◼
►
well. Life is good. I submitted it to the App Store, it gets approved. I launch it,
00:05:56
◼
►
everything's great. I realized though that ads aren't showing in the production version.
00:06:01
◼
►
They were showing in my sandboxed like ad hoc bills, but they weren't showing in the
00:06:05
◼
►
production version. And so it's surprising like, is I had Phil really low? What's going
00:06:09
◼
►
on there. Turns out, I had actually not enabled iAd in the application in iTunes Connect,
00:06:16
◼
►
which is just something that just, you know, I forgot in my checklist as I was going through
00:06:20
◼
►
the submission process and, you know, something that I've done hundreds of times, I just had
00:06:24
◼
►
forgotten that you had to enable it specifically for a version rather than otherwise. And turns
00:06:30
◼
►
out you can't change that setting unless you submit a new binary and that binary gets updated.
00:06:35
◼
►
So this first version, which has been pretty widely received, it's kind of had a fair bit
00:06:40
◼
►
of traffic and interest, suddenly has no monetization in it whatsoever.
00:06:45
◼
►
And it's a bit unfortunate, a bit funny.
00:06:48
◼
►
You know, it's one of these things like, "Whoops, what am I going to do?"
00:06:51
◼
►
Do I just kind of like rush out an update to turn on ads?
00:06:55
◼
►
But that seems a little lame.
00:06:58
◼
►
And also I've created this expectation in some ways that people who are using the app
00:07:01
◼
►
aren't, you know, if I do an update to introduce ads now, it'll kind of feel a little negative.
00:07:07
◼
►
Because ads aren't a great thing. I generally, I make a lot of money from them for some of
00:07:11
◼
►
my apps, but I don't really like ads as a mechanism. And so then this is where I started
00:07:17
◼
►
to think and thought it'd be kind of an interesting experiment. And I love experimenting. This
00:07:21
◼
►
is, I think, if anything, I think both sort of patience and persistence as a concept and
00:07:27
◼
►
a willingness to experiment are probably the two biggest things you need to have to be
00:07:31
◼
►
a successful independent, and to have
00:07:32
◼
►
that tolerance for failure.
00:07:35
◼
►
But so I ended up doing-- and this
00:07:37
◼
►
is an update that's currently in review in the store right now.
00:07:40
◼
►
I kind of had a broader vision for the application.
00:07:43
◼
►
And I submitted it intentionally minimalistic,
00:07:45
◼
►
because I had no idea if Apple would even approve it.
00:07:48
◼
►
Whenever Apple does this, the risk is there's this new API.
00:07:50
◼
►
There's this new thing going on.
00:07:52
◼
►
But it's hard to know what they're actually
00:07:53
◼
►
intending that to do.
00:07:55
◼
►
And so I submitted it and actually had a lot of back
00:07:57
◼
►
and forth with Apple in App Review
00:07:59
◼
►
before this actually got approved.
00:08:01
◼
►
And so I kind of feel a bit justified in making sure
00:08:04
◼
►
that version one was very simple, very stripped down
00:08:08
◼
►
and streamlined in that way.
00:08:12
◼
►
But so version 1.1 that's currently in review,
00:08:16
◼
►
or maybe even available once you listen to this,
00:08:19
◼
►
is something that's kind of interesting,
00:08:21
◼
►
because I expanded the functionality a lot,
00:08:22
◼
►
made it a bit more richly featured.
00:08:24
◼
►
And then I had to decide what I wanted
00:08:26
◼
►
to do about monetization.
00:08:28
◼
►
And I'm trying something new here.
00:08:29
◼
►
And I look forward to, over the next couple of weeks,
00:08:31
◼
►
being able to report back on exactly how it works.
00:08:34
◼
►
But what I've done-- and we'll even see if it gets approved.
00:08:37
◼
►
But I figured I'd talk about it here
00:08:39
◼
►
to kind of have the beginning, middle, and end of the story
00:08:44
◼
►
I have in the new version a section
00:08:46
◼
►
of the app in the Settings area.
00:08:48
◼
►
But I have a tip jar.
00:08:50
◼
►
And essentially, the application has a little message saying,
00:08:55
◼
►
hey, essentially, the support and development of Podometer
00:08:58
◼
►
or plus plus is made possible by your support.
00:09:03
◼
►
If you find it useful, if you find it motivating,
00:09:06
◼
►
if you find it healthy, or if you find it helps your health,
00:09:08
◼
►
please consider supporting the app by giving a tip below.
00:09:11
◼
►
And I have a couple of tiers and a couple of different options
00:09:15
◼
►
for an app purchase where you can just give a tip.
00:09:18
◼
►
And I intentionally chose this model
00:09:21
◼
►
to see how that would play out,
00:09:24
◼
►
to see how customers broadly would react
00:09:24
◼
►
kind of a more direct appeal to them, rather than charging for features, rather than charging
00:09:29
◼
►
for functionality in the way that you typically do with a free in-app purchase.
00:09:34
◼
►
I was like, what if I just ask for people to support me directly and just trust that if it's useful,
00:09:39
◼
►
that enough people will put a few coins in the tip jar,
00:09:44
◼
►
that it will be worthwhile and interesting. And if it doesn't, well, I can always go back on that and try other options.
00:09:50
◼
►
Or it could be successful.
00:09:51
◼
►
And I think that could be a very interesting and a very
00:09:54
◼
►
compelling option for developers who
00:09:55
◼
►
want to make an application that's free and fully featured
00:10:00
◼
►
and accessible to as broad an audience as possible,
00:10:02
◼
►
but then still also be able to make money from it.
00:10:04
◼
►
So we'll see.
00:10:05
◼
►
It's in a slightly gray area in terms of in-app purchase
00:10:08
◼
►
and the review guidelines.
00:10:10
◼
►
But I think it's OK to charge this kind of thing,
00:10:12
◼
►
because it's not a donation to a nonprofit or some
00:10:14
◼
►
of the other places where they get into app review rules.
00:10:19
◼
►
But it will be interesting to see.
00:10:21
◼
►
And it will be interesting to report back there.
00:10:23
◼
►
But anyway, I just wanted to talk
00:10:25
◼
►
through that story of pedometer, because it's
00:10:27
◼
►
an interesting experiment that I've been doing.
00:10:30
◼
►
And I just encourage a lot of people to just try things.
00:10:33
◼
►
So I always think it's funny when-- since a lot of people
00:10:36
◼
►
think it's funny, I have the number of apps that I have.
00:10:38
◼
►
And that's a kind of a running joke that I have too many.
00:10:41
◼
►
But I think the reality is having so many applications,
00:10:46
◼
►
having tried so many things, has allowed me to make enough mistakes
00:10:50
◼
►
that I can hopefully make a lot of better choices.
00:10:53
◼
►
And then another thing, the last thing related to that
00:10:56
◼
►
that I wanted to loop back on, this is a topic I've mentioned
00:10:58
◼
►
a couple of times in the development perspective,
00:11:00
◼
►
is about developer health and about developer well-being.
00:11:03
◼
►
And it's something that is kind of funny developing a pedometer app,
00:11:07
◼
►
which is an application about health and fitness and activity.
00:11:09
◼
►
when in a typical day when I'm developing on it,
00:11:11
◼
►
and I'm working on it, and I'm testing it,
00:11:13
◼
►
and it's running on my phone, my actual phone.
00:11:16
◼
►
And I look at it, and I'm barely cracking 2,000 steps in a day.
00:11:21
◼
►
And then I start looking at research,
00:11:22
◼
►
and trying to understand pedometers,
00:11:24
◼
►
and understanding what a good activity is, and so on.
00:11:26
◼
►
And I see just how bad that is, just how kind of awful
00:11:30
◼
►
it is that I really am not out and about.
00:11:32
◼
►
I'm really not up and active.
00:11:34
◼
►
And it's been kind of sobering in some ways to look at that.
00:11:38
◼
►
And it's kind of a nice thing where I finally have an app that actually is motivating for
00:11:42
◼
►
myself in that way, where I look at it and actually I did a thing where it badges the
00:11:48
◼
►
app icon with your step total, which is funny because after a certain size it'll actually
00:11:53
◼
►
truncate and have little ellipses in the middle.
00:11:55
◼
►
But the reality is once you're above that number of count, you're probably good to go.
00:11:59
◼
►
But what I find is when I put it on my phone and I badge it there, there's this guilt that
00:12:04
◼
►
that I have during the day that is actually slowly, I think,
00:12:08
◼
►
pushing me into slightly better habits.
00:12:09
◼
►
I think that's just an encouraging thing
00:12:11
◼
►
that I wanted to mention is if you're a developer
00:12:13
◼
►
and you spend your entire life sitting down,
00:12:15
◼
►
looking in front of a computer, that is probably not
00:12:17
◼
►
a healthy thing.
00:12:18
◼
►
I've talked on episodes previously about ergonomics
00:12:20
◼
►
and those types of health things.
00:12:22
◼
►
But just one thing I wanted to mention here
00:12:25
◼
►
that was made so apparent to me when
00:12:27
◼
►
I'm starting to work on a pedometer is just
00:12:29
◼
►
how inactive, how sedentary my lifestyle typically
00:12:33
◼
►
is if I don't proactively make choices to the contrary.
00:12:37
◼
►
All right, so that's it for today's show.
00:12:38
◼
►
As always, if you have questions, comments, concerns, or complaints, go on Twitter @_DavidSmith,
00:12:43
◼
►
email me, david@divangprospective.com.
00:12:46
◼
►
Next week, and actually the next two weeks, my schedule might be a little bit off and
00:12:49
◼
►
a little bit atypical just because I'm going to be traveling.
00:12:53
◼
►
First is the Singleton symposium in Montreal, so if you're there, definitely reach out to
00:12:58
◼
►
me, let me know.
00:12:59
◼
►
I'd love to meet you.
00:13:00
◼
►
hear from somebody who's been listening to the show and I'll be traveling a bit
00:13:03
◼
►
more with other stuff later on in October. So my schedule will be a little
00:13:07
◼
►
bit off. I'll still try and get one episode a week exactly what that looks
00:13:10
◼
►
like. I don't know and maybe I'll skip a week we'll see but hopefully I'll try
00:13:14
◼
►
keep with it. Alright I hope you have a great weekend. Talk to you later. Bye.