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