Revisiting Third-Party APIs with Christian Selig - podcast episode cover

Revisiting Third-Party APIs with Christian Selig

Aug 28, 202344 minEp. 160
--:--
--:--
Listen in podcast apps:

Episode description

A lot has changed since the last time Christian Selig was on the show. We talk Apollo post-morten, Third-Party APIs and of course Pixel Pals!

Guest

Related Episodes

Related Links 

Social Media

Email
[email protected]
GitHub - @brightdigit

Twitter
BrightDigit - @brightdigit

Leo - @leogdion

LinkedIn
BrightDigit

Leo

Instagram - @brightdigit
Patreon - empowerappshow

Credits

Music from https://filmmusic.io
"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)

  • (00:00) - Origin Story
  • (05:07) - What Happened
  • (17:03) - Apollo Post-Mortem
  • (19:41) - Third-Party APIs Revisited
  • (23:40) - ChatGPT
  • (27:24) - On Yearly Subscriptions
  • (31:16) - Lost Features of Apollo
  • (34:08) - Pixel Pals and SwiftUI
Thanks to our monthly supporters
  • Maurizio Bracchitta
  • Edward Sanchez
  • Satoshi Mitsumori
  • Steven Lipton
★ Support this podcast on Patreon ★

Transcript

Leo Dion (host): Welcome to another episode and EmpowerApps. I'm your host Leo Dion today. I'm joined once again by Christian. See like Christian. Thank you so much for coming on. Christian Selig (guest): Pleasure is all mine. It's great to be back. Leo Dion (host): This is your second appearance. So I'm glad to have you back. We met in April back in Chicago and now having you on quite a bit has changed since then, which we'll get into.

But I'll let you go ahead and I'll let you go ahead and introduce yourself for people who don't know. Christian Selig (guest): Yeah, for sure. So I'm an iOS developer from Eastern Canada. I've been doing the whole indie developer thing, for almost about 10 years now ever since I graduated university. I started working on kind of a Reddit app to scratch my own itch called Apollo. And I worked on that up until a few months ago. And that's my, claim to fame.

And on the side of that, I also work on a little virtual pets app called Pixel Pals, which has been a lot of fun to work on as well. Leo Dion (host): And we'll definitely be talking about Pixel Pals in a bit, but I think today, like the Apollo story has been in the press. We're like, what, three, two months after everything blew over. Christian Selig (guest): Something like that, Leo Dion (host): Yeah, I wanted to first just talk about, where'd you get the idea?

Let's look, cause I've had you on, we've talked about this, but just for folks who don't know, where did you get the idea of Apollo? And yeah, the origin story of it. Christian Selig (guest): Yeah, yeah I wish I had a super original story for kind of how I come up with apps, but most of the time it's just scratching my own itch, like I'm just there's something out there that's missing that I'm looking for. Maybe it's something I, like I use a lot, like I used Reddit a lot and you just want to.

When you're using something a lot, you just want to have the best experience possible doing it. And as a developer, you have the means to create that reality. So for me, a lot of the stuff I create is just I'm not completely 100% pleased with everything that's out there, even if they're like 99% great. And it's just that little bit extra. I want to maybe contribute a little bit to Yeah, and that's where I get started, and that was how Apollo started.

There's some phenomenal reddit apps out at the time, like there's Alien Blue is still in its heyday. And yeah, don't get me wrong, these apps are phenomenal, but it's just one of those things where software is so personal, and everyone has a different approach to how they use things. And for me, I wanted something just a little different and something that felt a little bit more like if Apple themselves built it.

Like a really iOS first and foremost Reddit experience, and that was what I set out to build with Apollo, and thankfully that resonated with quite a few people throughout, like the initial posts on Reddit where I was previewing it, and it took on a life of its own and became my full time job for a long time. Leo Dion (host): This in the best way, Apollo is a very addictive app. It was good. It was like, yeah, it was the best.

Did you win a design awards and stuff besides being plugged as a future app for the vision pro? What other design awards did you win? Christian Selig (guest): I don't know if I actually got any award awards. I got a few at least from Apple, I'll say a few nice publications gave me some accolades over the years, which is really nice. And, of course it was always really cool to be in some of the Apple keynotes being mentioned there.

But yeah, no, no actual Apple design award yet, so we'll stay tuned for that. Leo Dion (host): So the other question that I wanted to cover was like, besides. The, what happened this year what was your biggest challenge developing the app? Christian Selig (guest): It's, honestly for me, it's just like designing stuff. Being someone who does the design work and the programming work there's such different disciplines in that.

When you're programming something, there's typically like a finite point. Or you can put a bow on it and ship it out the door when there's, no bugs everything's scrolling well, it's performant everything's acting as it should but when you're deciding things it's much more of a a vague kind of nebulous concept and reconciling those two things, I think still gives me trouble to this day where there's a lot of times where I'll be trying to design something and I just can't quite nail it down.

And in my head, there's like this going to be this point where, it just clicks like almost like a math equation or something in programming where I'm like, okay, that's it. That has to be it. But the reality is that never comes. There's always compromises with design. Like one of the big ones with Apollo that I really struggled with was having the. Some people call it sloppy swiping where you can swipe from like anywhere on the screen to go back and forth.

And that's really comfortable because you got these big ass phones and you're holding them in one hand. You're maybe carrying groceries or a toddler in the other. Being able to grab anywhere on the screen to go back a page, it's really comfortable. But at the same time in doing so you lose the ability to do any like cool gestures on like a specific post because that becomes the back gesture. So it's little stuff like that where I remember sitting with that for a while and being like.

