00:00.25 James Welcome back, everyone, to Merge Conflict, your weekly developer podcast, talking about all things in software development. Frank, I um um recently saw a tweet. um I saw one tweet. 00:12.22 James I saw a tweet. 00:12.73 Frank you You still are on social media then. It's good to know. 00:16.41 James Yeah, more than I'd like to be, would say. 00:18.52 Frank You just, they pull you back in every time, huh? 00:19.10 James so ah Yeah, i i try yeah yeah i'd say I would say with like the co-pilot stuff and the CLI and the VS Code work, it's pulled me back in. 00:23.51 Frank Yeah. 00:29.27 James But also, like it's really fun to talk about the stuff and show the stuff off. 00:29.91 Frank Yeah. 00:32.47 James But I recently saw that someone was saying, oh, I see on social media that a bunch of yeah engineers are building with AI and they're building a bunch of stuff, but no one ever talks about making money or it talks about shipping it to the app store. 00:47.03 Frank Oh. 00:49.09 James No one talks about... you know, the, the longterm of everyone talks about aspirational goals and you know, I myself am a person that builds apps usually for myself and which I just put them out there into the world for free and or very minimal monetization. 01:02.53 Frank Mm-hmm. 01:03.80 James And we've talked about some monetization and different strategies and you know, i make taco money, not too bad. I'm not retiring off of some taco money, make more money off of YouTube. 01:10.49 Frank Mm-hmm. 01:12.06 James But this year, Frank, we are celebrating the 20th anniversary of iCircuit. 01:12.85 Frank Wow. 01:16.79 James Um, 01:18.08 Frank Not quite close, though. it's beyond You had me check the calendar. i'm like, what year is it? Was there a time warp last night? 01:26.84 James but 01:26.84 Frank Because I'm bad at anniversary. So you're just like, oh, God, did I forget to get a card for iCircuit? 01:34.04 Frank Not quite years. 01:34.68 James Wow. 01:36.32 Frank is when i released it. So years. coming It'll years in July. 01:40.70 James 16 years. Wow. So we we missed the 15th year anniversary of iStory. 01:46.29 Frank I missed it. I should have done, i still kick myself. I should have done something at the 10, the 15. We'll have to do it at the 20 now. Make some stickers, make some hats, whatever. Who cares? Just celebrate the fact. like Software that it's, you know, it's, I don't want to pat myself on the back too much, but um things don't last for five years, let alone 10 years, level alone 15 years. I'm, 02:12.27 James It's very impressive when you think about it. 02:12.41 Frank so um 02:13.87 James Yes. I mean, much software comes and goes, right? There's some things that canonical in my mind, right? Like Visual Studio, you know, it's like 25 years old. VS Code's 10 years old, right? 02:25.34 James still get older than VS Code. 02:25.76 Frank Yeah. 02:26.72 James um You know, obviously like just normal things I'm using, but there now with the world of apps and and generation, like I have apps that I've been now maintaining for five, six, seven, eight, nine years, which is kind of crazy to think about. 02:38.54 James Like this the cycling app, the the skiing app that I have. some Some other apps have come and gone and that's okay. But yeah, iCircuit, which was out there originally. And um the funny part is that you should have crept the price up to like above $15. 02:48.15 Frank yeah 02:52.53 James So that way for the 15 year anniversary, you could have reduced it for anniversary sale. 02:56.06 Frank Every year it just goes up a dollar. Yeah, yeah. 02:58.33 James Yeah, so you got to get to above 20. 02:59.54 Frank Tempting. 03:00.82 James But I want to talk about iCircuit because you've been shipping a lot of app updates across the board. And I wanted to talk about what it means to be shipping, maintaining, supporting. 03:15.29 James This is your big app. 03:15.69 Frank Mm-hmm. 03:16.69 James Now you have many apps, right? When you go and you look at the Kruger Systems Inc., you know we can see that we have the Pulpulary Distance, the Ferry Amigo, the Continuous, the Calca, the Math Agility, the MoCast, the iCircuit, 3D, the HoloViz, the Night Vision Goggles. 03:32.07 James He's got the Clean Room. He's got all this stuff, right? you' got all the apps. And those are just apps that are still on the App Store. Now you do a pretty good job of putting them and keeping them math agility has been on there since since like ios 2 um i think um but yeah 03:44.58 Frank There's a bunch that aren't on there anymore. I still see. Because Apple ah that doesn't seem to be a way to hide your old app. So every time I log into Apple, there's a little bit of a graveyard there. I'm like, oh, yeah, those ideas. 03:54.39 James o the the graveyard is the one that still have the placeholder icons 03:55.71 Frank Ooh. 04:01.40 James Yeah, it's like it's like, that means like that the placeholder icons mean that you had the idea, you registered the app i idea ID, you were ready, just never uploaded a ah build actually to like get it through. 04:01.97 Frank Those are the words. Like a knife to the heart. Oh, 04:12.96 Frank I have way too many of those. 04:14.23 James Everybody does. 04:14.93 Frank That's embarrassing. 04:15.77 James yeah 04:15.93 Frank Okay. 04:17.37 James um ah But I want to talk about it because iCircuit, you've said, and you know been quoted before, at least to me, like you know it's it's one of the main ways that you make income right as an independent app developer. 04:28.34 Frank Yeah. 04:29.31 James And now in this age of AI, we're sitting here on February 28th, the last few hours that you can burn through credits um and and drain them. And as I assume you update a bunch of apps, but I want to kind of just talk about a little bit of how iCircuit got there. 04:42.96 James i know we've probably done this podcast before, but i relive the memories. 04:45.18 Frank Oh, yeah. 04:46.94 James where it's been in that squishy middle part as you started develop other applications, right? And you started to fan things out. And then where is it at now and going forward in the age of ai And additionally, how do you balance supporting these other apps and also at the same time, 05:04.31 James How worried do you get when you have like one main money maker, right? Which is the same worry because when you think about it, I have one main career at my job at Microsoft. I have one, that's it. 05:14.80 Frank Yeah. 05:15.94 James It's the same. You have many apps, right? They're all their own little, little apps, you know, app, little, little money makers. 05:20.41 Frank Yeah. 05:21.59 James But then there's a, there's a big, big, ah big one, right? So it's the same balance, right? 05:25.58 Frank Yeah. 05:26.95 James That that we're all playing and side hustles, main hustles. iCircuit is the main hustle. iCircuit 3D continuous, the side hustles, if you will, for Kruger Systems Inc. So i want to talk about that. So let's start at the beginning of iCircuit and let's talk about the lineage of of that and then I'll break it down. 05:42.89 James So i've've I've quoted in my mind, I think, where I want to take this story, but I'll let you go on. 05:46.49 Frank Okay. 05:46.81 James The origin story of iCircuit in the days when.NET just maybe started to run on iOS. 05:55.16 Frank ah um the The origin story is actually, i've it's kind of clear in my head because it was an important time. um The iPad had just come out and the iPhone had been out for a little while and we were making some apps for it and things like that, but then the iPad came out. And remember thinking this is a cool device. Like people take it for granted now, especially if you grew up with them. But imagine a world where there wasn't an iPad and now there was an iPad. 06:25.40 Frank It was, you know, we we had those terrible netbook things, those tiny laptops, and those were all atrocious. 06:25.51 James Yep. 06:32.36 Frank And here was this beautiful high res. It was low res at the time, but it was high res to us. And it was this cool little device you got. But I remember I even stood in line for I got a cool t-shirt for standing in that line. Heady days, heady days. 06:50.23 Frank um But I remember really getting the device and thinking, oh wow, there's really not that many great apps for it. Here's a device that um is different from the iPhone because it's big enough where you can actually use it as a computing device, as a tool for creating things. 07:08.12 Frank The iPhone was very much a content consumption device, whereas the iPad in my mind was like, oh, here's like Here's a better laptop or here's a different kind of laptop. 07:19.45 James Thank 07:19.58 Frank Here's like a real computer. um But I was disappointed. There just weren't that many professional apps on it. And so I had it in my mind. I knew at that point that I was going to start creating some kind of more content creation type apps. That's what the device needed. and I thought, oh, my skills have gotten up good enough at this point where I can actually start diving into that stuff. But iCircuit wasn't the first thing I wrote for. The first thing I wrote for it was an RSS reader with a cool Star Trek user interface. 07:51.49 Frank Elkar's reader. It was beautiful until I got sued into Oblivion. um But that was the first time i actually wrote an app that made me money. So i finally, after two years of working apps for mobile devices, and I really wasn't profitable at all, let alone breaking even or anything like that, finally I written one app that was actually making some money, Elkar's Reader, and that gave me the confidence to try to build a bigger app. At that point, I concluded um small apps don't pay the bills. 08:26.74 Frank You got to build something bigger. So was this confluence of finally I had a small break. um There's a cool new device out there. And I knew what direction I wanted to take it with a bigger app, more full feature, where you can actually do creation type stuff. um The circuit part, I don't know. I'm an electrical engineer. I always wanted a better circuit app out there. So it's it's hard for me to remember the exact origin of why I decided on that app in particular. But I can tell you more about the environment as and in the context for all that. 08:59.96 Frank And that that's where I was in june July of 2010. was like, i got to write a big, big, cool app for this iPad. 09:08.09 James ah think it's unique too because you're right like even to this day i don't really make ipad apps because i mean most of my apps just work on ipad but they're not like optimized right they're just the same thing a lot of mine are more consumption or things that we're doing um every single day so i always focus i ios first i remember those early days of ipad and android tablets that were coming out and windows 8 and these different tablet form factors coming out it really was creation right you're drawing you had different inputs right it was big a lot of and then the The content creation ended up being mostly like games. 09:39.86 James Like it just was mostly games that were like really big on it And people were like, oh, you know, Fruit Ninja, right? 09:41.02 Frank thank Yeah. 09:45.42 James Just like got bigger screen for Fruit Ninja. So i think that was really unique. 09:47.70 Frank but 09:48.62 James but And I think also at this time, like I believe the app store was in the state where it was free or paid apps. And that was it. I don't think, were there even in-app purchase? 09:58.85 Frank That's it? 10:00.05 James There was no subscriptions, no in-app purchases, nothing. 10:00.61 Frank No? Nope. It's a better world, honestly. People weren't even doing that thing where it's like, it's freemium, you know, go create an account. And because there were no in-app purchases, the freemium model really wasn't flying and it especially wasn't the current model of free, but now you have to create an account and subscribe to a service. That model hadn't taken off either. So but they were the beautiful, wonderful days before the subscription world hit us. 10:31.48 Frank Yeah. 10:31.93 James Yeah. 10:32.12 Frank ah Which made it better. Like, when iCircuit released, um it was more expensive than it is today. I released it. You had to pay $20, $20 for app. twenty dollars for an app And I got a lot of pushback from people, but it was my philosophy back then, and it kind of still is today, that I'd rather build a big app that's expensive than support a million apps that are $2 a piece. And then my I only make 50 cents per purchase on them. I'd rather ask for a bigger price and focus my attention on one big thing and give it all my effort. 11:08.54 James We were talking Heather and I were just on and like, we were just talking about this. because I'm building a lot of apps and shipping on apps like tiny clips, right? Which is my new favorite side project. And, um, Jeremy fake on Twitter was like, Hey, like, you know, I'm, I think I'm just going to switch from, um, snag it, which is from techsmith who makes Camtasia, which is software I use to using tiny clips is like, I just want this one feature and I was actually developing it, which is funny. 11:31.22 Frank no 11:36.25 James And, uh, so Heather, we're in the sun she's like, oh, so and I was up late last night, like working on code and grinding on code. So well how many of these apps are making you money? And I was like, uh, none of the ones that I'm working on currently. 11:48.01 James I was like the cycling app. I was like, that's the one that really only makes me any money. 11:50.81 Frank Is it? Yeah. 11:52.45 James mean, my YouTube account that I'm not making any videos for right now because i'm too busy coding. Um, and, uh, 11:56.66 Frank Yeah. Just got to turn that webcam on, buddy. 12:00.47 James Yeah. And then I told her, i was like, well, maybe I'm you' adding a pro mode to, going to add a pro mode to tiny clips as I, as I'm well known doing pro modes. And, and, cause I told her about this, um, uh, um, I told her about this thing and she's like, oh, so I was like, that's $40 a year to get snag it or whatever. 12:09.15 Frank Mm-hmm. 12:18.87 James She's wow. And she's like, well, how much are you going to charge for yours? 12:19.61 Frank Yeah. 12:20.66 James I was like $5 one time purchase. And she was like, 12:27.24 James It's just like, I think you're doing it wrong. Right. And I was like, probably. Yeah. 12:31.32 Frank I don't think you're going to buy a house at $5 per purchase. 12:31.35 James Yeah. 12:34.28 Frank No. The economics are kind of rough. there very There aren't many of us in the world who survive, who make a living off of the app store. 12:44.86 Frank Most people work for a big company or work for a startup or something with some kind of financing and they're collecting a salary and they're writing apps for iOS and making the money through a salary. 12:57.02 Frank I'm in the wonderful and yet scary position of directly selling to customers. And so I actually have to charge for these things. I have to put a bigger price on it than $5 per year. 13:10.36 Frank That just won't do it, James. like Because every customer is support too. 13:13.14 James So, yeah. 13:15.60 Frank That's what I think about. and you know but I've had this app for sale for 15 plus years. There's people who paid $20 in 2010 who have gotten updates couple times a year for 15 without paying a dollar more. And that's fine. But it means I have to constantly find new customers for it. And i have to keep charging for it. 13:39.86 James Yeah, that is is a hard model, especially now. It's like it's would almost be nearly impossible to make it free. Right. And we've talked about changing that. I mean, you could and then you're a different skew and then doing something funky and then to be all weird. 13:50.33 Frank Yeah. Um. 13:53.62 James It just gets it's it's kind of this weird boat. But you put so you you put out I circuit into the world and it's an overnight success. Frank retires. He's like, is good? like what's What's the status for like that first kind of year of I circuit out in the world? 14:06.14 Frank um It was an overnight success. Yeah, um I'm pretty lucky there. I remember I actually we went out camping because this is back when app reviews would take two weeks. 14:17.73 Frank You never knew when they were actually going to approve your app and there was no manual release. 14:18.33 James Yeah. 14:21.25 Frank It came out when it came out. So I happened to be out camping and I remember I would stand in the middle of a river trying to get like cell phone connection, like waving my so iPhone in the air in the middle of a river trying to like, did I get any sales or is is the app even out there? 14:36.06 Frank and then did I get any sales? 14:36.47 James yeah 14:38.84 Frank And then um the first day it actually got sales. The sales were 10 times higher than my biggest day ever on the app store. And... um It's just one of those things. and And there was no marketing or anything. And so it it kind of taught me a bad lesson. But i' I'll pass on that bad lesson to everyone so they can learn the same bad lesson. 15:03.77 Frank um If your app is good, it will find its own audience kind of automatically. um If you have to market it completely and you have to beg people to come find it and you have to grind away at every customer, then maybe the app isn't so great. But if the app is at least unique or doing something that wasn't available before, you know, it was the only circuit simulation app on the on the whole operating system at the time. So it had that wonderful, unique market position. 15:35.70 Frank um it just It just made money right away without me doing basically anything other than writing the app. And so the terrible lesson I learned was if the app is good, it just makes money. 15:46.56 Frank um that's a bad lesson because marketing is important and marketing is useful if people the app store was so much smaller back then now the app store is huge people don't browse the app store the way they used to you know like you got this ipad it came with 10 apps you're like well i need more apps so you go to the app store and you look around to see what there is um i don't think that's exactly how people do this anymore now people kind of know what apps they want to get for it their friends are talking about it they see it on whatever on the social medias or whatever so i don't think that that lesson exactly um is the correct lesson to learn but there's some truth to it if your app is good it will sell that's at some level at least without any marketing 16:07.78 James Yeah. 16:34.17 James Yeah, i I definitely, that resonates a lot with me. And I think obviously, you know, when we're both getting started, it was a very different app store, not just how people browse, but just the number of apps that were out there. 16:41.73 Frank Yeah. 16:44.06 James Like even five years ago when I was putting out um the My Cadence application, ah the cycling app, there was only like one other competitor. There was a few other like uh, bigger fitness companies, but they kind of did a bunch of things. 16:57.63 James There's only one other, competitor and I didn't like their app. So I built my own, which is a good way of doing it. 17:03.19 Frank yeah 17:03.27 James But then my app kind of, I think, you know, being free and taking off and all this other stuff. And obviously with a pro mode and stuff was, that was helpful, which didn't, didn't gate any features. it it kind of took off to some, you know success. 17:15.93 James But now in this world, right? Like Tim Hewer, uh, you know, he just sent me a test flight, a test flight link. He's like, look what I made last night. And it's just basically like my app, but like with more features. 17:25.55 Frank Ouch. 17:25.77 James Right. Um, I still think mine's better. 17:27.26 Frank yeah Hurts. Uh-huh. 17:29.15 James ah but you know, uh, mine's handcrafted. I wrote every, uh, it's artisanal, it's artisanally crafted. 17:33.82 Frank Artisanal. Yeah. 17:37.30 James Um, But, you know, it's just a different landscape. There's a lot of apps that are going out there. So you think you have this great privilege, not just new devices, but early app store, great idea, unique market fit. 17:47.93 James And then you you and I have talked about in the past, I'm sure we've discussed on the pod, but also it's a great educational spin too for circuit simulation. 17:48.35 Frank Mm-hmm. 17:54.45 James And I know that that's also a big play where things come in good. And I think then word of mouth comes in, like you were an electrical engineer and guess what? There's a lot more electrical engineers and people learning electrical engineering 18:01.17 Frank Yeah. 18:05.02 James So bingo bango, you have an ideal market fit of new electrical engineers every single year, basically, that are candidates. 18:06.61 Frank Yeah. 18:12.82 Frank Yeah, absolutely. Thank you all students who buy it it every September. I really appreciate that. um I was really lucky those first years too. Apple put it as a demo app on the iPads in the store. 18:26.90 Frank So people saw it in the store. 18:27.20 James Mm hmm. 18:28.42 Frank That was great for sales. um And then it even got featured on Apple's business website where they were like, hey, look, the iPad can be used for business apps. And here's this business app. I started, I'm like, well, it's not really a business app, but don't leave it there. Leave it there. Don't don't take it down. I think Apple realized also that like you know they needed more productivity apps, more content creation type apps and that kind of stuff. So i was lucky to get all those. 18:54.33 Frank But going back to your point from earlier, um 19:01.08 Frank And I didn't have any faith that like I could just retire at that point because you know it's it's making good money. But i I just assume next month it's going to be making zero dollars. 19:13.85 Frank So even even on its first month of sales, which were excellent and I'm getting all these promotions and all that kind of stuff. I still have this constant nagging feeling in the back of my head. I continue to have it to this day of it can go away anytime. Anything can happen and those sales can go to zero and I'm back to, well, now I have a mortgage. I used to have rent. Now I have a mortgage to pay for and all this and food. i still like to eat food from time to time. So there was always this nagging thing that I need to keep working and keep finding other apps and And so I would say that balancing act um has probably been the hardest one of deciding how much my time do I devote to maintenance versus seeking out the next app. 20:00.82 Frank And I'd say in my career, I've probably gotten that balance completely wrong, to be thoroughly honest. um I think I allowed doubts and all that stuff For too many years, the doubt that that money could go away at any time really drive me to keep looking for more and more apps. Whereas i probably could have spent at least 10 of those years just doing maintenance on iCircuit and kind of perfecting it and getting it to be the greatest app ever. 20:29.91 Frank I still think it's a good app. But it it hasn't, you know, I've spent a lot of time working on other apps to to to feed that little devil on the back of my head yelling at me that the app can go away anytime. 20:43.60 James Well, it's like any job, right? You're in the job and it's been 15 years, you know, and for 15 of those years, you have to work and maintain, right? Maintenance is one of the hardest things. You've been answering questions. You've been trying to add new features. You've been trying to evolve it. 20:57.62 James So those, those 14 years, those 15 years between release and let's say six months ago, um pre, you know, cranking on those tokens, um, you know, and.NET 10 as well, you know, I think like, 21:08.02 Frank Yeah. 21:11.00 James you you had many apps and you've been doing this podcast for like ever, right? So um many of those years have also been spent podcasting and talking about many of the things that go into the app or different things that you're thinking about putting into different applications. 21:15.70 Frank okay 21:19.67 Frank yeah 21:25.02 James So You think you got the balance wrong. Do you think you got the balance wrong because like there wasn't another. Like success of that status, like you've had successful other apps, right? 21:37.03 James So I don't want to diminish the hard work that you've had. 21:37.24 Frank Thank you. 21:39.23 James i don't want anyone to think that because, because I've purchased many of your apps and I've demoed many of your apps on stage at keynotes, like continuous and how cool this is. 21:43.83 Frank Thank you. 21:47.68 James They're very, um, it's, it's very spectacular. And you and I worked on. You mostly just worked on some really cool other contract apps and things like that that we you know you and I know about. 21:58.16 James um But um in that, like, if you could go back and do it, like do you think you would change those 14 years? Or do you think that that the joy from those other app creations actually negate that sort of possibility of perfecting and polishing eye circuit to be the perfect thing because that balance is hard. 22:22.94 Frank Yeah, okay. yeah You're right. ah like um i'll I'll take Calca as an example because Calca has a wonderful fan base. I'm very proud of the app. A lot of people find it useful. It just doesn't make me as much money as iCircuit. It's really hard. It's like a ah critical success, but not necessarily a monetary success. It's not paying the bills. And so it's really hard. I'm proud of that app. I'm super proud of Continuous, iCircuit3D, all the apps. I'm very proud of them. 22:54.33 Frank I think where I say the balance I got wrong is the anxiety and the stress, honestly. I wish I could go back to 2010, Frank, and just be like, chill out. 23:06.65 Frank um The app is selling today. It's going to be selling tomorrow and tomorrow's tomorrow's tomorrow. Just relax, focus on features, focus on quality. You don't have to always be um pushing yourself to find the next thing. So there's an I could have I could have been a lot more stress free, a lot less anxiety and that kind of stuff. 23:31.22 Frank But you're right. it's it's See, it's a hard balance because I am very proud of the other apps I've created. And that that hunger, that striving for the next thing, obviously keeps me paying attention and keeps me trying new ideas and things like that. That's good. 23:48.57 Frank um or I think it is, it's it's it's the, I could have been more relaxed and i could have like, there there were good six month to a year periods where to be blunt, I just wasn't maintaining iCircuit. You know, it would fall behind for a year and then Apple would come out with a new OS. I'm like, oh geez, now I do actually have to update this thing. And so I'll work on it for a few months and then get it cleaned up and polish it and reship it, that kind of thing. 24:16.44 Frank um I think I could have just had the more relaxed lifestyle of, you know, sitting in airports and just hammering away at more features on I-circuit rather than striving. Yeah, it's it's it's it's hindsight's 20-20, but even then it's not really, is it? It's it's not 20-20. Yeah, I could have been more stress-free, but then I wouldn't have had things like clean room and all those, yeah Tricky. 24:41.91 James Yeah. And I do think that one thing that I think about of ah these experiments, right, and experiments that become real applications that that they do let you tinker with the new ideas, right? And let you tinker with different new capabilities that maybe then apply that may have a different ah application later on to to your main application i think of even in this case we've been playing a lot with like apple intelligence and like foundry and open ai like doing different things with ai like oh does that make some sense or can we as we adopt these new capabilities in it oh or could we adopt some new um 3d rendering just something like that you know what i mean like there's these different capabilities um 25:04.77 Frank Yeah. 25:24.73 James that we have in the app and then just new operating system features as well. So playing with those, you know, not necessarily toy apps, but some are toys and some become real app apps, right? 25:36.22 James Definitely enable you to, for all intents and purposes, come up with unique ideas that maybe go back into your main app that you meet you wouldn't if you're just stuck, because sometimes when you are grinding on the legacy application, 25:50.58 James um which is fine to think about, just legacy apps. I mean, it's 15 years old, so it's definitely a legacy, right? But it's it's yeah legacy code base, but it's been modernized over the years. But you know in the world of apps, like you continue to evolve because Apple and Google force you to, right? 26:05.22 James They continue to force you to upgrade and and and change things as well. 26:05.90 Frank Yeah. 26:09.94 James um But I think that like that gives you the opportunity, right? Because if you weren't experimenting, then you just know you just really wouldn't 26:20.98 Frank Yeah, I mean... 26:21.27 James the The creativity juice has to come from somewhere, right? And just being like, what else can I put in this application? Right. you know, what else could I do? 26:27.26 Frank Yeah. 26:29.74 Frank It's true. the The one that keeps coming to my mind is um Continuous, my IDE. um That had probably one of the best reactive code editors I've ever written. 26:40.08 Frank it's still does, obviously. um had a full-blown debugger built into it. A debugger that works both at the UI level and can communicate with a PC. 26:51.62 Frank I don't actually expose that in the app, but I wrote that for reasons. And had never written a full-blown production quality debugger before. So, you know, iCircuit actually has um microcontroller support in it. 27:06.18 Frank You can program Arduinos in it and PIC controllers in it. 27:10.00 James you 27:10.33 Frank And the other day I'm like, you know, the one thing missing from this is a debugger. You know, it's, you can write code in it, but it's not the greatest debugging code environment. I'm like, oh, I know how to write a debugger. I've literally done it before. I know all the hangups. I know the gotchas. I know how to write a simple one. I know how to write a complicated one. I know how to do all those. So yeah, the debugger, 27:34.14 Frank As a developer, I've definitely grown over time, and that gives you confidence to fill in all those other little bits. And yeah, I do hope to add AI features to it. So these last nine years of me obsessing over AI and machine learning, I'm definitely applying that stuff to iCircuit also. So you're right. It's it's just saying it's it's it's too bad you can't go back to your old self and be like, chill out. 28:01.76 Frank Just chill out, dude. It's going to be okay. Mm-hmm. 28:05.53 James Yeah, I think that's as interesting. Yeah, the The challenge always becomes you know, balance there's just balance, right? at the end At the end of the day, right? And I think had, you know, how how any job is, right? When there's these additional pressures or if you were to see these big dips, right? You probably would have adjusted course, right? As far as as the application. Had there been times in those 15 years where you actually did have to course correct? You're like, oh, I'm not giving it enough attention. I am seeing a dip but that you were worried because your attention wasn't there. 28:42.01 James and Were there any moments like that that you learned from? 28:45.05 Frank Plenty, plenty. um i Yeah, it's hard for me to like give an exact time frame or something like that. But ah when I was mentioning there was like a good, probably, there was probably a ah period, I forget when, but maybe a ah year I went without doing proper work on the app. 29:04.41 Frank And that was when I had to take a step back and be like, this is wrong. This is the wrong balance right here. because this app is making me the money I'm living off of, and it deserves my attention. The users deserve my attention. 29:19.13 Frank um It's a little bit foolish of me not to be giving it my attention. So that was a little bit of a wake-up moment for me, where I had to get my act together. Like, I remember when I started working on this, like, GitHub wasn't really a thing. 29:35.10 Frank um CICD was not a thing. And, like... I had to modernize basically the whole code base and the pipeline and all that stuff to get it to the point where I could actually do proper releases all the time, where I felt comfortable doing more frequent releases and get the quality up and actually have some kind of unit test running and that kind of thing, where I'm like, this app deserves my attention, and I need to rebalance everything. 30:07.82 Frank it's still important for me to be building new apps and searching learning new things and looking for that next to big app and all that kind of stuff for sure 100 but those have to take a secondary seat to the thing that's actually making me money turns out priorities you know a learning priorities i think that's it um 30:25.32 James Yeah. 30:30.60 Frank iCircuit 3D, which I'm very proud of. I made a lot of corrections to the iCircuit engine itself. It's not just a prettier UI on the same engine. There were things I was frustrated with in the old engine. 30:44.82 Frank And I said, OK, I'm going to build this thing, iCircuit 3D, and I'm going to make a lot of those fixes. Well, iCircuit 3D, lovely app. Love the app. I love everyone who's ever paid for it. But it just doesn't make me the same money as iCircuit 1. 30:58.90 Frank And so I thought, well, it's foolish to have all these improvements to the engine in an app that's not making me all the money. 31:05.71 James Yeah. yeah 31:06.90 Frank So I then took time to backport a lot of those fixes back into the older engine to make sure that I was getting the same benefits everywhere, which makes perfect common sense if you're like, a program manager and all that stuff. 31:21.94 Frank But when you're in the heat of the moment, like you're like, oh, no, it's just a version two and it's going to be an improvement on it. Well, version one is still selling well and people are still using it and they still prefer it over the 3D version because it's a more classical style for how circuits are drawn and all that kind of stuff. 31:36.86 Frank ah So it would behoove me to improve that engine also. It it sounds so obvious in retrospect, but you're in my shoes, like it's it's not the most obvious thing. 31:49.87 James Yeah. No, I think it's it's a good ah good lesson learned. And i I feel like you, we we see this like sometimes in video games, right? Like we see, especially modern day video games where there might be a sequel that comes out, but actually like the prequel continues to sell or like they'll do re-releases and remasters and these things or even, ah yeah, Oblivion. 32:10.18 Frank Oblivion. Oblivion Remastered. They fix things. 32:12.95 James You know, a great day change. 32:14.06 Frank They change things in that. you know It's not Oblivion. I played original Oblivion. That is not Oblivion. It's better. 32:20.60 James Yeah. And I was just watching a digital found review of the latest switch. They did a switch to there's a definitive edition patch 1.2 came out. And what's really cool is like, you know, they're these, these even just performance and patch and modernization efforts can go a long way just for your users, but also for kind of publicity of of the application when it is substantial. You know, good example is like in this 1.2 patch of oblivion, elder scroll, like is substantially upgraded. 32:51.40 James Like they have a 60 FPS mode, a 30 FPS mode. They fix like a bunch of latency, they put to fix a bunch of image, visual stuff. And just like, like this is the definitive way to play it on switch or switch to ah in general. 33:02.74 James So like it gets a brush breath of fresh air, right? And people might go now just revisit, but now actually go and purchase it. It might've been waiting for for that, for example. um Or they might be using. 33:12.82 Frank Wait, it's available for Switch? Like the Switch I have? 33:15.00 James Yeah, they're. 33:15.70 Frank I can play Oblivion on that? 33:17.50 James Yeah, you can. Yeah. 33:18.36 Frank Now you tell me, James. Now you tell me. 33:19.54 James Yeah. 33:20.28 Frank My god. 33:20.57 James Well, sorry. Yeah. I wouldn't say it's probably like the best approach, but it definitely is there and it will definitely work well for you just fine. I think it's probably, I think that one's capped at like 30 FPS, but and in the, yeah, but it's good. 33:32.11 Frank It's fine. 33:33.50 James It's it's still a blue. It's a, you know, but you know, talking about legacy software, that game is also extremely old too. And like, they keep, you know, bringing it back. So I think that there's a lot to be learned in it. And I would say this is like, the more things I build in general, 33:49.30 James And the newer things that I use, I'm immediately applying those core principles to older applications and to newer applications that I'm building too. 33:59.77 Frank Yeah. 33:59.98 James A great example is um the weight tracking app where and the podcast app that you you pushed me to learn Swift data and CloudKit. 34:13.14 Frank By version 5, we had it right. 34:13.34 James which We had it right. And now... you know, once I learned those approaches, now I'm actually able to apply that to older software and newer software, like so and and things that I'm building that are out there. 34:23.83 Frank Yeah. 34:27.46 James So it gives you that as a sort of breath of fresh air to add new new things and and make things unique. And, you know just building a new application now. And it's like, yeah oh, i immediately not just, yeah, just do what I did here. 34:37.02 Frank Yeah. 34:37.07 James Right. and It's good to go. um So we're in this intro. 34:39.48 Frank and And I was just going to say, like you really grow as a developer too. 34:40.33 James Yeah, go ahead. 34:44.83 Frank like I don't know what this AI is going to ring in, but I'm a different programmer than I was 15 years ago. 15 years ago, I thought I was a pretty good programmer, but there's bits of that code I look and I'm just like, 34:56.21 Frank what were you thinking? And it was just decisions I have to live with for just like, and and we're not talking about tabs versus spaces because man, I was random on that approach. 35:06.41 Frank I mean, architecture, like threading models and, who's responsible for rendering. 35:06.49 James but 35:13.02 Frank you know I was reading a review for the app and they're like, this thing's burning up my CPU. My iPhone's on fire. So I spent a day like testing five different rendering engines for it to see which one's most efficient because phones change and libraries change and all that kind of stuff. 35:30.84 Frank And during that, I'm just like, what idiot wrote this code? And he's like, It's trying to tear it up. I'm just trying to swap out the renderer for a different renderer. It was all supposed to be nicely factored. In my head, it's all nicely factored. It was not nicely factored, James. My God, but what should have been like an easy, oh, I'll just try this rendering engine. I'll just try that rendering engine. Ended up being two weeks of work of just... 35:56.18 Frank A, re-plumb the code so I could swap out the engines and then try out different rendering engines to see which ones were most efficient and that kind of thing. 36:01.20 James Yeah. 36:05.98 Frank So I just wanted to put that out there. like The other thing with legacy apps is, my god, you change as a developer. And now with AIs, the AI is, I had to write an agent's MD file for the first time for iCircuit because you know new apps today, i start with the agent's MD file. 36:22.81 Frank old apps, I'm just like, gosh, what do I even put in here? I'm just like, sorry, I just start with apologies to the AI. You're gonna see a lot of scary things in here. It's 15 years, don't judge me. That's like my opening sentence to the AI. 36:37.53 James I love it. Well, let's talk about iCircuit in the day and age of AI, where you're building more apps than ever, more than me probably at this point, shipping more app updates than ever. like How are you balancing iCircuit? I think with the interesting part that we talked about with with AI and AI coding, especially as it's evolved so much in the last you know year, especially the last few months with new models have gotten so good. 36:59.61 James is it gives you the capabilities to now you know write more code or write more applications and have more ideas that come to life. 37:05.46 Frank Yeah. 37:06.70 James But with that also is the trade off that now you're either maintaining or you know playing around with more things, although they can be generated faster than ever. 37:11.53 Frank Yeah. 37:13.71 James Right. So does it mean, you know, my, my, am my, my GitHub, uh, you know, is, is up into the right. So that's good. But, you know, I think one thing that I think about is like, how does that impacted like the legacy application? 37:20.73 Frank yeah 37:26.56 James A lot of people talk about, Oh, well, AI is great. And you know, Greenfield apps, right. And they're brand new, just go to town and create something from scratch. But Brownfield, this application is there. There's choices made. 37:37.78 James There's, there's, you know, lots of things like how has it either helped? 37:38.76 Frank Yeah. 37:43.41 James Has it not helped? Are you ignoring things? Like what's the, you know, sort of last few months or last six months or so, or even last 28 days of February been like in, in the, in the days of, uh, 37:51.86 Frank Mm-hmm. 37:57.94 Frank Yeah. 37:59.45 James Yeah, I started. 37:59.70 Frank You know, i I actually want to take that from a few different approaches because if you're asking how has it helped or not helped. 38:00.39 James Yeah. 38:08.63 Frank That question almost doesn't matter because what's happened is AI has changed how I program full stop. So I don't anymore think like, oh, here's a feature I need to go implement, time to go dig through the code and all that kind of stuff. If there's a new thing I want to change in the code, I go to the AI, I put it in plan mode, and I write out three or four paragraphs of here's what I want to accomplish. 38:36.18 Frank Please go through and analyze my code, and let's have a discussion about this right now. so I don't even do what I used to do of like just jump in the code or anything like that. It's AI has changed how I work and i think for the better it's still too many too early days to tell you know it'll be in five ten years we can all reflect back and think about how this is but right now the idea of like just jumping into the code and just changing a few things seems so primitive and barbaric like I didn't i didn't have a discussion about it. I didn't plan it out. i didn't think it through. i didn't have it analyze all the things. So like you know if there's something small, like there's a funny little rendering, no, even that one I would have a discussion. 39:22.78 Frank i So let's just say it's changed how I program. So I always start in that position now. I would say ai has definitely helped. And I disagree, and I think I said this on the podcast before, that whole greenfield versus, and I hate this word, brownfield. That's a terrible word. um I disagree because I think that AIs are better when they have a lot of code that they can reference and an established architecture. 39:53.22 Frank I am personally the most horrified when the AI starts creating its own architecture from some idiotic React pattern it saw on the web or something like that, or it just runs off and comes with some data model or some serialization model. 40:07.42 James Thank you. 40:09.60 Frank I'm like, no, those are all baked into the app, and those are not going to change ever because i have thousands and thousands of users over 15 years. We are not breaking compatibility on anything. 40:20.70 Frank I think that's my second statement. in agents md like backwards compatibility is the primary consideration for any changes to this app um so i would say brownfield better for the ais because it can see my coding style warts and all and it can see my architecture and it knows to work within the bounds of that architecture So now if I go up to and I say, hey, I want a new component that emulates um this chip or this component, it's wonderful. 40:52.31 Frank It can go on the internet. It can look up that component, download a data sheet, get the specs for it. Then we'll have a little discussion. Do we want a behavioral model or do we want to model it actually electronically? I'll usually say behavioral. We'll decide what the parameters are for it. We'll get it really nailed down. And then I'm just like, go, baby, go. 41:12.38 Frank ah So, ah i i think um I'm still not a huge fan of the PR approach of writing an issue and then assigning it to co-pilot. I was big on that in the early days. But now i I much prefer to have a discussion about implementation details first and then I let it run off. um So, okay, that was a lot of words. I think I've embraced AI. Obviously, on this podcast, we talk about it a lot. 41:42.42 Frank And it's changed how I work. And I approach all things from that perspective now. 41:48.31 James Well, I think it's a good, you know, you, a lot of people see people running and we talked about like crazy Ralph loops and like this, and it's just running and just doing these things. We have squads of people, we have all this stuff. 42:00.50 James And like, I think that's fine. They can do it. Like I can go off and have fleets of things and do stuff and all this stuff, but like you may not want to do it on an eye circuit. 42:03.46 Frank I guess. Yeah. Mm-hmm. 42:08.78 James Right. And I feel like what's fascinating about just learning how you're using with eye circuit is even for little bugs. It's like you are, you know inquiring information, you're gathering information, you're things that you would do manually in the past, verifying information you're not able to do that in much less time and then get that into the application and and faster time in general and i agree with you one thing that i i did i was we we're recently on this trip to korea and if you look at my ah github status my green bubbles you can see that even though i only brought a phone with me had no computer or anything like that my green bubbles continued because i have the github mobile app and i 42:51.83 James assign things to agents. I assign issues to it. I am shipping stuff. I have CI CD piping going. So when we're on a train to boost on, you know, as long as there's not zombies coming at me, you know, I'm able to get new releases, uh, you know, push to me to test flight automatically. 43:02.14 Frank hu 43:05.75 James And I was doing that, uh, on the way, I actually renamed the trim tally way, way app. Cause I was like, I think this the app name is bad. And Heather, I was like, Heather, what should I name And she's like, just name it way. 43:17.21 James And I was like, that's probably a better name. 43:17.80 Frank Ah. 43:18.69 James So now it's called way. It's getting an upgrade update in the app store because we have a favorite app that we use called been like been B E N like a been somewhere. and all you do is track where you go in the world. 43:28.73 Frank Ah. 43:30.86 James it's called been like i've been there. Um, 43:32.50 Frank Got it. 43:33.43 James So keep it simple, right? So um so now it's called Way. 43:35.80 Frank Word. 43:36.43 James But even doing that, you yeah. 43:37.16 Frank a Excel. Yeah. 43:38.83 James So that is substantial updates and doing stuff and and it's there. 43:41.61 Frank Mm-hmm. Mm-hmm. 43:42.55 James and But one of the things I do is I go into the mobile app and I select a repo and then I inquire Copilot from there and it has the context of the repo and I say, I want to add this new feature. 43:54.84 James I want to fix this new bug. I would like basically to work on this if new feature, this new thing that I found, let's draft it out, ask me questions. And just like you're inside VS Code or the CLI, it'll ask you questions. And then you can say, okay, implement it. 44:08.86 James And it'll start working on an open a PR right away. 44:09.30 Frank Yeah. 44:11.45 James So it doesn't even create an issue anymore. It's just like, cool, I'll start working on it and go to town like ah an agent task, which is pretty cool. So I think like that's um another great way of working on it in in general. So would you say that the apps like... 44:26.71 James from your perspective, like in the last year, are you feeling better in the direction that it's going? Do you feel like it is heading in the right place, like that you've, you know, have a long term future for it? Like, are you going to reinvent it with all of the, you know, AI craziness that's happening? Or like, well what's your thoughts on iCircuit over the next you know year? 44:48.60 Frank um that's funny uh no i'm not gonna reinvent the app but um it is 2026 the app definitely needs ai features itself so uh keep using ai to work on it because yeah that's changed how i work and i do love the asynchronous part So it's not so much like I'm not writing code from an airport, but it's more like I can work on two bugs at a time instead of one bug at a time. i can have something churning in the background, things like that. 45:19.77 Frank um It's a sensitive subject, the second part. So um i do ah app plan on adding AI features to iCircuit and iCircuit 3D itself. 45:31.00 Frank And then there's a small part of me that wants a third iCircuit, iCircuit that is a little bit of a redesign, maybe a kind of ground up reworking for, like, what would this app be in 2026? In the same way that IDEs are going through a revolution right now, we're still kind of in the wild, wild west of that. they're They're all flailing about trying to figure out what the next version of a development environment should be in the future. And I feel like that same thing is going to happen to every app out there. 46:04.44 Frank And so my short-term plan is to add some nice AI features to the current apps But there is that little devil on my shoulder yelling at me, like, what does it mean for an app to be like AI first? 46:17.98 Frank you know What could we do in this space that's a little more unique and different? Or if this app didn't have 15 years of legacy, if my second sentence of this agent's file wasn't backwards compatibility, what if we throw all that away and go again? 46:33.01 James know. 46:34.69 Frank I'm not sure I can recreate 100% the success of iCircuit 1. 46:41.27 Frank But there's always that itch to start fresh and things like that. Thankfully, as a more mature developer, I can throw away that itch more and more. It's it's that lesson I said before of like, I can just focus on this app. 46:55.26 Frank So I'll do that first, add nice AI features to the app itself. But yeah, there's always that devil on your shoulder saying, hey, hey, you could start from scratch. 47:06.27 Frank Greenfield this puppy. You don't want to be in a brownfield? That sounds gross and brown. You want be in the green one, all vibrant and pretty. 47:10.97 James Yeah. Green one. 47:16.36 Frank Mm-hmm. 47:16.74 James Well, it's cool. It's a cool journey that I think, you know, hopefully people found this of interest because at some point we all kind of get to that. Like I look at my applications that have been there and it's the same thing. I'm like, what do I do? Like, do I try to like add new features, do this reinvented, improve this? So I have to upgrade it to modernize it. Right. Like what is it like long-term and I start gets a big app. Right. So I don't have big, big, big apps. Um, like you do. So I think it's, it's even makes it more complex, but it's, it's cool to learn. 47:41.30 James you know, the story, the journey, and then what it looks like in in the modern age to work on these big applications as these things have continued to help us be more productive and, yeah know, build really unique applications and then add new features in a much faster time. 47:55.86 James Well, Frank, thanks for telling the story of iCircuit. 47:56.68 Frank Yeah. Oh, yeah. 47:58.46 James And if we haven't, there's probably another podcast where it's like the same, but it's different because now it is, everything's different, right? 48:03.22 Frank oh Yeah. 48:03.30 James If it was like five years ago, completely different in general. 48:04.12 Frank yeah 48:06.15 James So um let us know if you have an application, you know, that you've been working on improving, doing stuff and how maybe AI has been helping or not helping or what that looks like. We'd love to learn. Go to MergeConflict.fm. There's links to all of our socials. And then you can also find us on the YouTubes. 48:22.74 James You know, search Merge Conflict Podcast. I think we'll come up. It's at MergeConflict.fm, just like everything else. But anything anything else you want to add, Frank? 48:31.32 Frank No, this was this was wonderful. Oh, I will add ah ah some nice updates are out now for iCircuit. If I haven't said that word enough on here, here's my full full advertisement. New updates are out. The app's better than ever. it's in the words of Steve Jobs, this is the best version of iCircuit ever released before. I hope you'll all go out there and update it And if there is a bug, please let me know quickly so can go fix it. 48:59.38 James Sounds good. Yes, go give iCircuit a look. Just search iCircuit. It's the only one inside the app store. Or iCircuit 3D. I guess there's two. So um buy them all. 49:06.36 Frank Yes, please. 49:07.16 James So um give give Frank the money. 49:07.99 Frank Yeah. 49:09.42 James It's the best way to support this podcast ah is to give Frank the money. 49:11.83 Frank Thanks. yeah Forget James. he's He's got a job. 49:15.80 James Yeah, they're all good. All good All right, this is going to do it for this week's Emerge Conflict. So until next time, I'm James Montemagno. 49:21.53 Frank And I'm Frank Kruger. Thanks for watching and listening. 49:25.05 James Peace.