MIX-7 === Hi, [00:00:00] James: welcome back everyone, to another action packed merge conflict here. I'm James Montemagno with me as always my one and only true soul partner besides my amazing wife, who's my number, number one. So really Frank's number. I mean, it breaches the top 10, the one and only Frank Kruger. How's it going buddy? [00:00:20] Frank: Hello, James and I, I just put you as the number one person I talk to the most, so that I don't know what that makes us. You're my number one talking buddy. So there [00:00:29] James: are, yeah, I like that. And if you are new to the podcast, this is a podcast where we talk about. technology.net mobile development, iOS, android things, home improvement a little bit. Uh, everything. Uh, over here, we've been doing this for 585 billion episodes, and we are back this week to talk about one thing that everybody has been talking about because Frank. Has had so much hands-on experience, which, which is Vision os Frank. Tell us about how much hands-on experience you've had because Apple dropped the Xcode Beta Vision Os is out. Everyone's talking shop about it. It's the cat's meow. In fact, it is your cat's Meow. Tell us, how long did it take you to Port Eye Circuit 3D to Vision Os? [00:01:18] Frank: Wow. James, you, you, you really overestimate me. And it, it just makes me feel so good. I just, you, you, you have this model of me in your head that is perfect and keeps up with the betas. I, I, I haven't kept up with the betas, James. I, I don't have the vision os I, I'm still trying to learn reality kit. I, I, you know, I, I, I, I love seeing Kit and I've been ignoring reality Kit for the last X amount of years. Yeah. And now here's Vision os baby, and you gotta get your reality stuff going on. And I see, I see the demos. On Twitter. Twitter. And they're all like unity though. So it's not like if people are really writing apps. But thanks for the setup. No, I thank you. [00:02:06] James: Well, that actually is the topic of tonight's little. Did you know that I actually did have a topic tonight? Cause I did get a recent, uh, message on Twitter that I thought would be good to talk about tonight, which was someone asked me and they said, Hey, I want to create a 3D application. Now this could be for Vision Os, this could be for uh, iOS, it could be for iPad. It could be for anything. And they said, I wanna create a 3D application with and Maui, I wanna use AR kit. Is there something that lets me do that Or do I have to go use Unity? Which is funny cuz it's what you're kind of talking about with Vision Os. And. My response was unique, but I kind of wanted to talk about that. I wanted to talk about we're moving into an era of 3D development, you know, and traditionally we're talking about 2D development with mobile apps, but truly with Vision os we're talking about this 3D space. Now, this may not be new to some people, but to us this is a newer space and you've been doing with I Circuit 3d, but I wanted to talk about that. What did. Actually looks like as either just an iOS developer or maybe a net developer. What does it look like? And there's no better person to talk about that than the one and only Frank Krueger because you've built and shipped a 3D application. Onto the app store, at least one, if not many, that you've prototyped throughout the years. Am I not correct? [00:03:21] Frank: My very first iOS application used OpenGL to render its complete ui and it was a 3D ui. Yeah, I, I didn't take huge advantage of it, but that was a 3D renderer doing everything, my very first app, so, Thanks. That was such a lovely invitation, James. Lovely. Yeah. Let's talk about this because there's options and you know what? There's also this giant bucket of guilt that I have because I believe you can quote me somewhere around three or four years ago, talking with sin.net people. I'm saying something like, You know, I should really write a cross platform renderer for Maui. We could really use one of those. We won't take that much work. No, no. Rendering APIs, they're not, they're not, they get big, but they're not that complicated. And I never did it, James. I never did it. Um, what is the state of cross-platform rendering libraries for Maui? Not great, to be thoroughly honest. Um, there is open gl, you can write some open GL stuff and write some very thin wrappers over some libraries. But gosh, you're gonna have it, it, it's not pretty, uh, it's, it's a low level a p i and there's. I don't know if there's anything outta the box. I keep hesitating a little bit, so I don't think there's anything out of the box to put a GL renderer in an app. Um, but that's kinda 1990s in the year two thousands there. So let, let, let's get into it. Let's talk about the difference and what we expect outta modern renders and why Unity is awesome. [00:05:00] James: Well, I think that, I think that's the difference, right? Is that there's a few levels that you need to think about as a developer that wants to build 3D things. Right? There is, am I building for a specific platform or am I building for a multiple platforms, right? And those are two different things. And my response to this individual was like, Hey, AR kit, reality kit, scene kit. It's there. It's in C. Mm-hmm. Just if you wanna access those APIs, go for it. All right. Swift, either way. You know what I mean? Like they're both available as the core APIs. Like are you thinking that you wanna build a 3D app that runs on every single platform under the sun? We'll talk about that later in the podcast. Well, let's actually start, talk about, I want to build a 3D application just for iOS, because Vision OS is coming out. You just did this with I Circuit 3d, what should I do, right? Yeah. And. My fundamental core belief of why I've chosen Donnet forever and Zarin forever and now Donnet Maui forever, is like the core understanding that these underlying APIs are available for me to use if I want to, right? If I am building just an iOS application, that's gonna be absolutely spectacular. Then, I probably want to take advantage of everything that that operating system has to offer, right? It's a balance. Every single time I'm building an app, is it cross-platform? Is it two? Is it two? Is it one? Is it four? I'm gonna make different considerations based on that, and I see a lot of times people are like, I wanna build a great desktop app and a great mobile app, and I wanna great this. You're gonna be making sacrifices along the way. The frameworks, no matter what frameworks out there, whether it's Flutter, react Native, Donna, Maui, whatever, Cordova, whatever it is they make, they make, um, um, they have to make. Things that are at a certain level, right? The abstraction level can only offer so much at the core level, right? So let's just talk about, Hey Frank, I wanna build a 3D iOS application. Where do I begin? Or what do I do? What's available to me as a dotnet or a Swift developer? Right? What's available and what should I use? Thinking of vision os [00:07:15] Frank: Well, okay, so, uh, we, we are at basically one level of abstraction. So we, we don't write the open GL commands anymore. All our cool hacker skills are kind of gone and out the door. Uh, the new libraries are a bit more high level than that. So it, it's funny you were mentioning the cross platform thing too, because Ice Circuit 3D was written as an iOS and MAC app only because I wanted to run it on the Mac. It was very painful. This was before Mac Catalyst. Even between those two platforms, it was very painful supporting those two platforms. Even today, I kind of wanna switch it back to being or to being just a Mac Catalyst app because, 3D is tricky and getting it to run cross platform is very tricky. And so my decision with all that was to not barely try. And boy, I, I take that back cause I put a ton of effort into getting Mac to work, but like getting it onto Android or Windows, haven't even tried. Um, So you nowadays we, we do have a good level of abstraction libraries. That's my side story aside, let's get back to the libraries scene kit. Yeah. And reality kit scene kit's been around for a while now. Um, I still think it's a wonderful a p i and it's the a p i you use if you use AR kit. So if you're talking AR kit, you're talking scene kit. If you're talking scene kit, you might as well be talking AR kit because it's pretty easy to take your scene kit app and turn it into an AR kit app. Um, that's for the rendering side of like putting some objects into a space. So you start with. A scene usually, which is just kind of a generic world where you can put objects into it. Objects are represented by 3D objects, so you're gonna have to go scrounging around on the internet to go find some 3D objects, turbo squid, find some sites where you can actually buy content and things and you can start downloading models. You look around, they're, they're out there and you just kind of put them into your app and you create a scene and you add these objects to a scene and they actually. Pretty easily thanks to the high level APIs, they usually do appear. Um, if you write an AR kit app and just put an object into the scene, start up the AR kit app. The object might start out exactly where you are, so you might have to back off a little bit and mo Mo move around a little bit to find, uh, the object. But it, it'll appear there. Uh, reality kit is very similar. Um, I, I swear I'm still. Learning the API myself, because I think it is the API they want you using in the future, but the fundamentals are still there. There's a world or a scene and you add objects to it. Those are the primitives of creating a ui. [00:10:04] James: Yeah, I mean, that makes complete sense to me. And you know, if anyone's done any 3D mo, I took a 3D modeling class in. College we were using. Maya. Maya, I wanna say that sounds correct. That's a nice one. [00:10:20] Frank: High [00:10:21] James: one. We built a kettle and we illuminated it with a light source and shadows off of the kettle to kettle. It's very classic, right? You do the meshes and things. That's what I, I did. Right. So that was my first introduction into 3d was like creating the actual model that you'd put into these. Yeah. But those sort of principles still apply, right? Like you're saying, you plop this model in, you also need to have a camera and a light source that is sort of, Illuminating and pointing at the scene that is there. [00:10:53] Frank: Well, you, you bring up lighting and it's a great topic because it's actually kind of interesting and important, um, when you're creating ar content. If you're not doing a VR thing where you're trying to fully immerse someone into that world, if you're doing augmented reality or mixed reality, whatever you wanna call it, an overlay onto the real world. It's kind of neat how rendering works in that. These devices use cameras to put the lighting. Onto the objects themselves, so you don't have to put artificial lights into the scene. You can, if you want, if you wanna like, make something glow or if you wanna accent something by having to put a spotlight on it or something. But it's kind of fun when you're doing AR content that you wanna get. Um, what are called, um, pbr r pbr, pbr, physically based renderer. Um, 3D content, which is just the newest, hottest way to specify how texturing should be done on objects, and it just really picks up the light nicely if you get these PBR objects into your scene and. Scary. So, because it turns out, um, apple poison a lot of little tricks. So they use like the lighting from the, the world to illuminate your objects, but they also put a little filter over your object that adds the same kind of noise that the camera is picking up. So your object blends into the scene a little bit better. Mm. But the lights are so interesting because, because like Ice Circuit 3D is not an augmented reality app. I spent a lot of time in that app. Setting up the lighting environment. And I play a lot of lighting tricks in that app because I have global lights, I have LEDs, illuminate, I have a spotlight that follows the users. They move around in the thing. And it's funny, like that's a lot of effort setting up your lighting environment and if you're doing an ar, vr, ar thing. Mixed Mr. Thing. I don't What is Mr. AR thing? You don't. It's mixed reality lights. Yeah. Which [00:12:54] James: is awesome. Yeah. Yeah. No, I think, I think that makes a lot of sense. Yeah. So yeah, mixed reality AR is like putting, what is the difference? The AR and MR are are similar. Mixed reality is like, Mixed, augmented and virtual together. Mr. That's the HoloLens, that, that's the only thing I can think of is the HoloLens is like Mr. Cuz like maps your space and puts things in the physical space on top of it where augmented reality is like more camera based. I don't know. Anyways, I, yes. Yeah, [00:13:26] Frank: I get it. For, for our discussion, let's just say AR and vr. VR is fully immersive. AR is bringing in the real world. We'll, we'll just stick to those [00:13:34] James: terms. And I think if you're building these types of applications, like on iOS and Android and Windows, like there are specific things for this that make it so you can use these APIs directly into anything, right. When you're crafting a single experience. Right. Yeah. And that, that's a route I've gone to. You know, I think of it as the traditional. Xara en route, you know, which was the traditional way back in the day when I got started, was, here's a bunch of shared logic. It's 80, 70% of my application, and the UI layer is different. I have different UI layers, and I'm, and in this case it's a 3D augmented reality thing that I'm, I'm creating and the rest of my logic is the same, right? I'm pulling down things, I'm entering things into a database. I'm, you know, pulling down the model like that stuff's the same, right? The file access, whatever it is. I'm accessing those things and those are all available, right? So when we think about it, it's like, oh, okay, that's cool. Should I use Net Maui for that? Should I just build an iOS app or just an Android app? You know? Mm-hmm. With Net or without net, like those are options that you have available to you that I think are important to remember. Right? Everyone, not everyone, but a lot of people come to me and I'm into the ethos, like everything has to be cross-platform. Well, it's like, Everything doesn't have to be cross-platform. It's based on what you're building at the end of the day. Like Yeah, I think that if you're building Ice Circuit 3d, Frank Krueger, you probably would like, man, this would be amazing if it worked spectacularly with one single a p I across every single platform there. Mm-hmm. And there are those things that exist to let you do that. Right. But are you gonna have to go learn something new or are you gonna like actually deep dive into the APIs that you know and love already? On iOS and Mac, what's the target audience that you have? Yeah, and that's different for everyone. So every app's different, right? And I have apps that I ship just on desktop. I have ones that I ship just on mobile and I have ones that ship everywhere, right? So I think that's a consideration I make going into this new world that it's like if I'm building a a VR experience, I'm building like a VR experience for that thing. You know what I mean? Yeah, like I'm, I'm gonna build an experience for Vision Os I should use the Vision OS APIs. I think, am I wrong? I don't know. [00:15:54] Frank: Well, it, it does come down to the one thing I, I've been talking about rendering, because rendering is always the most fun of 3d, but the other huge thing is interaction. Mm. And how, how are you gonna handle that? Um, our, whenever we always talk about, do you wanna write a native UI layer ui or do you wanna use a cross platform? One? A lot of the argument often boiled down to is, do you want to use the native controls? Mm-hmm. Do you want like the text box to be the iOS text box or do you want it to be your own custom text box? And in the case of these early days of vision, apple has a lot of built-in. Text boxes, for lack of a better word. I don't mean actual text box, but actually sometimes, literally, I do mean text box. But you can replicate those. You can take, uh, an engine like scene kit or AR kid or Unity and make a text box. Please understand it's a metaphor here. I'm not actually text box. Um, you can make one. But it's gonna be slightly different. It's gonna use a little different font. It's gonna, the interaction model, the way you a person touches it, the way, um, maybe voice annotation in this case would work. Um, those are gonna work differently. And so for these early days, uh, game engines are great because they're so powerful and they're interactive and you can build anything with them. But they're not great for everyone consolidating to UI paradigms there. There's no human interface guidelines for video games, and so an engine like Unity doesn't enforce anything like a higg. Whereas if you build something out of reality kit or not AR kids so much, cuz at the abstraction level it is a little bit lower down. There. It's, it's um, it's, it's this general purpose scene world where you can put general purpose objects. That's, that's more like the unity world. Um, with Vision Os and what they're doing with Swift UI and things like that, you can take advantage of the builtin, um, box text boxes for lack of a better example button would be a better example. Perhaps [00:18:07] James: everyone load a good button that you can click on. Well, let's talk about those things cuz you know, I think traditionally I. I've always thought about three. Anything cross-platform 3D as game engines? Right, because the cool thing about a game I used to be a game developer is that game engines are the most independent of things anyways. They don't care about. But the window, they don't care about navigation. They don't care about anything because they control the entire stack. Right? So when I think of unity, mono game, goodo stride, ever, engine cry engine, unit engine, right? Like there's all these things, like when you go to the Donnet website, you tap on games and it's all of these game engines. Right. It says create your games and more using cross-platform game engines and like really, are these things game engines or are they just 3D rendering engines that enable you to build games or other things? Right. Like, you know, I think Unity in more recent years, like how I've seen them pivot their marketing and their website, like it's less, it's not a hundred percent about games. It's about. 2D and 3D anything, right? So it could be simulations, it could be apps, it could be, uh, healthcare, it could be, it could be games, right? It could be any of these things. That's what's available to you as a developer. And I've always thought myself as a c sharp developer or net developer, all these tool are in my toolkit, right? So I have these things available to me based on my needs. So kinda what you're saying, Frank, is that, hey, these things are rendering engines, which means that they are going to have some. Differences compared to trade offs, if you will, to comparing to writing against the core OS and the core APIs. Is that correct? [00:19:54] Frank: Yeah. Um, cuz it feels like there's gonna be many ways to be an app on vision. So first, easiest way all our iOS apps are just gonna get projected up into the 3D world. Yipe? Yes. I'm, [00:20:06] James: I'm a vision OS developer. Nailed it. [00:20:10] Frank: What could go wrong? I can't wait. Yeah, I can't wait to see the BPMs up on there. It's gonna be awesome. Um. No. Yeah, my, okay. Anyway, I can't wait for your apps to be on there. But then there is also a 2D ish world you can be in where you have you, you're still using for, to reuse my terrible metaphor, but from before you're using their text boxes to create a, a basically 2D world that you can orient around and move around inside. Yeah. A 3D space. Um, You're still kind of strain yourself roughly to a 2D world. But it's nice, it's a comfortable place to be writing apps and honestly, I hope that that world evolves a bit more to be, um, that neuromorphic design that, uh, all the kids have been using three years ago, I still kind of love mm-hmm. Fits beautifully into ar so I, I hope like that somewhat 2D world, but using their new toolkit for building apps. To use their controls and all that kind of stuff. You can be that, or you can become a 3D world where you just start putting 3D objects into the world at which place you can, um, just be adding to the environment or you can take over their environment and I think it's gonna be. I hope that there's gonna be a lot of apps, um, that are little 3D objects that integrate into the world, and we could run multiple apps at the same time and have like a virtual goat that lives with me and maybe answers math questions. My, I call it Math goat, and then maybe there's a little virtual parakeet. And it just quotes Shakespeare all the day, and I just call 'em Shakespeare Bird. So I, I hope I can get those apps and run all of them simultaneously. I think it'll be a little bit sad if they go, if all the apps are video games and VR and they do the immersive thing. So yeah, we are talking about technology differences, but there's also just the app experiences difference that you can, uh, enter with, with these things. [00:22:17] James: Yeah. And I think that if you are going towards that experience of I want a full 3D thing that runs everywhere and tells this stuff, it could be a game, right? But it could be something that is an ar vr experience and like engines like Unity give you that. Opportunity right now, like you're saying, there's gonna be trade offs there and I don't know every single trade off of Unity versus doing ar k, but like Unity's a pretty full fledged like engine. That kind kind of, it's pretty battle tested at this point, right? And you use C to write all your scripts, you know, this other stuff. And like once you enter the 3D world, you know, to me it's a, it's a paradigm shift, right? I think with Ice Circuit 3d. I'm assuming if I looked at the code, it's a lot of like code, code, code and not a lot of like, um, so there's probably no visual editor. Right. I feel like with Unity, a lot of people are like, I have this visual editor and I have this other stuff, and it doesn't feel as much as like I'm in Visual Studio or I'm in Xcode, or I'm in Android studio. I'm more in this visual editor thing that's making my thing and I have to learn a whole new program to code. So that's probably where I see the. The hindrance of go getting into it. However, if you do look at some of the other game engines, they're gonna be more code first game engines, right? That are out there. And those game engines could specifically be for just making 3D applications. And those applications, to your point, are basically still windowed. Right? When I think of a game, it's like, It is fully windowed, but it's like it's fully windowed and the game experience is like a game experience where I'm doing input to do a thing. The app experience is like I'm interacting with it with a different way. So I do think that these game engines or. 3D engines, if you will, will still give you the availability to do that. It's just like using, using Skier Sharp, right? Like the difference is, is it a single view or is it the entire app? And many of these engines want to be the entire app, right? Yeah. So that's something to kind of think about in general. But if you are building this experience, when I look at I Circuit 3d, there's nothing to stop you that you could have used. Unity to build all that. Like you would just draw the folders and the things like you could have u you. That's the thing is like, I think you could have used Unity, right? There's nothing stopping you from have doing that. [00:24:38] Frank: Correct. And there were times many times where I thought maybe I really should have because it, it's, it is a bit of effort maintaining the engine. I am using syn kit. It's a good engine. It's, but it's not nearly as battle tested as you said. It's a good choice of words because Seen Kit works well, but I have a million ways I can trip up. Scene kit. I can, I can invalidate that scene graph and it'll not recover. It'll even take down the OS from time to time because I did it and I did, I, I wrote very multi-threading heavy code too, because I'm me, and so it was very easy to destroy it and there were many days deep in stack traces where I'm like, maybe I should just take this whole endeavor, because honestly, it was a lot of C-sharp code. I could have taken all that C-sharp code, renamed C node to be whatever unity entity or whatever it should be, and whatever. Maybe after a week, get it up and running. Um, yep. Um, why I didn't, I don't know, decisions, who cares? But it definitely could have. So it is fun. The, these are game engines, but. They are very much app engines and I'm actually surprised more people don't write apps in them. I think it's just because the web took over and it just, you couldn't, it, the web became a better place to release big broadcast kind of apps and things like that. And if you're gonna write a native app, you might as well write a native viewing app and not use a game engine, that kind of thing. Yeah. Uh, but it is funny to think like even all the 3D game. Even all the 3D games have many systems, 2D menu systems, 2D heads up displays and things like that. So these engines support 2D mixed environments very well. They have to in order to support any kind of video game, and I'm curious how those systems will integrate with like apples. Basically heads up displays and menu systems because it's gonna be menu system on menu system fights. And I, I'm curious to see how they resolve. [00:26:46] James: Yeah, I have to imagine that, and this is just an assumption, right, is that these things are gonna be optimized, like, you know, when Unity, and maybe they've already done it, like at Vision Os. Support. Support, right? They might say, oh, you can like ship your iOS app. That's a unity based game. And then, or engine or app or whatever and like, push it over here, but like, oh, click this button. The one cool part about Unity is like you just literally check a checkbox and it's on another platform. Oh, do I want it on Nintendo Switch checkbox, I want it on PlayStation five checkbox. It's, you know, the, but then it does optimizations under the hood. And I don't really know too much. Like can you conditionally compile? Can you say, oh, if I'm Vision Os can I do this stuff? I'm, I'm not that familiar. I'd have to ask JB about that. Like, you know, when it goes down or someone from Unity specifically, but I wanna like let people know, like it's, that's not a bad decision to go down that route. It's, it's gonna be based on what you're building. If you're building 100% 3d. Like simulation, like I dunno, maybe just use an engine, like that's okay. Like that's, it's built [00:27:49] Frank: on.net. That's okay. You know, if, if I was to write a cross platform UI and I wanted it to be pixel perfect across platforms like that was my goal. A video game engine is not the worst place to start. Cause you know it. They, they've worked on pixel Perfect, their whole, that, that is their result. It will be perfect. And if you can, if you're not a text heavy thing or, and you wanna put a few rotating spheres with some glistening light sparkles off of it into your apps, why not? Why not write your app in a 3D engine? I mean that's, that was what I did with Ice Circuit 3d. I'm just like, I don't know. Like I was, I was solving like the wire connection problem on a diagram because like there's ways to diagram circuits and there's a lot of opinions on how overlapping wires should be represented, if you should, how much effort you should go through to make sure wire don't overlap. And I'm just like, it's such a 2D problem. What if I just. Broke out a 2d, went to 3D and just made 'em real wires and then they would just be fine. Yeah, and it was liberating, honestly, taking what is, circuits have always been a 2D representation. We haven't bothered to give them a 3D representation, and it was fun to just break outta that 2D world and. Do things in 3d. I think I definitely took the hard path, but, um, it's, if you, if you can convince your client or if, or if you're just listening to this, why not write your next app in 3D fun and it can ship on a normal 2D device too. It's fine. [00:29:32] James: And you know, funnily enough you mentioned that is that many 2D games, for example, one Buddy Ben, who is just coming out now with Bounty Star, his next game coming out next year, but he did as test previously, like it's a 2d, beat him up. The entire game is in 3d, like the whole thing. So when, I remember when the Oculus was coming out and Unity added support for it as like a checkbox, he is like, yeah, I got a Unity version. Cuz like the game is, it's 2d, but it's already in 3d. Right. So yeah. Just, that's how it is cuz it gives you the depth. Right. And all of our apps, even my app, Frank, that puts a, that puts a number on the screen. There is a Z axis there. So if I want that number to come out at you, I could adjust that Z access. That'd be super duper sweet. I'm just saying. [00:30:18] Frank: Uh, that's wonderful. But imagine if, imagine if you could add all the sparkling effects and all that kind of stuff, because I remember as a kid, my mind being blown when I realized that, or someone said that South Park was rendered in Maya, I believe. I believe they used Maya and. If I remember that it was all card two or cardboard cutouts in the early days. Yeah. And they used Maya a sophisticated 3D rendering engine in order to render cardboard cutouts that are poorly animated. Yeah. But it made so much sense because it was just a powerful tool. They could add tiny little effects. They could add the key frame animation the way they wanted, and those are kind of the things that are provided in a game engine these days. So it was, it did start out with CAD and then it evolved into 3D artists, and then it just became game engine editors became. The new kind of 3D art packages. I mean, you can always use blender and things like that, but, uh, you're, you're gonna have to alter your assets somewhere. But it's just fun. It's just fun using a powerful, super ridiculously powerful rendering engine as overkill for an app ui. [00:31:31] James: Oh yeah, absolutely. Well, That's all I, I got for 3D and I started my career in 3D with Shred Nebula and, uh, then moved back to the 2D space, and I'm very fascinated to see what it looks like in this new world that is 2d, but could be 3d, but maybe 3D or 2D here and there. So I'm excited to see where this next step goes. [00:31:55] Frank: Yeah, and actually I wanna, I wanna have a part two to this episode after I've deep dove into the actual APIs. Yeah, I'm, I'm put, I'm putting pressure on future, Frank, but I think this homework will be worth it because it'll be fun to compare and contrast, uh, given everything I just said after I actually do write a few little apps for Vision Os and the new reality kit and all that to do a part two. Yeah, and see how I actually feel. [00:32:24] James: And it'd be fun to compare and contrast like what you did today versus what considerations you're gonna have to take going forward. So I'm excited about it because, you know, I was talking to a few people today actually about how great ICI 3D is, and we've talked about in the pod before four. Vision os so I'm excited for you to be there at launch next year. And, okay. This is your, I'm gonna keep you, keep you to it, Frank. [00:32:46] Frank: Okay. Uh, it can happen. I, I, I literally have an is ar variable in the app. It hasn't been switched in a very long time, but it could [00:32:55] James: happen. Wow. All right. Well, I think that's gonna do it for this week's podcast. I wanna remind everyone that you can find us everywhere on the internet, on Twitter at Merge Conflict fm. You can find us on, I think it was a Facebook page. I don't know. You can find a visual representation of us. That's right. A 3D 2D video on YouTube of us talking and communicating If you wanna see our beautiful faces. youtube.com/jameson Magno, that's me. They're on my YouTube. There's a playlist there. Uh, you can also become a Patreon supporter. They get bonus podcast. You wanna hear more of these luxurious voices? Imagine an additional 10 to 20 minutes of this and Frank, in your eardrums every single week. This week we talked about dishwashers, so prepare yourself. You can go to. patreon.com/merge conflict fm or just go to merge conflict fm. You can find everything about the podcast there and, uh, check us out. There's a bunch of other great links there, so it's gonna do for this week's podcast. So until next time, I'm James Montemagno [00:34:00] Frank: and I'm Frank Kruger. Thanks for watching and listening. [00:34:03] James: Peace.