Gosh, how do you reconcile that? And the answer, stuff like that I've learned is you can't. You Best case scenario, you make an educated guess, and if people push back and want the other thing, you just offer it as a setting. And that tends to be the thing that works the best in my experience. But yeah, for me, honestly, it's been, design is always the trickiest thing to nail down. And takes me the longest time, and I don't think that's going away anytime soon.

Leo Dion (host): I definitely want to ask about that later when we talk a bit about your work with SwiftUI. But yeah, because I remember in the last episode, you talked quite a bit about design notebooks and using those and those being a way to To just get your ideas started and but we'll talk about that in a bit. Cause I definitely, I have a few questions about Christian Selig (guest): For sure. Leo Dion (host): All right, so let's just get into it.

For those who don't know, I have been living under a rock. What happened with Apollo and reddit? Christian Selig (guest): Historically, I think the Reddit API was introduced in about 2008. And so you've, you've had this API, which is just a way for services like apps to communicate with Reddit and get like a two way communication street where you can say Hey Reddit, could you give me the post in the subreddit, or the, or the comments on this post, or could you upvote this post?

And it was this, this interface for talking with Reddit. And that's what API stands for, Application Programming Interface. And it was really helpful because for a long time Again, I think most of Reddit's history, they didn't have a first party official Reddit app. So they relied on third party apps.

If you wanted to browse Reddit on your iPhone beyond just the website, they relied on these third party developers building these application experiences for iOS or Android or Windows Phone, what have you, using this API to build these experiences that people loved. Eventually, Reddit came and released their own first party app after buying up one of the... Original third party apps, Alien Blue and it's been smooth sailing since then.

And but the thing is, since it's been a mutually beneficial arrangement where Third party developers are building these Reddit experiences for users maybe if you're not jiving with the first party app, you have this alternate option where you can still keep browsing Reddit, or, historically, if there wasn't even an official app these third party apps filled this really important space there's this mutual the API's free, but it gives both parties some really nice benefits.

And... As Reddit started tightening their bootstraps a little bit, it became clear that they were like, maybe looking to maybe monetize the API a little bit, and they reached out to developers. I want to say, it is a little far removed now, I want to say it was late April that they reached out. They made a post and said we're looking to change the API a little bit.

And then they started calling developers like myself with third party apps later and said, Hey, we're looking to monetize the Reddit API. So insofar as like you guys generate like a fair bit of server traffic and we're not necessarily seeing like the ad revenue from when users use your apps. So we'd like, a slice of that pie and you to pay your fair way. And it was honestly like great.

That's that sounds totally reasonable on paper and it's one of those things where It really had the potential to be awesome for both parties because there's been extra features added on reddit like reddit chat this instant messaging thing and stuff like that where reddit hasn't added that to the api So there was initially a lot of excitement about oh, like maybe if we enter in this more formal paid arrangement with reddit But we'll also get these benefits. So great.

Leo Dion (host): the relationship could be more stable. Christian Selig (guest): Exactly. Yeah, exactly. We both know where both parties stand. But it's like anything, like the proofs in the pudding what is the actual price going to be? That kind of dictates everything. And unfortunately for whatever reason, they announced this big pricing change without having any pricing which was confusing.

But they ultimately said we'll get it in a few weeks and a few weeks went by and then they ended up, I think after two months they finally got the pricing out and it was like, eye wateringly high to the extent that during the discussions over those two months, they were saying stuff like, we don't want to pull a Twitter because Twitter famously killed third party apps a few months earlier and then made the API prices.

Astronomically high to the extent that it just suffocated everybody but Twitter themselves and Reddit was like, no, no, we don't want to do that. We're not going to pull a Twitter, we're not going to pull a Nelon. And then the pricing they came out with was like remarkably similar to Twitter's pricing. So it was one of those things where people were saying, okay, like this is not jiving with any of your previous statements. Like this kind of doesn't make any sense.

This isn't what you were saying. And they also on top of that saying, okay, and you have 30 days from now before you start getting charged for this or start incurring. fees for using the API. So you were hit with this one, two punch of this, like astronomically high price and like to put that to a number, like Apollo's pricing would be 20 million a year. And when the previous year it costs 0. So it was this astronomically high price that they were.

Like saying developers have to pay or we'll turn off your API access and you have 30 days To make it happen And it was just like it quickly it quickly like I think every developer I talked to Since we all were talking Of course over the course of all this we're trying to make it very clear to read it like this is not tenable at All like we don't have Millions tens of millions of dollars at our disposal just to throw at this especially with 30 days

notice and this is just gonna sink us and Yeah, and that's where things deteriorated from there, where it got to the point that I don't think Reddit wanted to listen anymore, and they were adamant, and this is what it's going to be and it fundamentally, I think, just killed the entire third party ecosystem as happened with Twitter as well.

Yeah, and it's weird because funnily enough I also talked to them in the January that stuff started in April, but the January I was also talking to them, and they were, like, very adamant that hey, we have no plans to change the API this year everything's good if anything, it'll be in coming years, and it'll be with positive changes, so it was this very quick turn of events so that they just started like absolutely like hammering through these changes as fast

as humanly possible with little regard for like timelines or, or talking to developers or, or really anything that would indicate forethought and reason.

Leo Dion (host): Do you, and two I'll just mention they basically, try to character assassinate you and make up Christian Selig (guest): Yes, Leo Dion (host): stuff and, yeah it seems to me like go ahead, I'll let you, Christian Selig (guest): No, no, I was just gonna say, yeah, it got weirdly personal at points where it was like like we were having these back and forths on phone calls a lot. So we were like talking and getting to know each other.

And I think there was this initial I just don't think fundamentally they had done their due diligence in planning this change. So I think there was when developers started talking about these numbers, like 20 million a year, like 30 days notice like posting these like factual statements on reddit to contextualize the situation There was like immediately a lot of blowback toward the administration on reddit and I think they were caught off guard.

