#228: New Platforms
00:00:00
◼
►
So if you're anything like me and an app developer right now, you probably
00:00:03
◼
►
are finding yourself in deep in the throes of iPhone Duo preparations and trying
00:00:09
◼
►
to get ready for the new phone variant, iPhone that is coming out.
00:00:15
◼
►
Uh on October 23rd.
00:00:17
◼
►
And so that is an exciting time.
00:00:19
◼
►
It's a busy time.
00:00:20
◼
►
It is a complicated time.
00:00:22
◼
►
Because this is one of many new platforms, new form factors, new surfaces that
00:00:28
◼
►
I have built my apps for and had to adapt my apps to.
00:00:34
◼
►
And as a result, I have a lot of experience about sort of thinking
00:00:38
◼
►
through the question of is it a good idea?
00:00:40
◼
►
Does it matter?
00:00:41
◼
►
Is it important for me to do?
00:00:44
◼
►
Should I be adapting to this new platform?
00:00:47
◼
►
Because there have been times over the years where that has not worked out
00:00:50
◼
►
There have been times that that hasn't worked out so well.
00:00:53
◼
►
And so I want to talk through both a little bit of a history
00:00:56
◼
►
uh maybe like a little bit of a grade rubric of some of the
00:00:59
◼
►
platforms that have launched over the years, whether they were worked out, whether they
00:01:03
◼
►
didn't, and then sort of some advice maybe or thoughts about why I am
00:01:08
◼
►
excited to be on the duo iPhone Duo, but not necessarily just for like
00:01:12
◼
►
the obvious reasons.
00:01:13
◼
►
So with that in mind, let's get started.
00:01:15
◼
►
So the first platform that I want to talk through um is sort of
00:01:19
◼
►
like I'm just sort of thinking roughly starting from my arrival into iOS development,
00:01:25
◼
►
which is with the iPhone.
00:01:26
◼
►
So in 2008, the new iPhone.
00:01:28
◼
►
And obviously that platform, if I was gonna give it a letter grade, it's
00:01:32
◼
►
Like it is the best platform that anyone has ever developed on in some
00:01:37
◼
►
ways because it was this tremendously unusual thing where it was both successful in
00:01:43
◼
►
the market, it was successful for developers, like everyone did really well.
00:01:47
◼
►
And I mean 18 years on, I'm still making a living from my apps
00:01:52
◼
►
and I'm ma you know, doing podcasts talking about what it is to be
00:01:57
◼
►
uh an app developer.
00:01:58
◼
►
So clearly A plus plus.
00:02:00
◼
►
Uh maybe the next one would be the iPad a few years later, where
00:02:04
◼
►
that is complicated, I would say, as a platform for developers.
00:02:08
◼
►
Like it was successful in its own way, but it tended to be if
00:02:12
◼
►
you had a niche or a more specific
00:02:16
◼
►
Product that worked really well there.
00:02:18
◼
►
Um, it did well.
00:02:19
◼
►
I would say broadly over the course of my career, I've never found it
00:02:22
◼
►
to be as good of a marketplace to be a place to make apps
00:02:26
◼
►
as something like obviously the iPhone or some of the other things we'll talk
00:02:29
◼
►
about later.
00:02:30
◼
►
So maybe it's like a B minus kind of a platform.
00:02:33
◼
►
If you had a particular use case, maybe it would be really higher, but
00:02:37
◼
►
not particularly.
00:02:38
◼
►
Um, then I think of things like so Game Center was a new thing
00:02:41
◼
►
that came out around the same time as the iPad, but that was a
00:02:44
◼
►
new surface that Apple provided for developers to put our apps on, which is
00:02:50
◼
►
different than like a totally new platform.
00:02:52
◼
►
But I'm thinking through the about these things in the same kind of a
00:02:55
◼
►
way where it's a new place that I have an opportunity and a decision
00:02:59
◼
►
to make of am I going to put my apps there?
00:03:02
◼
►
Am I going to make my app on Game Center?
00:03:06
◼
►
I never made games that didn't but the impression I got, and certainly the
00:03:09
◼
►
history of Game Center, was that it was a thing that never really took
00:03:13
◼
►
That and this is a story that I think we'll hear time and time
00:03:15
◼
►
again as I go through this, is like there's these surfaces that Apple is
00:03:19
◼
►
Developers will try to get onto it and then very quickly thereafter it just
00:03:23
◼
►
kind of simmers off and doesn't really go anywhere.
00:03:26
◼
►
And that's really awkward as a developer.
00:03:28
◼
►
So like in this case I would say like game center is probably a
00:03:31
◼
►
Like it just never seemed to really be meaningfully uh uh impactful.
00:03:35
◼
►
And I maybe that's just because I'm not a game developer, but it just
00:03:38
◼
►
never seemed to really get there.
00:03:40
◼
►
Um maybe the next one is like the Mac App Store that came out
00:03:43
◼
►
um the next year.
00:03:44
◼
►
And that I think is like a definitely like kind of like a B
00:03:47
◼
►
minus where I think it's one of these things where it has been really
00:03:51
◼
►
useful to have a place to safely and securely and straightforwardly distribute Mac software.
00:03:58
◼
►
The unfortunate thing is I think that Apple sort of only allowed, at least
00:04:02
◼
►
initially, very limited types of applications to be there.
00:04:06
◼
►
Typically the things that make an app such a compelling platform were things that
00:04:11
◼
►
would make the Mac App Store less of a good fit.
00:04:13
◼
►
So but it's still I think it's been useful overall.
00:04:16
◼
►
I still get lots of apps from the Mac App Store when I'm not
00:04:18
◼
►
getting something that can't uh you know only exist outside of it.
00:04:22
◼
►
So I would say maybe B minus kind of a thing.
00:04:25
◼
►
Uh next platform was Newsstand, which was where Apple wanted to turn the iPhone
00:04:29
◼
►
into a magazine store, uh D tier maybe.
00:04:33
◼
►
It like lasted very briefly and then just didn't seem to really like that.
00:04:38
◼
►
That was not a platform, uh like a publishing platform in that way.
00:04:41
◼
►
That I think if people want to get read content on their phone, they
00:04:45
◼
►
will just use apps.
00:04:46
◼
►
They don't need a new like surface to um sort of put that on.
00:04:50
◼
►
Um the next one that comes to mind was extensions.
00:04:53
◼
►
So a a in the period uh sort of thereafter, we started to get
00:04:57
◼
►
more and more extensions that Apple would allow us to add.
00:05:00
◼
►
So things like the first ones are like sharing extensions.
00:05:03
◼
►
But there've been a couple of other kind of these more minor places where
00:05:08
◼
►
you can tie in your app to a like there was a photo shi
00:05:11
◼
►
photo editing extension and there's a couple of other these kind of you your
00:05:15
◼
►
app can be a appear inside of something else.
00:05:19
◼
►
Um I don't know, these like I feel like th they're very useful, but
00:05:23
◼
►
they're not very impactful.
00:05:25
◼
►
So like Widgetsmith has a sharing extension and pedometer plus plus as a sharing
00:05:30
◼
►
extension for some of the things for inputting roots.
00:05:33
◼
►
Like that's great, but th they're not actually impactful to the business, definitely.
00:05:38
◼
►
They're very useful but not very impactful.
00:05:40
◼
►
So maybe I'd give them like a B.
00:05:42
◼
►
Um then we have the Apple Watch.
00:05:45
◼
►
It's my favorite platform to develop on.
00:05:47
◼
►
I love making Apple Watch apps.
00:05:48
◼
►
Like I absolutely adore it.
00:05:50
◼
►
It's tricky because there's just not a lot of demand for apps on the
00:05:53
◼
►
Apple Watch.
00:05:54
◼
►
I think, especially in the early years, it was an absurd platform to work
00:05:59
◼
►
on where we had WatchKit 1, which was this wild hybrid iPhone projecting the
00:06:04
◼
►
UI onto the phone thing.
00:06:06
◼
►
Then we had WatchKit 2, which was this kind of terrible UI framework that
00:06:10
◼
►
only ever existed for the Apple Watch.
00:06:12
◼
►
Things got a lot better once we had Swift UI.
00:06:15
◼
►
And so I may say maybe like Swift UI, Apple Watch development is like
00:06:20
◼
►
And anything that has Watch Kit in the name was like a D, um,
00:06:24
◼
►
Uh then we have the Apple TV.
00:06:26
◼
►
The future of you know the future of TV is apps.
00:06:29
◼
►
Uh the future of T T V TV was not apps.
00:06:31
◼
►
Um Apple TV was a platform that if you are Netflix, Prime Video, Apple
00:06:37
◼
►
TV itself, these kinds of uh products, absolutely very useful, wonderful.
00:06:41
◼
►
If you're not, it is not there.
00:06:43
◼
►
So it's like a tier if you're Netflix and probably F tier for everyone
00:06:47
◼
►
I don't think it went anywhere.
00:06:49
◼
►
Um the future of TV was definitely not apps.
00:06:51
◼
►
Uh we have things like iMessage apps.
00:06:53
◼
►
There was an entire app store inside of the iMessage app.
00:06:56
◼
►
That was uh a thing.
00:06:57
◼
►
I made a couple of those.
00:06:59
◼
►
As far as I know, they were essentially never used.
00:07:01
◼
►
I don't think anyone did use them.
00:07:03
◼
►
They were just a really confusing UI.
00:07:05
◼
►
Similarly with stickers and sticker packs, I don't think they went anywhere, like D
00:07:09
◼
►
tier, maybe F tier.
00:07:10
◼
►
Uh Siri intense.
00:07:12
◼
►
This was a the thing not app intense, which we have now, but there
00:07:15
◼
►
was a thing calling tense, which is these crazy things where you would configure
00:07:20
◼
►
you would configure your intent like in this custom file format, which would be
00:07:25
◼
►
then then generated into this other format that would then be used inside the
00:07:30
◼
►
Uh D tier did not work um and was replaced by something better, but
00:07:35
◼
►
has its own problems, so we'll get to those in a minute.
00:07:37
◼
►
Um next one I think about is widgets.
00:07:39
◼
►
So widgets came in like twenty twenty.
00:07:42
◼
►
Uh I gotta give it an A tier.
00:07:44
◼
►
Um, uh not just because I made Widgetsmith and that like widgets changed my
00:07:48
◼
►
life, but I think widgets were this great combination of usefulness uh and also
00:07:55
◼
►
like it gave apps an opportunity to be in more places, to be in
00:08:00
◼
►
relevant places, um, in a way that was didn't ask that much of the
00:08:05
◼
►
customers, didn't ask them to really go and do the something complicated.
00:08:10
◼
►
It was this very sort of natural evolution of a lot of experiences they
00:08:14
◼
►
were used to.
00:08:15
◼
►
I think they were really well.
00:08:16
◼
►
Obviously I'm slightly biased because I make an app that is all about widgets,
00:08:19
◼
►
but I think absolutely A tier, like super awesome thing there.
00:08:22
◼
►
Um App Clips came out around the same time.
00:08:25
◼
►
Uh I every now and then I go to a restaurant that has an
00:08:30
◼
►
Um I don't think they took off.
00:08:32
◼
►
I don't think the benefit of a really small app that was limited in
00:08:36
◼
►
so many ways ended up being that helpful.
00:08:39
◼
►
So like C tier, D tier.
00:08:42
◼
►
Um App Intense, this is interesting.
00:08:44
◼
►
Like I think App Intense have great promise, but has also been like this
00:08:50
◼
►
hammer in search of a nail, I guess.
00:08:53
◼
►
Like it it feels like Apple is kept keeps trying to steer App Intense
00:08:58
◼
►
into whatever it was.
00:08:59
◼
►
And like now it's going into Siri AI is the thing that App Intense
00:09:02
◼
►
is now driving.
00:09:03
◼
►
It used to be more into shortcuts um and things there.
00:09:06
◼
►
It do it always feels like it's this really weird compromise between
00:09:12
◼
►
like exporting functionality in a structured way, but also then having that be useful,
00:09:18
◼
►
having that be discoverable, having that be maintainable and predictable.
00:09:22
◼
►
Like there's a lot of app intent code that I've written, which I look
00:09:25
◼
►
at and it's like, I don't I hope it I think it works.
00:09:28
◼
►
I don't really know.
00:09:29
◼
►
Like 'cause the way in which it gets called can often be ab s
00:09:32
◼
►
sort of abstract or obtuse.
00:09:33
◼
►
And you have weird things where like app intents are used in places that
00:09:37
◼
►
it doesn't feel like they should be.
00:09:38
◼
►
Like some of the things on the Apple Watch where the app intent mechanism
00:09:42
◼
►
for like controlling what goes onto the action button um feels really opaque and
00:09:47
◼
►
kind of confusing and isn't easy for me to control and manage as a
00:09:52
◼
►
user, which is very frustrat or as a developer and a user, uh to
00:09:55
◼
►
be very f I find v be very frustrating.
00:09:58
◼
►
Um the next sort of platform we got was live activities in the dynamic
00:10:02
◼
►
Similar to widgets, but probably like one tier down.
00:10:04
◼
►
This is like a like a I'd give it maybe a B.
00:10:07
◼
►
It's useful and there are certain places where it's really helpful but I think
00:10:11
◼
►
it also is a new a technology that showcases how limited the abilities of
00:10:17
◼
►
And so it doesn't really work um that very well.
00:10:20
◼
►
But you know, it's a nice B.
00:10:21
◼
►
Um Apple Vision Pro is the next one?
00:10:23
◼
►
So that was oh boy, the Vision Pro.
00:10:26
◼
►
Like it is a s as a developer platform, certainly the way it turned
00:10:30
◼
►
out, it's like an F.
00:10:32
◼
►
It didn't go anywhere, as far as I can tell.
00:10:34
◼
►
I don't think there's been a viable sustainable, rich ecosystem on the Apple Vision
00:10:41
◼
►
Partly because the Vision Pro itself I just don't think was very successful and
00:10:44
◼
►
didn't go very well.
00:10:45
◼
►
The actual developers experience for that I think actually was really enjoyable.
00:10:49
◼
►
I enjoyed making Vision Pro apps.
00:10:51
◼
►
Unfortunately, they just no one um wanted to use them.
00:10:54
◼
►
And so that just kind of sort of died off.
00:10:56
◼
►
And that kind of brings us to today, to the iPhone Duo.
00:11:00
◼
►
And it's an interesting platform because I'm separating it from the iPhone, you know,
00:11:05
◼
►
from the A plus plus uh device and platform that we started with.
00:11:11
◼
►
Because it's weird.
00:11:12
◼
►
You unfold it and it's sort of like an iPad and you fold it
00:11:16
◼
►
up and it's like a short and squat iPhone and you can keep shapeshifting
00:11:21
◼
►
it into all these different poses and layouts and things.
00:11:24
◼
►
And that is asking a lot of developers to be able to support it.
00:11:29
◼
►
To do a good job on the duo requires a lot of work, effort,
00:11:33
◼
►
and struggle that has been, you know, that has been my life for the
00:11:36
◼
►
last couple of weeks is that struggle of like, ooh, how do I get
00:11:39
◼
►
this to be really good?
00:11:41
◼
►
And then is it worth it?
00:11:42
◼
►
Like this is the classic question.
00:11:44
◼
►
Like obviously I can't grade the duo yet.
00:11:46
◼
►
It's very new.
00:11:47
◼
►
Well it's very new.
00:11:48
◼
►
It doesn't even exist yet.
00:11:49
◼
►
It has to it's not coming out for a couple of weeks.
00:11:51
◼
►
Um, but it's making me doing a lot of thinking about like why am
00:11:54
◼
►
I excited about it?
00:11:55
◼
►
Why am I there on day one?
00:11:57
◼
►
And I think like looking back, obviously over the list of whatever, I almost
00:12:02
◼
►
twenty platforms or experiences that I've considered a developing for or have developed for.
00:12:07
◼
►
I have a lot of these kind of experiences where I've been burned, you
00:12:10
◼
►
know, in the sense of like I spent time and energy building something that
00:12:13
◼
►
ultimately turned out not to be a particularly good use of my time.
00:12:16
◼
►
And I kinda wish that I had that time back.
00:12:19
◼
►
Um but I've also I very rarely have built something, maybe with the exception
00:12:23
◼
►
of iMessage apps, where I truly like regret going down that road.
00:12:27
◼
►
Um and usually I think it's because as if There's a few rules that
00:12:30
◼
►
I tend to think through of like trying to build.
00:12:33
◼
►
Why why am I doing this?
00:12:34
◼
►
Is it a good idea?
00:12:36
◼
►
And I think the main rule that I've set a settled on is that
00:12:38
◼
►
like I need to have a compelling reason to be there, that I'm not
00:12:43
◼
►
trying to be there just to be there.
00:12:44
◼
►
I need to have a problem that I am legitimately feeling like is solved
00:12:50
◼
►
in a new and compelling way being on this platform that I couldn't do
00:12:54
◼
►
somewhere else.
00:12:56
◼
►
And I think if I have one of those, whether or not that platform
00:12:59
◼
►
ends up being viable financially from a business perspective, does it make sense to
00:13:03
◼
►
be there long term, etc.?
00:13:05
◼
►
If I'm solving a real problem, then I'm also learning a real lesson.
00:13:09
◼
►
I'm learning how to do something that is useful and that is actually the
00:13:15
◼
►
thing that will be useful going forward for sure.
00:13:17
◼
►
Whether or not it's a business and a viable and those kinds of things,
00:13:21
◼
►
if I've learned something from it, it was worthwhile because I'm a better developer.
00:13:26
◼
►
And so in order to do that, you have to solve a real problem.
00:13:29
◼
►
It has to be making you think about a problem in a new and
00:13:33
◼
►
interesting and compelling way.
00:13:34
◼
►
And so like for example with Parameter Plus Plus, one of the things that
00:13:38
◼
►
I think has always been challenging for our Pedometer Plus Plus is its route
00:13:42
◼
►
planner, where you're choosing uh how the route you want to go as you
00:13:46
◼
►
follow a hike or a walk or a run.
00:13:48
◼
►
And that is so much better on a duo if you imagine you can
00:13:51
◼
►
unfold your phone into a big map that is a reasonably large size that
00:13:58
◼
►
I can not have you know a third of the screen taken up by
00:14:01
◼
►
Chrome and controls.
00:14:02
◼
►
Like a lot of the screen is just the map and you can browse
00:14:04
◼
►
around and use it and like solving that problem has been a really interesting
00:14:08
◼
►
and compelling thing I've enjoyed doing.
00:14:11
◼
►
I think that has been useful.
00:14:12
◼
►
And though that's the filter that I'm applying as I go through my other
00:14:16
◼
►
apps or think of new ideas or things that would be compelling on the
00:14:20
◼
►
It's what is a problem that I can't solve on a regular phone in
00:14:24
◼
►
the same way, in as as compelling of a way that would have required
00:14:27
◼
►
something that would have been either not possible or infeasible or impractical?
00:14:31
◼
►
So that's the filter that I use.
00:14:33
◼
►
And I think I'd encourage anyone to go through with a similar kind of
00:14:37
◼
►
Some of the bad reasons to be jumping on a bandwagon, to be like
00:14:42
◼
►
it's a new platform, it's something new, and this is what has burned me
00:14:44
◼
►
many times in the past, is doing it for the sort of possibility of
00:14:49
◼
►
press attention
00:14:51
◼
►
reputation, like wanting to do it because you think someone else will think it's
00:14:56
◼
►
cool that you did it.
00:14:58
◼
►
I've done that many times.
00:14:59
◼
►
I am very guilty of that.
00:15:01
◼
►
And I will say it is broadly not very good.
00:15:04
◼
►
It is not a very healthy, compelling way to do it.
00:15:07
◼
►
It is more l is sometimes useful, like in the sense of I have
00:15:12
◼
►
a bit of a reputation of being on all the platforms on day one,
00:15:15
◼
►
and that it's maybe a good thing but hopefully I'm doing it not to
00:15:19
◼
►
get that reputation, if that makes sense, but doing it because it is a
00:15:23
◼
►
compelling and useful thing that exists and is justifiable in its own right.
00:15:29
◼
►
So don't do it for that reason.
00:15:31
◼
►
Do it because you have a problem you want to solve.
00:15:33
◼
►
I will also say it is totally fine to wait a little bit.
00:15:37
◼
►
It is perfectly reasonable if you don't feel like you have for sure a
00:15:40
◼
►
recompelling reason to ship something to wait a little bit, to give it a
00:15:46
◼
►
little bit of time, to give it a little sense of like, ooh, let's
00:15:50
◼
►
l give this one uh a couple of weeks, a couple of months.
00:15:53
◼
►
If and you're obviously creating the risk that you might be missing out on
00:15:57
◼
►
Absolutely true.
00:15:59
◼
►
But you're also saving yourself a lot of suffering and potentially challenging time.
00:16:03
◼
►
And if you you may also have the benefit of waiting a little bit
00:16:07
◼
►
and then as other people who have had those problems that they were trying
00:16:10
◼
►
to solve put their products out there, you may get ideas.
00:16:13
◼
►
You may be inspired in a way that is productive and not speculative.
00:16:18
◼
►
So that's another thing there.
00:16:20
◼
►
But also, maybe the last slide of this, and this is a good place
00:16:22
◼
►
maybe to finish, is new platforms are just fun, are just exciting are just
00:16:28
◼
►
fun things to do and to work with.
00:16:31
◼
►
And it is entirely fine to work on one because you think it's fun,
00:16:36
◼
►
to because you think it's interesting.
00:16:38
◼
►
Not because it's gonna make your indie app business viable or successful or productive,
00:16:43
◼
►
but just because it is fun and interesting and that's cool too.
00:16:47
◼
►
That's been some of these platforms.
00:16:49
◼
►
That was the early days of the Apple Watch where the watch kit thing
00:16:52
◼
►
was terrible.
00:16:53
◼
►
Like one of the worst programming develop like in experiences of my life was
00:16:56
◼
►
that first early watch kit um development.
00:16:59
◼
►
But I enjoyed it because it was fun.
00:17:01
◼
►
I loved the Apple Watch as a platform and that was that was the
00:17:05
◼
►
only way I got to do it.
00:17:06
◼
►
I suffered through it and enjoyed it.
00:17:08
◼
►
So that's a great reason to do it.
00:17:10
◼
►
And so like I'm excited for the duo for kind of both of these
00:17:14
◼
►
I think I have some interesting problems to solve, but also I'm just kind
00:17:17
◼
►
of enjoying it.
00:17:18
◼
►
Like it's an interesting, kind of like a it's like a puzzle.
00:17:22
◼
►
Like the way the duo works is a bit puzzleish where you have to
00:17:27
◼
►
think about your app in all these different poses and layouts and how does
00:17:32
◼
►
it work as you switch from the outer screen to the inner screen.
00:17:36
◼
►
And that's an interesting problem.
00:17:37
◼
►
Like I just have enjoyed thinking about that, having fun with that.
00:17:41
◼
►
And so hopefully it pays off.
00:17:43
◼
►
Hopefully it'll be interesting.
00:17:44
◼
►
Hopefully, I will be solving some interesting problems on the duo.
00:17:47
◼
►
Um, but even if I don't I've learned some lessons along the way, and
00:17:51
◼
►
that I think that is the compelling and enduring reason to do that.
00:17:55
◼
►
So, you know, when I look back on all of the failed or challenging
00:17:58
◼
►
or low sort of low letter grade platforms in the past, most of the
00:18:03
◼
►
time, as long as I was solving something interesting and learning something along the
00:18:06
◼
►
way, I'm I'm happy to do that and I expect that will be my
00:18:09
◼
►
experience with the duo as well.