Daniel: "Oh no, I forgot to think about a cool intro. Now we're just going to have a lame intro where I tell people that I forgot about the intro." Dave: "Well, I forgot about the intro too, so what are we going to do, Daniel?" Daniel: "Hey Dave, it's wonderful to hear you." Dave: "I'm good, I'm good, thanks, Daniel. Yeah, that's a semi sort of sunny-ish day here in Wellington. We're heading into autumn now, actually, so for people in the Northern Hemisphere, I am upside down to y'all down here in New Zealand, but yeah, no, we're all good here." Daniel: "How are you? Fantastic yeah." Dave: "How about yourself?" Daniel: "I did feel under the weather last week, but that has passed, so that's very, very nice. And I'm full of motivation and I assume the weather is kind of similar to yours right now because we're just heading into spring here. Which is also kind of nice, to be honest. The weather was really sunny today and it was like - " Dave: "Yeah, yeah, yeah, so we're in that strange sort of like fairly equal point between the major seasons" Daniel: " - oh, awesome. I'm going to visit Lisa and we're going to just talk strategy and whatever and everything that has not to do with code basically. We meet up once a week or so. And so I was like, I'm going to take the bike. This is going to be the first time post-COVID that I'm going to take the bike and actually be able to use it properly. And it was amazing to bike there. But on the on the way back, I got like, there was just like a huge rainstorm." Dave: "Oh no, best laid plans. Well, it happens to us all, you know, you head out, you think it's great, and then boomph, rain, that definitely happens a lot here in Welly, it changes, the stereotype is four seasons in one day, and yeah, we definitely have that." Daniel: "So I got a tiny bit wet and had to had to hit the shower. Other than that, today I actually listened to an old episode of ours, which was the episode - " Dave: "Wow." Daniel: " - that aired on March 15, 2022, just about a year ago. And I listened to that because in that episode, I was talking about product hunt. And today, right now, was the day that I put Telemetry Deck on product hunt again, because you're allowed to do that every, I want to say six months, maybe I'm not sure, less than a year anyway. And they encourage you to put the products back onto product hunt when a new version comes out or when a significant feature is coming out." Dave: "Okay." Daniel: "So I was like, hey, I'm going to put the funnels feature on product hunt because it's really major. Also, we have various other ways of displaying data now. We have the filter editor, which wasn't in there and which is a pretty significant improvement. And we have the new charts, which look way better and can display more kinds of data. So I was like, okay, let me listen back to the old podcast, because I remember back in that episode, I thought about, I listed all the things that I wished I had done differently. And so I was like, okay, I'm not going to repeat the same mistakes. So what I did was I created the launch, which the first thing you do is you enter a URL for the product. So I added telemetrydeck.com. Oh, very nice. Okay, cool. And then you can enter a title and whatever. And then I was like, okay, I'm going to listen back to that episode now before I do anything else. And it turns out in that episode, the main two things that I regretted doing or not doing was first of all, I regretted not linking to the registration page instead of the homepage. And guess what? The one thing was that I already had entered and that you're not able to change easily. So I was like, no matter. And the other thing that I had heard is that I'm supposed to link to the front page of Product Hunt and then ask people to look for the product and then ask people to find the product and then upvote it because apparently that counts more. So that is what I did, like I had prepared a newsletter, I had prepared various tweets and Mastodon posts and LinkedIn posts and posts to various slacks that I'm in. If you have experienced the full might of the Telemetry Deck marketing machine today, I am sorry if it was spammy, I hope it wasn't, but I was pretty sure it was borderline spammy. So I had prepared all that. And then this for me this morning, basically midnight Pacific time, I clicked the various buttons that started the whole thing. And one thing that happened was that the post didn't appear on the Product Hunt homepage." Dave: "Oh no." Daniel: "I kind of frantically googled the thing and apparently some secret algorithm decides whether you get on the homepage at all. And that's a new thing, or at least I had never experienced that. So for the first two hours or so, all the calls to action that I had sent to people, which were like, oh, go to producthunt.com and scroll down until you see Telemetry Deck or use the search function to get Telemetry Deck, both of these didn't work. Because the front page didn't contain Telemetry Deck, but also the search would only show Telemetry Deck if you searched it and then clicked advanced and then clicked on, I don't know, show everything or whatever. So that was really disappointing. And then the other thing that was really disappointing, in the end, we kind of appeared on the front" Dave: "Ouch." Daniel: "page after, I want to say like two hours, two and a half hours, maybe. But by then the other products on that thing had quite the head start. And yeah, we didn't really get the upvotes to really get above the fold on that page. It's still running, but I'm not expecting too much. It was a bit of a disappointment, I have to say, but also it kind of shows me that maybe Product Hunt isn't the way to go anymore for Telemetry Deck or similar products like tools that aim at a developer market or an app maker market. That's probably not the right audience there. There were about six to eight different apps that use ChatGPT to generate text, but one of them used it to generate answers to tweets. Another one used ChatGPT to automatically answer questions on your Product Hunt page for your product. There was one that was ChatGPT on your watch." Dave: "Oh my word." Daniel: "There was one that was ChatGPT in WhatsApp, I want to say." Dave: "So a lot of variety then." Daniel: "So these were all above us, they had way more upvotes. And I am, as we already talked about, I'm like, I kind of like these new chatbots, even though there's a lot of interesting legal debate and ethical debate about them and whatever. But I think they're interesting technology and I won't rule out, for example, building ChatGPT functionality into one of my products either." Dave: "It's not very diverse, is it, in terms of idea or approach?" Daniel: "But come on, this is not very interesting to look at really. It was a fun experience and I did make really nice screenshots that I'm going to use for other purposes as well. And I did make a really nice YouTube video as a product demo thing that I'm really proud of because it kind of looks pretty good. So I'm going to use that as well." Dave: "Sweet." Daniel: "I can even link it in the show notes. Other than that, I am really, really happy about all the cool, amazing customers and friends of the product, because they were retweeting and reposting the thing all the time." Dave: "Yeah, definitely." Daniel: "It was really, really cool. So even if we didn't get too far up on the homepage of Product Hunt, it was really amazing to see all these amazing people." Dave: "That's cool." Daniel: "And yeah, so I'm really happy about that." Dave: "Well, that's fun. I mean, yeah, Product Hunt itself may not be the exact right place, but that effect of having everybody, like you say, retweeting, posting, all the rest of it, the effect of actually pulling together your marketing material to just, you know, blitz a bunch of places, all on the same day, right, all about the new features that you've launched over the last month." Daniel: "Oh, yeah, totally." Dave: "That's got value regardless of Product Hunt, to be honest. So I think it's still got its use in terms of organizing yourself to then have a thing where you are kicking it off." Daniel: "Yeah, totally. Which is totally fine." Dave: "You know, I think Product Hunt has a use for anybody in that sense, but I think it's fair to say, like you're kind of alluding to really, it's perhaps not the be all and end all for launching a product or an update about a product in the same way as it might have been. Yeah, and I feel like maybe, you know, three or four years ago, it might have been a different story in some ways in terms of what Product Hunt was. It seems to be shifting." Daniel: "Yeah, I think so too, like just comparing it basically the last like this year, last year and the year before, I did Product Hunt launches and actually a year before that too, but for a different product. And basically the number of signups that I got from Product Hunt kept decreasing, even though the number of votes or upvotes that my products got kept increasing. So yeah, maybe there's just not another correct fit. So I think, hey future Daniel, if you listen to this episode in a year, I think from now on how I'm going to use Product Hunt is, we already do these marketing releases, right? Where we put together all the important features of the last weeks or so, or month, and just have one blog post that explains, hey, we have filters now, and we have funnels now and whatever. And I think I'm just going to take this kind of content and put that on Product Hunt every now and then, as often as they allow, but it's going to be less of a focused effort on to content, on to Product Hunt, and it's going to be more of a, hey, these are our new features and we're going to inform the people of Product Hunt about that, but also the people who subscribe to our blog and the people who are on Reddit and whatever." Dave: "That makes sense, and then it becomes a syndication of marketing material you are putting out anyway, and I think that's a good place to be in a sense of your expectations for what it will give you are low, but the effect of it in aggregate with everything else is still probably potentially quite powerful. I think just getting people to signal boost and having something to rally around is a good thing." Daniel: "All right." Dave: "You know, like, so rather than it being on Product Hunt's front page, it's the people you know are talking about it and tweeting and posting to Mustard on about it and all that sort of thing. I think that's got a lot of value because what you're doing there is you're getting your users, your engaged audience to signal boost you and probably around the edges of that talk about what they love about telemetry deck." Daniel: "Oh yeah and also what they like what are stumbling stones like I already I've seen like at least five discussions of things that people love about telemetry deck and at least three about things where like there are confused by the user interface and usually it was like one person was like hey I'm confused by the user interface here and then four other people would be like hey I have used this and this is how you would use it so that was amazing so apparently we have very I mean we have very loyal and and helpful users which is really awesome but it's also really really helpful to see these because then we know okay we should work on that UI like for example Apollo creator Christian Selig was posting that he doesn't understand what top-end means and in my mind this phrase this this label makes so much sense but now that I think about it. It's an abbreviation of an abbreviation and I totally I totally get that no one else, no one that isn't me will completely understand what this means so there's gonna be some explanation and better UI there" Dave: "Like, yeah, you're getting product feedback as well. And I think what was interesting to me there is like you're describing something where people may have some difficulty, but then several other people coming in and helping them. What that tells me is that, yeah, you may have some friction there and some extra work to explain what that bit does, but not to everybody. And so that means you've not entirely missed the mark. This is a small tweak. You know, this is a, yeah, 50 percent get it, 50 percent don't. OK, well, let's explain it to the rest and find a middle ground. That's cool. That means that it's the right thing, just perhaps needs a better explanation." Daniel: "Totally. And so I am, I'm pretty happy with how the day went, even though it didn't, it didn't go the way that I was expecting, expecting to, I learned a lot and it was really helpful." Dave: "That's not a bad place to be." Daniel: "Also I ate sushi with Lisa and that was really nice." Dave: "I was going to say, I mean, it's it's actually a pretty, it's a pretty good celebration. I think all of these these new features the funnels are looking great." Daniel: "Thank you very much." Dave: "Just to say I've had a bit of a look and it's it's awesome." Daniel: "Apologetic." Dave: "So anybody who I was going to say anybody who's listened to the show for a while will know it's something I was after." Daniel: "Buzzing." Dave: "sort of last uh may time i want to say i was really really looking forwards to and i knew you were kind of laying down the groundwork that was leading towards this so you know for me, I followed the development of this and the progression of this and I'm really really pleased to see it's now out there and in the wild it's awesome stuff mate" Daniel: "It took way longer to get there than I thought it would. But on the other hand, the groundwork, as you say, was really, like, I'm really happy that we did lay the groundwork because all the things that we did make it really easy or way easier now to add additional features, that we have all this vocabulary in the query language now that allows us, for example, the intersections. We have that as a verb, basically, in the query language now. And with that, it makes it really easy to do A-B testing kind of queries, for example. So we just, and I'm doing air quotes here, but I just have to write a UI for A-B testing and then some parts of the query translation code." Dave: "That's super cool. So yeah, it's not just enabled funnels. It's enabling all this other stuff." Daniel: "And then we'll have some form of rudimentary A-B testing." Dave: "I mean, for me, I look and I understand, you know, like the steps it's taken to pull together. I'm just super glad to see it. It's yeah, the killer feature, if you like. Yeah, nice one. Well done, mate!"" Daniel: "Cheers! Yeah, how are things on your side?" Dave: "On my side, things are well. Again, it's another update about TootSDK. I guess it's really taken me in over the last few weeks. It's also fair to say I've probably not had as much time as I would like for developing on GoVJ and the other app I'm pulling together at the moment. But TootSDK has been chugging along. We've had people have made PRs. We've done a bunch more releases. And last Sunday, I sat down and decided to create something that had been on my mind for a little while with the SDK. So when we make a release, it's dead easy with GitHub. We can just, you know, go to the releases page, make a new release there and tag it." Daniel: "Daniel: "No signing, no review. You're not waiting for a review, actually. Neither am I these days." Dave: "No, no, exactly. And that definitely appeals. Yeah. But no, we go to the releases page, make a new release. I hit generate notes. GitHub pulls everything out of the PRs and that's kind of good enough for us. So what's been happening is as we do that, we make a new release, add it to the discussions page on GitHub itself. And then I manually go through and I make a toot on the TootSDK account to advertise it." Daniel: "If you disagree with any of my statements, at all, let me know in the comments of your" Dave: "And what I will also do at that point, or Konstantin, my co-maintainer, either of us do this. But we will make a post where we will try and get people's Fediverse accounts and tag them. So as you might imagine, we've got a GitHub username. We may or may not know who that is. And they may or may not have their mastodon or Fediverse link in their socials on their GitHub profile. And so it takes me a minute to sort of go and find all of this, pull it together and update to make a message. And it's been bugging me because what typically happens is we'll make a release and I forget to make the toot. So point blank, there's a thing I want to do and I forget to do it. So Sunday I automated this and it was a case of pulling together a Swift package, making a command line app because I wanted to be able to also run this on Linux and to have it kick off via a GitHub action ultimately. So you see the plan here is going to automate the post. We make the release and I walk away and it's done. So, yeah, Sunday I laid down the groundwork for that. And then a few days later, after it had been through approval from Konstantin and everyone else, I pulled it together, set up the action, had to swear a little bit at GitHub and actions because I got things wrong. And then a little bit of that later. And then last night it made the first automated post using that." Daniel: "Fantastic." Dave: "So, yeah, I mean, it's not necessarily that much of a big deal, but it's nice because it dog foods the SDK. You know, like it's using the SDK to post about the SDK. And that feels kind of fun. Daniel: "Yeah, that's really good." Dave: "Yeah. The other thing is, is the tagging people kind of worked on the first go with that first post. I'm quite happy about that. We need to modify it slightly at the moment. It's only working for Mastodon people. And if you are on the Fediverse with anything else like Pleroma, for example, and you've linked that in your GitHub profile, then we're going to miss it. And that's probably a couple of small tweaks. And then we can update it to pick anything up there that sort of corresponds to a Fediverse account. The other thing is, is this is happening without people's opt in at the moment. So it's something we're going to need to advertise and sort of say, hey, you know, you contribute to the SDK. We're probably going to toot about you. And if people are adverse to that, then they can block the Toot SDK account. And that will be a method of avoiding being in that tagging. So, yeah, there needs to be a matter of consent and opt out or whatever for that." Daniel: "Yeah, that's a good idea." Dave: "I think it's going to have to be implicit opt in because I can't really see a way of asking people before we do it all. Maybe advertise it on the the template for making a PR." Dave: "Yeah. So, yeah, I think anyway, this is this has come together. It's come together reasonably well. And it's a nice proof of this is another way you can use Toot SDK. Right. It's it's a client. You can give it your instance. You can give it a token to use as a user. And then it can go and do things on your behalf. So posting back to the Fediverse. And I think that's that's pretty useful. Like there's a whole bunch of other things that you could use this for right. Even even all the way down to if we have builds that fail, we could rig this up so that it posts a direct message back to us. To just say, hey, you know what, your automated build has failed and that might be something that people want. That's certainly something I would then see probably above most of the notifications at the moment in terms of how I'm using apps like Ivory to to interact with my Mastodon account. So, yeah, it's kind of nice. We've built this. We've made it work with Linux, Mac OS and iOS. And it can then be edited, played around with. It's malleable to just do what you want with. And that was ultimately one of the key goals of the SDK. So, yeah, I'm really stoked about that." Dave: " There's been more. If I look down the release, I can sort of talk to the fact we've we've updated a core part of how the SDK works. So if you've built a regular sort of timeline app using two test SDK, we have a concept of of what we've kind of called streams. And all a stream is, is it is a an async sequence effectively of a type of data. And so if you want to get posts from a user's home timeline, for example, you know, you've just signed in. You want to see the main timeline. You can opt into a stream of the timeline and that will then give you posts as that timeline is refreshed." And it will actually is controllable. You can tell it where to start off. Right. So you can say, hey, this is the last idea that I had in a post, for example, when I logged in yesterday. And you can set everything up to then start retrieving the timeline from that that point where you left off, for example. And it's useful because it lets you get going really quickly. You can articulate I want to opt into this timeline or another one. So there's there's an enumeration for representing the timeline. So you've got things like the user's home timeline, their local, their federated, and then we have timelines for things like if you wanted to opt into viewing a hashtag, for example, or viewing a user's favorites, bookmarks, we've got streams for these things. And it's a really nice way of working because of that, that async sequence side of things." Daniel: "Oh yeah, streams are like really really nice." Dave: "Yeah. So I think the reason I wanted to sort of speak to this is just because the changes we've made have kind of come in collaboration with the community, a guy called Dale Price raised a PR a few weeks ago, and we sort of went round and round on on the approach, moved it out to the discussion section. And between the discussion on his original PR and the discussion in the discussions, my thinking around how we could update this and make this work kind of coalesced. And on Sunday, I sort of put up a draft and we went from there in terms of being able to land it. So I've been really, really pleased with this sort of community way of working with the project. I think it's working nicely in terms of of getting ideas from people other than myself and other than Konstantin. That's that's always like a really, really positive thing for a project like this. And the other thing I'm really pleased about is it let me delete a whole bunch of other code and refactor things in a nice way. And that's that's always super satisfying, right? We were able to to kill a bunch of sort of extraneous functions that sit on the main client and consolidate them into just a single timeline function. And that that's been nice to have. It sounds really basic, but it's been nice to just take a step back, get this to a nicer state. And then as we go forwards with this, we've now got this this approach that we can sort of repurpose for any other type of timeline that we've got as well. So it's a nice, a nice bit of glue. You know, you just add another enumeration, give it a struct to describe the parameters that you want to query with and off it goes." Daniel: "That is really nice, especially since, I have only dabbled in the codebase for TootSDK but whenever I've seen something it's always so I wanna say layered. There's all these functions, these mid-layer functions, just putting those together in a smart way gives you like various high level functions. And I was missing this one functionality, I've kindof forgotten what it is right now. And it was so easy to put together a PR, because all the building blocks were there, and I just had to put them together in a user friendly function basically. So that was really cool, congratulations on hitting a really good point of abstraction, or level of abstraction." Dave: "Thank you. That's definitely been a goal and that, as you described it, the ability for people to just jump on, have a look, find where they would add the bit that they want. That was definitely part of the design goals and things that we had at the beginning of this. You know, the goal is always to make it really easy for people to to work with us and to add things to it. And then by doing that, that lightens the load for everybody. Right. And that's that is the key goal. I mean, to anybody who's worked in open source packages and this sort of thing before, it's probably really super like, Well, you know, duh. Of course, it works like that." Daniel: " 'Duh!' " Dave: "So, I think, you know, to me, having worked, you know, just on on private code bases for most of my professional life, this felt like a bit of a putting myself out there kind of moment. to sort of have you know well wake up I get an email and there's a a PR or somebody asking about X Y or Z and then within a within a day or two it's usually done. Right that's that's fun." Daniel: "It is fun, and you know I very much get it, because I have a lot of similar kind of fun with my project basically." Dave: "and i think I don't know whether the show is the right place to sort of talk this through or not. it probably is. But I think that - " Daniel: "We're amongst friends here" Dave: " - yeah, yeah, yeah. So what is obviously shifting in me here is that this is taking over a lot of my headspace and pushing out some of the other things that I've been working on in the past. Like, I mean, GoVJ is still my main app. I'm still updating it. That's not in question. There's a bunch of stuff I wanted to do and I have fun when I'm doing it. But if I think about my plans for this year and the sort of apps I thought I was going to be, be perhaps working on, everything is starting to coalesce around this. And so there's, there's kind of two routes that I could see my, my sort of solo project, side project work taking over this next year. One is I definitely want to sort of keep pulling together this photo and videos app that I've been working on. That, that is, that's been part of the reason for building TootSTK in the first place. And so that, that, that's a going concern and hopefully I will have more to update on about that over the next month or two. But the other thing that is kind of becoming apparent to me is I could see myself building a client, like a full blown, you know, Twitter competitor client, as it were, that, that level of thing. And that is something I hadn't necessarily predicted. Like I wanted to make the TootSTK, I wanted to make the SDK to support the photos app, but I kind of figured I would leave the, the main client app stuff to other people, right? It's a saturated market, blah, blah, blah. Like it seemed logical to not do that. But the more we get into the SDK, the more I'm getting ideas around, well, this is how I would approach that. And this is how I would approach, you know, making a post and adding images and adding alt text. And, you know, the more I think about those edges and those problems, the more I'm thinking, well, this is how I would like to solve my, my general timeline experience rather than just solving it for, for the photos app. So yeah, watch this space, I guess I'm kind of getting sucked in." Daniel: "I think that's really cool. And regarding your year, I mean, a lot has changed. So of course, because the situation in the, of course, in the world, but also in our tech has significantly changed with the implosion of Twitter and stuff like that, so it makes total sense that suddenly the focus is also shifting, especially, and with Mastodon suddenly being a pretty important place, at least for developers and stuff like that, it makes total sense to be there and to work on something that supports that. Because not only, of course, you're not, maybe if you're just a cold calculating capitalist who thinks of nothing but return on investment, then I'm thinking you could probably find an even better project to work on. But that's not what you do, right? You do this to decompress, to have fun, to learn, to support a community. And I think it's a really good project for that. And also, it fits with kind of my mental model where I will work on parts or projects. And then when I kind of lose interest in them, or my remedy against losing interest in projects is project switching, like switching to a different product for a while or project for a while before the first one gets uninteresting and boring and I begin to resent it. So that's kind of what you're doing, right? You have GoVJ, you have the photo and video app, and you have TootSDK, and you're kind of switching between them to keep stuff interesting, to follow the dopamine. And I think that's awesome. And I think that's what you should do. Same thing with telemetry deck front and telemetry deck back and telemetry deck documentation. But yeah, I think it's a good way of keeping interest. And ever since I stopped resisting that kind of pull, where my brain just wants to work on something different for a while, I have been more productive and happier as a developer." Dave: "Yeah, yeah, I could see that because you're not kind of artificially shoulding yourself into a specific -" Daniel: " 'shoulding yourself' oh I like that." Dave: "Because that's what it feels like, right? You know, you sort of end up thinking, well, I should be working on that I should be doing X and then you kind of resent that. And well, I do anyway, I sort of start to rebel against that that kind of vibe." Daniel: "Yeah, I get that. And especially if it's a side project, it should be fun. So that's the shooting that you're aiming for. And if it's not fun, if it's just a chore, then why should you pour your free time into that?" Dave: "Yeah, yes, yeah, for sure. And I think that's it's a perspective that I definitely wanted to share on the show, I guess, because, you know, we talk generally about our projects. The show has an angle of talking about indie apps, and I'm aware that the more I talk about the SDK, the sort of less I'm talking about indie apps, it kind of comes full circle. It kind of comes back round because of how I'm going to use it. But I think it's important to reflect that, yeah, side projects can go a number of different ways. They can just be for fun. They can be for just the sheer hell of it. You know, I just wanted this thing to exist. And obviously, they can become other things that can take on form and become a source of income. And I guess eventually become like a job or however you want to frame it and treat it. And that's OK. And I think it is OK to start down the direction and then pull in a slightly different direction for a time as well. But not everything is it has to be all about. I'm going to get to, I don't know, 10,000 monthly rolling revenue in US dollars in six months." Daniel: "Right." Dave: "You know, not everything has to be about that sort of hustle. And I have the benefit here, I have the privilege, if you like, of I've got a full time day job that I enjoy very much. You know, my side projects are therefore not required to pay the bills. And so it's a different lens. It's a different lens on what I'm doing versus perhaps somebody who's, you know, living the noodles, ramen life and trying to bootstrap their way into an income. I don't really know what I'm trying to say here, rather than I'm feeling the ebb and flow of all of this. And I'm kind of just enjoying the idea of just going with that flow." Daniel: "Yeah, totally. And I think that's the way to go, too." Dave: "Yeah, yeah, for sure. And so I think if I think about how how we talk on the show and the way I've talked about projects in the past, I know I referred to my my project Magnum, which has kind of died a bit of a death over the last six months. It's it's not it's still lurking, but it's kind of like the idea that is going to keep haunting me until one day Apple releases glasses and Sherlock's me. It's an AR based idea. I guess I'm making no big promises about what I'm releasing this year. Other than it's going to be related to the SDK, it's going to be in the Fediverse space and that hopefully it's going to be fun. That's that's the promise." Daniel: "Yes! And also, it's an important space, as I said before. And who knows how much you're multiplying? Who knows? Right now, you can't even find out, like fathom. Fathom, that's the word I was thinking about. The amount of influence you have and the amount of multiplication you're basically giving to other developers of Mastodon apps. And of course, many of the currently famous or popular Mastodon apps have been started before you and Konstantin started working on TootSDK. So they don't use it. But there's another cohort, I want to say, of Mastodon apps coming or Fediverse apps coming, and they can build on that. And every bit of work that you can get off their shoulders, they can put that into amazing user interfaces. They can put that into wonderful interactions and stuff like that. So that's really, really valuable. And you're doing the whole community a big service. Who knows? Maybe the next version of the official Mastodon app is going to use TootSDK. Have you talked to Eugen? Does he actually know that you're doing a thing?" Dave: "I'm, I'm really unsure, to be honest with you, I think we we would need we would need to be a bit more complete than we are at the moment before that could happen. But there's no reason why not. Right. Let's say. And actually, that's open source as well. So that could be something somebody could could take on, you know, like, can I take the shell of what we've got there and rebuild it around this or not? I'd need to double check some of the I can't remember if this app like the main Mastodon app is a React based thing or not. I know PixelFed's is. So in that sense, we probably wouldn't be able to just put the SDK in. But for anything that is iOS native. Yeah, absolutely. It could be rewired against to TootSDK. And that that could be a fun project for somebody that wants to take it on. I think I would it says where my own headspace is going, I'm going to be looking at doing something more greenfield as stuff goes on. But again, that is part of the beauty of what the SDK offers. Right. It can just be dropped in. It can be used as a replacement if desired. There were a bunch of other frameworks a few years ago that were potentials for this sort of space. And I think some of them have died off. So projects that used to use those could then also switch to using TootSDK in time. I think that could be quite good." Daniel: "Totally." Dave: "So, yeah. Anyway, all about the tooting. That's that seems to be me. One of a better phrase. And I'm really enjoying it. Like this is a project that's just sucked me in over the last few months and seems to keep rewarding me. So I'm just going to lean into it, I think." Daniel: "Do that. Do that. I wholeheartedly support it. I did open an issue where I suggested a change that I wanted to do to the project. And then I completely got sucked into my own work again. So I didn't do anything about it, but I really want to continue doing that. And basically what I wanted to do was write a server app that will kind of try, at least in my followers and my followers' followers, just look for mentions of Telemetry Deck and just alert me to those so I can react to those. And I did write that. And then it had various behaviors that were annoying people. Like I got at least one, I didn't even know that. When on Mastodon, you report a user account to your admin for blocking, you can optionally forward, automatically forward that report also to the admin of the server of the user you're reporting. So I got a report from a user that felt harassed by this automatic process. And I was like, oh, damn." Dave: "Oh, no." Daniel: "So I killed it. And I apologized to the admin and told them, hey, I got this. And I'm really sorry about it. And I didn't want to be a bad Fediverse citizen. So I'm going to remove this for now. And if this thing goes back online, then it will have to be more well-behaved and there will have to be more checks and stuff like that, because I don't want to be a bad Fediverse citizen." Dave: "No, no, that's fair enough. And that's actually a nice example of the sort of system, if you like, that the Fediverse has of working. Right. You were unaware that you'd upset that person in that way. They reported it to their admin. You were flagged that then let you take other action and sort it out. Like these things don't necessarily need to be a big deal. Yeah. And doesn't necessarily need to be a big pile on or whatever in terms of the sort of discourse when when things happen like this. And that's a nice example, I think, of it sort of just working. You were able to course correct. And now you've got ideas about doing it a slightly different way. And that's that's positive. I think sometimes things can can lean the other way and get blown out of proportion. But by and large, I think a lot of people are in the space just to just to talk and to enjoy the conversations that they have. And so, you know, it's cool that stuff can be resolved nicely and easily. But also really cool. Let's say that you're able to spin something up and get it working and get it doing that. I mean, yeah, OK, that person didn't didn't like it, but it was offering value to you in terms of being able to to be amongst the conversation about this sort of stuff." Daniel: "And I was really happy that this person kind of reported it and clicked the checkbox that says I also informed the remote admin about this, because that allowed me to actually hear this and do something about it. Because, yeah, I assume good intentions, you know. And I had good intentions. So I was able to course correct and apologize, which was really good." Dave: "Ah, that's cool. And yeah, you'll be able to pick that code back up and give it another go later on. The SDK is still in flux. So some things may be broken. We're not at 1.0 yet. But when we are, we will be more considerate about deprecating things and moving things around. Right. That's that's the goal is 1.0 marks a bit of a lock in on that sort of stuff. But I reckon you can probably just run what you had today and it's going to just work for the most part. So that's that's cool as well. Like, yeah, you've got a base to edit and to play with." Daniel: "Yeah, it's really nice. All right. I think I need to go now. And I also know that you have a full day ahead of you. I was going to tell you all about, I was going to info dump so hard about Kerbal Space Program 2, which has basically stolen any free time outside of work that I have available ever. But I'm just going to have to tell you about this next time." Dave: "I do. Yeah. That's fine. Absolutely. Finally, we'll catch up about Kerbals. I reckon I've got an idea or two. Maybe you can. Can you can you do any automation with Kerbals? Can we link up what you play with to an account, and use the SDK? Or is that just a bit bit of a stretch?" Daniel: "Huh. I mean, I mean, KSP-1, definitely. The second one doesn't have official mods, because like the second one, like first one has so many mods, and they are like really, really in-depth mods that allow you a level of automation that is basically akin to whatever you can do in the actual space industry. The second one is definitely not as far. I could probably, I am every now and then, I am streaming on Twitch, but not so much recently because the game is currently very buggy, so it involves a lot of like trying stuff and then just restarting the whole game and stuff like that. So it's actually not as interesting to look at. But, you know, like maybe we can automate some posts whenever I go live on Twitch or whatever." Dave: "Mm hmm. Yeah, never say never. Well, on that note, Daniel, I'm going to let you go and we will talk about Kerbals next time or another time. But before we go, where can people find you online?" Daniel: "Right, people can find me on twitch.tv/btsystem, which is where I stream Kerbal Space program and Gran Turismo. I also have an app, a project called Telemetry Deck, which is analytics related and also privacy related. You can find that at telemetrydeck.com. But you can follow myself at daniel@social.telemetrydeck.com. And that should not give you any automated grief. Like you might still be annoyed at what I post, but that's just me personally, not a soulless computer using a very soulful SDK." Dave: "Haha! Fair enough." Daniel: "And yeah, where can people find you? Sorry." Dave: "Well. Over on my side. Yeah, you can find me on the Fediverse at davidgarywood@social.DavidGaryWood.com. You can find TootSDK over on github.com/TootSDK/TootSDK to get to the repo of the project itself. And you can find out more about my apps and everything over at lightbeamapps.com." Daniel: "Fantastic. All right, David, have a wonderful day. It has been amazing to talk to you as always. And I'm looking forward to hearing you again next week or so." Dave: "Awesome, well catch you then Daniel."" Daniel: "Yeah, have a great one. Byeeeee!"