Just because For some reason they expected us to go over and I think at that point especially some of the upper management the ceo started to take things like personally rather than like taking a step back and viewing it objectively and it got to points where yeah there were there was like discussions where I was saying like Hey, if Apollo's costing you this amount, this nebulous 20 million a year just acquire it like you did with Alien Blue or whatever for 10 million a year.

And they somehow interpreted that as like a hush payment Mafia style or something. And I very quickly squashed that and said, no that's not the intent at all. And they apologized for misunderstanding. And you think that's that. Leo Dion (host): Canadian hush money, yes Christian Selig (guest): yeah, exactly. We're very well known for shaking down billionaire corporations and so I they apologized for misunderstanding and I thought that was that. And then you.

here through like on the moderator calls like you a moderator friend messages you and saying yeah the CEO's going on calls saying you were like blackmailing them for ten million dollars and stuff And you're just like what on earth and like and like thankfully like Canada's a one party consent state for recording phone calls So I was like just and not out of any like nefarious intent, but just Leo Dion (host): No, just record keeping, you wanna, you forget stuff.

No, I get Christian Selig (guest): Yeah, we had probably 10 calls over the course of those like several months. So just being able to go back and be like, okay, so this was what was said, not this, like you just lose track of things. So I was saying like, and I read that and I was like, Oh my gosh did I have a brain aneurysm and I somehow did threaten them? Let me go back and listen to this.

And it was like, no, it was exactly how I remember they apologized for misunderstanding the entire conversation. So it was one of the things where you post that and say Hey, look, they're trying to say some very serious accusations that are just, objectively false based on a recording I have. And I think that was the point where they said Oh, okay. Like now you want to go to war, which is it was also very confusing to me because it was a thing.

If the roles were reversed and the CEO and I said like the CEO was blackmailing me and said I'll allow Apollo to stay alive for a million dollars and I posted that and he had a recording saying like the complete opposite, like I would very much expect him to vindicate himself and show the reality of the situation. Like you have to defend yourself when you're pushing that corner, especially with such like a. a massive character assassination.

So I was confused what they thought like the, what the recourse was. Like I was, it was very peculiar and it felt like a very, like the whole thing felt very unprofessional, quite frankly, for a billion dollar corporation to be engaging in. Leo Dion (host): Assuming they are a billion dollar corporation, right? Christian Selig (guest): Yeah, maybe not in liquid money, but like in terms of valuations, I think they're still at like several billion dollars and, or at least they were at one point.

Leo Dion (host): yeah okay, so I'm just gonna ask what I, what kind of the feeling that I've gotten from the whole story was that A, they never had a plan, and B, the head didn't know the foot didn't know what the head was wanting, and the head, being the CEO doesn't know oh, this is what we need to do for the, Public a public IPO, right? Oh, we got to do this. We got to do that. And they just keep changing their mind.

And who cares about Christian Siegel eggs, Apollo app, even though like people love it and moderators love it, like we'll do whatever it takes. And if he says something that sounds like hush money there we can get them. And then, I feel like they were just like trying to figure out a way to Christian Selig (guest): It was. Yeah, it was very slapped together. Leo Dion (host): but they didn't like, they didn't care. And it was like, yeah.

Christian Selig (guest): all felt very much like somebody woke up one day and saw like an expense like an earnings report and said Oh my God, we're coming way under, we need to like, make up some money here. Who do we squeeze? And then from that conversation they, within two hours, they had to play.

I'm obviously just speculating here, but it felt very much like they were just like, flying by the seat of their pants and coming up with a plan very impromptu because honestly, the amount of times on phone calls where they said something like, Oh, I'm not sure. Let me get back to you. Or to very fundamental questions like things like, oh there's all these APIs, Reddit apps don't have access to, are those on the table? And it would be like, oh, that's a thing? There aren't?

Oh, let me look into it. And it was kind of like, if you're talking about APIs, like, how do you not know that? Or they'd say do you know how big, is compared to the first party app. And I said I don't only, you would know that, like I could theorize. And they said, Oh, we don't know. I was asking you. And it was kind of like, like, why wouldn't you look up that, prior to the call and there was all these things where it was just, it felt very much Oh my god, like I could go on it.

They ended up removing ads. Apollo doesn't have ads, but they ended up blocking third party apps from as far as a guideline goes. You no longer can display ads in your app. Leo Dion (host): Remember that. That was a big deal with Android, folks, Christian Selig (guest): Exactly, because so many of them did that. And then the CEO kind of came out and said Oh, I didn't know that was such a big deal.

And it was like, how did you not do the due diligence to realize that's how so many of the Android ecosystem, like that was how they Leo Dion (host): they made money, Christian Selig (guest): That's how they kept the lights on.

Yeah, it was just, it was bizarre how many things like that, that you were just like, wouldn't that be, And Oh, and the worst thing that almost bothered me the most was that they, their iOS app is like very poorly annotated for like voiceover use from people with like low vision or blindness.

And it took until them realizing that the third party apps were doing a really good job of annotating their apps and making sure like Apollo's has a very large blind community or had a very large blind community using it. And it took them until they like killed all these apps to go, Oh my God, our app doesn't work for blind people. Blind people exist and like the whole blind community was angry at them.

And it was just like these little things where it was like, how did you not talk to a group or kind of formulate a plan here before executing this because it just it felt very 11th hour trying to throw together a homework assignment before the teacher notices you didn't do the homework the night before like It was bizarre. Leo Dion (host): Do they how much of a development staff do they have?

I would assume Christian Selig (guest): think it's I think it's pretty substantial, but it's just like Leo Dion (host): Or they just don't communicate, because Christian Selig (guest): yeah, or it's Leo Dion (host): staff?

