Daniel: "Hey, welcome to Waiting for Review, a show about the majestic indie developer life. Join our scintillating hosts, Dave and Daniel, and let's hear about a tiny slice... Slice? ..of their thrilling lives. Ha ha ha! I'm Daniel, Dave, how are you?" Dave: "Slices? Ha ha ha. Good, thank you, Daniel. That was definitely a slice of life there for a second." Daniel: "Ha ha ha ha" Daniel: "I'm wearing Lycra right now. I'm wearing, I'm still wearing my bike bibs." Dave: "Oh wow, I'm not sure this was the call. Okay, thank you." Daniel: "Hahaha I went on a bike ride earlier and I was just too lazy to like, I didn't really sweat a lot. So I was just like, Oh, I'm just going to sit down." Dave: "Well I hope you're comfortable because we've got a show of talking about our scintillating indie app lives. So I hope you are comfortable and locked in your seat with your Lycra." Daniel: "I am, yeah. Even though I am... Let me tell you in a few minutes about I'm already annoyed by my AirPods and I'm at AirPods pair number three now. Actually, I'm gonna tell you right now. So I had AirPods Pro, I think I told you about this last time and they were kind of nearing the end of their lives and..." Dave: "Oh no. Oh no. Yeah, go for it." Daniel: "The way I noticed that was that one of them didn't charge anymore. You put them in the case and the left pod would just not get a connection. It would just show up in the iPhone widget that shows you the charge status of your various devices and it would just show up as not charging and then slowly run down the battery. Then after a week or so, it would sometimes wake up, recharge and then work for a while, but then it would kind of not charge again." Dave: "Right." Daniel: "because that pair was like four years old. I was like, okay, I'm just gonna get new ones because I was so eager to upgrade those. And I got the new ones and they developed the very same symptom. Like also the left one, it just wouldn't connect to the, or it wouldn't charge. Like it would just pretend it wasn't in the box. Like it would even like try to connect to my phone." Dave: "Oh no. Okay." Daniel: "while it was inside the box. And so yesterday, the right one also started this behaviour. So this morning, I'm just like looking at that, like I'm just opening and closing the box and both of them are just like, as if they weren't there." Dave: "Hehehe" Daniel: "Um, and I had to run into the city anyway, so I went to the Apple store because Augsberg somehow has an Apple store, even though we're not a huge city. Um, and I was like, okay, if I go there while they open, I might get a, get a support, I make it support at the genius bar, even without an appointment. And if not, if they like turn me away, I will just make an appointment. And so I went there and then." Dave: "Mm-hmm." Daniel: "Like the guy was like, Oh yeah, sure. I, we have time. Uh, give me the AirPods. Uh, he, he went away and he, he took a, took a while. And I'm sure that's also because like the, both the pods were like completely free of charge, free of charge. Um, they were completely like run down. So I, I assume it would, would take some time. Um, but I had my mask, I had my laptop, I had wifi. So I was just a bit working a bit basically. And, um, then finally he comes back." Dave: "Yeah. Yeah." Daniel: "He's like, okay, so first of all, I tested both of the pods and it turns out both the left one and the right one were just non-responsive, but you just bought these. So you're getting new ones. So sign here for the new like ear pods. And I was like, okay, thank you very much. And then he's like, and then also I tested the case with the new pods. And that also didn't work. So I also replaced the case. So, so, so I got a completely new pair of ear pods or air pods with a new case as well. And then he was like, okay, just leave them in the, in the case and charge it for half an hour. And then they should like synchronise and everything. And they did that. And then they, then like later today, I wanted to go on that bike ride. I opened the case and what happens?" Dave: "Okay. Yes." Daniel: "The left one isn't charging. Ah, so I did. Um, wait, so I first saw what I did was like, okay, I took it out and put it back in and then it actually showed us charging. So I was like, okay, I'm going to leave those alone. 10 minutes later, 20 minutes later, I come back. I want to put them in and they put both of them in. They make the connected sound and then somehow it feels weird. Like something's not right. Like, I feel like I'm tilted somehow." Dave: "Ha ha ha!" Daniel: "So I'm like, OK, did the transparency mode just activate on one of them? Because that's what it felt like. And so I open my phone, look at where you can visually select the transparency mode instead of just grabbing the stems of the AirPods. And I'm like, OK, I can enable transparency. And I can enable, do not do anything with noise cancellation. But the noise cancellation mode is greyed out. And I'm like, OK, that's weird. I'm going to tap that anyway. And then it says." Dave: "Mm-hmm." Daniel: "Oh, for noise cancellation, both of your airports have to be connected. It's not like, okay, I'm going to put these back into the charging case and then take them out 10 seconds later and then they connect and now they have actually worked for the rest of the evening, but I'm already suspicious of this pair as well. They're now they're called airports number three, because that's apparently how they are named automatically when I pair them." Dave: "Oh no. Yeah." Daniel: "Let's see if I get to number four." Dave: "Yeah, yeah damn these are what and it's becoming like what the airports of Theseus here where you a different case different airports um but Daniel I'm wondering like common denominator here are your ears just a hazardous environment for airports or something?" Daniel: "Yeah. They might be, yeah, apparently. But I mean, the previous pair has survived for four years. So I don't think I'm treating them badly. Like one thing that I do is sometimes I wear them to bed, like one of them just in one ear. And that is usually my left ear. So with the previous, with my first AirPods basically, I was kind of like..." Dave: "Mm-hmm." Daniel: "Yeah, if one of them breaks, then it's, it's makes sense that it's the left one because I'd usually put it, put it, put it in the left ear. So I use that one more than the right one. Um, but this pair, I kind of didn't want to do that. Like I haven't, I haven't worn them to bed once. I only wear them at my computer or while on the bike." Dave: "Yes. Yeah. Okay, so." Daniel: "So that's out of the window. But one thing I've also learned is that usually with these things, it's the case. So I'm actually considering for my old airports, which are, the pods have been replaced just half a year ago because I had the crackling issue and they just replaced them. So maybe I will just spring the IWARP." Dave: "Really just unlucky then. That's a. Yes." Daniel: "I want to say 60 euros or something for a new case. And then I have basically AirPods, one of these years as well. And then I can hand them over to a relative or whatever, because right now they're just like lying around and that's kind of a waste of the nice hardware." Dave: "yeah now that makes sense that makes sense so you can try this beforehand with the new ones right can you put the old ones in the new charger" Daniel: "I don't actually know. I'll have to Google that. I don't know if the, because like, I mean, the case is slightly different because it has like the form factors. No, the form factor is the same, but it has this little thing in the side, this little opening where you can put in a piece of string or something to like attach it to your key ring or whatever. And so the old one doesn't have that, but other than that, it looks, oh yeah. And also it has a speaker." Dave: "Yeah. Okay. Yeah." Daniel: "And it has, and basically an AirTag built in. Like if I want to find them, I can use the find my app with the find nearby feature, which is really, really helpful. And the old case doesn't have that. So I don't know if they're compatible. I'll Google that." Dave: "Yeah. Yeah. You can use that as a, as a test to just sort of check that they're working, that everything's all good before you go and buy another case. I mean, you've, you've just stopped using them." Daniel: "Right. But I kind of don't want to, I kind of don't want to like do anything right now with that pair of airports, like in that case, like I don't want to unpair and repair them or anything. I just want to leave them alone." Dave: "Yes. That's fair, that's fair. And then, yeah, no, oh man. All of this to get a working pair of headphones. That's a lot of..." Daniel: "I mean, when they do work, they're amazing. Like the sound quality is fantastic. The noise cancellation is even way better than the AirPods Pro 1. And like, for example, if I'm walking through the city and like parts of the city are not accessible by car. So it's pretty safe to have noise cancellation on there. But still like there's just the hustle and bustle of a city, right? And you just put them in." Dave: "Yeah. Yep." Daniel: "And it just gets quiet. And then you listen to your podcast in a very like quiet setting. And it's just so relaxing. It's really, really nice." Dave: "Hehehe Yep. Well, I wish you all the best with your latest version, I want to say, of your AirPods. It sort of feels like you're on AirPods v3 underscore final right now. And hopefully on the next show you can tell us that they're running perfectly and you've had smooth runnings with audio, yes." Daniel: "Hehehehe Stay tuned." Dave: "How are things going over in TelemetryDeck land, Daniel?" Daniel: "TelemetryDeck land is doing a lot of things behind the scenes. Like, I'm kind of feeling bad because I haven't done anything that really changes the user interface. There are no real new features. But a new feature is coming, which is Web Analytics. And that's actually a byproduct of something else. So it turns out." Dave: "Hey, awesome." Daniel: "that a lot of potential customers can't use TelemetryDeck right now because they use React or React Native to write their applications or web applications. And I, as an iOS developer, I've never been a fan of React Native because it just, it doesn't feel perfectly right. I also have some objections to React, but that's kind of beyond the point or beside the point even. But enough people have asked that I was like, okay, this is a huge customer segment. We really shouldn't snub them. So I was like, okay, I'm gonna ask around if I know someone who has experience with React and React Native, which are two different, distinct things by the way, which is one of the things I've learned. And I met a friend of a friend who actually loves TelemetryDeck. And he was like, yeah, let me just have a look. And he kinda..." Dave: "Yes." Daniel: "took in the existing JavaScript code that we have and try to build like a React shell around it that can then be integrated in React apps and maybe even React Native apps. And the problem is the current JavaScript code kinda expects to be running in a browser, but that's not a given because you can render React components on a server and then it doesn't have a browser and React Native components, they run." Dave: "Right. Yes." Daniel: "on a device and they generate native UI kit or Kotlin components. So both of these, they just crashed because they're like, great, I don't have a window. I don't have a navigator object. So basically a rework of that code was in order. So I sat down with my friend Florian, who's the god of all JavaScript developers basically. And we were thinking, okay, what shall we do? Like, because we kind of want to have. web analytics as well. And that's what the current package provides. It's a bit clunky, but it works. And so we thought, okay, let's split up this package into one package that is just for people who wanna drop one line into their website and then just know how many visitors they have. And then have a separate package that is for people who build any kind of package-based JavaScript application with Node Package Manager, for example. And... that doesn't presume that there's a browser window or a navigator object or anything of that kind. So that's basically for the programmers. And the web thing is for like people who have a website, who don't have to be necessarily be a programmer. And also the advantage is that both of these packages are tinier, which is good. And it turns out that the web... Um, like if you, if you say like, okay, I let's pre-suppose that we do have a, a browser that we are running in a website, you can just throw away a lot of things that you don't need anymore. And because before that, like the telemetry SDK would send a lot of stuff to the server. Like for example, oh, I'm this browser and, um, I'm at this, I'm on this operating system and it turns out you don't even need to do that because. If you send a request to a server, the browser will already send that in the headers. So I'm like, OK, let's make a new API endpoint for the ingest API that is just for this Web SDK. And that can just take the browser information, the operating system information, directly from the headers. It can destructure the URLs so that it will throw away everything that is identifiable in the URL. For example, if there's a user ID in there or something. But it can still count if there's, for example, a source parameter or something like that. And then I'm like, OK, do we have to generate a user identifier? Because that's actually something that the JavaScript SDK so far cannot do even." Dave: "Mm-hmm. Yep." Daniel: "And I actually wanted to do that for a while. And then we were thinking like, hang on. Like one of the things that we know is the IP address of where the request is coming from. And now you're thinking, wait, IP addresses are personally identifiable information. So I cannot save that. But what I can do is I can take the IP address plus the description string that describes the browser plus" Dave: "Yes. Yep. Mm-hmm." Daniel: "a salt that changes every single day, every 24 hours. And that gives me a unique identifier that is valid for one day. And I can't recreate the IP address from that. Oh, I also put in the app ID, of course. So it is unique for one website for one day, basically. And that's perfect." Dave: "Okay. Yep. One website, one user to some degree for a day." Daniel: "Right, right. So if you go to telemetrydict.com and click on 50 links, then I can say, okay, this is the same person that clicked on these 50 links. This is not like 15 different people. But if you go to a different website that uses the same SDK, like I can't recognise you. If you go to telemetrydict.com on the next day, I can also not recognize you, which is kind of a shame, but I think it's a good compromise." Dave: "Yes. Yeah. And if, um, if somebody else in the same household, arguably on the same IP, same type of browser and device, they get a different." Daniel: "I mean, if everything is the same, yeah, then we can't distinguish them. But I think it's, I mean, if that is the case, then it's just, that is the case. That is also one of the compromises where I'd rather err on the side of privacy than on the side of let's track everything. Um, at the same time, like, I, I just assume basically that people are using like slightly different browser versions or something." Dave: "Mm-hmm. Mm hmm. That makes sense. That makes a lot of sense. And yeah, protecting the PII in that way. I mean, that's everything TelemetryDeck is about. So if you're doing otherwise, I would be very surprised, right? Because that's cool. That means you've got web analytics on the go. It means you've got a route being established for React and React Native as well." Daniel: "Yeah." Dave: "Um" Daniel: "Yeah, that's the next step. Kind of like just, we now have a actual class-based package and you can call that exactly like you would call the Swift package or any of the other packages. And then my other buddy can build a React component out of that. And so that's the next step. And also the next step is talking to our lawyer to make sure that this is all kosher privacy wise." Dave: "Yeah. Gotcha. Yep. Yep." Daniel: "We haven't handled any IP addresses before, and I just want to make sure, basically. So this is right now, this is not, and also like I want to write an email to everyone who is using the current JavaScript SDK to inform them that there's a breaking change coming if you are using the web SDK, basically." Dave: "That makes sense. Yes. Yeah, that makes sense. And I guess your lawyer will be able to check things like whether you need to issue any updated terms and conditions or notices to explain this and all of that as well, which again is all part of the responsibility. So that's, yeah, that's sounding really cool though, Daniel. That's going to open up a whole load of stuff for the web and for non-native apps as well." Daniel: "Right. Exactly." Dave: "I'm the same as you with React Native. It's sort of a bit like in that sort of, Ooh, that's not where I want to play. Sort of space as a." Daniel: "I do understand the reason for these cross-platform frameworks, though, because, I mean, if you are mainly an iOS developer, of course it makes sense to write your code in Swift and SwiftUI and stuff like that. But if you are offering applications for multiple platforms, the problem is not necessarily that you have to write your code twice. I mean, that is work, but it's doable. But the problem is just keeping everything in sync." Dave: "Yeah. Yes." Daniel: "And that's kind of what killed the desktop application for TelemetryDeck as well, because like you have to write everything twice, but also we have to write the same, you have to release the same things at the same time and they have to look and work exactly the same. Otherwise you'll have, you'll have problems." Dave: "Mm-hmm. Yep. I think in TelemetryDecks case, that's certainly quite pronounced because if you're using the app on the Mac and then you open your web browser, yes, you're going to directly compare and go, okay, well, why is this thing there, but not there? I think in some circumstances, you can sort of get away with having platforms diverge slightly. So I'm thinking typically a new feature. The Android app maybe goes ahead of the iOS app. And then a few weeks later, the iOS app has that feature as well. You can tolerate some level of disparity because typically your customer base isn't using both platforms at the same time." Daniel: "Yeah, that's a fair point." Dave: "Yeah, it's a, but it is a thing. I mean, to be honest with you, I've got a bit of this has happened in my day job, as it were, over time, over the years in different companies. And I do tend to advocate that is that like, if you've got the thing ready on one or the other, and you want to get user feedback as well, as soon as possible on that side of things, then do consider letting them go out of sync for at least a little while. you know, like because yeah, your Android users not suddenly going to go, well, why isn't that on my iPhone? I mean, they might have a, an iPad. Um, but again, it's such a edge of the thing that in a lot of cases." Daniel: "No, but like the, for example, your support document might say, click the button that says discombobulate the recombobulator. But on Android, it says something different. The button does the same thing, but it's in a different position and it shows something different. And that's, that's kind of like, then you have like a problem with how to communicate that. And that's, that's kind of. Yeah." Dave: "Yep. 100%. Yeah. So I think it's one of those, again, it depends sort of scenarios, but yeah, I don't know. This is a bit of a tangent, but I guess it's because one of my focuses, if you like, is often about like, okay, let's get that user feedback in. Let's find out how people are actually using this, you know, especially if it's something extra to what the app is doing rather than something changed. A typical scenario is, has been when I've been working for a, an app development agency and you know, maybe a client has started off with two or three tabs to their app for various things. And then they've got the fourth one. That's about to land and bring something brand new into the app. That's the sort of scenario where I think it's okay to, to diverge, you know, because you do, you've got this new thing and maybe waiting. a few weeks or even months, even in some scenarios for the other platform to be, to be parity cuts you off from the early feedback. But again, this is an edge of an edge scenarios that pop up, you know, and they're all context dependent. So yeah, but I think what you're doing and the circumstance and getting all of this together from your side for telemetry is great. Supporting these people in this React Native end of things, it sounds worthwhile to me. I know you're looking at going, I'm cutting off customers, cutting off a segment if I don't do it, but I think it's also a case of like, this is a really good product. Privacy first analytics is user friendly, is a force for good. And so again, by bringing it to those customers." Daniel: "Yeah" Dave: "who then bring it to their customers using their apps. I think that's great." Daniel: "Yeah, that is great. We're gonna spread the word. Speaking of spreading the word, I have other news. TelemetryDeck is now sponsoring swiftpackageindex.com." Dave: "Go for it. Mmm." Daniel: "So there's our lovely logo on there and that's awesome. And also I can tell you this because this episode is actually coming out afterwards anyway. So in the week of July 24th until July 30th, we are also sponsoring Hacking with Swift." Dave: "Oh, that's fantastic. That's excellent. That feels like that's come around really quick actually. I remember you mentioning you were thinking about it a little while ago to me outside of the show. That's great." Daniel: "Yeah. And I'm so happy for that. Like, yeah. Yeah, so hacking with Swift is kinda, I was thinking about it, but then I was also talking to Paul and Illy about, should I do this or should I not? And they were like, okay, just reserve a spot now because you need to reserve those months in advance and then you can still release it if you decide against it. And then the spot came up and we were like, okay, we're not super rich right now, but actually let's try this experiment. Let's see if this actually, gives us something back, brings us enough traffic to actually make it worth. So there's going to be an add on there. It's going to have a source parameter, so we can exactly see in our web analytics where the traffic is coming from. And that will help us determine, hey, are we getting more visitors to the website? Are we getting more? signups, that kind of thing. And so, and so, yeah, that's kind of what analytics is made for. Right. And for the, for the Swift package index, basically Dave Verver wrote me an email and he was like, Hey, do you want to sponsor us? And I talked to Lisa and we were like, yeah, this is actually pretty cool because like Swift developers are just like our main audience. Right. I mean," Dave: "Great. Yeah. Mm-hmm." Daniel: "I would also like for Android developers and cross-platform developers to be our main audience, but that's, I mean, it's undeniable that I am very much more embedded in the Swift community than in other communities. And so why not lean into that? And I love the Swift package index. I love that it exists and it is just as important for Swift as it, for example, is the Python package index for Python." Dave: "Yes." Daniel: "And so we were like, yeah, okay, let's actually try this out." Dave: "really cool and that means that I'm gonna be seeing TelemetryDeck turn up in places that I often am during the course of my week. That's fun. Yeah, I mean it's obviously expensive to start sponsoring like that and I hope it sort of provides some level of return there but even without that I think it's gonna be interesting just to sort of see what type of content you get because of it." Daniel: "Fantastic. Right. It's kind of like you kind of have to explore where it makes sense. And especially those who are like very high on our list because it's exactly the target group of the people that we want to talk to. And we were also considering other podcasts and other websites. And we might still do them, but either they were like way more expensive or controversial or their CEOs were suddenly jerks and it's kind of like" Dave: "Yes. Ha ha!" Daniel: "hard to decide whether you want to put ads on there. Because I actually did try Reddit ads for a while and then the whole Apollo thing happened. And now I'm like, because those were like not perfectly super successful but those were actually not bad considering. So with some optimisation, they might've gotten really good results but then the whole Apollo thing happened. And now, A, like half of the people" Dave: "Yes. Okay." Daniel: "who are like, because like iOS developers especially, like they are very likely to know who, like who Christian Selig is and emphasise with him rightfully so, so they might not go to Reddit anymore. And also like we're kind of supporting then like a, a company that doesn't, hasn't exactly shown that they are like really nice." Dave: "Yes. Yep. I mean, that's a tricky one. There's a lot of companies that have a dark side to them, as it were, in some of how they operate internally or externally. And that can be tricky to navigate because, you know, you're not necessarily aware of all of this, but I think in terms of Reddit, yeah, there's no way that you could have said you didn't, you weren't aware of how they treated Christian, just sort of giving out." Daniel: "No, not at all." Dave: "how big bigger news that was. And I think, you know, good on you. That's, that's the right thing to stand by your principles on that sort of stuff as well." Daniel: "I mean, I can't promise that we always stand by every single principle. Like, I mean, there's of course things that I will never do. And if I do them, like, please realise that I've been kidnapped. And this is a message. But I mean, it's all capitalism, right? And you..." Dave: "Mm-hmm. You mean that wasn't you? You mean that what that wasn't you trying to add me over on threads? You" Daniel: "Oh, that leads me into the next thing I want to talk to you about. But I did try to make a threads account recently. Because I got to be where the people are for just like for connecting to the community. I'm not enjoying this and I'm like, it's not going to be my main social media network, but I think it would be a mistake to not be present at all there. If so many people are there." Dave: "Uh oh. Go on. Yes." Daniel: "You know what I mean?" Dave: "That's an interesting perspective. Yeah. And I get it." Daniel: "Uh, so yeah, it's not, it's like the, the really deep cuts will still be in Macedon. The really silly cuts will be still on Macedon. Um, but yeah, I want to connect with the parts of the community there because like, especially for us developers, but also like for many people just generally on the internet, the, the recent splintering of, of all the social media with Twitter and Reddit basically, um, being less." Dave: "Mm-hmm. Yep." Daniel: "attractive, let's say, has made people like just go everywhere. And like, a lot of us have this feeling that, yeah, we're not we're not connected to our community anymore, because earlier or earlier, like most of everyone was on Twitter, of course, not everyone, but like a huge community was there." Dave: "Yep. Mm-hmm. It was such a big thing in that when I went to iOS Dev UK back in 2017 I had business cards made for myself and all I had on it was my name and my Twitter handle. Yeah. Which I think that says it all really. It was definitely the place in a lot of ways for" Daniel: "Yeah" Dave: "the dev community, definitely. Yeah, I mean, I get it. I get it if there's lots of people over there in threads and that's where these conversations are taking place. You kind of want to be a part of it for sure. I've got other feels about that, as you know, like in terms of being quite a, a fatty verse mastodon orientated person over this last year. So I guess I've seen threads. a slightly the wrong move in some ways in terms of like, uh, it's a meta Facebook company. Um, I have zero trust for them at all. Nah, it makes, it's made a lot of promises and overtures about being federated as well and being linkable to. Mustard on and that sort of thing. And they've yet to do it. Hmm." Daniel: "Oh yeah, don't trust them with anything. I wrote this to you last week, but I'm gonna repeat it on the show. I am in, but by now I'm very much convinced that the whole, we're going to federate thing is just posturing. Like I am not expecting them to actually connect to the, to the Fediverse. And if they do, it's going to be such a degraded experience that it won't really give you anything. Like for example, people in other instances will show way less in the algorithm." Dave: "Yes." Daniel: "algorithmic timelines and not-safe-for-work stuff will not show at all, obviously. And Meta will probably add various features that you only can see on the main Threads app. You know the drill. So I think it's very likely that Threads and the larger Fediverse will stay very disconnected from each other, and I think that's okay." Dave: "Mm-hmm. Yes. Yep. Exactly. Yeah, likewise. Likewise. I mean, it remains to be seen by the time this show cut is it may well be that they've gone, hey, we're federated. And there's been some big thing, but I'm in your camp. I think it's doubtful. And I think if they do, it's going to be very limited. But." Daniel: "Yeah, then I shall have said the wrong thing or, or I made the wrong prediction. Uh, so I did use my U S iTunes account to download the app and then I tried to connect and it was like, uh, like there's an arrow and I was like, Ooh, okay. So I tried to VPN, but even, even with a VPN, like it just wouldn't, wouldn't let me register it all. And then I read that they have now, uh, closed down further against usage from the EU. Um," Dave: "Heh. Mm-hmm. Oh Oh wow." Daniel: "I'm still not entirely sure if it's an anti-competitive thing or a data privacy thing or both, which is like why they're not allowed in the EU, but they're obviously breaking the law. And I find the various American bloggers that say things like, ooh, the EU is shooting into its own foot because they're not allowing this incredibly important platform into their area." Dave: "Mm-hmm. Yep. Mm-hmm." Daniel: "I find that a bit disingenuous because like these are the same people that just a month before were like, oh, TikTok is stealing all our data. So TikTok needs to be banned. And I'm like, what's the difference here exactly?" Dave: "There's not. We're running the risk of derailing this into another fatty social media chat. I want to pull out of that. Yeah, yeah, yeah. But I guess the one thing I do want to touch on is just, you touched on the fact of everybody's there. You want to have a presence with the community. And I get that. I think that's important for a lot of people. And." Daniel: "Oh yeah, like it's fatty hour again." Dave: "Yeah, I guess I put it out there that, you know, never say never. I could see myself creating an account just to have a look. I could see myself creating an account to promote my apps and that side of things as well. I can't see myself using it as a main place to be, if you like socially online. I think it would be very much a syndication route rather than a, Hey, I want to be on this thing all day, every day. But whatever your reasons, it's like, it doesn't really matter. You know, if you want to give it a go, give it a go. And, um, yeah, it's, uh, it's been interesting to see though. I think it's probably a final nail in Twitter's coffin for a lot of, uh, developers in that at least they can go there, have community catch up with people there and it's not an Elon platform. Um, and on paper, at least they're making overtures about, um," Daniel: "Oh yeah." Dave: "better moderation and that sort of thing, which is obviously something that Twitter just doesn't have anymore at all. Um, and then, you know, the fatty verse has in drips and traps and only if you take X, Y or Z boxes on the instance that you're on, right. So yeah, I get it. Um, but I dunno, I'll be, be freewheeling and doing my punk DIY thing on my solo instance on the fatty verse for a while, even if I'm just talking to myself and my cat." Daniel: "the Fantastic." Dave: "I think is probably where I'm at. But let's move on. Let's move on from Fetty stuff." Daniel: "Yeah, I have one more topic and I'm kind of sorry that I'm kind of dominating the topics today, but I brought something. I brought something for the group to discuss, which kind of connects to this topic, which is a few weeks ago, I stumbled over a post on Nestle actually by a indie developer who I've never heard of. And he was pretty much complaining. So this is by Sandra Penizzi. I put it in the show note as well." Dave: "That's fine. That's fine. Go for it. Mm-hmm." Daniel: "And he says, sometimes I wish the iOS community would take note of the less famous indie devs and designers too, the ones who are struggling. I feel like it's always the same, I think he means people, getting the attention. Most of them deserve it and make great products, but there's so much more and the famous ones don't need the support as much as the underdogs. We almost have to fight for every single download. And he goes on a bit more and actually he has, he then introduces his app." Dave: "Yes." Daniel: "which is actually a really cool thing. I think it's a software to design SVGs or convert SVGs into Swift UI code, which is super cool. It's called Colibri. And yeah, and I've never heard of it. And it seems really well made. And he actually got a lot of attention as well for this post because this post kind of made the rounds. But I wanted to talk to you about, and because this is a feeling that many of us have, right? Wait, why?" Dave: "Mm-hmm." Daniel: "Is it always like, it sometimes feel like in our sphere, that there's a few people who are like always leading the discussion kind of. And these are, if these people make apps, then of course, because they have a large following, then they get a lot of downloads and they deserve that. But how can we also play in that sphere? And I have a few thoughts, but I wanna hear yours first." Dave: "Mm-hmm. Yes. Yes. Uh, yeah, my thoughts are complicated on this one in a sense of, um, I felt those feelings in the past, um, at times of like, yeah, okay, I've put this out and you know, it's crickets, um, and I've had the opposite as well, you know, if I've had situations where I've put an app out and it's gone utterly viral, which was very, very fun, quite a ride and a surprise at the time too. Um," Daniel: "Mm-hmm." Dave: "And I would, you know, I guess colour that with there is an element of, of almost luck to this stuff to some degree. And I think there's also an element of like, um, of where you are, how often you're there, how often you're showing up and sort of being present. Um, with the wider community in terms of being able to then, you know, when you put something out, people do latch onto it cause you're already there. Um, it's hard. And knowing how to, where to put your effort is hard as well. You know, like it's a case of, well, I could, me personally, with my video mixing app with Govj, I could be banging on about that every day to the dev community, but my users are not devs for that, right? So I kind of try and just talk about the bit that I think is going to be interesting to devs or talk about the feature when it's ready and that sort of stuff, but like, I don't really expect to sell. to my Twitter audience as it was, or to my FedE audience as it is now. So I don't expect that kind of notoriety, I guess is what it is. I don't really expect that. But then I also have to admit, I do have some level of it because of doing things like this show and being a part of the community and having shown up now for like, the last seven years or so in that sense. Yeah, it's. This sort of stuff, it's all about where you want to put your effort more than anything else. I mean, like in Sandro's case, I'm glad he made that post for him. I think that that's a good thing to just raise the reality of how it feels. But I would also say, okay, that was the first I saw of the app. And I wonder what had he been doing to get... develop a feedback and engage with the community that is potentially going to sell it to and all of that before getting there. And again, just because I hadn't seen it doesn't mean he wasn't doing that. But I guess what I'm saying is that you've got to think about where you're putting your effort on these things and think about where your user base and potential customers might be. And make sure you're showing up there authentically as well. Um, I've meandered all over the place here, Daniel, but these are sort of my gut initial reactions and feelings to this, I guess is like, um, yeah. You. Number one, the iOS dev community is not always going to be your customer. I mean, in, in Sandro's case, looking at this, that that's the opposite. It's a developer tool. Um, but yeah, number one, definitely think about, uh, about that. And then." Daniel: "Yeah." Dave: "And number two is about showing up and about making sure you're in the space that other people are going to be who are likely to be interested in your app. And I've experienced this recently myself too, is that with the updated feature that I put out for Govj the other month for the MIDI support that we've talked about before, I went back to my Reddit account, dusted it off. I don't use it. I mean, this was just before the drama broke out over there as well and everything they did to Christian. And I made posts on the VJing community telling people I was getting in beta that I was doing this thing that this was a feature I was working on if anybody wanted to check it out and give me any feedback then go for it. And I got a load of good feedback. And that was, again, an environment I've not been showing up to. too much, but I showed up genuinely at that point and engaged. And then when I got the feature out there, I was able to go back and post there and sort of say, hey, thank you all for this. This feature is now live and, you know, it gave me a chance to catch up with them. But I guess what I'm saying is, is I could have just released, posted to Mastodon and then kind of gone. Oh, why is nobody interested in this? Yeah. And in that circumstance, I went just a little bit further on that and tried to find where some of my people for this feature really were. And I think a lot of developers do fall into the trap of sort of thinking, well, it's in the store, so it should be selling itself. You know? Yeah." Daniel: "I mean, it was like that 15 years ago." Dave: "I've posted to my socials and nobody's replied back to me. My mum bought it and that's it. You know, and those sort of reactions. And it's like, well, you do have to do, you've got to do more than that. You've got to do all the things to find where your people are. Yeah, and that's hard. That takes effort, that takes time. And you're not always going to get it right the first time either, you know? But in terms of the scene, side of stuff. I don't know. You know, there are some big voices, some well-known voices, there are voices within the in the dev community that I think could do with being quieter at times. We spoke about some of the big bloggers and their views on threads in the EU. You know, being loud doesn't always mean that that's a great thing for everybody. Um, yeah, and I don't know, I have no advice to anybody how to break through that really, other than just keep, keep showing up, keep helping people. Um, yeah, beyond that, I don't think there's anything anybody can really do to control it. You either find your audience or you don't. Um, but I guess just keep, keep trying, you know, and keep engaging in doing things." Daniel: "Yeah, pretty much. For me, I think a rule that I've been learning and relearning and really relearning so much over the last years is that like coding the code and designing the design and like producing the product is exactly half the work. Like it's 50% of what you need to do. And there's another 50% that is just the marketing. just how do you connect to the people you want to see this. And this is usually the thing that us developers don't wanna do so much. But you need kind of to do this, like because we live in a world right now that is very, people say this thing like attention economy and stuff like that. And of course, like attention is not valuable by itself." Dave: "Yeah. Yes. Mm-hmm." Daniel: "but you need a certain amount of attention on you or your product. And you need to create this because everyone kind of wants people's attention, like influences, big companies, ads, everyone, TikTok, everyone wants your attention. Right. So, so you kind of need to be, you kind of need to be everywhere. You can't be everywhere, of course, but you need to find out like where are the people who would love my, the the app that I'm making or the product that I'm making. And you need to make sure that these people have a chance to see you or your product. And you do this by showing up, by being, as you said, like being part of a community and just to try and try again. And of course, there's a huge amount of luck with it. And you also said this. So, but the more you're present," Dave: "Yes." Daniel: "the more chances you give yourself to succeed, to throw the dice more often than if you just upload it to the App Store and then hope for the best. That's not to say that Sandro didn't do this. Like I haven't, I'm sorry Sandro, if you're listening to this, I've never heard of you before, before this toot. So I don't know if Sandro actually did this. Maybe he was just unlucky, but just as a general advice to people," Dave: "Yeah." Daniel: "who want to succeed in this as Indies, as entrepreneurs, as, oh, that's a dirty word, as people who make a thing that they want other people to use and or buy. You have to find the people and you have to be in front of them. And then they can see the value that you're bringing. And then they can see, oh, they can consider, oh yeah, like..." Dave: "Loaded word." Daniel: "this app is actually very cool, I should try it out. And that's hard of course, because you have to be in the conversation, you have to find where the conversation is happening, and then you gotta be a genuine part of that conversation. And also, you can't be on just one platform, because as we know, platforms are, because then you'll be super dependent on, like if you're only on YouTube for example, and YouTube changes something," Dave: "Mm-hmm." Daniel: "then you've kind of lost, right? So, and that's what Corey Doctorow calls and shitification. I'm linking an article on that in the show notes. So you kind of have to spread over multiple platforms and you've got to find the communities there and you've got to be present and included in those communities. And that is hard work. Like I'm not gonna downplay this. Like this is an incredible amount of work and there's people, there's groups of people who just do this all day. So..." Dave: "Mm-hmm. Yes. Go for it." Daniel: "If you want to be able to play in this, like you got a budget for this. And this means that, yeah, you might just have to accept that you can only program or work on your product half of your time, like two days a week, three days a week, if you're full-time. And of course there are, and there's more barriers, of course, like..." Dave: "Mm-hmm. Yes." Daniel: "For example, one indie developer that I really, really admire is underscore David Smith. Look at what he does. A, he releases like about 15 billion apps per second. It's like he doesn't have just one leg to stand on. Like he's throwing everything against the wall and seeing what sticks. That's the one thing. Like he's trying different things. Like because he knows that there will be like ideas and apps and whatever." Dave: "Yes. Yeah, it's prolific." Daniel: "that will just fizzle out. That's just how it is. And then the other thing is that he is speaking, he has at least one podcast that I listened to, so he might have more. He's very present in the developer community. And of course the developer community is not exactly his target community, but because he's part of this community and it's kind of adjacent to the Mac enthusiast and Apple enthusiast community. And that contains journalists and then the journalists can write about his apps. He's also American, which is like, which is a privilege in this, in this regard, because he, um, he just is, is closer to that community. Sometimes for us in different time zones or different cultures, it can be harder to be part of that community because, um, people congregate at different times. So that." Dave: "Yes. Mm-hmm. Yes." Daniel: "that the hot topic of the day might already be cold and stale by the time that you wake up and try to join the conversation. And you're just a little bit less noticeable. I attribute most of that to time zones, actually. But also, it's because you have less option to meet people at conferences, I think. Maybe there's actually more reasons as well. But yeah." Dave: "There's a bit of that. I'm not, yeah. I think the time zone thing's a big part of it. I mean, yeah, I've seen this. I've seen this when I've been like, woken up in the middle of the night and checked my feed and it's like, oh, this is buzzing, you know? And it's like, oh, okay, right, yeah, being in New Zealand, there's a whole load of stuff that goes on there in the middle of my night that I'm not around for, I guess. So there is a bit of that. I think there's ways you can counter it." Daniel: "Yeah, I think so too. Mm-hmm." Dave: "You know, I mean, over on Mastodon, you can schedule posts, for example, and then potentially that puts something in people's feeds overnight or wherever that balance is. But I think really with all this stuff, it's more just a case of having an awareness of it and not having expectations that don't really meet the reality that's going on around you as well. So I mean, I wanted to sort of use an analogy that had come to me as we were talking. And it's like, if you made lemonade, for example, and you had a lemonade stand, you know, that stereotype. And you just put it out in front of your house. You're only going to get whoever walks past your house. Right. And if you're on a, a culdesac, that's probably going to suck. Right. Cause, cause that's, that's just it. Your footfall won't be there. Whereas if there's a market going on down the road every Saturday morning, you know, and you could put a stand there, you might make him one day, what you never see in a month, just with the lemonade stand outside of your house. And I guess he used that as an analogy, lets me visualise the problem a little better in some ways, right? It's like. What am I talking about there? The idea of putting your stand down at the markets is a case of, well, go and be where, where your potential customers are. Go be somewhere where you can provide value. You know, people are looking around the other, other stands and, you know, they're, they're flagging a little bit that morning, grab a lemonade. That's great. Right. You know, sort of think about things in those terms, like where are people seeing this, is it a place where they're going to be thinking about" Daniel: "Right." Dave: "the sort of stuff that my app does or reaching the position where the app could provide some value to them. And you're right, it's 50% of the work or, you know, I've sort of described it when I've got an app together as like, I've done the first 90% and then the launch itself and pushing it out there is the other 90%. And I think you just got to have an awareness of that. The idea that you could just build something, put it in the app store." Daniel: "All right." Dave: "and it sells itself, that world doesn't exist anymore. And it only really existed for a very short sliver of time. Yeah." Daniel: "Oh yeah, I was part of that world because like I had an app in the app store super early and that thing just sold and sold and sold like it was like a euro upfront. And it like, it didn't matter. Like it's sold and sold. It was so nice and kind of Apple, Apple sometimes kind of still thinks we are in this world. But you got to find different strategies and tactics to, to do this. Like one of the, like, because like, we talk about lemonade stands, but of course" Dave: "Yep. Yes." Daniel: "Like what can people actually do? Like one thing that like apart from connecting to the community, both to the developer community by for example, building in public and just trying to be. Part of this community, even though sometimes there's a bit of a barrier there, if you're not from the U S or even if you're from the U S it's just like, is it, it is a thing that it is a community that you kind of need to be or should try to be part of. Um." Dave: "Mm-hmm." Daniel: "And the other thing is just like, so by building in public, for example, because that gives you a lot of eyeballs and awareness if you try that. Another thing is, for example, what was the other thing that I wanted to say? I think I did want to say the building in public and now I said it as the first thing. But yeah, just like try being part of the community, try building in public. And then you just have to..." Dave: "Hehehehe" Daniel: "I say just as if it's easy, but it's very hard, of course. You have to try to find, to try out all the different channels that you could try to reach. Like maybe it's a website where you try to improve and write nice, cool blog posts and articles, and then kind of Google picks you up. Maybe it's ads on like one of the seven billion things that you can put ads on. Maybe it is sending like snail mail to people. So, and." Dave: "Mm-hmm. Yep." Daniel: "All of this presupposes, of course, that you do want to do this in a capitalistic way. Like sometimes maybe your project is not meant to be your single source of income. And maybe you don't want to make it huge and big so you don't have the need for thousands or hundreds of thousands of people to see and use this. And that's also OK. But maybe that's something you need to think about. Do I want to do this as a hobby side project?" Dave: "Yes. Mm-hmm. Yes." Daniel: "And then it's fine if only a few people use it. I mean, it would be nice, but you're not gonna spend money on advertising, for example. But maybe you can try just to post about it on various social networks or make a cool YouTube video about it and just try to talk to journalists or whatever. And maybe you wanna make it big and then you have to do the things that people have to do. Maybe you'll have to have a newsletter, for example. You have to have a good website and maybe display ads on Duck.go or the Swift package index. Or, or, you know, where all where you could also advertise. Dave, do you have any idea where else people could advertise?" Dave: "Yep. Yeah. Go on. Okay, this is a crowbar segue there. Thank you, Daniel. But yeah, if, um, if you have a product that you think would be beneficial to listeners of this show, then you can sponsor the show. So that is something we kicked off in a previous episode with the sponsorship from feedback bulb, feedback bulb.com. Uh, plug them again, because actually" Daniel: "hahahaha" Dave: "I know Constantine and I love the product. Um, it's, it's been great, but, uh, yeah, just to say we are taking sponsorship and people can just, um, contact us either through the Fediverse on the links in the show notes or literally just email contact at waiting for review.com. Um, and we will, we'll pick that up. But, uh, yeah, I don't want to. well too much in advertising mode for us for the bit but yeah tiny interruption there's something else I wanted to touch on as well though for listeners because yeah I feel for people who sort of feel disconnected from the community or not part of it that's that sucks and one of the things we've not talked about for ages on the show is the fact that there is a slack group" Daniel: "Right. Just a tiny interruption." Dave: "as well for waiting for review. And I've actually got ideas about setting up a, some sort of forum based website as well, potentially to sort of have channels that people can talk about some of the various things around all of this that we like to talk about." Daniel: "But imagine if we set up a PHP BB." Dave: "I've spotted discourse, discourse.org I think it is, or.net. It looks good and at some point I'm going to go on a side quest and see what I can set up. But we do have a Slack channel already and joining that is dead easy. Again, just contact us through the Fediverse on the links in the show notes or email contactawaitingforeview.com and we can set you up with an invite. In fact, Daniel, I might actually see if there's an open invite that I can do with a link and add that to the show notes when this goes out. But any one of those three things, if I've not been able to do that and there's no link to sign up on the show notes, then just email or message. But yeah, if you've listened this far, you're probably somebody who gets something out of the Slack channel and we'd love to have you there." Daniel: "Oh yeah, that's a good idea. It's a really nice community, I think. I'm slightly biased. Also, by the way, like these contact emails, you can also email us if you have a comment or write us onto our masterland accounts or other socials. Not on threads though. But yeah, like give us your thoughts about, for example, what else people can do to like promote their application or their product." Dave: "That is, it really is. Yes, probably not. No, not yet. Yeah, yeah, definitely." Daniel: "Maybe I can learn something." Dave: "Awesome. Well, Daniel, it's time to wrap the show. Before we go, where can people find you online?" Daniel: "Oh, people can find me at, people can find TelemetryDeck on telemetrydeck.com, but people can find me on the Fediverse, the Fediverse @daniel@social.telemetrydeck.com. What about you Dave?" Dave: "Mm-hmm. Easy for you to say. Yeah, you can find my apps over at lightbeamapps.com and you can contact me on the Fediverse over at @davidgarywood@social.davidgarywood.com" Daniel: "Fantastic." Dave: "It's been great talking with you, Daniel. Catch you on the next one." Daniel: "It has. Yeah." Dave: "See you next time." Daniel: "Byeeeee!"