Daniel (00:00.782) I have a fantastic intro for this show. It's called Dave. Hi, nice to see you. S4e23 (00:09.356) Daniel! Nice to see you too! That was quick! Yeah, yeah not bad thank you! Daniel (00:15.95) Fantastic, how's it going? Daniel (00:21.518) That's good, that's good. Me, I'm good because I'm happy to see you, but I'm exhausted. There are too many tasks in my day, I tell you, I guess it's just... S4e23 (00:28.364) Exhausted S4e23 (00:32.364) Too many tasks in your day, yes. And I'm thinking about some of our pre -show chats when you said you've got too many, yes, too many balls in the air there. Daniel has his balls in the air. Daniel (00:41.806) Too many balls in the air. I'm juggling, I'm juggling too many balls. S4e23 (00:49.452) That can get tiring Daniel. S4e23 (00:59.436) All par for the course. Daniel (01:00.526) I, we can, we can actually make this lead into like, because the, the balls, let me tell you about my balls that are in the air. Most of them kinda are direct results of our discussion a few weeks ago about project management, because now I am distributing the tasks towards more people, which is actually very good because then more tasks get done. But then those people actually like, which is S4e23 (01:22.124) Mm -hmm. Daniel (01:28.654) horrible thing. Like they, they now get back to me and tell me like, Hey, please review my PR or Hey, Daniel, I'm blocked because of the thing that you promised you to that didn't do because there's too much to do. And so horribly, horribly, I now have PRs to approve or even like, I don't know. I might have to look at the code or whatever, or just like type in LGTM. S4e23 (01:34.028) S4e23 (01:40.236) Hehehehe Yes. Daniel (01:57.454) Like a proper, like a proper defense. S4e23 (01:58.348) Ha ha. Ouch. Ouch. I feel that. Yeah. Daniel (02:04.813) Yeah. Also, I'm getting into interviewed by the local newspaper tomorrow, which is kind of cool because they are by volume, the second or third largest daily newspaper in Germany. S4e23 (02:19.916) Wow. That's really cool. So. Daniel (02:22.766) that. So I might have to like I usually don't buy them, but I might have to buy buy a copy when this goes on. Page 17, just in the lower left, like just like four sentences. S4e23 (02:29.356) Yeah, I think so. I think so. Yep. Yeah. Do you ever see the film Monsters Inc? Daniel (02:41.518) I think I did, yeah, but it's been a while. S4e23 (02:43.98) It's the running gag of where the one of the guys, the green dude with the single eye ends up getting featured. Yeah, Mike Wazowski, there you go. He keeps getting featured for like the ads for the company and stuff and then they keep putting something over him. So he's like, I'm on the cover. And yeah, and everybody's like, Daniel (02:50.51) Mike something. Daniel (03:04.206) I don't remember that. I remember that, yeah. S4e23 (03:10.924) I hope that's not the case for you. No barcodes over you. Daniel (03:15.918) It would be kind of cool, kind of funny though, like, you know, just, you know, look, Daniel's on the cover. S4e23 (03:19.148) Yep. S4e23 (03:23.852) Hehehehehe man, I want to get back to talking about the balls in the air, I guess, Daniel, and just a couple of bits on that. But before we do, I can't start the show without the intro. Daniel (03:38.318) Have a look. Daniel (03:47.246) Wait, there's an intro, of course. Okay, let me make this cozy this time. Hey, welcome to Waiting for Review, a show about the majestic indie developer lifestyle. Join your scintillating hosts, Dave and Daniel, that's me, and let's hear about a tiny slice of their thrilling lives. Join us while we're waiting for review. Okay, now we're ready. S4e23 (03:49.452) There is an intro. S4e23 (04:14.956) Yes, I'm comfortable now, thank you. I needed that. Daniel (04:18.734) We have listener feedback to react to. S4e23 (04:22.252) We do indeed. Where do we want to start? Daniel (04:25.454) we have two pieces of listener feedback and I think I want to first take one that I read to you and then you talk about, because I've been talking for the last 10 minutes or so. And I think, I think I want to pass the mic to you. So, we got mentioned on Macedon by Queen Olivia and, looking up pronouns, he says. S4e23 (04:36.3) Go for it. S4e23 (04:46.7) Mm -hmm. Daniel (04:54.03) I have a question about statistical A -B testing and submitting things to the app store. It seems kind of sneaky to have a small app feature, a small app feature that is maybe not visible to the app reviewers when they're doing their review. How have the good team at waiting for review managed this in the past? So the question is like, if I A -B switch or if I feature switches like... Do I enable or disable the thing for app review or do I just like let the randomizer decide? And what's the correct, what's the correct ethical thing to do here? S4e23 (05:25.676) Yeah. ethical thing. That's a very loaded question all of it. So yeah, thank you. Daniel (05:37.23) If you have like four app reviewers on one piece of train tracks and then one app reviewer on the other, but you have to flip the lever to like move the train to the trolley to the other pieces of track, you know. S4e23 (05:51.34) Uhhhh So I say leave the lever alone, yolo, see what happens. No. So with all respect to Epstor review, and I guess not wanting to say anything too negative about it or there, I sort of feel like it kind of doesn't matter to some degree. So there's an element of like, you know, you can totally yolo it. They just get whatever they get off the AB test when they go through. and I personally probably wouldn't feel too, too tricky about that, but I think this is one of those, those things of like, I guess, because I envision an AB test to be something quite simple, right? So for a start, I'm thinking like, it's probably going to be something like the copy on a particular screen or maybe a couple of screens in a flow versus one screen in a flow or something like that. It's going to be something where I'm trying to optimize something rather than an entire feature that they just don't get to see. Yeah. So directionally, it's not like I'm going to be necessarily doing something drastically different. An AB test is going to be more about trying to optimize the volume I've got in a particular area of the app and reduce some friction. So if it's in that realm, I'd be kind of like, yeah, whatever, right? Because I'm not. drastically changing the experience or trying to trojan horse something under them through the AB test. Daniel (07:25.294) All right. I mean, this says AB test, but the question is more towards feature switching, I feel like. And I've done this before. Actually, the code base for telemetry, they kind of started years before that as a project called Applator, which was for feature switching, where it's like, okay, just roll out a feature randomly to 10 % of your user base and then 10 more percent and so on. And I think this is more... S4e23 (07:33.004) Yeah. Yeah. S4e23 (07:42.412) Mm -hmm. Daniel (07:54.926) what this is about. If I just randomly decide 10 % of my users get this new feature because I want to try it out, what happens if the fine folk at AppReview just don't get to see it? Should I then instead special case that? Or do I care? S4e23 (07:56.556) Yeah. S4e23 (08:08.524) Yeah. S4e23 (08:11.948) Yeah, I think in that circumstance, if it's something that's going to be the new direction of the app potentially, or that sort of thing, it's going to be a permanent standing feature. I've been inclined to give them a login with it switched on, to be honest with you. Certainly for any of my own indie projects, that's probably how I would approach it. Because... There's a point there, right? All your customers are going to be receiving that thing. I'm assuming this is a feature that's got some heft to it. So maybe in my circumstance, if I think about, say, the VJ app, maybe one of the new features I've got in there is recording that I added in the last update. If I was A -B testing that, I'd make sure that App Store Review have got the version with it turned on in some fashion. I think, I think, but there's, there's, there, but there is an element here of, of, I think, and I might be speaking out of hand here, but I sort of feel like App Store review. There is almost a bit of an honor system with it at times as well, in a sense of like your app gets reviewed in the first place. Yeah. And it goes through probably its most intensive review on the first version. and then subsequent to that. Daniel (09:10.606) Yeah, I can see that. S4e23 (09:39.564) you kind of get lighter touch reviews anyway. It's certainly been the feeling I've had with things like, for example, when I did the educational version of GovEJ a few weeks ago, it was a carbon copy of the existing app. It was under my account. I got exactly the same type of review as I got the first time around with the app in 2015. It's like they're seeing it brand new again. They asked me for a video showing how it was used, just like they did in 2015. So they've given it the most intensive review upfront. And subsequent to that, it's more like tick box exercises, where I think they're relying on me to point out what's new and give them meaningful access to it. And they're probably relying on static analysis to point out big changes in obvious libraries and things underneath the hood in the app. And then otherwise I think they're giving it a quick once over on the happy path to sort of say, yeah, okay, this thing still works. And they're probably looking out for things like, is your paywall showing the terms and conditions link and that sort of stuff, you know, obvious gotchas. But I feel like they don't give it as an intensive review after you're sort of through the gates. And I think it's more periodical after that, depending on how often you're releasing. So with all that in mind, I think. Daniel (10:33.038) Hmm. Daniel (10:56.43) Yeah, makes sense. S4e23 (11:00.844) then it comes back down to sort of yolo, right? You give them whatever, you know. But with a proviso, I would say of like, as long as you're not A -B testing something that would never make it through a review, right? You know, you can look at the guidelines. You don't pull an Epic Games on them and stick some sort of alternate payment mechanism there, you know? Yeah. Daniel (11:22.99) Yeah, that was what I was going to add to, I think. If you think about the two possibilities, you sneak whatever you have by them, or you explicitly show them, the fallout is going to be worse if you sneak something by them and then you get discovered. Because Apple is going to react harshly to this. S4e23 (11:34.54) Mm -hmm. S4e23 (11:44.044) Absolutely. Yeah. Daniel (11:49.23) someone, some people might even say petulantly, but I'm not gonna, I'm not gonna say that. And so yeah, you don't have any advantages, I think. S4e23 (11:52.428) Yeah, yeah, yeah. S4e23 (12:00.172) Exactly. So that's the thing, right? Don't use an A -B test to try and sneak something through that you would, you know, pretty likely get blocked, review, rejected. Or as you say, to incur Apple's wrath after the fact, if you got found out, like there's just no point. And you know, there's... There's got to be a whole cohort of apps out there that are doing this in one way or another, right? To try and sneak certain things into the app store. I think the question you've got to ask yourself from an indie perspective or a startup perspective or anything like that is, well, why? Why would you want to behave like that if you're trying to build a business? You know, like if you want to run a scam for sure. but if you, you know, we took on the show about building, building our apps, our products, that side of things, it's something that Daniel (12:32.878) yeah, of course. S4e23 (12:56.46) you know, an element of craftsmanship goes into. I don't think any of us here are really on that wavelength of trying to sneak anything bad through. So I think that's, I guess, again, where I sort of come down to like, you know, if it's going to be incredibly hard to give Apple the B in the A B test, for some reason. And like I say, you're literally just testing a bit of copy change or something small and it's that sort of a test, I'd say don't worry about it. I think if it's a new feature that's adding some significant functionality to your app, probably do the extra effort and make sure Apple see it because eventually you're going to switch it on. It's going to be the experience. And you probably don't want to have it disrupted by getting rejected on a later review. So I'd probably go for trying to make sure they review it. first time around. But a lot of this really, really depends, you know, and there's, you've kind of got to weigh all of these options up and go, well, okay, what feels risky or not risky to me and act accordingly for what you want. I'm incredibly sitting on the fence here, but it really is one of those, it depends things, you know? So yeah, sorry, Queen Olivia, I don't have a definitive. Daniel (14:15.31) Hehehehe S4e23 (14:25.036) I think I'm saying it depends on the type of thing you're A -B testing more than anything else. Daniel (14:33.774) All right, cool. We have another feedback. There's actually, that's been sitting in my inbox for a while, but I wanted to give it a proper read basically. It is a very, very long, a heckin' long email from Joseph Heck, one of our biggest fans, so thank you so much. And I'm not gonna read it because it is literally like three pages long, but he has a lot to say about S4e23 (14:42.188) Mm -hmm. S4e23 (14:46.028) Yes. S4e23 (14:50.635) Yes. S4e23 (14:54.316) Mm -hmm. Daniel (15:03.822) like project management ideas, especially when you have a team that is remote that you want to grow. I wanted to basically jump into a few key points that he's saying and just react to them and just read them because they actually make a lot of sense. And I'm incredibly grateful for the email. Yeah. S4e23 (15:24.876) That's great. Daniel, just to interject just quickly, this is also a callback to episode 19 of this season. Yes. Daniel (15:35.182) It is, yeah. 19 is the episode we're recording. S4e23 (15:39.532) That's right. But I'll link that up in the show notes. But yeah, anyway, for anybody who's not listened to that show, we talked about project management and that side of things and everything you've got going on in your world with Telemetry Deck and the people around you who are part of the current Telemetry Deck team. So that was the context, I think, for Joe's email. Daniel (15:41.518) Fantastic. Daniel (16:06.51) And so what he's saying is, Daniel, you're going hard mode, quick and early in my opinion. Because what he's saying is like, the way I'm setting things up with the contractors and stuff is actually pretty intensive to manage. And he's absolutely correct. It's just a financial decision. We can't really afford to have full -time contractors right now. So I'm going to kind of spread the work a little bit. And of course, that makes it harder because then then there needs to be more management. And that is one of the many balls that I have in the air. I mean, what he agrees, he agrees with you on the fact that like nothing, not everything should be like detailed and planned out in front. Because yeah, that's a completely waste of effort. So what I've been doing anyway is like, you know, like one sentence tickets and then like. S4e23 (16:41.388) Mm -hmm. Daniel (17:02.894) work together with the person who's gonna implement it to work it out a little bit more into like bullet points. And then, and he says, one to three item punch list, basically that is that I can hand off to my minions, which yeah, which is basically what I'm doing. He also says, yeah, use the tools that you can use consistently and are comfortable with, which is pretty good. S4e23 (17:16.94) Mm -hmm. S4e23 (17:20.78) Right. Daniel (17:31.214) keep communication overhead low, which I am, yeah, I'm trying my very best, especially with the tools that we have. Same with, and he very much agrees with you too on like async versus synchronous. Like don't have these very, very long discussions in asynchronous meetings, especially with multiple participants. Although I have to, hmm. How do I say this? Like, on the one hand, I completely agree. On the other hand, my problem right now is that there are so many things happening at once. And all my tasks basically are sitting in my quiet room, staring at my screen, and just like doing things and like switching tasks all the time. And actually I found that every now and then, especially meeting with Lisa, and then just discussing the high level things is actually really, really valuable. Just because it gets me out of the house and also like talking in a different mode and a different context. And especially if it's about the high level stuff, you really have to like, it's like, that's not against his email actually. But that's actually really helpful. But then also what we usually do is like, once we've decided on the high level things, we also like kind of sit next to each other and work on those things. And it's also so nice to just have a buddy doubling buddy next to me, kind of. S4e23 (19:03.884) Mm -hmm. Yeah. But that's quite different because you're in a partnership there as well. So you're bouncing off each other rather than necessarily you're trying to direct other people on tasks that are going to come back to you later, right? So that's sort of a different mode. But it ties into something, though, that I really do believe about asynchronous work and distributed. teams and that sort of thing is that it doesn't have to be all one or the other all the time. Like I think you can be largely asynchronous and have specific moments of synchronicity, right? So, and that you need that anyway. I don't think you, you in your situation can get away from having to catch up with people one -on -one or one -to -many over some of the work that you've got going on. But what you're saying about catching up with Lisa ties in in the sense of my steer there is to say you have to make those moments of synchronicity meaningful in some way or useful in some way. So yeah, we've got to catch up about the thing, but like you say, in your circumstance, you can turn it into a change of mode, an outing, a thing. I don't know how that applies to some of the other interactions you've got, but Daniel (20:12.27) Yeah. Yeah. Daniel (20:28.142) Yeah, I kind of want to do that soon, I think. Money quote, my only notable advice would be to brutally stomp out yak shaving conversations when everybody is async. You can have meaningful team building when that happens all in person, but when it's asynchronous, it's more people talking to each other and that doesn't build bonds. I'd actually seriously suggest that you dictatorially choose a search S4e23 (20:30.508) Yeah. S4e23 (20:50.124) Mm -hmm. Daniel (20:57.454) Choose a third to everyone that is your choice and it's done at move on code style architectural decisions what flavor of the month and so on S4e23 (21:04.812) Mm -hmm. Daniel (21:06.542) yeah, I'm a dictator anyways. S4e23 (21:09.804) Yes. Daniel (21:12.078) there's of course more in here, but these are, I think, I think the most important one. he says, just like continue to be agile with a lowercase a. Yeah. Thank you so much for your email. it has been fantastic to read because like Joe's rush Joe's just like writing, like Joe's writing style is just like fantastic to read. And I love it. So thanks so much. S4e23 (21:19.5) Yeah. Yeah. S4e23 (21:27.212) Yes. Yeah. S4e23 (21:42.7) And yeah, I think that last point about being a dictator in the decision making, it reminds me of how I think in that episode, I was saying to you, one of the biggest things you can provide is clarity as a leader in that sort of thing. And I think at this stage, it kind of links up with that, right? It's not just like, you know, this is where we're going, but you've also got to provide that very strong, like, yeah, okay, that's how we're going to do it and make that decision quickly. Daniel (22:09.582) Yeah. And I mean, it's still, it's still a piece of balance, like, because like, I cannot, like, micromanage because like, I can't, I can't afford to, but at the same time, yeah, I'm, I'm learning to trust my instincts more and more because I have a certain vision, like that sounds very grand, but like, I have a certain idea of like how things should be. And I have started just like, like very clearly saying like, this is, yeah, like. S4e23 (22:27.756) Mm -hmm. Daniel (22:39.406) Like when someone comes with like, we can have option A or option B. I'm like, yeah, I want this one. Like this is what I want. Or like I had a design decision, a discussion with our design consultant the other day. And he was like, yeah, let's make the whole thing very, very orange. Like he wanted to make the header bar orange, including the app name. So it's like five centimeters of orange just at the top. And I was like, it looked kind of cool. S4e23 (22:45.42) Yeah. Yeah. Daniel (23:09.614) But in the end, it was like, no, this tries to be an iPad app, but then it kind of isn't and it feels weird. And I like the white because it looks very Apple -y. S4e23 (23:20.364) Yeah. Yeah. And that's it, right? I like some of these things. It's a, it's a taste thing or an aesthetic thing. And again, like you're, you're leading this, you're fronting this. So you should be having a strongest say in that. I think as time goes on and yeah, benevolent leadership, but there's also another point in this as things move on, right? So assuming you build out the company further, you've got Daniel (23:36.43) Our benevolent leader has spoken. S4e23 (23:48.876) permanent staff and an ongoing backlog that's been worked through and all of those sort of things. There's a point where things can shift in a sense of you'll have some of that leadership coming through in the individuals who've been involved for a while. And then that decision of is it A or B, starts to come with a side dose of, and what would you advise? What do you think would be best given everything you've experienced working here and as part of this team, what we're doing? And your team, as it builds up, you'll start to get stronger views from people in that sense. And that's where the delegation kicks in even more. And you can start to trust in that way. Daniel (24:31.758) At the same time, when I don't have an opinion, which also sometimes happens, like one of our contractors like comes to me with, Hey, there's a ticket that says improve the date picker, but it has no content. I'm like, yeah, because like no one has actually like had any fun ideas what, how to implement this. And then he's like, Hey, I want to do this way. And I'm like, sure, whatever. Like, like not, I don't care, but like, I, I like it that like he's taking the initiative here. S4e23 (24:41.932) Mm -hmm. S4e23 (24:58.284) Yeah, yeah, exactly. So, nah, that's cool. That's cool. I think you're managing to thread the needle here, Daniel, with benevolent dictatorship and also listening to your folks around you. So that's really cool. Daniel (25:14.958) Yeah, yeah, and I'm just like really good at praising S4e23 (25:18.636) Yeah. Daniel (25:20.654) Well done, I'm so proud of you. S4e23 (25:24.044) Thank you. Thank you, Daniel. I felt that. Daniel (25:26.318) See, see, fantastic. How's your very large team of employees doing at Govj Labs or Lightbeam apps, I mean. S4e23 (25:31.532) S4e23 (25:39.084) Yes, so my company like V -Maps with our staff of me and the cats. Well, the cats have definitely been bossing me around, but they largely just want biscuits. Daniel (25:52.878) Are the cats going to be in the downloadable content pack videos? S4e23 (25:57.548) Oof, maybe that could be fun. That could be very fun. We spoke about that last time about me trying to stand up a back end and honestly, I am going to be doing this. I've been thinking about this some more. So that'll be a thing. I'm going to be setting up this, this vapor or even actually another Joseph Heck recommendation to me was to take a look at Hummingbird. It's a lightweight. Daniel (26:22.99) What is that? S4e23 (26:26.06) flexible modern web application framework that runs on top of Swift now Daniel (26:32.75) But then it's not lightweight in me because like Swift now is like 40 tons like that's the heavyweight part, but okay S4e23 (26:33.644) Yeah. Yes. I know. Yeah, but it looks interesting. It really does. So anyway, I've not looked in any massive depth through it yet, but the big thing for me is that I've got adding this content in that purchase thing to go VJ is one thing that I'm not on yet, but I'm going to be looking at soon. The things occupying the me the most at the moment is trying to get this NDI switcher app ready to be released. Daniel (26:45.422) Okay. Daniel (27:10.51) Mm -hmm. S4e23 (27:12.684) and we've kind of taught that to death on the last few shows because that's been part of my, my focus, but, this is an app to switch between different network video feeds. and I've kind of got mired in a bit of memory bug, difficulty because it sits on top of this, this, this library that is a C plus plus library. And I've had to do a few things to wrap it for, for working within Swift. Daniel (27:33.39) Mm -hmm. S4e23 (27:43.703) I ended up in a SwiftUI problem where part of the underlying layer was not getting deallocated very well when you killed feeds. So that's absorbed me. But I'm getting close to a test flight release. In fact, I've got it in test flights already. I'm going to put a link in the show notes to anybody who's interested. You'll need to probably have a bit of guidance on how to how to use it, but that will come with the test flight notes. Unless you're an NDI user already, and then it should be that easy. But yeah, I'll link that up. I am kind of sick of it in some ways at the moment. This started as a, yeah, I want to kind of play with that, and ended up being much, much more of a time suck because of these memory bugs. Daniel (28:21.646) You Daniel (28:39.694) Yeah, I get that. S4e23 (28:40.94) Yeah, it's not the worst because the fixes for that go back into the library, go VJ then benefits on the next update. So, you know, it's not wasted effort or time really. But yeah, test flights. Going to try and get it to the store as soon as I've got sound in there, because that's the thing that's missing at the moment. It will record your video, but not any sound that's being sent over the feed. Daniel (29:06.67) Who needs sound, really? S4e23 (29:08.716) Yeah, exactly. It will be a silent podcast on a future episode. We'll just mime it. But yeah, so that's that. And then the other thing beyond this downloadable content for the VJ app is I need to get started on the pro version of the app. I promised it last December that I was going to get into it this year. The year is rapidly proceeding at pace for in July now. So I need to break ground on that. Otherwise I'm failing at that promise. So that's me. All systems go. But yeah, I'll let you know if I get stuck in Swift on the server, Lan Daniel, because I would probably need some help over there at some point. Daniel (30:05.742) Sure. I had a quick look at Hummingbird. It looks very cool because it's new and fun. It feels like if Vapor is Django, then Hummingbird is kind of flask. So it has less of an inherent project structure. And it's just like, yeah, you can put everything in one file, whatever. Then at the same time, it actually borrows a lot of things from Vapor, like Fluence, the database query language. It's just exactly the same. It has the same Redis connector. S4e23 (30:10.668) Mm -hmm. S4e23 (30:24.652) Yeah. S4e23 (30:32.524) Yep. Daniel (30:33.678) has the same template renderer. So I think the authentication system is also very, at least, related. So yeah, I think there's a lot of connection between the two projects. Pretty cool. S4e23 (30:44.812) That's quite fun and it's funny because Joe described it in exactly those terms in terms of Hummingbird is Flesk, Vapor is Django, effectively. So yeah, that's... We shall see. I kind of just want to make something work. So maybe just going hard out into Hummingbird to start with is a good shout for me in terms of where I'm at with all of this. So... Daniel (30:50.478) You S4e23 (31:14.604) Yeah, I'll let you know. Daniel (31:17.198) All right, good luck. S4e23 (31:20.62) Daniel (31:21.07) I'll be eager to hear about your adventures. Offer stands, like whatever. I can probably help you way more with wave vapor, but I can do my best either way. S4e23 (31:33.996) appreciated. How are things over on your side? yes, no, I appreciate many things about you, Daniel, including your blue beard that, Daniel (31:36.43) So that's what you appreciate about me. Daniel (31:45.038) That is a letter candy reference. S4e23 (31:48.78) Ha ha. S4e23 (31:52.844) Amen. Daniel (31:54.35) What's new on my side was your question. So basically on, I can't tomorrow because I'm super busy tomorrow and I'll be on a train on Friday, but next week, begin the two weeks of server Palooza where I'll hopefully be able to move our servers from Azure to AWS and also from Kubernetes to S4e23 (31:57.836) Yes. S4e23 (32:16.716) Mmm. Daniel (32:24.398) Virtual machines are managed by Ansible. Wish me luck. It's going to be a tiny bit stressful. I think I have all the pieces in place, but just like implementing it all and making it work. And then also making it work properly is going to be an adventure, but it needs to be done because I want to have more reliability and better performance and also like more efficiency. So like we have less, less cost basically. S4e23 (32:34.764) Yeah. Daniel (32:59.374) And this is gonna future proof a lot of things. S4e23 (33:02.988) I don't envy you on the test though, Daniel. It sounds like you're not only migrating data, you're migrating to a new sort of form of the stack, right? Daniel (33:03.95) Other than that, haha. Daniel (33:12.206) Yeah, I think the migrating of the migration of data, that's going to be just like, whatever. Like it is just nine, no. Yeah, now it's going to be horrible, of course. But the problem is there's going to be, there's like so many like unknown unknowns, even though like I've tried all the individual pieces, just about how they work together and like where we'll suddenly be like, we will find problems. Whereas S4e23 (33:17.932) Don't say that, don't say that. Daniel (33:39.214) like moving of the data, just like just the data. It's just like, there is, I don't know, I want to say like five to eight terabytes of JSON files on an Azure storage container. And like, they need to be, they need to move to an AWS S3 container. And it seems like something that has, that's going to have, might, might, might, might, it's going to be, we're going to make some problems or whatever, but it should be doable somehow. Might, might take a take a bit of a while, but I don't anticipate many unknowns there. Whereas getting that data in, then we'll actually ingesting that data, telling the new servers, hey, here's your data. Now load it and get it into your format. Also, defragment it and stuff like that. That's going to use a lot of power and CPU and RAM. And this is where we will immediately see how resilient these servers are. S4e23 (34:13.292) Okay. Daniel (34:39.022) Before we even shut down the old ones, because that's the equivalent of all the traffic hitting it at once, just telling it, hey, this is your new data, just clean it up before you actually store it. And that's good because then we can test a lot of the stuff, especially the resilience and where does it fail without having to put real traffic on it. And the traffic then... might be disappointed that things don't work, you know. S4e23 (35:11.66) so it's going to be the most busy it could be right up front. It's a good way of kicking every tyre all at once, right? Daniel (35:15.406) Yeah. Yeah. Daniel (35:21.422) Other than that, I've talked to a, it sounds like a snake or a sainsbury when I say I talked to an SEO expert, but I talked to a startup founder that is like becoming a friend of mine, the founder of Friendly Capture, Benedict. Friendly Capture is a alternative to Google Capture, Google ReCapture, where you have to like click all the traffic lights to prove that you're not a robot. Instead, you don't have to do anything. S4e23 (35:47.052) Mm -hmm. Daniel (35:50.35) your computer just does a little calculation basically. So like, and just to prove that to a scammer or something, it wouldn't be worth it just like running this 10 ,000 times because it's just like, it's one of those, you know, like one of those math problems that are hard to calculate, but then easy to double check. So anyway, friendly capture is what we are using in Telemetry Deck when you sign up. S4e23 (36:10.06) Right. Yep. Daniel (36:17.838) So it's really nice and they, turns out they are very successful and they made all their marketing. They did all their marketing only with SEO basically. And that started a few years ago. So that's been a different time of course, but still like, I've like, excuse me. Still I thought I'm gonna like talk to him and ask him about his opinions and especially on. what is called in my head the Orbiter Survey, which is the thing where every month I look at what is the market share of different iOS versions and stuff like that. Like is VisionOS like falling or is it like stabilizing, whatever, spoiler, it's kind of stabilized. And so like recently I've decided I don't want to write this whole ass blog post every month because it's a lot of work and also all the data is kind of in there together. And also it is like, it is kind of not being discovered by Google immediately, even if I tell Google to kind of re -recrawl that URL. And only like a few months, a few months after publication, people are actually like, Google is actually like really sending people to that individual page, which is kind of defeats the point. So I'm like, okay, I want to have a single URL that always points to a single, the single answer to a question, which is like, what is the iOS market share? S4e23 (37:23.788) All right. S4e23 (37:32.268) Yeah. Daniel (37:42.766) or the market share of different iOS versions, or how many users does Vision OS have? That kind of stuff. So I started doing that. Right now they're called surveys. And Benedict had a lot of cool ideas about how to do that better. Like he suggested renaming them to reports or market reports instead of surveys. He liked the idea of having a static URL. But at the same time, like he said, like, okay, the most recent update date needs to be like super prominent on these pages. The year, at least the year needs to be in the title somewhere because that's just how people search these days. And also he wants to have a bit more. I'm going to put an example link to one of those into the show notes. He also wants to have more text in the body. Like he wants to have a little bit of like a... the most important numbers as text so that a crawler can actually pick it up instead of just as the chart. And also just like a bit about like a few sentences about trends and things that are going on to have more meat there basically, which I don't mind. It's gonna be less work I think than writing the blog post and it's gonna be more organized, which is actually more important to me. And so, yeah, let's see. S4e23 (38:44.172) Mm -hmm. S4e23 (39:09.324) That's cool. I'm very keen to see what the big changes could be that will really trigger Google to, to, to, well, I'm very interested in how this goes in terms of what you end up finding to be the biggest thing that shifts this for you. Right. So I think you Daniel (39:32.142) Yeah, it might be that this is just not a huge thing, but at the same time, it is a significant driver of traffic to our page. The most people who come to us actually are searching for an analytics solution. So that's actually a good thing. But then directly afterwards are the blog posts about Orbiter Survey or iOS version Market Share. And then the third... the big driver of left clicks from Google. It's actually a documentation page about how to upgrade a Swift package. S4e23 (40:09.356) Right. Daniel (40:10.574) because apparently we are one of the canonical sources. about how to update a Swift package. S4e23 (40:20.14) quite random. But in any case, I think you're thinking all of that through. I see that I'm looking at your your site at the moment. Surveys there. I know what it is, but actually reports is probably a better name overall. It sounds more authoritative more than anything else as well. It's not like Like survey is sort of like, you know, we've asked a few people and this is what we've found. Whereas a report is like more, yeah, analytical and kind of, yeah, like I say, it's authoritative. This is what the market is doing. and obviously it's, this is what's going on according to telemetry deck, of course, but you've got a broad enough base now that it is very much, able to be generalized. Yeah. Daniel (41:09.582) which is the reason why we're still not doing market reports on Android because most of our data is to iOS or Mac or Apple ecosystem. So I think in a while, I think we'll have a threshold soon where it makes sense to offer these, but not quite yet. S4e23 (41:27.372) Mm -hmm. No, that makes sense. It does make sense. You've got me thinking, you've got me wondering if there's any point in me doing some similar sort of stuff on my side. I think probably not at this stage. I do. I do. That's that. No. Daniel (41:41.358) You need the shareables. You need the shareables. The shareables are so important. You're nothing. You're nothing without the shareables, Dave. Well, I call you Dave, but your name apparently is S4E23 according to this display here in front of me. S4e23 (41:57.452) yes, that's our podcast recording set up. Every week when we record it names our recording Dave. And I'm like, okay, what if I rename myself to the episode name? Yeah, so yes, to day Daniel, I am S4E23, which is going to make zero sense to anybody listening and not much sense to anybody watching. Daniel (42:10.062) Genius! Genius! Daniel (42:23.758) You S4e23 (42:27.18) Excuse me one second. This is going to be a terrible idea, but I'm going to very quickly share on the YouTube. Yeah, there you go. There's a parallax, right? Cause it's feeding back on itself, which is kind of fun. But for anybody watching, you can now see, yes, look, there we go. It says S4E23 screen. I'm in the parallax. Daniel (42:40.622) I love it. It is kind of fun. Daniel (42:48.334) I'm gonna take a screenshot and post it on Mastodon. S4e23 (42:58.415) But Daniel on that note if we're goofing around here it's probably time for us to to either wrap the show or round out with one more thing. Daniel (43:08.302) OK, one more thing that I've been working on because the server pelusa hasn't started yet. So I've been noodling around on a new feature that no one wanted. And that I kind of wanted it. And so I kind of been trying out to build a command palette, which is this thing. On some pages, you press, I don't know, Command -K or another. S4e23 (43:20.748) You Daniel (43:35.982) button, like keyword button, and then you can just type, like especially for example, on GitHub or whatever, then you kind of type where you want to go, and it kind of auto completes this. So I wrote a server API for it that uses a, like where I ported, or actually I found someone who ported various fuzzy string matching algorithms into Swift. And So yeah, I'm using those to match app names and dashboard names and just stuff like settings and stuff like that. The problem is the JavaScript side, because not only do I have to, I can open this thing and then I can see whatever you type and then send it to the server after I short 200 minutes, they can pause. But what is killing me is keyboard navigation. S4e23 (44:08.844) Mm -hmm. Daniel (44:28.045) Like, because what you want to do next is then like press down arrow, down arrow, enter. And now I got that to work. But if I press down arrow, down arrow, then like this item is highlighted. What happens then? If I just like, if I then, instead of hitting enter, switch to the mouse, then I need to hover, but then like, this is not just a visual hover. It also needs to change the actual highlight. So the system needs to know where I'm hovering. And I don't know. It's not done yet, but it's... been distracting in a very nice way. And I think I'm going to have to put it aside and either ship it in a half working state where it's like it's breaks when you switch from keyboard to mouse or not ship it, but like not the server, the server times are near. S4e23 (45:17.484) Yes. Serverpalooza, as you could dubbed it, is calling you. Well, the command palette sounds like an interesting set of features to me. Like it's a bit of a power user thing, but I can imagine it also ends up being a bit of a almost expected after a point as well. Like you're adding this because you're like, every time I go here, I want it. Yeah. Yeah. Yeah. Daniel (45:38.306) Yeah, I'm pressing command K all the time in my own app and it's not doing anything. So I think like it needs to be there. Also, I'm trying to find a, like you know the Nordic concept of Ragnarok? I'm trying to find a pun on like servers and Ragnarok, but like Kubernetes doesn't really fit into the name. Like, I don't know, Ansible doesn't really fit in the name. S4e23 (45:52.716) Hmm? S4e23 (46:06.828) dear. Maybe, maybe if anybody has an idea for that they can write us at contact at waitingforreview .com on email that would work. Daniel (46:08.014) Probably not happening. Daniel (46:13.422) Yes. Daniel (46:19.598) That is correct. That is correct. You can also like write down in the comments below into the YouTube comments. You can also go to our Discord server and talk to us there. The link to that is in the show notes. I'm assuming. I'm not writing that. Also, please like us on iTunes. Rate us on YouTube. No, the other way around. Like us on YouTube. S4e23 (46:27.212) Yes. S4e23 (46:30.892) That's right. Yes. S4e23 (46:37.1) It is. I make sure. S4e23 (46:47.916) Hahaha Daniel (46:48.942) rate us on iTunes, send us emails, also send us friendly mentions and likes on our socials. What are your socials, Dave? S4e23 (46:59.372) My socials are cranky. So it's kind of ironic because I'm in the middle of taking a bit of a social media break. But yeah, you can find bits about my apps on Instagram at lightbeamapps .com spelt like D O T com or one word. Again, I'll link it in the show notes. You can find me on Mastodon the fatty verse over at Dave at social. lightbeamapps .com and of course if you haven't guessed already you can find out more about my apps just on lightbeamapps .com so yeah how about you Daniel (47:40.622) How about me? You can find the comment palette nowhere because it's not launched yet. You can find the rest of Telemetry Deck at telemetrydeck .com. Look at the survey, soon to be renamed to market reports. And you can find me on social at Daniel at social .telemetrydeck .com. S4e23 (47:59.948) Awesome. Well done, Neil. Daniel (48:01.71) Also, if you're in a car, honk twice. S4e23 (48:04.204) Yes. So on that note, Daniel, take it easy. Have a great week and I'll catch you again soon. Daniel (48:09.902) I will, you too. Yeah, looking forward to it. Byeeeee!