Yeah, Christian Selig (guest): I don't know or it's just too many cooks in the kitchen or kind of the message gets lost or what is it but like they certainly have a substantial impressive amount of engineers and like I've met some of them at WWDC like the engineers and the people who work on like the apps and whatnot are like super nice very smart people.

I think it's just one of those things where like upper management just is I think they're just like siloed away and not necessarily like talking to the right people Leo Dion (host): How do we get the public IPO? What do we do about the public IPO? I don't care about anything but the public IPO. Christian Selig (guest): Yeah, that's the impression I got. Leo Dion (host): Yeah would you do it all again? Christian Selig (guest): Oh my gosh. Yeah. In a heartbeat.

Like it was, oh no, it was Like I would do it again tomorrow. Like it was so much fun building that app. Like even today, like the Reddit community is so phenomenal. I don't hold the higher up management and maybe the highest regards, but like the community itself at its core is just, it's a phenomenal community. Very, has a lot of there's no more.

diverse area of the internet in terms of interests where you can go and find a community to talk about, like basketball shoes versus the best ice skates or there's just something for everything. And then the community is so phenomenal there and getting to work alongside them for so many years, building something that I had so much fun building. Oh my God. Yeah. And a heartbeat.

Leo Dion (host): Yeah, and I mean you lived off of it for like at least almost a decade so Christian Selig (guest): yeah, it was, yeah, Pretty much my everything. Leo Dion (host): I think How many years did you get out of it eight? Christian Selig (guest): It was, I think seven were monetized. Like the first two years, it was in like a beta where it was just free for everyone to do. I figured out all the bugs and got more feedback on what was working and what wasn't.

But after about two years, yeah, the initial 1. 0 came out. Yeah, it was, all in all, it was about nine years of like public work on it.

Leo Dion (host): That's a decent run for Christian Selig (guest): Yeah, no, I was, like I was saying I think I said to someone else it's almost hard to be disappointed about this because who gets to build a quite successful app for nine years alongside hundreds of thousands of really awesome supporters who gave incredible feedback and are really passionate about the app, and that's something to be, like, feel very fortunate about, not oh, God, now it's gone it's sad,

of course, but it's holy shit not many people get that opportunity, and I do, that's not lost on me. Leo Dion (host): oh, you know could be worse. You could be having a bill for 20 million dollars in Christian Selig (guest): Exactly. Exactly. So Leo Dion (host): What so Christian Selig (guest): side.

Yeah. Leo Dion (host): One of the questions I got on Macedon was people were wondering about Lemmy what any hope for Apollo for Lemmy and what would be your deciding factor for it or how do you come up with that decision that you have, Christian Selig (guest): that's fair. It's a tricky decision for sure. It's one of those things where I think at this stage I'm good and now that I've been like removed from it for a month, I'm excited to maybe try out a few different things.

I like that Apollo went out on top. And Frankensteining it together for something else isn't something I'm super excited to do at the moment. And I think it's in the same way that Alien Blue kind of maybe passed the torch to other apps. I think maybe it's like Generation 3 now where I'm curious to see what other developers do with them. LEMME apps and whatnot and how the community grows and all these kind of open, federated communities do.

Because I think it's like a really exciting time on the internet to be an internet user and have all these services popping up that are offering such a thing. Leo Dion (host): I want to ask this cause the last episode we talked about third party APIs. What's like going into any new app at this point?

What's your opinion of using anybody's third party API, and how would you be able to be like, judging whether, yeah, this is stable, or no, these people are gonna screw me, or oh, it's federated I don't have to worry about anything, like, how do you make those decisions? Christian Selig (guest): That's a great question.

I think at this stage, I'm like a little burnt, so I think I'm almost overly cautious, so I might not be the best person to ask that, because I feel a little cagey, but Leo Dion (host): no, no, Christian Selig (guest): one of those things where it's like, if, if it's clear that both parties benefit. I think like very much I thought that was the impression that, that Reddit understood.

And I think it was unfortunately lost on them that this was something that really benefited like you, especially power users to have. And so there was this kind of relationship where it's a give and take, and both parties are benefiting and the APIs exists for beneficial reasons. And I think building for services like that I think are a relatively safe bet, at least for a foreseeable future until maybe something changes as it did with Apollo.

But even if you can have nine years of good times building for a really awesome community and building something fun go for it. But for me, if I was to build something today, I think it would have to be, and it was using an API in such a core capacity as the core of the app, I think it would have to be something that was federated in some capacity. So that there wouldn't be, one central power that could just ruin everything for everybody.

But if it, if, but if it was like a side thing, like if I wanted to have I don't know, YouTube thumbnails like Apollo used the YouTube API to show thumbnails for YouTube videos when people post them. That feels pretty safe to use because if that ceases to exist you just lose a thumbnail. So stuff like that, I'm less worried about but stuff that's at the core of the app. Yeah. I think I'd be a little cagey about it at this stage, just because I am so recently burnt.

Leo Dion (host): I think like something federated that's going to be open no matter what. Since the Elon apocalypse, we've seen a variety of like social media apps out there, none of them. And that's probably wasn't the case 10 years ago. None of them have third party APIs.

And so like that, that definitely to me, like anything that's of social media app is pretty much even if they did offer a third party API, I Christian Selig (guest): Oh, Leo Dion (host): Rely on it at this point because they want the ownership of the whole experience ads and everything and tracking and all that stuff. So I Christian Selig (guest): yeah, 100%.

Leo Dion (host): that, Christian Selig (guest): The internet was much more innocent and young and exciting in a way that like it was people were excited to build and reddit Especially was a very like and to this day is like it's a very like techie nerdy user base and I think that played a lot to their Having an api was that they were tinkerers themselves and they liked offering Leo Dion (host): yeah. I remember you mentioned that in the last episode.

