Join me on a journey exploring the ups and downs of being a creator. I make things across many mediums including apps, games, and podcasts. Along the way, I take the side roads to motivation and inspiration. Navigating the winding paths that try to stop us from achieving our dreams and goals.
What's up, everybody? Welcome to the p w podcast. I'm your host as always, Peter Witham. You can find me in this podcast at peterwitham.com. I am sitting here.
Peter:It is about lunchtime on Saturday, November 22 with a nice calming cup of caffeine coffee. I know calming. Right? Why is it calming me down? Because from a development perspective and especially from a an engineering perspective that works for a company, you will all know we are in silly season.
Peter:Right? And I'm laughing because I call it silly season, and this is something that I think all, engineers and that go through when anybody who has anything to do with products and, you know, software development in particular and those kind of things suddenly remembers all the things they didn't get done the rest of the year or ask the engineers to do. And so we're like, oh, shit. Here it comes. Right?
Peter:And you get that crazy list of, gotta meet those goals for the end of the year or your self imposed goals for the end of the year, which actually sometimes are even worse, and I'll I'll talk about that in a second. It comes down to trying to get down as much done as you can, plus about a thousand percent more, that that you know you probably won't. But somehow, compromise compromise will happen and you'll get as much done as you can. And so just endure. Right?
Peter:Just hang in there. We got, like, two more months because we all know at the beginning of next year is the stop and reflect kind of point for most folks and most companies. And that gives you a little time to take a breather before, the madness begins again. I know. Never ends.
Peter:Right? But I wanna talk in particular about the self imposed ones because I have had an interesting week. I have sub radar out there, and I have, thank you to those folks that have, subscribed to the subscription. It's only $4.99 per year, by the way. Just just saying.
Peter:And the reports have been coming in, some feedback for new features, which is fantastic. Always love that. Thank you so much for that. And I also love, believe it or not, any issues or bug reports because I want my users to have the best experience they can regardless of whether they're paying for it or using the free version. But, of course, priority goes to those that pay for things as it should, in my opinion.
Peter:And there's been some syncing issues across devices. I'll I'll give you a quick rundown here. Right? It's not really a sales pitch for the app, but, it's an app that lets you track subscriptions. Like I say, it's $4.99 per year, which is less than one prescription per month of just about any service, I think, at this point.
Peter:And it is designed it runs on iOS, but or the Apple platforms, I should say, and uses CloudKit to sync across devices, and of course, has a paywall that you can restore, you know, on multiple devices and so on. And those have been the two key problems I've been focusing on this week. One in particular, the cloud sync using Apple services has always been a bit sketchy. And I really wanted to nail this sucker. And it's been a massive pain in the butt because, thankfully, I have some folks who are willing to and test these things for me and give me feedback for which I'm immensely grateful.
Peter:And I think I finally nailed it. And I think what had happened was when you do something with CloudKit, you have two environments. You have a development environment and a production environment. Right? And, everything was working perfectly in the development environment.
Peter:I couldn't figure out, like, what is going on here? Well, it turns out, for some reason, the schema on development and production were different. I I don't know how that happens because you basically push a button and copy one from one to the other. But anyway, So I recopied you know, I fixed up the schema in production, and that helped a bit. But I also fixed up some of the checking more than anything on the app.
Peter:And what happens is when you you know, it automatically syncs in the background. That's the beauty of CloudKit. I love CloudKit. And and, of course, other services do that too, but it keeps it simple. And when you first install the app on a device so let's say that, for example, you've got it on a laptop and you put some subscriptions in, they go up to cloud sync, everything's fantastic.
Peter:But when you install it on, say, an iPhone or an iPad, it is supposed to sync down that data again. Right? Whole point here being sync, and it wasn't doing it. Well, it wasn't doing it consistently, and I could not figure out why. I was like, why is this driving me nuts?
Peter:Well, I changed a bunch of code, and it now sort of forces the issue. When you first install the app, like, you know, hey. Go get that data, if there is any. If there isn't, don't bother. And it seems to work a lot better now.
Peter:It's always hard with these things because you never know, like, on any given day, as anyone knows recently, major services on the Internet can go down and cause nightmares in your programs that there is nothing you can do about, and it's hard to debug whether it's you or them. So you also got to take some of that into account. Well, it looks like it's okay now. So I've sent the final version off for Apple review while my beta testers sort of beat on it a bit more, and fingers crossed on that. And the other one is the similar thing, but with the paywall.
Peter:Right? So you have, I use RevenueCat. Love RevenueCat. Shout out to RevenueCat. It's the first time I've used it, and it was so simple to set up.
Peter:It's fantastic. They don't pay me to say that. I'm just saying it because I was that impressed. Anyway, so you install on one device. You subscribe to the Pro.
Peter:Right? You get the yearly subscription. And then you go to another device, and the idea is that you pull up that paywall window. You hit restore. Right?
Peter:I'm sure many of you have seen this on your apps. And you hit restore and boom. Okay. We recognize you've got a pro subscription and away you go. Remove the restrictions.
Peter:And this was weird because it was again, it was working for me across multiple devices, and it wasn't working for some other folks. And I couldn't couldn't figure out why. It's driving me nuts. I'm like, this is crazy. And it turned out here's a little insight here.
Peter:When RevenueCat when you use RevenueCat, and someone subscribes, it creates an anonymous account, right, and records that subscription and restores on that device, and everything's beautiful and fine. However, there seems to be occasions when you do it on another device and you install that, it creates a separate anonymous account. So that's that's two different RevenueCat IDs, I think is how it's defined, but to the same Apple account. And so it goes and checks the RevenueCat ID and says, no, this is you don't you don't have a pro subscription. Right?
Peter:Which is weird to me because I felt like it did all this in the background. And and, hey, this is just based on my testing. I'm not saying this is definitively it, but this seemed to be the problem. Because once I implemented a script that made sure, okay. You know, here's the Apple ID, essentially.
Peter:Go get any anonymous accounts you've got in RevenueCat with that Apple ID and and sort of merge them all together. Right? There should only be one. And, did that, And I think it's more reliable. It's always hard to test these things because, you know, you're you're talking about actual subscriptions here and but and especially when it's sort of working for you most of the time and you're like, well, this is weird.
Peter:How do I recreate something that you know, how do you fix what's not broken? Right? I think we've all been there. And you hope that some point you can make it go wrong so that you can then fix it and make it go right. Okay?
Peter:Again, we've all been there. Well, I think I've nailed all these things, and that's why I'm sort of it's been, like, the crazy period for my personal lamps this week. Anyways, some insights there. Maybe if you're having similar problems, it'll give you something to think about. Or if you're thinking about doing anything like this, you know, sort of something to look out for and try and test it if you can.
Peter:So, hopefully, that's the end of my craziness period for my apps between now and the end of the year. That should be the last fix, the last one going out, and I can just relax a little more. Do I really wanna get into a lot learning a a whole bunch of stuff that I've not messed with before. Maybe I'll talk about that in the future. And, also, just chilling, starting to chill into the season.
Peter:Right? I I like to sort of relax back a bit this time of year, maybe play some more games, work on some games, and just take it easier. And, hopefully, that's gonna be the case for you. But, you know, I say that knowing full well that at least here in The US, next week is what they call Black Friday, and things will go nuts again. Right?
Peter:So far, I have resisted the urge this year to take advantage of any Black Friday deals. For me, I I've said this in previous years, Black Friday deals is a good time to go get yourself some training material. Right? Go learn some things and things like that. Indie devs, I'm I'm always torn, and I think that for indie devs, I appreciate that want putting stuff on sale might get you some extra revenues, some extra sales, and so on.
Peter:The other thing is, you know, when things go on sale, it kind of tells you a little bit about their value in the sense of, you know, from a consumer's point of view. Well, if you can put it on sale now, does that mean I'm overpaying the rest of the time? Right? That kind of thing. And I think that for indie devs, you don't wanna give that impression.
Peter:You deserve, in my opinion, indie devs deserve every penny they can get for all the work that they put in. And as you all know, I'm a big supporter of of indie devs and indie dev companies and and so on. So, anyway, that's just that's just my thoughts on it. I don't put my stuff on sale because it's so ridiculously cheap to begin with, to be honest, which okay. Shame on me.
Peter:Maybe I should put the prices up. I don't know. But I'm not gonna do that right now anyway. But that's it, folks. Hang in there.
Peter:We are almost through crazy season for us engineers and developers and product makers, and we can relax. But that's what I got for you this week. Have a good one. Reach out to me if you wanna talk about any of this stuff. Love to talk with folks, and I will speak to you in the next episode.