EP 010 41 min
Dan's glasses (and other things)
Today we discuss user feedback, Dan's glasses, smart glasses, subscription fatigue, Apple's new hardware leasing program, Swift Dictionary key surprises and the challenges of the Apple TV remote feature on iPhone. Plus tips for crafting a great Press Kit for your app.
Rundown 10 segments
- 00:00 Welcome to Episode 10!
- 00:59 Dan's Glasses - and other user feedback
- 06:31 Subscription fatigue and sustainable app pricing
- 12:29 Syncing subscriptions with your own server
- 15:08 Swift Dictionaries - key surprises!
- 28:08 Xcode 27 resizable window support
- 28:56 Apple's new leasing program
- 32:24 Tips for your app's Press Kit + competitor analysis
- 36:22 Drew's Apple TV iPhone Remote app frustrations
- 40:32 Wrap up
Watch
Plays from youtube-nocookie.com. Open on YouTube
Mentioned in this episode
- ObjectIdentifierdeveloper.apple.com
- How to Make an App Press Kitkickstart.tools
- App Store Competitor Analysiskickstart.tools
- Mercury Weather’s Press Kitmercuryweather.app
- Apple Upgrade (leasing)apple.com
Clips from this episode
-
App Store Competitor Analysis and Press Kit Tips
-
Apple TV Remote App Keeps Locking Too Fast
-
Listener Feedback on Scripting, Subscriptions, and Glasses
-
Dan's Bold Glasses and Ray-Ban Meta Privacy Concerns
-
Subscription Fatigue: When to Unsubscribe and Why
Shorts
-
AI Is Making Everything More Expensive
-
Subscription Fatigue: Just Unsubscribe
-
Wrong Intuition Saved Me From a Bug
-
Subscriptions Got Too Greedy
-
Win a Sticker: Solve Drew's Remote Problem
-
Subscriptions Pay for Servers Not Greed
-
Smart Glasses Are a Privacy Problem
-
Are We Too Professional for a Podcast?
TranscriptAuto-generated, so it may contain errors.
Welcome back and good morning, everyone. This is Drew and Dan in the morning. I'm Drew. Good morning. I'm Dan. Hey Dan. How are you? I'm very well. I'm very well. Good morning. Wonderful. Well, thanks, listeners, for joining us again. It's really exciting. We have a very exciting episode for you today. This is the episode where we hit double digits, the big one zero. Milestone. Milestone episodes. Tenth episode. Tenth episode, yes. So interesting side note, my last podcast that I did, we only made it through eight episodes. So ⁓ we've ⁓ we've we've long since past that. Long since past we blew right past that. We're doing we're doing great. What do we have ⁓ for everybody today, Drew? Well we're gonna do a totally different thing today than we've ever done before in recognition of this tenth, you know, tenth anniversary podcast, you could call it the tenth one episode anniversary. Yeah. ⁓ So I don't know. Let's start with ⁓ I don't know. Do you have any news? Let's start with news. We always like news. Go. ⁓ I don't have any news, news, but ⁓ to to ⁓ give away a bit of the ⁓ the the special item we're we're ⁓ talking about feedback, user feedback. ⁓ okay, sure. In a a few podcasts ago, we asked for some listener feedback if you had any you know feedback to to leave a review on the app s on the ⁓ podcast store, whatever whatever platform you're listening to. Or watching on YouTube and we we have gotten a few comments on mostly on YouTube. ⁓ actually I think all on YouTube. ⁓ and one of the comments was about my glasses. ⁓ and now of course Is there only one comment about your glasses, Dan? No, there was there was more than one. There's more than one. But ⁓ but Sam Golub3516, I'm sure that's not their real name. ⁓ says ⁓ this is the most California video ever. Also, Top Guy could use new glasses. So ⁓ he this person was referring to one of the shorts where there's you know, Drew and I, one start. The vertical video, yeah, yeah. Right, right. Top guy could use new glasses. And ⁓ I could only assume that that's me, although maybe you could I don't know, maybe you were on top there. Probably I could use new glasses also, but ⁓ But no, multiple comments about my glasses. Yes, I do have very bold glasses. I like the bold glasses. But the way that this ties back to news is the previous glasses I had, and if you're watching in the video, I'm holding them up now, were the Facebook Meta Ray Ban, Ray Ban Meta ⁓ what were they called? ⁓ yeah, the the Ray Ban meta. Can you put those on for a minute so that ⁓ any viewers who might remember you with your old glasses? They're they're not too dissimilar where you know the the Ray Band Metas are fairly bold. They do have a camera in them and microphones. ⁓ but my my glasses that I've had for over a year now, these are the Oakley ⁓ I think they're called the Enigma Inks. They're also bold frames, but no camera. And ⁓ and I'm glad we and as much as I did like the Facebook the the Ray Ban Metas, for the the the like one touch to take a picture, quick videos when I was running. or out at a place. ⁓ i they they were pretty functional, but pretty meaty on the sides, the the battery out on on the sides. But now recently in the news there's been a lot of ⁓ negative ⁓ you know ⁓ consumer opinion about the fact that they're using these, people are using these, men are using these to take pictures of women or things or places that ⁓ people don't want pictures to be taken. And ⁓ well ⁓ I still have these glasses in possession, but the prescription is out of date and I don't wear them. ⁓ and so I'm I'm glad that I kind of got out of them before it became a ⁓ a social kind of faux pas, if if that's the correct term, ⁓ to be wearing these. Although when I had them, when I was wearing them, people were apprehensive a little bit about are you are you video, you know, are you recording this right now? Like there was an immediate response to that. A lot of people didn't know what they were. ⁓ but the people that did, or once they discovered that there was a camera on them, they were ⁓ apprehensive about about that. Just there's a camera on your face, ⁓ on my face. And is it on or is it off? But so that's that's a bit of my news item is I did have those glasses or I did wear them. ⁓ but I I agree. Like it it is a a privacy concern. ⁓ you know there there is a light that that shows that they were on when you were recording. But I think so there is a recording dot or something. Yeah. Right. And you know rumor is that Apple's working on something like this and and ⁓ you know how if they are and how they're going to address privacy concerns or if they're, you know, these ⁓ what was that, ⁓ the humane pin, right? You know, these always listening, always on devices that ⁓ that that are built that way, not just accidentally tripping Siri or whatever, right? ⁓ these are privacy issues and but ⁓ you know I think Google Glass started that many years ago with their little very brief ⁓ that's a temperature. That didn't a camera though, did it? It was just a display. I thought I had a camera. That was the whole thing why people hated it. People who bought it thought it was cool, but Yeah. Yeah. ⁓ Yeah, so okay, so it's a full paw now, and then probably if Apple does it, it'll suddenly be okay again. Right. Right. It'll have like some kind of pulsing glowing thing or something. I I don't know. It's still a camera attached to your face. And ⁓ you know, I mean anybody that holds up their their phone that looks like they're using it to take a video of you like you're you know like e even though any public space you go into, there could be a myriad of cameras on you all at all times. So it's it's just kind of the world we live in. But still, I don't want to be r responsible for someone's uncomfortableness and and ⁓ yeah. But anyway that's my I I did get feedback from a friend too about something about the glasses also. Not the the video glasses, but these glasses, these sort of chunky looking glasses. And ⁓ I as soon as he said it, I just said, look, it's non negotiable with Dan's glasses, it's not gonna change. We can talk about it. And these are the glasses he's going to be wearing or similar. Those are my glasses. Yeah. So sorry. Or you're welcome So yeah. So ⁓ you're welcome. Glad you love his glasses. They're they'll be around and then there'll be other ones that'll be different and they will also surprise you. Well here's another wow, that glasses typo there. But ⁓ Right. Yeah. Yeah. Anyway, what what else do we have, Drew? ⁓ let's see. ⁓ we have ⁓ Tom on Everything says people are tired of subscriptions. Period. There are too many apps that basically offer very little while trying to charge mega prices. Once upon a time it was a straight price to purchase, but you all got greedy and jumped on the subscription bandwagon and charged more for nothing different. People are fed up. And this was in respond to response to well, it was a segment video with ⁓ Apple subscription win back offer. ⁓ on the unsubscribe screen thing. Right. And ⁓ so what ⁓ what do you think about that one, Dan? I I have a lot of thoughts on that. ⁓ I get it. I I totally get it. I get s subscription fatigue as well. And the short answer is if you don't feel that you're getting the value from the subscription the app is asking for, unsubscribe. it's just that simple. Yeah, I'm ⁓ when I read this, the first thing I thought of was you had just said, I think ⁓ a couple episodes ago, maybe. That there was an app that you were subscribed to and it was not expensive. It was like I think you said nine ninety nine a year, ten dollars a year. Gothing. And you decided to unsubscribe because it had a lot of issues and it didn't seem like they were the the the the authors, vendor, whatever, creator of the app was doing much to make it better. There was no changes since the initial download, no updates, and it had been I'd say at least six months. Yeah, okay. So that's a while. So and I think that is critical. I mean, you know, your normal, your typical software developer is gonna tell you, well, the problem is with the w a one time upfront thing is you put out the app once and people buy it, that's great, but then they expect that you're going to maintain it and update it and have it work with the new OS, and all these things take time and effort and energy, and eventually you have to continue to get paid for that time instead of just having one time paying because there's it's just not enough that way over time. Which is true. ⁓ however, I think Dan, your point, and maybe Tom on everything's point, is kind of it's kind of also true that if they're not if they're not maintaining the app, they're not updating the app, they're not fixing problems or responding to whatever, ⁓ yeah, don't just get out of it, get rid of it, throw it away, unsubscribe, deny. And the other side of that, from the developer side, is as I think a lot of developers understand, is that like you said, like these take effort to make. And then if you're running a server on the back end, those servers aren't free. ⁓ or or if it is free, ⁓ or well however you pay for it is gonna be, you know, do you want ads? Do you want me to collect and sell your data? That's a no to both of those for me anyway. So I would rather pay a subscription fee to keep the app running, keep those servers running that that is required to to for the functionality of the app, than have ads in the app or have my data sold. So, you know, that's why my app, The Midst, is a subscription because it runs on a server. It costs me forty dollars a month. And, you know, I can I can take some of that cost myself, but ⁓ but ultimately it's you know, that's not a sustainable business model. ⁓ and so you have to pay for that infrastructure somehow. And a one time download fee, you know, pay up front app, it it might pay your server, you know, your your part of the user server cost for that month, but Going forward, it it's that's not a sustainable business. So that's why the subscriptions are offered ⁓ you know, they are in in my app anyway. But it's good feedback. I appreciate the honesty. Yeah, very good. ⁓ let's see. Do we have anything else to talk about? The a friend of yours, I this one hit me. ⁓ I liked the comment, although I don't fully understand. You said a friend of yours said over indexed on professionalism. And I'm not quite sure. I think I know what that means, but can you explain that further? You you talked to us. ⁓ yeah. He was well, on one hand he said, you know, he had given some feedback about ⁓ the audio seems good and it seems like you guys are doing a good job not talking over each other too much, or maybe that's just a lot of heavy editing. ⁓ and then he said, Well, but in some ways it almost feels like it's scripted because it seems like you're not talking over each other and you have pretty well thought out ideas on the topics and you know, maybe a little less prepared feeling. Would be great. I guess I think that's what he was trying to go for. Or what he was trying to Our last episode, I did not have any bullet points. I just talked about ⁓ what I talked about. But ⁓ but I have done ⁓ bullet points, but I I don't want to read from a script. That's not interesting to me either. No. Me either. ⁓ I think part part of it is we even if we haven't talked about it much, we do think both of us have pretty strong opinions on most of the things we talk about. So yeah, you're likely to get a even if it's something we haven't talked about, it's probably something we thought about. So you know if you've thought about it enough to have a pretty clear thing to say, I think. Yeah. I I want to I mean I I ramble and I kind of meander and I don't have an answer for everything. I mean in in a another episode or talking about app intense and like ⁓ swift data and like model context, model container. I was like, I don't really know. I like, you know, I don't I don't have the knowledge to define what those mean off the top of my head. So and and I don't really like sounding like I don't completely know what I'm talking about. But ultimately a lot of this stuff, like as I'm working with it, like sure, okay, this means that and that needs this. But you know, months down the line, years down the line, I don't I don't remember. So I like to have an idea of what I'm talking about, be a little prepared. But also no, I don't want to sound scripted. So ⁓ I'll work on that. All right. ⁓ is that it for now? I think do we have anything else on those to ⁓ somebody said your channel is dope. So hey. Dope. All right. Well we appreciate that. Thank you. Yeah. Totally dope. Try to check it Totally dope. And there was another comment about I want to go back ⁓ the Beyond Shift. This was in ⁓ Apple's new subscription retention. ⁓ Winback, same the same one. ⁓ different commenter though. ⁓ The the comment was about mentioning syncing Apple's subscription data with your own server. ⁓ yeah. And then they they said, how did you implement that and what benefits has it provided compared to using only StoreKit? Well, I think the comment was off of a one of a the shorts and ⁓ in the full video. So if you go back to the segment, it said Apple's new submission retention and win back messaging API. So yeah. But a a shorter video though, not a not a full episode. Right. Not the full one. Yeah. So I if you are actually interested in how to do that on your own server, ⁓ well, particularly with vapor, ⁓ I did write about it on my ⁓ my blog ⁓ Certainly Swift on the server. Or it's certainly Swift.com and Certainly Swift.com. Okay. And that's in our episode three Beyond the Button, if you're looking that. Very cool. ⁓ Yeah, so ⁓ wait a minute. Is it on there? Isn't it? No, I must have. Filtering vapor migrate? No. ⁓ Sign in with Apple. You talk about signing with Apple a bunch on there. Maybe we didn't talk about that specifically. ⁓ Did I not talk about that? ⁓ you might need to make a blog post, Dan. ⁓ no. Wait a minute. I thought it was yeah, this is all sign in with Apple, but it's not store kit. ⁓ my apologies. I thought I had talked about it. ⁓ I talked about it in the in the video a little bit, but that's not gonna you know get you implementation details. Okay, well. Yeah. ⁓ duly noted. I guess I need to write up how I did that on the vapor side. Yeah, now that I'm thinking about it, I think you mentioned that ⁓ that it was something you were working on and you were hoping to get I forget what it was. You wanted to get some information and you were really happy with cause because it comes through very timely. As soon as someone hits the unsubscribe button, even if they're still subscribed, you get a some kind of notification or whatever. But ⁓ Yeah, I don't know if you went into more detail, maybe not. So that's all we can follow up on. My mistake. Yeah. My mistake. Okay. ⁓ I'll put that on my to-do list. Very cool. All right. Well, I think that's it for that stuff. ⁓ So yeah, go ahead. Well, I was just gonna say thank you for everybody for all the comments and the feedback. And we do read them and ⁓ and take it into take it to heart. But I'm not changing my glasses. Right. Not not taking that to heart, but like anything else, maybe we'll think about. Yeah. Yes. ⁓ But see, I do a brief topic to talk about, and that was something I ran into recently in Swift programming that completely caught me off guard, and I'm thinking it maybe wouldn't have caught you off guard. ⁓ Yeah. And I think this is something where maybe your intuition would have served you better than mine did. Wow. ⁓ I know, right? What is it? So and that is ⁓ Swift dictionaries. You know, but dictionaries where you have to I do I struggle with dictionaries. You know, you do something, colon, something else. You've got like string, colon, string, and then you have you can look up. It's just a key value lookup thing, you know, and your key could be a string, or it could be ⁓ struct, or it could be an enum or whatever, and so could your value. They can just each be kind of anything. ⁓ and I ran into an issue. ⁓ I'm embarrassed to report that the ⁓ one of the AI's said it have it found a bug by the way, ran into this bug, it could cause you trouble here, blah blah blah. And I was like, no, no, you're stupid AI, dumb. ⁓ but it turned out it was right and I was wrong. But the issue is this. So when you use like if you use a struct as a key for a dictionary, right? Let's say you have a ⁓ an object that's ⁓ a message, like a message a user wrote in your midst app. Okay. Right. ⁓ And if you have a like a dictionary lookup where you want to look up ⁓ I don't know, maybe you've got like the ⁓ the for each message you've got a ⁓ source record or something that you wanna have linked to that. Maybe a maybe a profile image, profile profile image to go with that message or something. Okay. ⁓ maybe you've got those stored in a dictionary. I don't know what you store things in a dictionary for, but pretend you did that. ⁓ you know, a lot of times you might say, you might say, well, okay, I'm gonna use the messages ID. For my dictionary key and then use the messages, you know, and then maybe have it give you the whole message, for example. So if you can look up a message quickly by ID, ⁓ that might be a good use case. ⁓ and that works kind of as you'd expect. Well, I was using in one app, I was using an object, not a struct, but ⁓ so like a class instance as the key. And I use that in a dictionary because in my past history life, what I would expect is that that object, you know, so let's say I have an object that is user profile or whatever, user, yeah, what it's called user, let's say. And I have one of these as the key, and then I'm gonna give, you know, have some other information linked to it. ⁓ I would have expected that because it was an object, like a class object in instance, that it would not care about the values of that object, but rather it would be like the object's identity. You know, like in Swift you can use equals equals to compare, or you can use three equal signs to compare ⁓ two objects, like is this the same object? Not does it have the same value with all of its properties. ⁓ sorry, if you have A and B, right, and you S you say A equals this new user object and then you say, you know, var B equals A or let B equals A. If you compare those with either the double equals or the triple equals, you're gonna get the same answer right away. But then if you change ⁓ like if you had if you had two different ones where you created two objects that were created with all the same parameters. The double equals will say they're equal, and the triple equals will say they're not, because they're actually two different objects, object instances. ⁓ what I would what I had assumed is that the Swift dictionary, when I gave it an object as a key, would go off of that sort of object identity, essentially. Yeah, it does not. It does not. So if ⁓ and but but the behavior is really weird because if you use An object that is a subclass of NS object, it actually works kind of like you'd expect. Meaning it the comparison it gets is essentially based on the object's identity and not the property values. ⁓ but when you just make a regular Swift class and then make objects with that, it does essentially a hash of all the property values and decide and uses that to decide if it's equal. So if you change any of the properties, It now thinks it's a different object, doesn't match. And that completely threw me for a loop because I've used that sort of setup ⁓ well more than once. And, you know, certainly coming from like a C background or C or Objective C, that would be what I would expect a dictionary to do also. So really surprised about that. Apparently with the ⁓ original dictionary or proposal or whatever for Swift, there's ⁓ They also included a thing called object identity, a function that so you can say object identity parentheses foo, where foo is like you know one of your object types. Let's say it's one of your user objects. Okay. ⁓ and use that for your dictionary key. and then that will be, you know, that if you modify the any of the values in foo, it's not going to change the result, you know, the way the the key that is object identity of foo. So a question. What what was the outcome that you were looking for using an entire class as the the key of a dictionary? I had what was it, I'm thinking? ⁓ I think it was in this one app that I work on. A user can select a profile from this sort of laundry list of profiles. And depending on which profile they were using, I needed to return some other object that does communication sort of around that, but specific to that profile. And so that profile was the key in the dictionary? Yeah, the profile was the key in the dictionary. ⁓ object, like in a ⁓ a class object. And ⁓ you know, and that's the one that ⁓ I think it was Claude pointed out, said, ⁓ you know what, this could actually cause you a problem sometimes, or you won't get a hit on your dictionary and ⁓ on your dictionary lookup. And I made a couple little tests in s standalone little Swift file and it's not wrong. It was ⁓ totally correct. ⁓ anyway it really surprised me and I don't know how many other people are being surprised by that. ⁓ and then here's the the the thing I really hate about that ⁓ that object identity thing. So the object identity is basically like using a pointer to the object, you know, like the object's memory location. Object identity, this is user profile is a class. ⁓ so it would be user profile dot id. Is am I am I thinking the right thing? Capital ID? Nope, that's that's identifiable. ⁓ Okay. like a protocol conformance. ⁓ there's a function, or it's actually a type, sorry, called object identity. So capital O for object and then identity. And with its initializer you can give it ⁓ any object. So let's say you had your user profile as a as a class and you did, you know, let foo equals user profile, like to create a new one. So you have this foo. You could say object identity, open parentheses, foo, close parentheses. So you're creating this object identity Identity instance, whatever it is. ⁓ and then that would be ⁓ and that just gives like a hash value essentially that the that the dictionary or whatever can use and it you know it's the same if it's the same object. So you can use that for comparison. ⁓ the downside of using it as a in a dictionary is that it is ⁓ is that it is not it's not a generic where it's you know object identity of user profile. Type or something like that. It's just a it just takes sort of any object and gives you or any and gives you back this sort of ⁓ opaque reference kind of thing. ⁓ what I think it is under the hood is probably just you know the object's memory location, but covered up because so that they could change it to mean something else later if they have to. but so if I put object identity as the type on the left side of my dictionary definition. So I have a dictionary called, you know, user details or something. And on the left side I'd I would have object identity, colon, you know, user details, let's say. ⁓ that's object identity can be an object identity of any object. So now I've lost my type safety. ⁓ wow. Which is kind of stupid. Okay. ⁓ you know obviously the correct answer is to make your class identifiable, use use ID And then have the type B class name.id rather than the whole class name. That's probably the right answer. ⁓ which is probably what we're doing anyway. But is that what you ended up doing? ⁓ I haven't fixed it yet, but that's probably what I'm gonna end up doing. Yeah. ⁓ I was just ⁓ really trying to understand the the situations where where that comes up. and you know, I I I've used it in a couple places just because it was convenient and easy and didn't and I thought it was working, so Yeah. Yeah. Well, that's interesting. I I said at the beginning, I I said, you know, I struggle with dictionaries because I understand the concept. I feel like I understand the concept, but it's not something that I reach for when I'm looking for, you know, to to set up my, you know, whatever code that I'm working on. A dictionary doesn't really come to mind often. I I know that you have it or you know, much like tuples, you know, I don't often reach for those. And then and then you know, like a com like go ahead. I was gonna say a common case common case might be, let's say, the profile picture for a user. in your midst app. Right. ⁓ for so if you have you might have like the user's identifier as the key and then ⁓ either get back nil if it's not in the dictionary, in this case you have to load it. Or if you've already loaded it, you can sort you can store it there and have that be you know sort of a cast version of that. So it doesn't have to load it back from wherever each time. Right. ⁓ you know but it's usually for things like that if you want to have like a bunch of things where you can look up one of them quickly. And ⁓ that's usually when you when you reach for that. Right. Right sort of thing. Yeah, it it's just ⁓ yeah, it's just not something that I generally use. And so that yeah, that's just what brought me to say like I'm not really that comfortable with dictionaries, even though I understand the concept. But I think, you know, you you talked about my intuition. I guess if you had shown me that code, I'd look at it and and to me they're like, Well, you like I'd never think of using a class as the key for a dictionary, but Exactly. That doesn't mean, you know, it that's just Well and that's and that's why I said your intuition would probably give you the right answer. You would never have done that because you wouldn't think about that. But I think of, you know, classes, objects as just like references to blobs of memory essentially. And then so using that as a key seems like I'm just using the reference to the memory and that I don't know, just seemed that's what I would have expected to have happen and I've been doing C or Swift now for a long time and I probably should have known that, but but it came as a surprise to me. Interesting. Interesting. You know, it sounds like a ⁓ a blog post for the blog that you haven't started yet. ⁓ gosh, yeah. 'Cause you need something else to work on. Right. I definitely need a blog. Yeah. If you could just fire that up for me and maybe just draft that first post just to get me started. That'd be great. Yeah. Yeah. Actually, you know what? That that would be ⁓ to write about dictionaries. I mean, i if you want to learn about something, you teach it, right? So to write about dictionary and implementation and and to do a little bit of a deep dive, that would be ⁓ that'd be something that would help me. to learn more about it and and something that would come to mind sooner than ⁓ not at all. Yeah. ⁓ anyway, that's all I've got on that. Do you have any anything else? ⁓ did we talk about any news items yet? I feel like ⁓ we kind of do just the just the Ray Ban meta glasses. ⁓ you know, I'm getting I'm I'm I'm I'm not really in the market for any new hardware, but it's probably because I don't know what I don't know yet. And ⁓ it you know, September is coming up. And ⁓ and we are gonna have new hardware. ⁓ I was messing around with ⁓ the device manager, is that what it's called? X Code, ⁓ right? The new X code twenty seven and and the resizable ⁓ screens and and I'm happy to say that ⁓ the MIT performs pretty well ⁓ in the resizable mode. So I was like, Well, I don't I don't know that really I mean I I I should work with it some more, but I was just kind of playing around with it, flipping through the screens, and everything everything resizes ⁓ pretty well. So ⁓ I I was happy to see that. But ⁓ did you see this news a few y few weeks ago about I feel like some people were pretty wound up about it. It was about Apple introducing like leasing programs or something. ⁓ for their hardware. Right. ⁓ what's your feeling on that? Yeah, the feeling is AI is sucking up all of the all of the da ⁓ RAM and and storage and so everything is getting more expensive. I think that Apple has swallowed enough of the tariff costs, although I think I read that those were supposed to be forgiven. but between tariffs, ⁓ US tariffs and then ⁓ and AI ⁓ increasing the price of everything, ⁓ you know, maybe Apple will will ⁓ absorb some of the costs still, but I think that they're getting ready to to not do that and ⁓ and just pass this along to the consumer. Once again, and and doing the leasing program is a way to do that, because you could increase the price a little bit and maybe people by giving them a payment. Right. Right. But a cheaper payment because you're not paying for the whole thing, right? If you're saying you're buying a fifteen hundred dollar phone and But in two years you're gonna say it's worth five hundred dollars. Well then you're only paying a thousand dollars over two years. So your payment is lower than if you were buying it outright and and and doing payments. So I can see that. I don't know. I don't know if I want to do it for a phone because I don't know, phones are take a lot of damage and I don't know. It just doesn't I'm not sure I like that idea. From a business perspective, you know, my my little independent business here isn't big enough to justify the or to need the tax write off. You know, from a from a business perspective, ⁓ Would this be an appro ⁓ a a a write off, you know, like, well, we're gonna lease a dozen laptops for our employees rather than buy them. Is that a tax incentive for a business? I I mean what if you're I mean, if nothing I mean businesses a lot of times like that because it is is steady, it's even, you know what to expect. You know, you buy the thing and you keep it under warranty or whatever, or under your Apple support or whatever and ⁓ and then you're paying this much a month for this amount of time. I mean, I don't know. I could see it actually ⁓ Buy new l laptops awfully You do pretty often. And I don't really see that changing all that much. Maybe it will. So, you know, probably the downside would be like, well, if I did a twenty four month lease and I wanted to buy a new one in fifteen months, well now what am I now what do I do? I have to I you know I have to look to see what the terms are if I pay it off early or if I can or if I'm just stuck paying the full amount I have to wait anyway, because then that's not his appeal. But so I don't know. The details matter, but they did say they're not charging money for it, so it's at least So if they're not charging money for it, the math is like pretty simple. It's like purchase price minus residual value, like the price it's going to be worth. You mean by mean by worth, I mean the price you can buy it for at the end of the lease. Right. It's subtract and then divide by the number of months is is basically your payment, and then they tax the payment rather than taxing the whole thing up front. Okay. Yep. At least that's how I've always seen leases in the past. Yeah. ⁓ so I don't know. That one's kind of interesting. I I think it could be Good fit some cases. I'm not sure if I would do it or not, but it didn't it didn't jump out at me as as ⁓ an option or an approach that I would make, but yeah, I think it depends on the on the use case, ⁓ the business or individual. ⁓ or if you buy a lot of laptops. Yeah, exactly. ⁓ let's see. Are we out of time, Dan, or do we have any time for anything else? Or you have anything else? Let's go with that. I I have I've been I've been continued to be impressed by ⁓ what Paul Hudson has been putting out with his Kickstart. I'll call it a blog. Okay. And he he's written about about how to ⁓ app store competitor analysis, how to spy on your rivals ethically. And ⁓ I'll I'll be sure and send you these links ⁓ so we can put them in the show notes. ⁓ and it's just like Version histories, paywall flows, ad library. This is just reading from the from the title. ⁓ but is you know, it's just like how to kind of analyze your your competition on the app store and and what you know, how to how to use that to your advantage. Another one is ⁓ and this this appealed to me, how to make an app press kit journalists will actually open. I I know I talked about in the past, I've sent out press kits. Sounds interesting. Yeah. I know. I've I've sent out press kits and I just get nothing back. And and I I've ⁓ I've looked at ⁓ Kai and Mullen. They have the ⁓ the Mercury Weather app. Yep. They have a very nice press kit on their website and I've basically just looked at that and I'm not the designer that they are, but you know, that was sort of my model of how to make a press kit. But but Paul Hudson goes into, you know, much more detail. ⁓ so I I'll send this link as well. I really appreciate what he's doing with this and ⁓ and just like how to get your press kit. in a in a you know detailed format because when you've looked at that did you come across any like any like ⁓ my gosh, I should definitely do this or ⁓ this is way better than what I did because of X or Y or Yeah. Well I mean ⁓ you know a a a ⁓ gosh a a contact form instead of an email address, you know, and and it's just that you know ⁓ he's got a a s a section here. I'm just looking at it right now. Mistakes that go straight to the trash, you know, a contact form instead of an email address. You know. Missing or So the contact form is bad, you're saying? Right, right. Or worse, no contact at all is is what he's saying. So ⁓ you know, don't fill out a contact form. If it's on a website, you know, you're not sending a ⁓ a trove of offering. ⁓ I thought you were talking about your contact information for them to reach out to you. ⁓ it it is. ⁓ Okay. ⁓ if I'm I mean I read this article, but I I haven't ⁓ I haven't completed, I haven't revamped my press kit. The press kit that I have currently is a ⁓ is a s ⁓ a file in my sketch app and it just has like the screenshots and kind of some ⁓ you know some mock ups of of ⁓ of of the app itself. And then I send out an email and the email contains a PDF of the details of the app, but but ⁓ you know, Paul Hudson goes into much more details there. he talks about ⁓ right Writers quote, you know, quote, paraphrase, and compress. ⁓ you know, use one sentence, the elevator pitch, ⁓ and then a paragraph, ⁓ you know, what makes your app different? Well, you know, include the price and then include the full story. You know, what's the problem? What's the what's the user story behind your app? And and you know, just talking about these these bulleted points of of features that that ⁓ make your app appealing and and and interesting and enough information for the the author, the the person doing the reporting ⁓ or hopefully writing the article about your app gives them enough ⁓ of ⁓ of data to go on ⁓ to write from. Anyway, it it it's it's in the it's in the ⁓ okay and I definitely like to look at that then ⁓ yeah. Yeah that's a thing I haven't spent much time on so well and and that's that's a good statement. It takes time. It does yeah these press kits I I've spent hours and they they really do take a lot of time. But I mean you know I if you can get if you can get a ⁓ well written article about your app that's ⁓ that's worth ⁓ it's worth a worth a lot just the exposure and ⁓ so that's my news item or that's my other mother so and I've got a question for you and maybe one for listeners. Hopefully some or viewers if anybody knows the answer I would love to know what it is. ⁓ I sometimes use the maybe you've used this before there's a feature that's a T V remote that you can access on your phone, right? It's your Apple T V remote. Have you used that at all? ⁓ I I have used it on my phone, yes. But you don't do it often because you're you always know where your remote is, right? Because my remote is right there. Yeah. Yeah, I have that as a kind of an issue at my house. And one of the most frustrating things in the world is that it's you put you go and you swipe to unlock and you go to the remote or you pull down from the thing from the control center and choose remote. And then you wait for it to load about five, six seconds, and then you have to choose which TV you're going to connect. But you have more than one in my house. and sometimes it chooses the right one automatically, sometimes it doesn't. So you make sure you're on the right one, and then you can start to use it, right? And so you do something, you swipe around a little bit, maybe you hit back or whatever, and then you're reading a thing on the screen for a second, and and we're like, Nah, I don't think we want to watch that. And you go but look back at your phone and it's back on your damn lock screen, and you gotta swipe it again and unlock it again. It's go back to the remote again. It goes away. I don't know how fast it it feels like it's like five seconds, maybe it's longer than that, it's probably 10 seconds or something, but it is way too fast. And meanwhile, ⁓ I mean, I don't know what the harm is in letting me access the remote for a little longer. And you haven't unlocked your your phone. No, I had to unlock it the first time to get to the remote, because like it wouldn't let you access. I don't think. I don't think it lets you access. Maybe that is the answer. Maybe there's a way to let you access the remote without unlocking Yeah, every time I feel like every time I've used the remote, I've unlocked the device to do it. But I think so. Right. And then you go back to and it's like it's not even on the lock screen, it's just like black, right? And then you swipe or whatever and it lights up and gives you the lock screen and then you face ID in and then you find the remote again. Because it's not still on the screen for some reason. And then might have to select the TV again. It's just very annoying. Sounds like a feedback ⁓ feedback assistant ⁓ thing that you can send off into the void. Right. If all five of you listening or watching could send a feedback to Apple or just send me the answer or comment an answer. Of how to keep this remote active. How to keep the remote active. Yeah, that would be fantastic. How quickly does your phone lock once you've unlocked it? ⁓ Right? Because you can set that like isn't there isn't there a second. I think you can't set it. It set it looks like you can set it, but it's all grayed out always. It does for let's you set it. Like this the lock screen timer. Yeah, like if you don't use face ID, you can set it to like could say, ⁓ I want it to lock in one minute, five minutes, four hours. But I think when you're using face ID, I think it doesn't give you the option to. ⁓ really? I I guess I have to. ⁓ I'd look right now, but my my my phone is in use recording this podcast. Okay. So so that would be my that's my that was my first thought. It was like, well your your lock screen timer is too short. Now do you still have any stickers for the mitts? No, no not the mitts, the other the ⁓ R Relay Team Finder? Relay Team Finder? ⁓ I have I have magnets for relay relay. ⁓ magnets, okay, okay. And ⁓ and then I have stickers for a run roster. So So could we promise a sticker or a magnet to someone who solves his problem? Sure. I would do one, but I don't have any. I've got other things that are not interesting. I will mail a sticker and a magnet, which I don't know what you would do with to anybody who solves Drew's problem. Yes. Yes. Well everyone who solves the problem or maybe like the first Right. I was I should say the first ten people. How about that? Wow. Or the well wait. I don't know. We can do the first no, I'll do the first ten. Sure. The first ten people that solves which I don't actually fully know what your problem is. ⁓ I think it needs to come and it can't can't go back to the lock screen every time you try to use the damn thing. Okay. And like and make you log in again and then find the thing again and then maybe select the TV again. Yeah. That's your that's your bonus. I'll send it. Yeah. All right. ⁓ a magnet that you can put on your refrigerator and a sticker that you can put ⁓ you know on something you want to stick something on. All right. Well that sounds great. Okay. Good luck with that. I'm out of things for ⁓ today. So if you are too, we can end it here. Okay. Well, goodbye, everyone. Thanks again for watching or listening and like, subscribe and thank you for ⁓ listening to ⁓ Drew and Dan in the morning and all of your feedback. ⁓ find us on ⁓ I'm mostly on Blue Sky, but you can also comment on the YouTube channel. All right. All right, bye-bye. Bye-bye.