Christian Selig (guest): that yeah, Leo Dion (host): yeah. It's just much more of a techie crowd. So they were like more comfortable with that. Yeah. And if there's more of like the developer social media thing that I could see, maybe that having an API, Christian Selig (guest): yeah, but i'd be pretty careful Leo Dion (host): yeah. But the other thing is what you'll see companies do well now, a, they offer the social media app like this, like threads is not have a web app iPhone.

So they like go whole hog and that's what they focus their development on. But then the other thing is like, unless it's something that you can, it's an API that you can somehow no longer need and do it yourself. I don't know what that means exactly, but let's say you have some API that does. transcription and you rely on a third party API. Eventually you could just be like, screw it, I could just use machine learning locally and just do it Christian Selig (guest): Or a different provider.

Leo Dion (host): yeah, that's always a possibility as well when it comes to a third party API. Christian Selig (guest): Oh, for sure. I think you just have to it would be sad to live in an age of the internet where nobody relies on anyone else or talks to anyone else just because everyone's so afraid of each other. So I think there's, it's understandable to have some sort of skepticism, but it's good that's the beauty of the internet.

Everything talks to each other and I think relying on that to a certain extent is totally fair. Just make your choices calculated. Leo Dion (host): Yes. Yes. Put. I wanted to ask you this. What do you think of chat GPT Christian Selig (guest): Honestly, I like, it's such a it feels seeing the Wright Leo Dion (host): or a open Christian Selig (guest): and then Yeah. Yeah. And then being like, what do you think of airplanes like, it, it's such a, it's so young that I almost don't.

Have a fully formed thought about what it means or what it can do. I will say some of the stuff it can do and some of the stuff like mid journey can do is just, is mind boggling and fundamentally really helpful. Like the other day I was like trying to do something where I was like the app store was returning like country codes and I was like, Oh, it'd be really nice to have that as just like the country flags emoji.

And I was like, started going down the list and just like manually converting them. And I looked and there was like 150 or something and I was like, surely like chat, GPD can just do this. And yeah, sure. No, but just. Three seconds later, it had the entire like Swift dictionary mapped and stuff like that. I was like that's really cool. And I don't feel like that's threatening me as a developer in the same way, like a nail gun didn't threaten like a carpenter who used a hammer typically.

Like it's I'm like, I it's a really weird thing for me to like, Speculate on because I think it's really cool. It can potentially be really scary. I don't think I'm as quite as oh my God, like I have six months left of programming before my job's replaced as like waving the flag like some people are. But I 100% do see the fear and how powerful they're getting and how that can be scary.

So it's definitely going to be an interesting few years in terms of where stuff like that and deep fakes and mid journey and just all this AI stuff is going because it really feels three years ago, this was like not a topic we were having. And now suddenly it's all anyone is talking about. Leo Dion (host): I think it's definitely a good replacement for a spreadsheet.

Like I would have done the country code stuff in a spreadsheet, but like any like advanced code, I usually run into a brick wall or like podcast titles. Honestly, I've used that a few times here and they Christian Selig (guest): Oh yeah. Leo Dion (host): are very formulaic after a while. Christian Selig (guest): And it's, yeah, it's just those formulaic ones that I think that especially that there's almost like a lot of repetitiveness with it.

I think that's where I'm really excited to have it as a tool. Because one of the dumb things I did in Apollo was I had separatists, for whatever reason, when you create them, you're stuck with the capitalization you stick with. Created the separate ask Reddit and you capitalize the a and the R. So it looked pretty good. Bob's your uncle. If you were dumb like me and just wrote Apollo app and all lowercase that's how it displays in the app and you can never update that.

So one of the things that drove me crazy with Apollo was you'd be scrolling through the feed and you'd see this, like everything lowercase. And sometimes I was having trouble, like maybe I'm just dumb, but knowing like where each word was. So it's I started the painstaking process of I just had a P list where I was like, okay, ask Reddit, like all lowercase maps too. And so whenever it saw a subreddit in the app, it would do a find and replace for the properly human capitalized version.

And gosh, I probably did this six years ago and it was like literally thousands of subreddits that I just did like a hundred a night for a month. And it was honestly fun. It was just watching TV and just slowly going through it. And I didn't mind it too much, but I went like the other, maybe like a year ago, I went on chat GPT and just pasted like a hundred of the raw ones in, and it just absolutely. Every single word capitalized properly.

Like even ones that like, I had to go to the subreddit, just I can't think of an example off the top of my head, but ones that like, maybe it's ask T O and you're like, you don't know if that's like T O is in Toronto. So both should be capitalized or it's ask to something like all these things that I had to go to the subreddit to get the context for, or it wasn't immediately clear to me. And I had to guess it just, it knew the context of, and it just capitalized it perfectly.

And that was it was like, Holy crap, like this stuff would be so handy. Leo Dion (host): Yeah, it's like the busy work stuff. Christian Selig (guest): Yeah, like that would have saved me like, yeah, like 12 plus hours of work and it probably would have done it in like under a minute. And it, yeah, boggles the mind. Leo Dion (host): Any thoughts on subscriptions? Because that was a big thing. It was like how we were getting screwed.

Because you have annual subscriptions that you still have to Like people could ask for refunds, you want to explain the issue with it? Christian Selig (guest): Yeah. Yeah. So basically the gist of it is if say January you subscribe to Some magazine for a year. And you say okay, I want their subscriptions for, I want a magazine a month for a year. I mean you pay for that year upfront. It's 10 bucks. And then say March comes along and the magazine says, Oh, we've gone bankrupt.

