DREWandDAN in the Morning

EP 009 38 min

App Intents and 737 Hacks

How Dan is implementing App Intents and App Entities in The Midst iOS app, integration of Siri AI features for iOS 27, plus a coin-sized device that can hack a Boeing 737

Rundown 12 segments

  1. 00:00 Welcome!
  2. 00:54 Integrating App Intents in The Midst
  3. 01:51 Minimum Deployment Target and User Base
  4. 03:19 Implementing Siri AI Features
  5. 04:02 "Hey Siri, check me in with The Midst"
  6. 07:30 Letting Siri search saved places and talk back
  7. 13:02 Duplicate SwiftData schemas wipe out years of check-ins
  8. 16:29 CloudKit saves the day!
  9. 17:27 Syncing with CloudKit
  10. 20:15 More Siri integration
  11. 22:25 Siri result cards with App Intents
  12. 29:51 Yikes! Coin-sized device spoofs Boeing 737 FMC and MCDU systems

Watch

Plays from youtube-nocookie.com. Open on YouTube

Mentioned in this episode

Clips from this episode

Shorts

6 more on YouTube

TranscriptAuto-generated, so it may contain errors.
Drew

Good morning everyone. Good morning, Drew. And good morning, everyone. How how have you been? ⁓ I've been busy. Busy, but good. How have you been? ⁓ very busy. Very busy. Frustrated with computers. With ⁓ AI. Yeah. With I don't know. Things. Hmm. Okay. Well maybe we'll get into it. This sounds emotional. Yeah, I understand you have a surprise. ⁓ Topic this week. Well, I i it's it's more of just what I've been working on and I don't know if it's a surprise, but we just hadn't really talked about it. It was the ⁓ the problem that I was ⁓ that I discovered this morning, ⁓ working through the Midst app, ⁓ integrating the the new Siri ⁓ integrations with ⁓ iOS seventeen ⁓ twenty seven, excuse me. Okay. ⁓ and and working on with App Intense and and all of that. And I I had some learning. I had a learning moment this morning. So ⁓ and by the way, welcome to Drew and Dan in the morning. Yes, welcome. Welcome. I feel like we already said that, but that's fine. Yeah, alright we can keep going. Welcome again. so well what I've been working on is ⁓ I I updated my ⁓ the minimum deployment target for the MITS to iOS twenty seven and I wanted to start implementing the newest the Siri AI ⁓ features into the app. And what my desire is, I'm not there yet, is is to be able to be out and about and be at a coffee shop and just say, yo Siri, check me in at this coffee shop and then it'll do what the app does, which is save it to a you know s save that location that I was there and then I can add a comment as well on the location, right? So it seems like that would fit really well. Yeah I like ⁓ Yeah, I like the idea. I got I got two questions already. Okay First one, and you're probably gonna answer these anyway, but the first one is ⁓ you said you updated your IOS twenty seven Minimum deployment target. Correct. is this is iOS twenty seven required for this, for the things you're doing so far, or is it things that are already available prior to twenty seven? So what I was doing, because I was so unfamiliar with App Intense, everything that I've done I think up to this point is not required iOS twenty seven. But the new iOS twenty seven has ⁓ I think it's called App Schemas, where these built in If you go into your ⁓ app intents and you type like maps, ⁓ and ⁓ of course it won't do it now, but ⁓ it will give you you know like all of these different schemas that that tie into the systems, like like everything that Siri knows about photos or or maps or contacts, ⁓ mail, messages. It has all these built in schemas. And so if you say my app works with maps and and you want to start ⁓ you know really Tying in your features to the Siri integrated ⁓ features, then it it has these built-in features and those are iOS twenty-seven ⁓ requirements. But App Intense ⁓ was not, but I was so unfamiliar, I was just like, I'm gonna go to iOS twenty seven and ⁓ and just go straight forward from here. It's also easy for me to do because there are no I don't have as many users, right? ⁓ just gonna ask you, what about your existing user base? Like are you gonna be What existing users? Yeah. Me and my wife and one other guy. So ⁓ you know, and and occasionally my brother, occasionally you. and and one of the things that I didn't understand until recently about the minimum deployment target, it's not like your app stops working. It just you're not gonna get any updates, right? Existing users won't get updates until they update to iOS twenty seven. So that'll be a bridge I cross maybe eventually where I do, you know, have a you know, if available or whatever. But does that answer your questions? I think so. Sorry, ⁓ yeah. Go on. So okay, so you've been working on adding this stuff to your your this is your MIST app or the not or the run no not the run one. What's the other one? ⁓ Relay Team Finder. The new one, Relay Team Finder. So it's not that one. No, not that one. It's ⁓ it's the MIST app. And ⁓ and and again, yeah, that's that's the idea that I want it to do is is ⁓ check me into the location just using Siri without having to interact with the app. What I can do, what w just accomplished a couple days ago, was just ⁓ to say, yo, Siri ⁓ post a new status to the MIST. And it will do that. It'll say what you want to say? And I'll say this stuff, and it'll post this stuff to the midst without ever opening the app. It'll do does it all through Siri, which is great. And ⁓ So is that different than saying Siri, check me in? Well, it is because Check Me In is is grabbing your ⁓ a a map feature on the map, like the local coffee shop, right? Like when you check in at a location. You're not just dropping a pin at a latitude longitude. You're physically saying I am at this place on the map that is identify ⁓ identifiable in the map. That is those are two different things. You can post from the freeway, right? As long as you're not driving. ⁓ you know, you can post from the sidewalk, you can you could post from anywhere. Okay. But you and then you can check into places that are nearby you, but not far away. So So but then functionally under the hood it almost seems like that would be easier because you can just say, Hey Siri, check me in here and then you need to get that guess you have to figure out where they are. Right. And then you're gonna what make a guess as to which location they're trying to check in at? Touche. Exactly. That and and and this is stuff I haven't gotten into yet, but it is th these are things that are that are going around in my mind. You know, if you're in a in a mall and there's eleven different stores within fifty meters of you. you know, where what you know, 'cause think vertically as well, right? There might be stuff above you. ⁓ right. So right, where are you? ⁓ so that is that is the trick. And and there is a way and and I'm getting a little bit ahead of of myself because I haven't worked through this yet, but there is a way to say like, well give me the first five places, you know, ⁓ and ⁓ and and that would be a location. Or really the user should say, check me in at Jumba Juice, right? Or or whatever. ⁓ if you say this location, well, that might be a fallback. Like, okay, I have I have five locations around you. Which one is it is it one of these? yeah. Th this is kind of the theoretical ⁓ for me anyway at this point of of how to check into location. But to do that, you are gonna need to grab a ⁓ map kit item. And this is now this is still with using just regular app intents that we've seen up until now. And so so when you do that, you can have If I recall, I think that you can have like you have to have a specific phrase of the way they're supposed to say it. You do. Like check me in here or check me in at placeholder, and then that becomes a keyword that you receive. Yes. So I have post-like check me check me in at Starbucks. Right. And then in theory you should be able to look at your map, find a Starbucks nearby, hopefully, and hopefully that string matches something that's nearby. Is that kind of what you're shooting for? That's in the Yeah, that I think that's in the realm of of where you're going, ⁓ w where I'm where I want the app to be. Right now the functionality that that does exist is ⁓ post a status on the mist. And it's and that the it's on, you know, slash dot application name is literally how it is in the app shortcuts provider. Okay. ⁓ and so that's how that works. And that's just pin on the map kind of thing, right? Correct. Okay. Correct. Pin on the map, yes. ⁓ and then another thing that I'm working on is ⁓ is When you check in at a location, it saves it ⁓ locally on with Swift data on the device. And ⁓ and then I can ask Siri to find a saved place. What place did I check in? Or find a saved place in ⁓ in the midst, you know, from yesterday or from two days ago. And ⁓ and I think that that I've been messing around with it, but that that was actually working ⁓ pretty well as of last night. ⁓ I don't think I broke it in the meantime. Okay, so when you say that was working, then what happens then if you say that does it open up your app and show you like that check-in or is it not yet showing you something else? ⁓ it's just an audio response of ⁓ the ⁓ Siri response what is it called? ⁓ do Siri ⁓ Siri say something back to the user like you checked in at Starbucks or whatever. Yes. Yes. One sec. ⁓ there we finally we f we finally tricked her. ⁓ yeah it will say it's an intent dialogue so the result will be ⁓ Yeah, you're gonna r return a value of what I call a saved place entity. And then it also provides dialogue. This is this is all part of the ⁓ what is it here? I'm looking at it. Progress reporting intent. ⁓ yeah, this is App Intense provides dialogue is is the ⁓ framework if I have that right. So it is so you are providing dialogue back to the user. That's cool. Well, it is cool. It it's kind of funny how you basically hard code in what Siri says back though, which is I think kind of a little bit funny. It it's the Siri AI, right? Like, you get to put so is this wait, sorry, I'm sorry. Is this also iOS twenty-seven new stuff or is this regular app intent stuff? ⁓ my answer right now is I don't know. Provides dialogue no provides dialogue is iOS sixteen. ⁓ So no, we're going we're going Okay, and so then what do you return then? Is this like you so you say it's a hard coded string or is it Or do you get to also put a p put a value in there somewhere or yeah you do have some values. So it it that's the parameter. So if you're looking at an app intent, you have a parameter which is very familiar to ⁓ any vapor developers out there. The ⁓ the way that you provide a a parameter with it is just at parameter title location in my case, var location is a string. And and so then that is going to be a parameter that you can pass into the provides dialogue ⁓ or the intent dialogue result. And you can give them back text that is a combination of hard-coded text plus things they told you. Correct. But you can't give ⁓ back other text just arbitrary. Like you can't look up in your database and see that your Starbucks was next door to Jamba Juice and say ⁓ yeah, you checked in at Starbucks, but you were also next door to Jamba Juice. You can't add that because they didn't say Jamba juice and it wasn't in your hard-coded string. Is that correct? ⁓ that I don't think so. Yeah, that's getting a little deep. Okay. ⁓ I'm for sure not sure I do. I've spent days the la the reason I say I'm busy is because I've been I've been working on this all week. It's Thursday. I I think I s really started diving into this on Monday. and downloading multiple example apps from Apple. watching I've watched the video WWDC video from this year, 2026. I can't remember the name of the video right now, but the like integrating your your app with with ⁓ Siri AI, ⁓ watching those videos again and like multiple times and then ⁓ referencing the the example apps it's the ⁓ it's the unicorn chat is the example app that ⁓ I've been mostly referencing from this year WWDC. They have an app called Unicorn Chat. Okay. And they they they show how they do the the app shortcuts and the app entities, these schemas that I was talking about. They have they have it's a messaging app, so they kind of show the example of that. ⁓ but anyway, so it's been it's been all week of of just trying to figure out the basics of this. And again, I had not worked with App Intense before. Okay. I was never a big App shortcuts, the the shortcuts app ⁓ user. I didn't really use that. So now I'm just getting into that. So it's all but very new to me. Okay. So so far you have a thing that says you can check me in. Do you have to say check me in using the mitts? You do. You do. You have to you and and that was a thing. Like you you have to state the application name, your app name. And you get to put where that is in your string, right? Like in your text, like you can say use the mitz to check me in, or check me in using the mitt, or something like that. Right, right. You can put You can put alternates, is that right? Can you put alternate strings? Like you I think you can. I think you can kind of put in ⁓ a number of different options for for what you want to the the user to say, but I don't know how you know, you can't predict everything that they're gonna say. I think actually I think they did talk about ⁓ that in the one of the videos, you know, and so there is some context awareness with Siri, I think, but now I'm trying to find my ⁓ yeah, yeah, there it is. ⁓ phrases. So it's the app shortcuts provider, and then the you get an array of phrases and providing like all these different phrases that you could do. ⁓ but I just have post a status and check in on the midst for for either one. Anyway, that that's kind of where where I'm at functionally, like where something actually works. But ⁓ but one of the things that I messed up, so again, my app saves all these locations that you check in at, and the reason it's useful is because I can go back And say, like, what was that coffee shop I was at in this city? Or or you know, what was that Italian restaurant ⁓ my wife and I ate at so I can take my mom out to lunch, which actually happened. So to enable Siri to search your saved places, the app has to be able to query that Swift data model. I was referencing the Unicorn Chat app from Apple from the WWDC video, and it showed how they created ⁓ what's called a they ⁓ they call it a model manager and it handles their main context, ⁓ you know, the model container, main context, and all they have all of their their Swift data schemas in there. So I was looking at that and I have multiple Swift data schemas in my app, but I only needed one. I only needed the saved data. So looking at Apple's example app, I was looking at how they were how they were, you know, handling allowing Siri to search their their schemas. And so I saw that and I'm like, okay, great, I'm gonna I'm gonna do it the same way that they did. And I and ⁓ I put in the schema of just my saved place ⁓ model and but not the other ones. Not because not all of them. And what I ended up doing to fast forward this and then get through that confused look on your face is I ended up ⁓ duplicating schemas. And what the reas the how I realized it was I lost all of my saved places. They were just gone. And I mean I have Over the years because I've imported from ⁓ Foursquare check ins over the years. I have thousands of check ins over the years and they were just gone. And I thought they're probably not Wait, did you say you imported from where? ⁓ Foursquare. From Foursquare check in. Yeah, that's that's a whole nother check. That's a whole nother check. So that's a ho that's a hot feature though, your app supports? That's a hot feature. Yeah. Okay. Right now. Yeah. For you know, the the ⁓ eleven people that use Foursquare still, but I'm one of I think there's more. So I have all of these these models or the the you know, these Swift Data models, but I only needed Siri to be aware of one of them. So I just put in this model manager in my app, just the saved place model, and ⁓ and I just have Siri look at that one. But it it ended up duplicating models. But then in the console, when I'm running it in X code, the console's spitting out all these core data errors. Error, error, error, error, error. I mean like two pages if you just like imagine not anything, I wouldn't worry about it. Yeah, yeah, right? Yeah. So well I had to I mean I'm reading that and I'm forget it, you know, y I'm not a big user of AI, but ⁓ but it's not like I don't use it. And this was something like, okay, screw this. I I just copied and pasted two pages worth of core data errors, handed it to to you know, Claude, and ⁓ said, What is happening? I've lost all of my things. And ⁓ and Claude very quickly identified the problem. I had two mismatching identifiers. I can't remember what they're called, it doesn't really matter, but basically it identified the problem of of duplicate or mismatched ⁓ like schema ID or or something and basically the the app wasn't able to resolve which which one to use so it just exited out and and ⁓ the app still runs but but it doesn't you just you just have no storage. It's just gone. And and by adding a new place it wouldn't store that either because it just has nothing. So So is that a thing you were able to recover from? I y I did. Yeah. It it basically it it ⁓ the data was still there. And I'm trying to think if I could have re the way I recovered it was ⁓ getting all of my Swift data schemas in one location and and so then app intents and the app itself references one if if whether it's called the main context or the model contain I think it's the ⁓ the model container. Okay. I get these confused. Model context, model container. ⁓ I'm I'm not knowledgeable enough to explain those those differences, but it has And yet you're using them in like four apps or something now? Yeah, I I use Swift data all the time, but I still couldn't tell you I barely tell you the difference between model context and model container and main context. Yeah, but it it all ties into one and you need one source of truth. ⁓ so once I created one source of truth with with all of those Swift data models, I actually deleted my app completely off of my device, reinstalled it, and all of my places repopulated because they are ⁓ synced with CloudKit. ⁓ CloudKit, no. So how does that work with CloudKit? Sorry to put you on a tangent. So if Cloud if I CloudKit in my app to sync, if I del if I delete it like if I delete the app from all my devices, does that CloudKit data go away or is it just stay there? It is still there. Yeah, it is still there. And how how you delete everything off your CloudKit database, I'm gonna say I don't know, but ⁓ obviously there would be a way to do that. But if you just delete the app off of your device, it doesn't delete the CloudKit container. it it is still it is still on there because if if you go to your cloud kit dashboard, it's like iCloud dot developer dot something, iCloud dashboard, you can see your model containers and and that's a whole nother discussion as well because you have your your your development schema and then your production schema and you have to make sure that you you you know deploy to production. But but so the way that it you know to sum up like the way that it syncs is your your ⁓ local data, your Swift data has to have either optional values or default values as you build your models on your ⁓ on your device or on your in your app. So you you know I have name, region, category, place description, latitude, longitude, those all have default values. And as long as you click the ⁓ what is it, syncs with I with CloudKit? I can't remember where it is, but you it's a it's a checkbox that you mark when you're setting up your Swift Data. ⁓ container if you want it to sync with Cloud Kit, then it will just work, quote unquote. I see. Okay. Okay, that's cool. So it's not like 'cause I Apple says like, ⁓ if you delete your you know, if you say, ⁓ remove my, you know, don't sync this device with my photo library, it says, ⁓ well okay, it's still gonna be in the cloud as long as but if you remove it from all your devices, it might just go away. that always makes me wonder if if you can trust that or what or what. I don't know. I think I think if you download the device again, I mean I've done this because my app run roster uses CloudKit and ⁓ save all the all the saved runs that I've done and I know that I've deleted that app ⁓ off of my de off of my device and it's only on my one phone. I don't have it on another one. And it repopulates. So ⁓ you could you know, in in Xcode you could go and select the because you have to create a a ⁓ an identifier. And you do that through the Cloud Kit console, you do it right in Xcode, you could you could select that identifier and just hit minus, just delete it, and that would definitely destroy it. But you're doing that through X code, you're not doing it through your your own. Mm-hmm. Okay, okay. That makes sense. Does it? I hope so. I think it does. So okay, so so you've you've implemented this search feature then, or you're in the process of it still, or how it works pretty works pretty good. It's not ready for production, but you know, I figure I have I have another month. ⁓ where you know the the intent is to be able to post a status using Siri, to be able to search my previous statuses using Siri and that the that is ⁓ that's getting there. ⁓ you know, being able to say like where did where did I check in in Minnetonka? Where did I check in in ⁓ in New York? Okay. And I think I think I did read or watch, maybe I watched a W W D C video a little bit about that whole search thing, that this search thing is something that is new for the IOS twenty seven. You know, you had to provide a schema for it to search and you have a search, I don't know if it's an endpoint or an interface or something, but some kind of way that it connects to your app. And my understanding is the user says something, Siri makes a query based on whatever it thinks it should query and what it thinks is available. So you're exposing you basically exposing this to Siri and then it can with its LLM or whatever, it does a search and returns some results to the user. There is a ⁓ it's an attribute on Now am I gonna be able to find it as an attribute on the view where you say this this view is is the is the searchable place. Yeah, app there it is app entity identifier. So the entity identifier you create a app entity that has it's like a lightweight version of your Swift data model. Of your model, right, yeah. Right. And and then so you create that and then put that modifier on the view that that matches and and then give it the the entity, the type that it is, and the identifier for each individual, ⁓ in my case, place, or map item, or conversation sentence, what you know, whatever applies to your app. And ⁓ so that's physically on the view and that ties back to your app entity in in within App Intense. So it's ⁓ it's pretty it's pretty wild. It it is interesting. It's fun to work with and ⁓ but it's very complex and and I am it's taken me a long time to wrap my brain around it multiple days. No, there was a so I just have only done very little with App Intense on like I I I think I said maybe on a previous podcast, it was on my simplest of apps. I have a mortgage calculator thing which was one of them. And forget about the other one for a second. On the mortgage calculator though, I had exposed a couple of those sort of Siri phrases or whatever you want to call them, where you say, ⁓ calculate the payment on a 30-year mortgage for $200,000 or something. Whatever. But there was a couple different ways to do that. And but one of the ways lets you return like a little info card essentially, like a a little bit of UI that's just text or whatever, but it's with the information that that my app calculated. So I don't exactly remember how that worked under the hood, but I know that I was able to say something to Siri and have it come back and just show a little placard with, you know, ⁓ this is this loan scenario. It's thirty years, it's five point nine percent, it's you know, eighteen hundred a month or well, whatever, and this much interest or you know, like I could have it calculated that and show it. So that's that's nice. It sounds like a nice It might be something you might also want to consider there that not that I know remember what it's called, I just remember that it exists. Sure. No, having it like Like having a little, you know, a yeah, a card which would show, you know, what was the place I checked in in New York City two years ago and ⁓ it would say, Well here's the places and a little card showing the places, a little maybe a little ⁓ you know, the name, a small description and ⁓ directions. ⁓ that to me that would be useful if I wanted to go back there, right? ⁓ something like that. Yeah, something like that. Would make sense. That's that's what I've been working on. That's what I've been ⁓ struggling with and and ⁓ seems like you're making pretty good progress though, so that's good. Yeah. Have you thought about ⁓ these app intents with any of your other apps? Now you've got now you've got this relay team finder, which is the new hotness. Right. And then you've got this fantastic running app that you just hate for some reason. Right. Run roster called Run Roster, which is yeah, that's the one that the world loves. Yes. ⁓ the World Loves ⁓ it it got two downloads the other day and I've since switched the app to paid. P ⁓ just paid up front and and no no subscription, no anything. But I just gotta reduce your downloads probably. ⁓ yeah, yeah. I I no I'm keeping it updated actually. I I updated the charts, ⁓ I I'm I'm getting back into ⁓ or I'm main maintaining that app. ⁓ I haven't thought about bringing the App Intense to those yet, just because I've been so focused on the bits, but I I can already think of just, you know, kind of brainstorming ideas for a run roster would be ⁓ you know, I would have already put in a ⁓ a run that I'm training for, like a race, and once I complete the race, I could say, yo Siri, ⁓ my time was one hour and ten minutes and eleven seconds for this race. And it would just populate that. ⁓ I I'm reasonably confident that you could do that. Can you fetch that from HealthKit from your ⁓ From your ⁓ what do you call ⁓ your workouts? Right. You know, you you can for sure, because ⁓ HealthKit records your workouts. ⁓ Run roster already, you know, has permission to access HealthKit as long as the user. Does run roster have a feature to say record my race? Like a run roster race or something? So that it would show up in HealthKit with its own like you'd know which ones were from that and then you could pull those into the app or When you well when I because Run Roster As opposed to getting every run you ever do in there, you know. Well, y I Run Roster does not have that that specific type of capability you're saying, but because Run Roster has a Watch OS app and a and a workout you know, aspect of that app on Watch OS, when I start a run using Run Roster on my watch, it will show up as a run roster workout. Much like if you start a run with Strava, it'll show up as Strava. If I if if I use the built-in, you know, Apple's built-in workouts app, it shows up like that. So I could see there'd be a way to just for Run Roster to ⁓ pull in all runs done with run roster on the watch. ⁓ y yeah, you could you could tie that in. I have not done that, but ⁓ the the difference of saying like what your watch time was to what your official time was for a a an official race, those are gonna be slightly different because you're you know, when you started your workout. So with with most of these in Ren Roster, you have if I understand if I remember, you set up, you say, hey, I'm training for whatever. ⁓ yeah. 5K, let's say. For me. ⁓ yeah, half marathon, sure. And then, you know, you have your sort of your training schedule. And when you say you're training for the half marathon, do you say, hey, the half marathon is on, you know, December eighteenth at two PM or it like do you put that information in or not? Just December eighteenth. December eighteenth. Just the date, not the time, but the date. Because you could have a thing in there that when you go to re when you go to start ⁓ a workout with the app on the day of the race, it can be like, wait a second, is this the race? you know? And then and then it can record it as the race and then you can also have it or you could put in the official time at the end. And then you'd have all your races in there too, and that would be cool. Yes. All my races are in there, but it's all very manual entry. this this was basically my first real app that I did. And and what I do like about it is that when you put in that December eighteenth date, it backdates the training plan from that date. ⁓ cool. So you don't have to manually figure it out. The giveaway on that is that it's it's just a JSON file, that it's just taking the training plan of a of a JSON file and and inserting that basically into into date format. So it's not that much management. And then backtracking the time based on the target date and the Right. Okay. That's cool though. Yeah. Yeah, anyway, I don't know. I think that'd be cool. But ⁓ so but sorry, I off tra off topic though, but my question was going to be have you thought about now that you've used these been working on the app intents a little bit with ⁓ the mitts, have you thought about it with run roster or with Relay Team Finder or the Cold Frost, whatever? fuel software. ⁓ cold soil fuel frost. Yeah, that one's that's very ⁓ industry specific. ⁓ I you know, I I have not, but just talking about it now, you know, like it's it's it's almost like being in the room with developers. It's it's just you and me and everybody listening, but ⁓ I mean, you know, s kind of just brainstorming these ideas is fun because with ⁓ with Relay Team Finder, I mean one thing That would be great. It's just sh you know, h you know, Siri, show me all the all the relay races that are in in my area, right? Or my state or my region. Right. ⁓ that that would be ⁓ a a very ⁓ applicable use case for this, yes. But I'm only one person and ⁓ you know I but yeah, there there's it's kind of infinite, you know, and it's whatever you want to play with and whatever you find interesting. I find it interesting. I I do find it. It's very It's it's complex. There's multiple stages of of these, you know, these app intents, app entity, ⁓ entity string query, all of these things tie into app intense and and I don't have my ⁓ the full understanding ⁓ by any means. All right. Well that's ⁓ that's really cool. I know we're probably out of time here, but I want to ask you a quick one and you can feel free to defer this. you know, there's been something like I don't know. maybe a hundred reports of AI things hacking into other things lately every day or every week or something. It's been kind of just ridiculous. ⁓ yeah. But ⁓ kind of buried in some of that. I saw a thing ⁓ from Wired on the twelfth and and it says winging it, it says, this coin size device can hack Boeing thirty seven thirty-seven and it talks about ⁓ somebody made a little device that plugs into some port that's you know accessible to the people outside the plane. ⁓ and it's not a locked there's like just a little door that opens and you can put the thing there and close it up and and that it can go onto some bus and send send bad data to things, you know, like yeah, it sounds absolutely terrible. ⁓ I was just wondering if you'd heard about this or read this one at all. I have not. Any thoughts or anything? ⁓ can you send me that article? Yeah, I can send you that. Send me that. I'll take a quick look at it and let's talk about it. If and while you do that, for those who don't know, and I I try to keep these discussions to software development, but in my my real life not my real life, my other life, I'm an airline pilot and I fly a seven thirty seven. Seemed relevant, yeah. So okay, so looking at the article, coin size device can hack a seven thirty seven. ⁓ it says at the USNIC Cybersecurity Conference, researchers from University of Can of California, San Diego and Oberlin College will present a hacking technique capable of commandeering the autopilot of Boeing seven thirty seven to redirect his navigation, or silently altering key values of the plane's takeoff and fuel calculations while spoofing the results on the pilot's screen. So that sounds really, really, really bad. ⁓ that's really bad. ⁓ subtle changes the researchers say could potentially cause yeah, you could cause things there. And they said they built a roughly coin sized, Wi Fi enabled prototype that cost them, you know, less than a hundred dollars in parts. In less than a minute the hardware can be Fitted into a port accessible via a hatch on the exterior of the plane, one that's routinely within reach of maintenance workers or other airport and airline staff between flights. Once it's in place, the device could send electrical signals on one of the seven thirty seven's internal networks to spoof commands to sensitive computer systems that guide its autopilot and show the pilot variables like plane's total weight and outside air temperature, which could play a critical role in takeoff galaxy. ⁓ how or where somebody would have to plant this device or plug it in. But if it's accessible from the outside, then any baggage worker, ⁓ mechanic, anybody. Right. And and what that means for ⁓ spoofing the ⁓ what would it say? It's spoofing the the the the temperature, the weight, ⁓ what ⁓ fuel on board. Okay, so every time every time we take off, ⁓ we receive ⁓ the well, we know the the amount of fuel on board the aircraft. ⁓ we receive the the the weight of cargo, the weight of passengers and those are average weights, ⁓ outside air temperature, ⁓ density, ⁓ because of density altitude, because the altitude we're at, and all those calculations go into setting the takeoff thrust for the aircraft. And and that thrust has to mesh. So So one of the ways that this would be caught by pilots is that we we do ⁓ verification of what our expected performance is and what the performance of the aircraft is is actually setting. And this is a this is a specific step that we take. However, there have been instances in the past where pilots have missed ⁓ various numbers and and the numbers were wrong ⁓ and and that causes ⁓ you know We haven't had any issues at our airline, but there were issues where ⁓ tail strikes occurred because the aircraft was setting a takeoff thrust for a weight that was significantly lower than the actual weight. So the ⁓ the the speed isn't being achieved as as or or the well the the what you assume your rotation speed is where you pull back on the stick to take off is actually too low for the the aircraft weight. And so when you pull back on the stick, the nose will come off the the runway, but the tail, you know, the the aircraft won't, and so you end up scraping the tail. And ⁓ and that's what that's what happened actually ⁓ I think one or two of our airplanes a number of years ago where there was some bad data that was being sent. So if you could do that, okay. This other ⁓ article says ⁓ that it connects to a port that connects to its flight management computer, FMC, and multipurpose control display unit, MCTU. and those were the devices it was spoofing data to, I guess. Yeah. So if you're spoofing data to the to the FMC, if you're sp and and you'd be spoofing data to the McDoo, like, well, and and that's kind of the same it's it's it's sort of the same box, but there are two different computers. But ⁓ the if you're spoofing that data, you could show valid data, but when in fact what's being set on the engines is invalid, that is that's terrible because you couldn't then you couldn't catch it, right? You couldn't see a mismatch between takeoff thrust, actual takeoff thrust and and necessary takeoff thrust. So ⁓ that's very bad. That's that's very bad. ⁓ ⁓ yeah, it it's it's it's it's frightening to think. ⁓ but there's a lot of frightening scenarios that that to to think of if you start thinking in a malicious way. But f as a pilot it what it says to me is just we have to verify the data that we receive ⁓ from dispatch, our performance data is valid data and and the performance data, what does that mean to you? What is that? Wow, it's a whole It's it's all based off of what I was saying, you know, like the aircraft weight, ⁓ the the the aircraft number matches the the aircraft we're sitting in. We have record locator numbers that that match ⁓ from our dispatch release has identifiers. There's two different identifying numbers that have to match ⁓ in in various places across our dispatch release and our in our dispatch release is you know, contains our our you know our route of flight, ⁓ the departure destination, weather i i it contains a whole bunch of data. They're they're for for every flight. So and all of the the take up performance data is is in there. And ⁓ so it it comes down to verification, but if you talk about spoofing data, how do you verify spoof data? And if you spoof correct data, then especially if you can show especially if you could put in something that's false but show what is expected. Right. Right. If you if you showed the matched data to the dispatch release But you but behind the scenes was incorrect data. So but ⁓ yeah, very bad. But you know, these are these are people, ⁓ engineers at at Boeing and Airbus and all the major manufacturers that that handle this stuff. ⁓ hopefully they, you know, are on top of it and not using not using too much AI. Yeah. I'm sure if we just put like, you know, Claude Sure. Yeah. What could go wrong? What could go wrong? Yeah, exactly. Yeah. No. Definitely not. All right. Well, I think that wraps us for today. Is that right? Let's see. Do we have anything else today? I think so. No. I think that's ⁓ that's out of time. I rambled on about app intense and you got me scared about about airplane hacks. Like don't hack airplanes. Well you should just know that there's other hacks that are not that are Yeah, not just AIs hacking other AI websites and things. Alright, I'll I'll sleep well tonight or not. Alright. Well have a great day. Thanks everyone. Talk to you soon. Thanks, Drew. Talk to you later. Bye. Bye.