Daniel (00:01.262) Should I start with introducing the co -host? no, I'm sorry. No, I spooked her. I wanted to lift her up to the microphone so she could per into it, but yeah. Anyway, Mimi says hi, but now she's gone. Dave (00:04.952) I think you should. Dave (00:18.648) Hi Mimi. Hi Mimi. Daniel (00:22.574) You Welcome to Waiting for Review, a show about the majestic indie developer lifestyle and their cats. Join your Cincinnati hosts, Dave, Daniel, Mimi, and Momo. And let's hear about a tiny slice of their thrilling lives. Join us while Waiting for Review. Dave (00:45.336) Hey. Daniel (00:46.351) Hey Dave, nice to see you. How's it going? What kind of energy are you bringing today? Dave (00:49.176) Nice to see you too. I slightly chilled, cold New Zealand morning energy, I think it's one degree here, which is may as well be minus 20 in terms of how I feel because you get used to what your climate is. So chilled, chilled vibes, I hope Daniel. Daniel (00:59.47) okay. Daniel (01:04.686) Mm -hmm. Daniel (01:10.222) Yeah. That's around 274 Kelvin for the listeners who use Kelvin, by the way. Dave (01:17.208) Yeah, get it right. Do get it right. Or. Daniel (01:18.702) In the meantime. In the meantime, we had 295 Kelvin or 22 degrees Celsius in Germany today, which was pretty nice. Dave (01:22.04) Go on. Dave (01:29.56) Mm -hmm. And if you're listening from America, that's approximately five icebergs the size of a small iceberg. Daniel (01:39.79) don't be mean don't be mean okay I am gonna convert it once though that's 32 Celsius is 271 Fahrenheit so see I can I can be no no 271 is the is one degree Celsius in Kelvin Dave (01:40.568) Sorry my American friends. Sorry. Dave (01:51.992) 271 or what was? Dave (02:01.112) Mm -hmm. Daniel (02:03.63) And 295 is 22 in Kelvin. I think Kelvin to Celsius is just like you subtract 270 or so. Because Kelvin starts counting at absolute zero, but I think 1K difference is the same as 1C difference. I'm not 100 % sure though. Dave (02:11.48) Yes, yes, something along those lines. Dave (02:20.504) Yes, they're scaled the same. If I remember my physics correctly. Physics, science, mate, innit? Daniel (02:25.134) physics. Daniel (02:29.39) I recently had a friend explain to me the physics of northern light and that was really, really amazing and really cool. And also she made sounds to explain how the particles kind of get trapped in the Earth's magnetic field and then they do, apparently they do a spiral motion that goes like and then they land in the, usually at the north or south pole. Dave (02:37.944) Mm -hmm. Daniel (02:58.926) And so yeah, apparently that's the sound that the particles make according to my physics friends. Dave (02:59.224) Right. Dave (03:04.824) sounds about right to me, to be fair, if I was to imagine what they would sound like doing their thing. Did you see the aurora where you are, Daniel? Daniel (03:14.286) I'm a very faintly I was I couldn't be bothered to go outside away from like light pollution really and So I did see a faint glow but it like it was almost a percent perceptible like friends of friends of mine apparently saw that saw them really really well, but yeah, there was clouds and I don't know Dave (03:23.064) Mm -hmm. Dave (03:36.184) similar here. Similar for me as well. It was cloud cover and the faintest sort of slightly purpley ready tint, but only if you sort of just stopped for a second and really took it in like it wasn't vivid. But by the time... Daniel (03:43.758) Hmm. Daniel (03:47.822) Yeah. I think most of the time they're only vivid in pictures because you can kind of like change the exposure of a camera in a way where like with the eye it usually looks faint, I think. Dave (03:58.2) That's right. Dave (04:02.616) Yeah, and by the time this show goes out, we may even have had second Aurora, Daniel. I've seen this. Yeah, I saw we've got more space weather on its way, I think. I hope so, anyway. I kind of wanted to see it vivid and we were denied, so yeah. Daniel (04:09.544) there's another one coming. Daniel (04:15.544) that's cool. I didn't know that. Daniel (04:21.038) Yeah, maybe I can find some time then. That would be really nice. Yeah, me, I have been, I've been weird. It's been a long week, really. But I've been traveling as well, so that was exhausting. So that's why I'm a bit tired today. But also, my weekend has been absolutely dominated by the fact that the servers have been just crashing and crashing and crashing. Dave (04:55.128) no. Daniel (04:55.918) And every time I'm like, OK, now I'll fix this thing. And then they get another order of magnitude larger. And they just find a new way of just overrunning some buffer or whatever. And it is so frustrating. No, I think they're running now again. I'm keeping an eye on them on there. But they're recovering. And they are fully recovered, in fact. But yeah, they just like, every time I'm like, OK, I fixed this. And then they find a new. Dave (05:17.368) Mm -hmm. Daniel (05:25.582) condition that triggers a restart somehow or a rebuild or a crash or a I've exceeded the Java heap memory or whatever and It's really frustrating and I'm preparing a new Architecture or infrastructure that will not well that will be outside Kubernetes But it will take a few more weeks I think because I want to do it right from the start this time and in the meantime It's just like this has to like this this thing has to survive a few more weeks Dave (05:34.424) You Daniel (05:54.83) And it's really hard though, because people on like those social medias are like starting to talk amongst them amongst themselves and be like, have you had this telemetry deck thing? Yeah, me too. It's been like every four weeks. It's so frustrating. And that's all it hurts. That hurts to see that. Dave (06:02.52) Mm -hmm. Dave (06:10.552) Yeah, yeah, I can imagine. Is it the type of problem, if you're saying like you just need a few more weeks before you can sort of cut in and change it over to something else, or we'll give it that time, could you just give it oodles of resource and would that solve the problem? Can you sort of shove money at it for a few weeks to buy you that cover, as it were? Daniel (06:34.414) No, like I've been basically trying to do exactly that. But not really, no. The problem is that what I need to really push on is I need to put more bureaucracy in place because I am talking to one of the cloud providers. I think I already told you which one. And there just needs to be a few more dotting of the t's and crossing of the i's and stuff like that before. Dave (06:39.192) Mm -hmm. Dave (06:54.776) Mm -hmm. Dave (07:01.976) Right. Daniel (07:03.534) we can move to that cloud provider and then I can implement all the stuff that I've already prepared. But as long as that isn't done yet, it's just like, yeah. But I can sit down in the next few days and hopefully finish most of the paperwork. And that will hopefully push us forward. Dave (07:14.104) See. Dave (07:22.2) fingers crossed it doesn't take too long and you're over the other side soon. But yeah, not much fun battling the stack when it's like that though. Daniel (07:28.014) Yeah. Daniel (07:36.814) Yeah, yeah, especially because most of the time when like, if something just crashes, they will usually after, I don't know, an hour or so, or maybe even half an hour, they will be they will just catch themselves and restart, restart themselves and then like rebuild themselves with chicks a while. But after a while, the data will be available. But there's a secondary condition where then the data streams kind of kind of stop coming in. Because Dave (08:03.16) Mm -hmm. Daniel (08:05.038) The buffers the buffers in between are not long enough. So the thing is like, but okay I have only data until exactly this date. So it looks in the buffer. It doesn't find anything with that It's like okay. I'm just gonna wait and discard everything until then and so I have to manual manually tell it to know just like take the newest one and you will that you will be losing a bit of data and then kind of re -ingest that data from cold storage and That just gives you just just will cause like these holes and the data for Dave (08:15.992) Yeah. Daniel (08:34.734) an hour or two, but then I can only fix it the next day when the full day is available. And it's just frustrating. I don't know. I'm frustrated by this. Dave (08:47.8) imagine it sounds like quite a lot of quite a lot of time thievery as well in a sense. Daniel (08:53.198) that too, especially. You got to watch these things. Over the weekend, it only already manifested. And I was like, OK, I'm just going to reboot these from my phone, actually. And they're like, OK, they're going to catch themselves. And then after an hour or so, I took another look. And it seemed like they were OK. But they were kind of in a weird condition. And now I have to pay the dues at the end of the weekend, where everything is even more borked. So yeah, you got to watch them. You got to kind of babysit them. And that is. Dave (09:04.184) Yeah. Daniel (09:22.83) That's annoying. yeah, I'm hoping to... I'm hoping to move them off Kubernetes and I'm hoping that will remove one class of problems and then let's see what other problems we can encounter. I think that will actually help a bit than actually moving the message queue off of my self hosted version onto a hosted version of the message queue of Apache Kafka. That because that will then... Dave (09:25.144) I really don't envy you with the server life there Daniel. Daniel (09:52.654) have a way bigger buffer, and that will help. And the third thing is, I don't know, the third thing would probably be to change the database schema to be more optimizable. But I can't really do that, because that's kind of like everything is in that schema. Dave (10:10.296) Yeah, that's a much deeper, much deeper change at that point. Daniel (10:13.614) So I'm thinking about how could I do that, but I'm not sure it is possible. It's like one of those migrations that take two years to complete or so. So I'm just kicking that can down the road until I can find something that will work there. Dave (10:26.232) Mm -hmm. Dave (10:35.576) Fair. Fair. And it sounds like with the Kafka stuff, you're sort of by shifting that off your own hosted thing to something provided. That seems about right to me in a sense of that then becomes, as I quite often refers to these things, it becomes as somebody else's problem at that point for the maintenance of that bit of the stack, right? And so that takes one of these things off your plate. Daniel (10:55.726) Mm hmm. Yeah. Daniel (10:59.886) Yeah, there is actually a company that provides a hosted version of Apache Druid. The thing is just, they are so ridiculously ludicrously expensive that it is just completely impossible to run a company on top of them. So I think the hosting of the main data query servers will still need to be done by us, which, okay. Dave (11:12.056) Mm -hmm. Daniel (11:30.094) But you know. Dave (11:30.456) Yeah, well, when you're also providing your own, what have you called it? The telemetry deck QL, is it? Daniel (11:39.09) The telemetry query language. Dave (11:43.512) Yep, so it's at TDQL. Daniel (11:46.254) Just TQL actually. Dave (11:47.896) Okay, yeah, and that sits on top of druid, right? So it's not just that you're running druid, you've got that over the top of it. I imagine... Daniel (11:52.91) Yeah, that's correct. Daniel (11:56.75) Yeah, but that actually sounds more complicated than it is because TQL is just a variant of the Druid query language that it speaks anyway. So we're compiling that down. But yeah, we are kind of married to Druid. It doesn't matter if it's self hosted or hosted by someone else. But yeah, switching away from Druid, that would be... Dave (12:05.816) Yep. Dave (12:12.984) Mm -hmm. Daniel (12:21.966) That would be a really big thing. But the schema is less of a thing because, I don't know, the schema would still be in Druid. It would just be less free. Because basically, right now, you can send telemetry deck signals with anything as a payload, as long as it's a list of key values. But... Dave (12:24.728) A very big change, yes. Dave (12:47.704) Yep. Daniel (12:50.03) that makes database optimization, of course, makes that harder. So I'm thinking, should I constrain the number of keys somehow? And actually specify the keys. So I'm allowing a list of, I want to say like 100, 500 specific keys. But then I'd probably need to map them somehow, because your key number 17 will not be the same as my key number 17. Dave (13:15.256) Yeah. Daniel (13:20.366) So I don't know, you get into different problems. So. Dave (13:24.088) You do, you know, a whole different class of problems. And at the moment, what you've got is incredibly flexible, I guess, in terms of at the point of view. So I can send anything I like at the moment to that, to within reason. I would imagine if I started encoding big movie files into data and then chucking that at the key value store, something will tell me I'm holding it wrong at some point. But... Daniel (13:31.278) Mm -hmm. Daniel (13:48.342) I think I'm refusing values that are bigger than a certain size, but I don't know the size right now by heart. Dave (13:54.648) Yep. Yep. That's fine. Yeah, no, that makes sense to me, Daniel. Yeah, it's interesting because these inflection points for telemetry decks seem to keep happening at sort of semi -regular intervals. And I think it's really correlated to the feature set that you've got and the complexity that keeps getting added for your users and also the fact that you are growing and all of that sort of stuff as well. So. I think, I hate to say it mate, but it feels like even once this current round is solved, there's probably another inflection point in the next six months to a year, right? That all... Yeah. Daniel (14:37.294) Yeah, definitely. But I just have, like, we just have to grow fast enough, like, so that by the time the next inflection point's coming, I can hire someone to fix it. Dave (14:48.312) Indeed, indeed. This feels... Daniel (14:49.774) That's gonna be the thing where I'm like, hey person, this group of servers, this cluster is now your responsibility. And that will feel really nice. Dave (15:00.408) Mm -hmm. And they can... And so you're... What would the job title for that be? I'm sort of envisioning like it's somewhere, seriously somewhere in the DevOps sort of side of things, I guess, but like... Daniel (15:12.846) Yeah, like the serious title would be DevOps, I think the non -serious title would be Druid Wrangler. Dave (15:15.928) Yep. I was going to say Wrangler was going to be in there somewhere it feels. Yeah. Daniel (15:21.046) Just wrangling a gaggle of druids. Dave (15:25.976) Yeah and in my mind's eye they're actually cats to be honest with you. Cat herder. Yeah. Daniel (15:36.174) Pretty much, pretty much, yeah. Dave (15:41.08) Well... Daniel (15:41.518) But yeah, the servers are still running now. They are rebuilt. Dave (15:47.) you're checking, checking in real time. It's been one of those weekends. Daniel (15:54.83) I've just watched numbers get smaller over the last hour or so before we started recording. And so now they're back at zero, which is good. Dave (16:05.064) Awesome. that's good stuff. I've had, I've had a bit of a different week dev wise on my stuff. into, yeah. So, where do I start? There's, I've got a load of the, the bugs for go VJ, like the last minute sort of bugs, the last mile bugs. I've steam rolled through those now. I'm pretty much on my, my gold master releases. It were, and you know, there'll probably be another. Daniel (16:14.99) Yeah, do tell. Dave (16:39.704) build before the one that goes to the store, because that's just how this period of time tends to work. So bugs killed, pretty much. I'm now focusing in on everything that I'm going to need for the release. So this is about figuring out, OK, I need to stand up a new website. And that has been my weekend over the last couple of days. We're recording on a Monday here. And as you know, as we've talked about in the past, web design isn't my forte, is not my most loved task. When I was standing up the Govj Pro landing page just before the start of the year, you helped me out, Daniel. You stuck me up an 11c template folder and added in Tailwind and a whole bunch of other aspects there and kind of went, dude, just get going. And so I did. And for Govj's website, for the main website that I'm now updating for this new app, I went back to that template, back to that landing page, gutted it out of all the Govj Pro stuff, because this is the original app, and started pulling it together. And I went through the curve a bit quicker this time, Daniel. Normally the curve looks like this. Daniel (17:38.19) Fantastic. Dave (18:07.32) I'll spend half hour to an hour futzing with it. I'll spend another hour going, I hate web dev. Another hour where I go, it's not so bad, come on dude. And then eventually it starts to come together. And I kind of did that blip in a much more compressed time this time. So yeah, yeah, something's sticking here. Maybe you'll make a web dev out of me yet. But I have... Daniel (18:25.422) Nice, that is very efficient and... Dave (18:35.736) kind of yolo that site straight onto govjapp .com. So even though the app is not there, the site is up. Yep. Daniel (18:41.39) hang on, let me have a look. covidjapp .com. la la, I like it. So it has a screenshot. It says run the visuals for your show. Dave (18:47.624) Yep. Ooh la la. Dave (18:56.152) subtitled with from the palm of your hand. Daniel (18:56.782) And it has a fantastic list of screenshots. It says, Go VJ allows you to run your live visual mix straight from your iPhone or iPad. And then a big download page. And then very cool features, like for example, easy to use UI keeps you in control. Or load your own video content or live input from camera and NDI. Another call to action because CTAs are very important. Dave (19:03.48) Mm -hmm. Dave (19:26.872) Yep. Daniel (19:27.214) Lots of more features and then a sign up page, be the first to know. Fantastic. And then expertly crafted with love from New Zealand by David Wood in Aotearoa. How do I pronounce that? The correct name for New Zealand. Aotearoa. Aotearoa. Aotearoa. Okay. David loves making real time video tools that anyone can use. Fantastic. I love that. Dave (19:41.336) Okay, Aotearoa, Aotearoa. Yeah, so it's in Toraimauri. Daniel (19:55.63) Like you have just a gift for writing copy that I wish I had. Dave (20:00.376) Thank you. Some of that is just pulled from various other incarnations of the site and things, but I think this is the first time that I've added that personal nod. I've got a picture of myself. It's a picture of a selfie of me that I actually affected through Govj as well. So that's like three layers there on that image. But I'm trying to do that a little more with the app in terms of personalizing the effect. Daniel (20:12.654) Mm -hmm. Daniel (20:24.174) Mm -hmm. Fantastic. Dave (20:30.136) that yes, it's a individual making this because it seems to fit. Yeah. Daniel (20:35.438) I think that's really cool. Like me and Lisa do this with telemetry deck a lot too, where we just like try to show like, hey, this is basically just a very small team working on this. Dave (20:46.264) Yep. Yeah. It's the reality. I may as well share it. And honestly, every time I do, it kind of gets, it gets me more traction with people using it in my customers because it's like, Hey, I'm one guy. Typically they're also one person, as a, as a VJ, right? So there's a lot of, yeah, there's, there's a lot of sort of shared vibes on that one. yeah. So anyway, that's, that's come together. Daniel (20:49.742) Mm. Dave (21:14.456) That's probably just about good to go, to be honest with you. I've got a build waiting. I just need to, what do I need to do? I've got a privacy policy to add to the site, which is fine. Cause I've got my previous one. I just need to update a couple of things. Nothing major has changed. But I've been a bit not quite naughty, tardy. I hadn't updated my privacy policy to include feedback ball. which is the feedback service I'm now using. Now, feedback bulb is a privacy first service. So this actually means I go in the direction of better user privacy in terms of how I'm getting feedback because I was using Zendesk before and they had their own policies and everything else. So feedback bulb is better in that sense, but I need to signal it to my users properly. So that needs to be updated. needs to go up. When that's there and I've checked over all the copy, I've got to do a privacy manifest as well to go with the build now. Thank you, Apple. So that's fine. That's OK. But do all of those things and then hopefully I'm releasing next weekend is the plan. Daniel (22:22.51) Mm -hmm. Daniel (22:34.542) Fantastic. Dave (22:35.928) Yeah, so finally, nearly at the end of May, but... Getting there. Yeah. Daniel (22:42.99) Yeah, but also, can we exchange landing pages? Because I kind of did the same thing. You built a landing page for Govj. And what I did is I am now building landing pages for Telemetry decks and targeting different customer segments, basically. So if you go to telemetrydeck .com slash industry slash startups, I think I sent you this before. Let me just send it to you again. Dave (23:06.936) You can do and do you want us you could screen share it for the people on the YouTube's to be fair. Daniel (23:12.078) Sure, I will totally do that. If you go there, you will see that I have also built landing pages. The difference is because I know that I'm going to be building a lot of those, as in like, I don't know, this is the one for startups, which is not showing to me right now. It's kind of weird. Dave (23:38.616) Maybe I've cursed us with a technical difficulties moment. Daniel (23:42.126) Yeah, like this is just the Curse of Life demos, I think. Anyway, I'm going to just continue talking, and then it's going to work at some point later, I think. Which is, because I really want to build multiple of these, I want to concentrate on the content. Which means that I'm not writing those in code, I'm creating those in a CMS. Dave (23:47.32) Yeah. Anyway, we've got it linked in the show notes. Yeah. Yeah, go for it. Daniel (24:08.878) And I think I told you, told you this before. So this is not news, but what is news is I now have the data structures in the way that I want them. And I can really build this really quickly and only can work on the content. So I have like all these sections and basically these, all these sections are just a data structure though. So the title is a data section and then the get started button is a section. And then the trusted by creators worldwide is a section because I've been told. Dave (24:22.232) Mm -hmm. Daniel (24:38.67) that directly under your intro, you should really show a so -called trust element, which in this case shows that over 3 ,000 apps are using Telemetry Deck. And then I have all these sections where I can either have image and text, or I can just have a big image, or I can have testimonials and text, or I can have just a list of supported platforms for Telemetry Deck, or I can just have like... Dave (24:48.316) Yeah that's cool. Dave (24:59.8) Mm -hmm. Daniel (25:05.902) like interactive chart and text, and of course, a link to various features. And yeah, image and text also works, by the way. And so yeah, the thing is I can really move these around very quickly. And if I just want to change the text, for example, I can just change it and it will rebuild pretty quickly. So that's kind of nice. So yeah. Dave (25:14.072) That's awesome. Dave (25:32.568) That's great. Daniel (25:36.11) That is the telemetry deck. Dave (25:36.152) Yeah, I love that. And actually I'm recognizing a little bit of what you pulled up on the screen because when I went, I need to format my landing page, I went to one of your landing pages, went and viewed this, pulled some of the initial bit of the source out. So if you notice I've got these, these H2 headers and then followed by a subtitle and then the text and the images to the side. I think initially I copied. Daniel (25:41.934) Mm -hmm. Daniel (25:47.342) Ha ha ha ha ha ha ha. Daniel (25:52.91) Yeah. Dave (26:04.504) of your landing page to get that going Daniel. Daniel (26:06.634) Yeah, totally fine. We should all... yeah, this is another... I also have a thing where I can just display code now because code is very important. And I wanna show people that we have code. I think the rest is... Dave (26:15.672) Yes. Dave (26:19.384) And that is selectable code as well. So you can copy. Daniel (26:22.446) This is like, this is, I can just copy paste the code because why should I make and put in an image of my code if I can just like put in some code and it also, also in fact will automatically syntax highlight because, because yeah. Dave (26:39.448) that's great. It's really great. And I love the fact you've got it so flexible because yeah, you can, it's really malleable. You can stand up these, these different iterations of the pages very easily. I can totally see how it comes together. Cause I sort of found that as I was going through, going through the development process this weekend, I, I made the sections that I've got. So on, on the landing page, in fact, I'm going to bring it up now just in, in, no, I'm not. Daniel (27:03.182) Mm -hmm. Dave (27:08.888) I'm not, because I will definitely have technical difficulties. OK, anyway, the page I've got, if you look down at it, it's sort of the different feature bits go image on the left, text on the right, then image on the right, text on the left, and they alternate in background color. And I did this just by setting it up and then copy and pasting and putting in different text and the rest of it. And I had a whole moment of like, Yeah, this is really irritating. And if I was programming in anything else, I would now have made a function or done something about this. And so that was actually a bit of my learning curve yesterday was just setting up a templating file in 11T and figuring out, OK, how do I pass parameters to that? How do I send some data in? Yeah. So I've got that set. Yes. Daniel (27:44.526) Mm -hmm. Daniel (27:57.902) Ha ha, fantastic. And see, and then it gets more fun, the web designing, and that's how they get you. That's how they get you. Dave (28:05.656) Yeah. So that, that, that's where it really started to take off for me was like, okay, I've made my component. It's looking great. I can now shoot values into that and 11 .6 just handles it. So yeah, I'm not quite a web dev proper, but I'm certainly, punching above my iOS biased weight as it were in all of this. Daniel (28:27.758) Fantastic. Very, very good. Dave (28:33.304) Yeah. And then it gets me to something else that I've been thinking about over the last week, Daniel, which is actually about where I am with iOS, dev, Apple developments, and the whole ecosystem and the whole, all of everything. Daniel (28:38.03) Mm -hmm. Daniel (28:49.582) tell because I have seen some concerning things on your Macedon. Dave (28:54.168) Concerning things? Give me what concerned you in particular. Daniel (28:55.886) concerning. Daniel (29:00.302) So skimming through your Mastodon, it seems like you're preparing a very hard pivot into writing Kotlin code, which is used to write Android apps. Dave (29:08.152) Yes. Dave (29:11.8) That's right. So a few factors all combined. And it was not this weekend just gone, but just over a week ago. And there were reports in the news of Apple signing on the dotted line with open AI and that we would get chat GBT in the next version of iOS and rumor or not, you know, like there's a bit of direction there. And I looked at that and I'm like, I'm not sure I want that. Like it might have some great utility, I'm sure there's people listening going, I would love that in one way or another. I'm afraid my slightly cynical middle -aged man kind of view of this was, no, I don't want that, get rid of that. Even before it's even a thing. I've kind of chilled out a bit now, we'll see what that looks like when it gets here, but it was very much a feeling of like... yeah, this stuff could happen to the platform. And as a user, I feel incredibly locked in, right? All of my data is tied up in iCloud, this, that, and the other. And I'm like, so that could happen. And I just have to kind of put up with it in one way or another. And that then got me searching, looking, thinking. And of course, I don't want to use Android because I feel the same about Google services as I do about that sort of interference. Right? I've been... Daniel (30:35.374) yeah, I'm moving away from Apple to Google because I dislike their use of AI. Dave (30:38.776) Yeah, exactly. Yeah. I've got privacy concerns with Apple integrating open, open AI and chat GPT. I'm going to go to use Google. Yeah, that'll, that'll learn me. so, but no, the thing is with an Android device, I could run a D Googled Android potentially. and feel like I've got some level of, of, of freedom in what I use in that sense, I guess. But realistically. I love my Apple products. I love the environment. I love programming in Swift. I'm probably not about to completely table flip and stop doing what I do. And I'm certainly not about to stop putting out iOS and iPad apps when I'm just at this stage of, of Go VJ is going really well. I'm really enjoying that. But what I am going to do is teach myself Kotlin. I am going to experiment with some Android apps and devices. over this next year or so. And I am going to make sure I've got a foot outside of Apple's wall garden, because then I've got choices in one way or another. So that's the overall of it. And Kotlin looks quite similar to Swift, really. I don't think as a Swift developer I could look at Kotlin and go, that's terrible. It's not exactly the same, but it's also not that much different. Daniel (32:04.046) Kotlin feels like Swift's cousin or something like that. It runs on the Java VM, which I hate with a fiery passion of death, but it is very well designed. It is a very modern language. It started being a thing just about at the same time Swift started being a thing and just a very modern, very well designed, designed by the people at Jet Brands who we like, by the way. Dave (32:07.288) Yeah. Mm -hmm. Yep. Dave (32:28.6) Yes. And JetBrains also do, compose and compose is very similar to SwiftUI. So you can see all these pieces sort of coming together for me. Like, I could look over there, get up to speed a bit and be reasonably effective as a developer over there in, probably a shorter amount of time than if I suddenly had to start programming in say C plus plus or rust. because those, both of those things will come with different. cognitive overhead compared to the type of programming I've been doing for a while now. So yeah, all of this to say, I guess, is that yes, I will be having a bit of a my first app sort of moment with that over the next year. For me to bring what I do with the video mixing app with Govj to Android or anything else through that sort of matter, I not only have to learn how to make UIs and deal with all of the data stuff and the regular bits of programming that we do. But I also have to learn how to manipulate real -time video on that platform. So that's going to be the first port of call, to be honest with you, as I'm doing proof of concepts and prototyping and playing with this environment is, can I do anything interesting in terms of sending video into textures on the graphics card in some fashion where I can then apply shaders to it. And that will be my first prototype. Like I'll do the hello world with Kotlin, you know, make a button work, put something text on the screen or whatever. And then I'm going to be going right down into, can I set up videos for graphics and that side of stuff? So SkiR is what I'm looking at for that. Daniel (34:21.87) What was that? Skiing? Dave (34:23.512) Skia, it's effectively the canvassing, the canvas part of the stack that Kotlin Multiplatform talks to, to render its UI. Yeah. Daniel (34:35.31) I see. And what platforms does Kotlin Multiplatform run on? Like, does it run on iOS? Does it run on a Mac? Dave (34:41.72) It does. So yeah, yeah. And I believe the iOS support, I think is probably not as good as any of the other things it does. But there is a route there. And actually at Google I .O. last week, there was a couple of libraries that helped the interop with Swift over there as well. So it's not inconceivable that I might round out on a single library. Daniel (34:46.318) wow. that's cool. Dave (35:12.248) that the iOS app then consumes back from Kotlin in time. Yeah. Daniel (35:17.518) interesting. I didn't know that. That's really new to me. That's really cool. Question, though, like not too a lot to criticize or anything, but have you considered it just like using a 3D engine or something that is multi -platform, like Unity or, I don't know, Unreal or whatever? Because, of course, you can use those to write shaders and stuff. Dave (35:20.92) Yeah. But yeah, go on. Dave (35:33.208) Yep. Dave (35:40.088) Absolutely, yeah. And there's a view there where that might be the most practical thing to use for some of this stuff. But what I've tended to find is that there's always an edge in there somewhere. Like the game engine hasn't been programmed to think about multiple windows for it or something like that. Or, OK, so then I'm now locked into Unity. Do I really want to be going that route? I certainly was put off looking at Unity the other year because of the way they were treating their developers. Godot, kind of Godot, Godot, G -O -D -O -T, yeah. Daniel (36:14.99) Godot, I think, because it's named after the Samuel Beckett play and that is spelled pronounced Godot. Dave (36:20.312) Right. So yeah, that might be a route. And that certainly seems to be advancing in a way that I could use. But I don't think it's quite there yet. And then what you will always find with those is that you end up against an edge where getting the video data in varies platform to platform. And that bit is usually not very well thought about with these engines. Yeah. So yeah. Daniel (36:45.23) yeah, I get that. I get that. Cool. Dave (36:50.4) But like line of travel, I think what I'm saying is that I'll be standing up to apps over this next year. So I'll be going from Govj3 to GovjPro, which we discussed before is going to be called Provj. And that will be for iPad and hopefully Mac as well. And then after that, this sort of side quest on Kotlin Multiplatform will probably kick in and I'll be looking at a first cut of Govj for Android will be the goal. Daniel (37:24.942) All right. I am excited to see what it brings. I mean, if it even like, you never know, of course, but yeah, it might be, it might be just a really cool thing. Really cool side quest. Dave (37:26.264) Yeah. Dave (37:36.312) I'm curbing my enthusiasm because I know how long this stuff can take. So I say this now and it could be 18 months, two years before I'm actually pushing an app to the play store. Like if I consider everything else that I've got going on that I want to do, like this is a side quest, but yeah. Daniel (37:52.366) Yeah, and I think like not everything has to like have a direct connection to, yeah, this will happen. This will be the big project in two years or whatever. Like you're evaluating this stuff. If it works, awesome. And then you can maybe do something with it. And if it doesn't, you can evaluate other stuff. Dave (38:01.656) Mm -hmm. Yep. Dave (38:10.52) Exactly. Exactly. And I think for this route in particular, like it makes sense. I'm at a stage now where every time I'm posting stuff up to social media about the VJ app, I will invariably get somebody asked me when the Android version is coming. So there's, there's, there's also a bit of like, well, people are literally asking for this. Daniel (38:32.142) Have you considered asking these people how much money they spent on apps on their Android phone in the last 12 months? Dave (38:40.184) I know, I know, but okay. So yes, traditionally Android users don't spend the same amount as iOS. I know that. But even so, if you think about my message on my website even, so, okay, it's not literally on the website right now, but certainly one of the things I've said in amongst that sort of statements of like, you know, Govj is developed by David Wood in Aotearoa. David likes, loves making real -time video tools that anyone can use. The other spin off quite often say about Govj is that it's a tool that everyone can use. And so there is a part of me that feels like if I don't have an Android version, am I really thinking about everyone? You know? Daniel (39:31.542) 400 Linux users will write you in three, two, one. Dave (39:36.92) I've got that covered. I've got that covered out of the gate. All right. So yeah, that's the whole reason for looking at Kotlin Multiplatform as well is that I can get an Android app and a Linux app. Daniel (39:42.318) Fantastic. Daniel (39:48.154) yeah, I can see that. I can see that. And yeah, you were experimenting with Linux on a MacBook Air or something like that, right? Dave (39:56.28) True, true, yeah, so in a fit of peak last weekend I installed Asahi Linux on my M1 MacBook Air. It's fine, it's Linux, it works, it does what it needs to do. It's... how did I put it? It doesn't suck. I think it's probably the... do you know, like, I used Linux... Daniel (40:19.694) All right, that's very cool. Dave (40:25.24) many years back now for about two or three years from about I want to say late 2006 and it didn't suck then either but there were certainly a lot of edges here and there with stuff that wasn't there these days. Modern Linux, hell of a lot of things are there just like in terms of it's installed the Wi -Fi outlook out the box it's got the accelerated graphics I used an app for Mastodon that worked there's Daniel (40:30.478) Hmm? Daniel (40:43.726) Alright. Dave (40:54.584) IDEs, text editors, everything that I could want as a dev is basically there. Yeah, not too bad. But yeah, I mean, it will probably sit there and I will probably boot it every now and again just to have a look. But I'm distracted now. So for listeners of the show, Daniel has his co -host, Mimi is with him. Daniel (40:57.805) Mm -hmm. Daniel (41:04.27) Very good. Daniel (41:19.374) has returned. Dave (41:21.496) Yes. Daniel (41:23.118) You wanna say something now Mimi? Dave (41:25.912) No, it's not going to pair on demand. Daniel (41:29.39) No prying on demands. Dave (41:31.448) No, but Daniel, yeah, like I say, I'm not completely table flipping out of iOS and Apple stuff, but I definitely want to have one foot in other things now. I think is like if I think about that initial reaction I had of like, wow, Apple could do that. The answer is yes, they could. They can do what they want in that reaction. They are a private company. This is part of it. while they are a company. And yeah, I think for me it's going to be good to be experiencing things that are not in the wall garden as well as the stuff that's here. Daniel (42:12.206) fair. Like, I mean, for me, it's not the open AI moment, I think. But still, I mean, Telemetry Deck's main dashboard is not an iOS app anymore. And that's also because it's just like too much risk business -wise to only be allowing stuff to run on iOS and Mac OS basically. Even though, God, I miss it. I'm going to have an intern. Dave (42:16.376) Mm -hmm. Dave (42:32.28) Yeah. Hahaha! Daniel (42:41.614) Next week. I haven't asked him whether I can tell his name, so I won't, but he is 17 and he has won multiple Apple, Swift, how do I, grants basically, where they fly him out to WWDC. And so if I find the time and the energy and stuff, I will hopefully work with him a little bit on the telemetry deck iOS app so that we'll at least. Dave (42:43.096) Awesome. Daniel (43:10.926) work as a viewer app once more because current data doesn't. Dave (43:14.782) that would be great. Yeah, because I was using that. And then as it's become less supported, I've just been checking on the website. So it would be great if it becomes useful again as a viewer, like in terms of you continuing its support because yeah. Yeah. Daniel (43:31.694) Yeah, it needs to be like way scaled down, but it would be nice if you could at least use it, like use it to log in and then check some charts and then also have widgets because widgets is other things that you can't do with a PWA. Dave (43:43.128) Yes. Yes, exactly. And that's, that's what I was about to say is yes, I want my telemetry deck widgets again. So yeah. Daniel (43:50.27) Those are really nice, aren't they? And so yeah, I really want them back. Yeah. Speaking of people, I have finally met my coworker Marina the other day. Because Marina, after two -ish, two and a half years, I want to say. Because Marina lives in Estonia, whereas I live in Germany and Lise does as well. And so Marina wrote us. Dave (43:56.776) that's awesome. Dave (44:06.552) After how long? Dave (44:11.8) Yep. Daniel (44:19.406) and said, hey, I'm going to be in X city and do you want to meet? And so we actually, we hopped in a rental car and drove there and finally met Marina for the first time, which was really nice because Marina is fantastic in person just as they are on Zoom or any video or any other video call or on Macedon. And yeah, it was really nice. We had a lovely chat. We spent a few hours together and that was really nice. Dave (44:39.16) Awesome. Dave (44:48.12) That's great. That's really awesome. And I certainly think those sort of in -person connections when you can make them happen have got a lot of value. And yeah, no, that's cool. Are you planning anything to get the whole Telemetry Deck team together if things are going ahead with this intern and that sort of thing? Daniel (45:11.15) I don't know yet. So one thing I could think about is doing a kind of a summer party thing where, where we'd say, Hey, like this day is our summer party. There's going to be, I don't know, an outside space where there are various beverages and foods. And, yeah, we could, we could like, try to, try to think about like, can we pay for. Dave (45:20.504) Yeah. Daniel (45:37.55) the non -German or like people who are not in Oxford basically for like reimburse them for travel or whatever. We are super cash starved. So it's gonna like the, so that those are the travel reimbursements might be the biggest problem here. Other than that. Dave (45:52.824) You're not going to be bringing over your New Zealand consultant anytime soon. Daniel (45:57.358) I wish, I wish that would be amazing. But maybe, maybe once we have a few more subscribers or, but yeah, that's like, that's an idea that's kind of kicking around in my head. But if I really want to do this, I should like start organizing basically now. And so I think it's not going to happen basically, because it's just going to be too much work. And I am already like at 250 % capacity. Dave (46:27.864) Yes. Daniel (46:27.982) which is probably something that I really shouldn't do, but I don't know. Maybe we can just get the people who can come here within an hour or something and just invite them for a few drinks and or a bit of food and whatever. And maybe that's the light version. It's slightly unfair to people who are... Dave (46:38.136) Mm -hmm. Daniel (46:51.022) not able to come to Oxford on a short notice, but I don't know, we could just send them merch, like for example, our new telemetry deck notebook. Hang on, I'm gonna turn off the blurring basically. Here we go, I have a notebook now. It is actually designed by Marina because they are not only our copywriter, but also an amazing designer with this very recognizable. Dave (47:02.104) Ooh, ooh. Daniel (47:19.15) style which is very cutesy and some room Dave (47:21.912) Awesome. Put that right in the middle over your top of your ear. There we go. Over you. Over you. Wow. Daniel (47:28.046) And so we have a notebook. It is A5, which is like half the size of a letter basically. And it says telemetry deck. It has a cutesy version of a sundrine or a mascot and also a little rocket and some of the planets. And it's very cute. The lining is of course dotted. You can see that probably because dotted is the best lining. There is like this is objectively the best. So yeah, I've got a... Dave (47:36.792) Yes. Dave (47:44.664) That's awesome. Ooh. Dave (47:54.04) wow. Well, I'm not going to die on that hill arguing dotted versus lines with you Daniel. Daniel (48:04.366) No, we did the research. We asked like 4 billion people and we've concluded that for everyone in every situation always thought it was the best. Yeah, right now I got 20 of these bad boys, but I don't know if we might have to print a few more and then we can send some out. Dave (48:10.328) Mm -hmm. Dave (48:27.688) that's awesome. I love the look of it as well. That's a lovely image. Well, Daniel, it has been lovely talking to you, but I think I'm going to have to get my day started on this side. Daniel (48:31.854) Me too, me too. Daniel (48:46.222) Do that, do that. Dave (48:48.44) Yeah, and I know on your side it's pretty late, so. Daniel (48:52.462) I'm going to watch the servers a little more. Dave (48:58.68) no, you need to sleep sometimes mate. Daniel (48:59.79) Or, yeah, a tiny bit of sleep would be really nice. All right, fine. I'm gonna go to bed. I tell you. All right. Dave (49:11.224) Awesome. Well, before we go Daniel, where can people find you online? Daniel (49:15.342) Mm -hmm. They can go find me at telemetrydeck .com. I also live a lot on status .telemetrydeck .com, which is telemetrydeck's status page, which should be way more greener than it is because we are at just one nine beyond the dots for one of the APIs. The others are still good, though. Also, please come to Daniel at social .telemetrydeck .com to talk to me. We actually, we had people send me messages and I forgot to read them out. So I will just, we will deal with those next time. Like, like for part two, as they say on the TikToks. Dave (49:47.32) no. Dave (49:51.16) Definitely. Dave (49:55.384) Absolutely. Daniel (49:58.734) And Dave, what about you? Like, where can people find you and talk to you? Dave (50:03.64) Well, given as we've talked about it on the show, I'm going to plug govjapp .com again as being the best place to go and see what this app I talk about all the time looks like. And you can find me on Mastodon and the Fediverse at Dave at social .lightbeamapps .com. Daniel (50:10.51) Mm -hmm. Daniel (50:22.894) Fantastic. Also, please like us, please subscribe, please rate us on the iTunes or other podcast directories. And a few... yeah. Also, just like, I don't know. If you are in a car right now, just honk a few times, just to tell everyone that you like waiting for review. Dave (50:30.104) Yep. All the YouTubes if you're watching this. Dave (50:46.392) Everybody will know everybody around you will just go, yes, that's another waiting for review. Listen, it's a thing. Daniel (50:49.55) Yeah. Exactly, exactly. People will just know. All right, have a fantastic time. See you next week, Dave. And listeners, see you. Byeeeeeeee!