We don't exist anymore. I guess in the real world, in that context, you probably just lose your money. In the iOS world, Apple is a really nice middleman. And I don't mean that sarcastically. They're nice in that they're very good at protecting consumers. And they say, okay, this app went away, but it can no longer provide the remaining say, nine months of service it promised you. When you paid that 10 so you have nine months left. So we'll give you, nine over 12 is, 75%.

So we'll give you 75%, like whatever was remaining of that 10 back because they were unable to fulfill that. So if you have, say, so that's 7 and 50 cents. If you have say 10, 000 subscribers, like that suddenly. 75 grand or say a hundred grand that you were paid all in January all at once. And then suddenly you're getting a bill for that. Hey, Apple, give us that 75 grand back.

Which is like devastating as like an indie developer, because it's not like you went in all, you went to the casino and everything or spent it, but like you, you have like ongoing costs that maybe you put that toward and, or you put it in savings or what have you. And then suddenly it's all being clawed back like this money that you thought you had and that can be like very devastating.

And Apollo had that issue where it was like literally that where there's a lot of people who maybe a few months before everything went down paid for a year up front. And then Apollo was suddenly unable to give that because Reddit was effectively shutting down the API. Apollo through Apple would have had to refund any the prorated amount remaining on your subscription. And that was where Apple was awesome. Like really nice to work with.

They were Hey, what we're going to do is we're going to work with you. And you can add like an option in your app where a user can say Hey I'm a really nice person. I don't need that refund. I feel I got my money's worth with Apollo. You know what? Don't worry about it. So if they had that seven dollars and fifty cents left, they'd just say, call it a wash. Don't worry about it.

And that was a really nice option because every single one of those person who did that was basically money I didn't have to pay back. So yeah, so I guess that's the explanation. It was it was one of those things where it was costly, but it was one of those things where it's also Not much you can do either way Leo Dion (host): Did you, Christian Selig (guest): hard to escape. Leo Dion (host): how did people handle did most people handle that pretty well?

Christian Selig (guest): Yeah. Oh, yeah people are very generous with them With yeah, like I was very happy with how people acted Leo Dion (host): It seems do you think there's a better solution that Apple could implement when it comes to subscriptions for that? Did you talk to them?

Because I, we all know like the Christian Selig (guest): I did Leo Dion (host): votes and stuff had run into the same issues Christian Selig (guest): Yeah, and honestly they were phenomenal too I was talking to like Craig and Paul and they gave me like a lot of advice and even shared code with how they handled it on like the kind of systematic side They were phenomenal help Apple was like phenomenal help.

I had like calls with them lots of emails back and forth how to do things and they were, very kind and apologetic that not like it was their fault, but they're like sympathetic, would be the word. And and yeah, and they were phenomenal. And in terms of anything they could do differently, honestly, not really. Like it's, that's just how the system works. If the developer wants to offer a yearly subscription they have to be able to follow through with that.

Yeah. And if they can't, that's like where Apple stays comes in as the middleman of the platform. And where kind of being the. The middleman between developers and the user, that's like a big benefit for users that they can be protected in that capacity. And yeah, outside of so yeah, no, I don't think there's really anything Apple can do, nor would I. Really want them to like it was just an unfortunate situation for everybody.

I suppose. Leo Dion (host): What were some of the features you wished you got in before the end of Apollo?

Christian Selig (guest): Got so many I Guess three three I can think of off the top of my head was the iPad app It still had a decent amount to go but I was so happy with how that was coming It had this cool like I teased the picture on Twitter But it was basically this cool multi pane layout that took a lot more advantage of the screen real estate the iPad had to offer And I was really excited to get that out and it felt very much kind of like

if you remember Twitter for iPad way back in 2011, that multi pane, like very gestural UI I was really excited to, to get people to play with that and a lot of work went into that. So it was, and I learned a lot, so it's not all for loss, but it was I was sad to see that not make it out. I had a, kind of like a gallery feature where you could view a subreddit more picturely, for lack of a better term. So if it was very media heavy.

Leo Dion (host): An Instagram, Christian Selig (guest): yeah, yeah, exactly. So it would be like... Yeah, so you could go in and just blow the subreddit out and just view all the thumbnails and whatnot and dive into them and that was a really nice way to view some like picture heavy or video heavy subreddits.

And the other thing like that I put a lot of work and I still might do a blog post on sometime because it was a lot of trial and error was getting like a cloud syncing system working where if you read one post. On your iPhone, like it would sync that you read that post to your iPad or certain like preferences like what theme you have enabled. Because that was one of those things that was like, it's, I had so many users be like, why don't you just enable that? It must be so easy.

And it's it is so difficult to get Just so many, so many things that can go wrong with cloud syncing. Leo Dion (host): Especially multiple devices.

Yeah. Christian Selig (guest): And that was one that I had a a solid amount of work done and would have been really cool to see make it out the door, but it also would have been a really stressful one, just to make sure I didn't do something colossally wrong, so maybe I'm glad I didn't have to deal with the stress of that, but Leo Dion (host): you're back in Ruby, right?

If I'm Christian Selig (guest): No, actually it might have been at one point, but it's mostly Go now and yeah I liked Go because it was pretty similar to Swift in a And it was very fast. It was compiled, which was nice. And by the end of it, I wasn't writing any of the Go myself. I had someone who used Apollo reached out to me on Twitter and was like, his name's Andre, and he was super nice.

And we ended up working together probably like the last year and a half, and he ended up like doing all the server stuff, and it got so much further and faster. And that was the other great thing about Go, is that it's... I'm sure like Ruby, but there is, there was, there's no shortage of people who are really good at it. I think Andre was a cut above even a normal good person. But it was, Leo Dion (host): but his expertise was go. Christian Selig (guest): yeah, exactly.

He was, I, when I met him, he was working on Amazon at Amazon and someone like the backend stuff. So he was like a super talented guy and still is, and we still work together on stuff. But it was one of those things where it was just so nice to have I'm more of an iOS developer. I'm not like the backend stuff was me feeling around in the dark and having somebody who would come in and. Handle that who actually knew what they were doing. It was just like, ah, so nice.

So much Leo Dion (host): Yeah, especially as a designer like you don't want to have to deal with Database maintenance and Christian Selig (guest): Yeah. Leo Dion (host): All right fun stuff. What are you working on now? Christian Selig (guest): So the main thing I'm working on now is I've been doing a lot of work on pixel pals for iOS 17, because there's a lot of good.

goodies for iOS 17 around like a lot of the new widget stuff that I'm really excited to play around with because it feels like something that's almost born for PixelPals and having some fun there.

Outside Leo Dion (host): were saying something about like interactive widgets being a Christian Selig (guest): Yeah, yeah, so it's one of those things where that's something I would have loved to have had like the PixelPals 1.0 launch is being able to interact with them in some capacity when they're like in the widget state or in the And the fact that you can do that now on iOS 17 and it's really powerful is I've, I don't have all of it implemented, but there's just

so many like fun little ideas for little stuff that I'm really looking forward to building and playing around with. So yeah, that's I'm. Like, in a, it's terrible to say, but in a way it's almost nice that everything happened with Apollo because I get to put so much effort into this other thing. Which is, a good way to, to for me to look at it on the positive side, Leo Dion (host): green app is always easier and more fun when it first starts off Christian Selig (guest): Exactly yeah.

Leo Dion (host): for 10 years I'm Christian Selig (guest): Yeah, the code base has a lot less technical debt in some areas, too, which is nice. It's, like, all Swift UI it's all very modern. Leo Dion (host): I wanted to, so going back to what you had talked about earlier about design and notebooks and things like that. So you've obviously, I think when you first started off, I would assume you did Objective C and UIKit Christian Selig (guest): Yeah.

Leo Dion (host): the first versions and now you're doing, especially with widgets, you have to do Swift UI Swift UI and design. How do you feel as comfortable? Are you like. You do feel more restrained or you're just like, screw it. I'm just going to put this in a UIViewRepresentable and do it that way or Christian Selig (guest): of those. That's a good question. I think I do find myself more limited in SwiftUI just because there are limitations versus UIKit.

But I don't think every year it gets less and less and it's to the point now where I don't think it's anything egregious and I don't feel like overly limited. There's just a few areas where once in a while where I will just be like for me the way I have PixelFile set up is, it's all SwiftUI, but the the life cycle is still the old school AppDelegate and everything, so I still have, it's all view controllers. Leo Dion (host): Oh, yeah.

Yeah. Christian Selig (guest): I do need to do something in UIKit, it's easy enough to just be like, screw it, I'll just do this screen in UIKit, it's not the end of the world. So I have that nice flexibility, so I don't feel too limited, but SwiftUI has been able to do 99% of the things I want to throw at it. With Apollo, it was trickier because so much of it is it's this massive scroll view basically at its core.

And that's, scroll views are one of the areas we're even to this day, SwiftUI is a little rough at in terms of moving you around and knowing where you are and whatnot. And even just being like as performant as UIKit is in terms of scrolling frames per second. So that was an area where I would have loved to have taken Apollo. Maybe given a few more years, I would've been able to. But that was all UI kit and would've stayed that way for probably quite a while.

But all like the little side screens, like if I was doing like a new paywall screen or if I was doing like a screen where you could edit your notifications, like that would all be Swift ui just 'cause it was so much faster and so much easier. But I, but as far as the design perspective goes I still I've graduated from like a notebook that I do mostly like iPad. Like I'll draw on like the notes app or something.

Versus like a pen and paper but then yeah, oh because I just found I didn't like, like there's the tactility of a pencil is beautiful, but just having a big stack of notebooks in the closet was getting annoying not being able to reference them if I was like away for the weekend, Leo Dion (host): Yeah Christian Selig (guest): not being able to analyze be like, Oh, I know I wrote this string somewhere. Like, how do I find that?

Just all the short sides Of manual input Leo Dion (host): So I think last summer like I started doing design notebooks and what I did was I wrote it in a notebook and then I Just took a picture and put it in like I use bare for notes And then I would just attach the picture to a note like yeah. Yeah, but I Christian Selig (guest): I would go through 15 pages though, and I'm just like I, knowing myself, I would Leo Dion (host): click click Christian Selig (guest): to go back and take 15 pictures.

I just, it would not have happened. And it's one of, and it's it's nice being able to like, undo something that you didn't like how it came out or grab it and resize it around. It's, once you get past the initial lack of control, maybe versus a pen and paper. There's so many nice benefits That I'm pretty happy with it. But beyond Leo Dion (host): is what, I was just gonna say, this is what middle school Leo learned early on is why he started doing word processing instead of writing his essays.

It's just save, undo, all that crap you can't do that on paper. Yeah, I get it. Christian Selig (guest): That, no, that's a good way of looking at it. Yeah. You don't see too many people handwriting essays anymore. Which I guess is the same thing.

But yeah, but I, but beyond that, I still I'll go to Figma after that to I still haven't quite got to the point where like I'll go right to SwiftUI to like design design it because I still find them a little faster and able to iterate a little faster through like Figma or something by just like having the preview app open on my iphone and just dragging something There's no compilation.

I can just I don't get attached to anything but I know there's some people who are probably even faster than me just doing it in pure swift ui So it's definitely more of a personal thing than anything, but it's yeah I have that three pronged approach I suppose Leo Dion (host): yeah. Yeah, I think, did Apple do a talk on that this year where they're like designing Swift UI? I Christian Selig (guest): Oh probably Leo Dion (host): Yeah.

Christian Selig (guest): Yeah, it honestly is great for that Leo Dion (host): yeah, yeah, yeah. So let's, anything else from dub dub this year that you really sparked your interest? Christian Selig (guest): Oh, there's probably a ton if I, if I was more diligent and look through the videos. But like for me, so much of the stuff is I am almost like always perpetually one dub dub behind because so much of the stuff is like, Oh, it's great if you're iOS 17 only.

But I'm, I'm Leo Dion (host): You're an indie app developer. You don't even work for a big company and you worry about that. Christian Selig (guest): I normally stick like one version behind. Because like it would be nice, like statistically in my apps, I find like by like October, November, if.

The new iOS came out in September, like you're at least at 50% of the user base on the new version of iOS by then, but I don't know many businesses, small or large, who are just happy to lose half of their customers on that like on that day. So I normally wait until like it reaches about 90% which. It truly, honestly only takes until maybe April. Yeah. For my apps, I find like Apollo was very quick. Pixel Pals is a little more general audience, so it's a little slower.

But and it depends if they dropped any like major iPhones. Like it wouldn't surprise me if iOS 17 is a little slower because they dropped like the iPhone 10 which is like a pretty, beloved phone. So I could see people holding onto that a little. So we'll see. But yeah, like stuff like, like the new Swift data, like I'd love to play around with that, but I just don't see myself going iOS 17 only for the near future. Oh, is it Leo Dion (host): it.

Yeah. Yeah. Every beta it's like a roll of the dice. Let's see which, what they're going to break this time. So Christian Selig (guest): good, okay, okay, so maybe it's good I haven't done that. Leo Dion (host): yeah, sorry. Christian Selig (guest): No, no, no, that's good, that's very valuable information. But, and honestly, that's one of the nice things about waiting like a year, is you get these things ironed out a little bit. Which is really handy.

But yeah, outside of that I'm almost looking more at the iOS 16 stuff in SwiftUI, like the view that fits modifier, which I find like super handy being able to use that full time like some of the new app intent stuff that started on iOS 16, like all that stuff I'm really excited for because now I get to use it like fully but yeah, I'm, and of course like for DubDub, like the Vision OS stuff looks really exciting, but it's one of those things where it's there's no actual date for it yet and the

date, which is like early, early 2024. That's for the U. S. too. So I'm in Canada. So who knows when we'll get it. But I'm excited for that, but it's it's a little bit of a wait and see situation where, we're not like wait and see until it's out for six months and then build something, but it's kind of like, I, I want to see more of their plans for what they're hoping to do and maybe if I can get a developer kit to play around with. But I'm super excited for that.

I did, yeah, yeah, because I have some ideas for it that I'd really love to play around with but it's yeah, I'm just curious to see where that, where they go with it as a platform and with all this development stuff. Yeah. Leo Dion (host): Have you been doing anything with swift package manager? Christian Selig (guest): I've been like, I use that exclusively versus CocoaPods or anything in pixel files.

And I've been looking to do more I forgot who I saw on Twitter doing it, but just like the be more modular with your project in terms of breaking it down into like packages or frameworks or what have you. If anything, just to increase like the the portability of the little modules of the project is nice, but also just SwiftUI preview times sounded really cool I was looking more into that. That's Leo Dion (host): Maybe we'll talk about that offline because I have a few thoughts.

Christian Selig (guest): Oh good. Okay, perfect. Leo Dion (host): What else did you want to talk about? And any big challenge, any what's coming out with pixel pals next or Christian Selig (guest): hopefully for iOS 17 Day 1, I'll have some juicy interactive widgets in some capacity. I'm not 100% sure completely what form that'll take but I think I'll have some really fun stuff for that, for Day 1. Outside of that I have some... Some other kind of stuff swimming around in my head for ideas.

But I'm very one track minded in that I know if I start planning anything else or digging into anything else, like the pixel pal stuff and the short term will suffer. So I'm kind of like, okay, get that out the door. Step Leo Dion (host): and this is why I did not apply for a development kit for Christian Selig (guest): yeah, that's probably a fair point as well. Leo Dion (host): Christian. Thank you so much for coming on. Where can people find you online?

Christian Selig (guest): I'm at Christian Seelig pretty much everywhere. I'm on Macedon threads, Twitter. Yeah, that's, and that's my website too. So it's, it should be pretty easy to Leo Dion (host): forgetting, you're forgetting another social media platform? Or do we not mention that anymore?

Christian Selig (guest): Reddit. Leo Dion (host): Ha ha ha, yeah, Christian Selig (guest): oh I honestly don't really, you like I I'll check my city subreddit once in a while, but no, I Leo Dion (host): Are you serious? Christian Selig (guest): yeah, yeah.

Like in terms of that being a lot or a little, Leo Dion (host): No, no, but that I'm just, I don't even check Reddit anymore since Apollo's been Christian Selig (guest): Oh, it's it's, I don't really check it like compared to what I used to check it. No, not at all.

But there's once in a while There's some stuff going on in my city that I just to poke my head in on but But yeah, i'm definitely that reddit would not be the best place to find me right now to be honest Not in any shade just out of practicality. We'll Leo Dion (host): Yeah. Thank you, Christian. I really appreciate it. It's Christian Selig (guest): Oh, yeah, it's always a pleasure Leo Dion (host): People can find me on Twitter at Leo G Dion. My company is bright digit.

If you're watching this on YouTube and subscribe. I'd really appreciate it. And if you're listening to this on a podcast player review would be helpful. If there's anything you want to talk, come and talk about, have a new product or have a new API you want to dive into. Got a book, a talk, whatever. Let me know. I'd love to have you on. Thank you everybody. And I look forward to talking to you again. Bye.

Transcript source: Provided by creator in RSS feed: download file