082: Streaming, product updates, and marketing
Hello, gophers. Welcome to go podcast. My name is Morten.
Dom:And I'm Dominic StPierre. It's so funny when you when you're I I think you you you practice a little bit. Right?
Morten:Yeah. Yeah. I do. I try to to to work on my radio voice a little bit also because I'm I'm doing more streaming now. So trying to to to make it sound better, I think.
Morten:Nice.
Dom:Yeah. What are you using to to stream? Is it is it like OBS directly with a Twitch account or something like that?
Morten:Yeah. Yeah. Yeah. And then I have a plug in so I can also what's it called? Cross stream multi multistream to YouTube as well.
Dom:Is it Restream?
Morten:No. No. No. It's it's no. It's just a I can't remember the name, but it's a it's a OBS plugin, and then I can I can tag on multiple platforms so I can stream to Twitch, YouTube, Twitter, probably also Kik if I'm if I ever get into sports betting or something?
Morten:Don't even know what it is. I mean, it's the new thing. Right? And it's Okay. It's all I think there was this whole thing with some of the Twitch streamers doing some some shady stuff.
Morten:And then Twitch cracked down on it, and then Kik came into the pic maybe I'm talking a little bit out of my ears here, but but I I think I've seen some highlights whenever I get in sucked into the YouTube shorts black hole and see they do a lot of gambling on on Kick instead. I don't know. But it's maybe it's just to get people on and then and then have regular streamers. I think the primate gen is also starting to stream on Twitch. No.
Morten:Sorry. Not on Twitch. On Kick as well. So maybe they're getting more mainstream as well.
Dom:Interesting.
Morten:Yeah. But it's just nice to have have to cross stream because, yeah, YouTube just keeps the stream up, you always have some some content going out there. The only thing is you need to be very careful with with the music you play. I had I I was playing what was supposedly a loyal royalty free playlist the other, like, last week, and it got copyrighted.
Dom:Oh, really?
Morten:Yeah. Yeah. And then YouTube has these nice tools like remove the song, but it it does it really, really badly. So I just have that section be be black out completely, and it's just nothing for three minutes, and then continue. Yeah.
Morten:That's Is that is that AI generated music? I'm not there yet.
Dom:So, basically, you you have multiple sources in your OBS, one of them is is capturing your audio output directly or something. Yeah. Okay.
Morten:Yeah. So the the main thing is still still Twitch, and then it just gets rebroadcasted into to YouTube because you can do some tricks with Twitch where you fiddle a little bit with the audio output channel so that you can actually pay play copyrighted music, but it doesn't go into the stream or it doesn't get stored after something like that. So you just play copyright royalty free music in the thing that gets recorded, and then in the actual stream, you just play whatever you want. And then you can play copyright music. And loopholes all over.
Dom:Yeah. It's funny because the the the RTMP protocol, I I I was looking into that at some point because believe it or not, I was streaming in 2000, 2017 or something like that. They they were this and I don't even recall the name of the service, but it was I think it was meant for for programming streaming. So I I I streamed the the development of roadmap, one of my SaaS back then there a couple of couple of times. It was it was very nice.
Dom:But I I got interested into restream at some point, and I was like, you know, how how could it be that that hard to to have a go server there that would be the RTMP endpoint and just rebroadcast the the same signal that it's receiving. And I I I I I was, you know, starting to I don't know. Just starting to think in my head. And then later way, way later, I I saw that they were they were looking at at Go Engineer at Restream. So I was like, oh, okay.
Dom:So they probably they probably use that as well. So so mean, Go Go seems to be a a very a very good good language for these types of I don't know, a proxy or or something like that. I don't I don't don't even know how to call that exactly precisely, but but, yeah, it seems to be seems to be a a good a good platform, a good, you know, good language for that for sure.
Morten:So so you had the typical developer, I can I can do that in a weekend kind of thing?
Dom:Oh, no. No. I I I I was just intrigued to sometimes I have this this urge to just understand a little bit. Just just understand the basics of how these things is even working. So I was just first a little bit interested into what what exactly is this is this protocol?
Dom:Because, again, I was I was I was using RTINX back then, and I was streaming via FFmpeg directly. So yeah. Nice. Crazy enough, FFmpeg is is just able to do it all, and and one of one of the things that it can do is is just send the RTMP I don't know, you know, data to to any any any streaming platform and whatnot. So I was I was intrigued to, you know, what is going on in there?
Dom:Is it is it what what is the format? I'll I'll I'll all this streaming works in general. So
Morten:Mhmm.
Dom:So, yeah, I I I just I just I was just curious a little bit. I I did not even wrote any any line of code at that time, but it it was just yeah. It was it was just peaking my curiosity. So sometimes it's it's how things goes for me. It's just I how how does this thing is even working?
Dom:So these day these days, I'm I'm very interested into WebRTC. So, you know, just take the the software that we are using. So I I I I worked I worked. I I was a cofounder for a short time at Remotely, actually. Remotely is a is a tool that I even wanted to buy at some point.
Dom:I I I was very, very close to acquire the the the SaaS.
Morten:What? Remotely, like, the the thing where we call it?
Dom:Yeah. Yeah. Oh, yeah. Oh, yeah. Yeah.
Dom:Cool. That that is exactly why we are using it. So I I was Yeah. I I have a a very, very long history with with this tool. So, you know, for listeners, you know, remotely is like Riverside, if you will, or or SquadCast and things like that.
Dom:You know, those those tools that just record locally each participant and you you have a way to to merge the the combined, you know, sounds. We we are just recording sounds in here, but you you know, we could use the video and whatnot. Long story short, yeah, WebRTC is is also another thing that I'm, you know, very interested into. So it's kind of crazy when you think about that. We can we can connect.
Dom:So you are in in your Europe, Spain. I'm in Mhmm. In Canada, and and, you know, we could we could be multiple people in here and and just be peer to peer to peer at some point. So the this protocol is is very well done in in my opinion because it it does not involve any servers to to communicate from each other. So it's a yeah.
Dom:It's a I don't know. It's it's just interesting. So that that is something that I I'm doing. I I don't even know where I was going with that, and now I'm I'm completely lost in my thought. But
Morten:but this is It's not something with FFmpeg.
Dom:Yeah. Oh, yeah. Yeah. FFmpeg. So yeah.
Dom:Yeah. I was curious to yeah. I was curious to to do that. Stream streaming is something I I would really like to do, but now I'm I'm, you know, I'm using this screen reader, so I don't know. I I tried a couple of times to to post on my YouTube channel with with screen reader on and whatnot, but for some reason, I don't personally, I don't I don't really like the output.
Dom:I I don't know if it's my sound calendar or what, but the the screen reader sounds terrible. It's it's already sound terrible in my headphones, but when when recording my computer output audio, it's it's like it's barely barely tolerable. So yeah. I mean yeah.
Morten:I'm not sure if you can split it up, actually. Maybe you could. Yeah. I don't know. I I I went down the rabbit hole of videos and formats when I did my my course as well, so I'm I only dipped my toes into to what is possible.
Morten:But, yeah, you can do some crazy stuff. But I'm not sure if you can split it, actually. I don't know. Probably.
Dom:I I I I I don't even know if yes. But yeah. It's a it's it's a totally different beast as well because I wouldn't also need to find a way to have the comment being read because, you know, if you're about if you're to do streaming at some point, I cannot read the comment. I I I it's either I write code and try to concentrate on what I'm doing or I, yeah, I look at the the comment. So, yeah, maybe maybe streaming is just not really possible or not really, you know, a good thing for me.
Dom:But at some point, it was something that I I enjoyed to do that.
Morten:Yeah. It's it's it's quite fun. It's quite fun. Once you get for me, it was a big hurdle to get over the the the talking. I don't know if it was really weird to get into, like, just talking about what you're doing Yeah.
Morten:For, like, hour hours and not sound like a robot. When I started my course back a couple years ago, started recording, doing my first videos, I was like, yes. I'm gonna you know, because I I kind of started out watching a lot of WesBoss. He's also a fellow Canadian, right, who'd done a lot of courses. And I'm gonna sound like him.
Morten:I'm gonna sound like the Primagen. It's like and then I recorded, and it just sounded like now I am doing creating I was really sounding like a robot, so you needed to get over that hurdle of actually not sounding like a robot and still make it sound interesting and also doing multiple things at once. So it's really fun. I think it's a really fun challenge to to to do both of those things at the same time while also interacting with people and and that whole thing. Right now, I'm mainly I'm doing a lot of DataStar at the moment.
Morten:So also sometimes I have Delaney come into the chat. Delaney, the creator of of DataStar. So it's always fun to, like but he he's very technical. Right? So he always asks, so so I need to balance what I'm doing and also having technical talks with him.
Morten:It's it's fun.
Dom:So he he joined you on your on your stream?
Morten:Sometimes he jumps into the chat. I'm trying to
Dom:I see.
Morten:Yeah. Yeah. I'm trying to be be a little bit more engaged in the data start Discord as well. They just released v one last week, I believe. So so now they are not in in release candidate mode anymore.
Morten:They are actually in version one of Datastar, and it's it's I I love it. It's really made
Dom:Yeah. It's great.
Morten:Doing UI stuff fun again. I can have everything on the back end, and it still feels like an SPA, but I I'm using my my Go framework and Total. Right? So it's just built around all of these mental models. Everything is driven server side, but you you update the UI and surgically update the UI.
Morten:Right? Yeah. It's really cool. There's a side side saving there, but, yeah, streaming streaming is fun, and it's also really cool to learn about all the all the the formats. And there was a great article from from the guys behind like Aaron Francis and his previous cofounder, is that the right word, partner, Steve Turo, maybe?
Morten:I don't know if I get his last name correct, where they talked about how they they actually serve, like, a lot of of video for, like, four bucks a month or something like that. It was, like, four k video, a lot of gigabytes streamed, and they just used Cloudflare and then used the HLS format for for streaming the video. So I I did that, and I also used FFmpeg to split them up. Right? So now I'm basically paying nothing per month to to host my calls.
Morten:Right? It's, like, eighty eighty videos or something that just gets streamed down in in ten eighty. Yeah. I'm also going on a on a tangent right now.
Dom:Oh, no. No. That's interesting. So It's So your so I I'm not I'm not I'm not aware of this CloudFare offering. So so they they do did you have a a product or a service to stream video?
Dom:Is that
Morten:I yeah. Yeah. So the my my my course on full stack go dev go development used to use no. Vimeo? No.
Morten:Not Vimeo. I can't remember the one of the providers where you can upload videos and then stream them. And then I saw this article where they basically break down how they use FFmpeg to break a video into segments using convert it into HLS. You upload that to Cloudflare, and since you only pay for, what is it, ingress? You don't pay for egress.
Morten:Becomes don't pay
Dom:for egress?
Morten:No. No. No. They have some I I I read about it a long time ago, and I can't remember why exactly, but they have so much redundant Wow. Traffic outgoing.
Morten:I can't remember exactly with how to do it, but, yeah, you don't pay you don't pay for for stuff
Dom:That coming is crazy.
Morten:Yeah. So that's why, like, I think I think Aaron and Steve, they got a quote. Aaron talked about it on the on the podcast, Mostly Technical, I think, where he says, like I I can't remember. It was, like, $10,000 or $20,000 per year or something. It was a huge number.
Morten:Right? Then Steve logged into it, and he was like, oh, we can we can use SLS and just use FFmpeg. And then they Aaron have a huge video catalog. Right? Record in four k.
Morten:Just multiple terabytes of data into into Cloudflare, and then they bulk it down to, like, $5 or $4 or whatever it
Dom:was Crazy.
Morten:Per month. Wow. Yeah. Yeah. Okay.
Morten:So so I did that, and I was like, hey. Should I should I build a competitor to to the streaming services? But then you have to deal with the the content and monitoring, and, you know, there's lots of lots of stuff here also goes on top of it. Right? But, yeah, yeah, it's it's I I pay basically $0 right now per month to to host the village.
Dom:Nice. Nice.
Morten:Yeah. Yeah. Then you get the caching on top. Right? So it's it's closely globally distributed.
Morten:Yeah. Totally. Yeah. Really, really, really cool product. Let's see how long it lasts.
Morten:But, hopefully, it lasts, but it's it's it's a really good product.
Dom:Yeah. Yeah. Absolutely. I'm using I'm using DigitalOcean CDN for for my video, you know, all all the videos for my courses. You you know, it's it's fairly cheap.
Dom:It's like $5 per month as well. So but but, yeah, there there's a cap on the amount of downloads, but of course, you know, it's not like I will reach that. So but, yeah, I was not aware of Cloudflare. Cloudflare is is, like, very interesting in in some point. There there there's so many things.
Dom:The last thing last thing I I was interested there was the the the the mail routing feature that they have. So basically, you can point your MX record or something like that to to there, and there's there's a way for you to reroute some emails and whatnot. So I was like, that is intriguing. What is exactly the use case? I was not really really sure about that.
Dom:But but, yeah, they they seems to have a seems to have a lot of really nice product.
Morten:Yeah. The the email product just went into public public beta, I think, not too long ago. So you can actually so kind of like an SES competitor in a sense or Amazon Simple email service. But but I've yeah. I'm I'm using SES right now, and it's I I have never paid for email since I switched to that.
Morten:I mean, I'm I'm not sending, what is it, ten ten thousand emails per month. At least not yet. Maybe at one point, I will send a lot of emails, but it's it's incredible too. But, yeah, they they did chug it into public beta.
Dom:Yeah. That's intriguing. Yeah. I'm also using SES as well, especially especially with the product I'm building at the moment. Each tenant can they you know, I base if if they if they enabled the email marketing modules, they, you know, I basically create a config rules in, in SES.
Dom:So each I was not even aware that it was it was possible to do that there, but you can kind of isolate, you know, if you will, domain name that that are sending email. Otherwise, if you are getting too much, Let's say you you have a couple of bad actors that are sending email that would it would affect all all the customers so I was I was really Reappreciating this this feature to be frank so now each you know each tenant that enable this module is completely isolated from each other. So, well, I was I was happy about that. It's it's so cheap. It's so cheap.
Dom:SCS is very it's very cheap.
Morten:Yes. Good product. I was looking into also when we talk Cloudflare, I was I was trying to get a proxy proxying working on on DeployQuade so that whenever a user creates a new application, I automatically create a staging and production environment for them and also generate a domain for them so they can like, the the path to to success or what is it? The happy path gets gets faster. I was trying to to make that work.
Morten:So I proxy everything through my from my main app into into Dash server, which didn't really work yet. Has some has some stuff to go to go through. But, yeah, also with I was basically trying to talk about their their what's it called? The search product from Cloudflare. That's also quite nice where you can just go in and, you know, create, like, a search for fifteen years.
Morten:Yeah. How long it is and then send it along. Yeah. Yeah. I I really I really like But I really like
Dom:But not sure I understood correctly. So so you are saying that you're provisioning a a domain name for for for a user?
Morten:Yeah. I kind of have two options. Right? I can either just create a record pointing at the customer's domain so they can use, like, my random. So there's, like, deploygrade.com and then whatever random name in front of that, add a record, but at at at some point, I'm gonna run out of records.
Morten:Right? So I'm trying to have, like, a wildcard domain so that it just hits that, and then I do some lookup logic on the server and then forward it to the customer's server. And then they should have, like, an entry in the Kedi config that matches that domain record, and then we we load the the application from Yeah. From for, like, through through that route. Yeah.
Morten:And for that, I was looking into generating, like, a cert on on Cloudflare and having it in my in my KD config and then pass it along. I can't remember exactly what I what I wanted to say with this.
Dom:Yeah. I was I was wondering if if you were provisioning a full domain because I did you know, CloudFare was something that I was looking for, but I was not able to have the domain name to be owned by by the user. This is this is something I'm I'm also looking for in my product. So a user could that do not own any domain could just register a domain in in the tool. But, yeah, Cloud, you know, turns out that if I'm using their API, like, the there's no way to to have the domain be owned by by the user.
Dom:It would all be in my account, so that's not working for me.
Morten:Yeah. I'm I mean, I am considering doing, like, a Cloudflare integration, so it's so it's through the user's account, and then they let me manage the DNS setting, which could also be a path forward because the the prox the proxying is is a little bit tricky when you want to like, I don't wanna open any more ports. I don't wanna have, like, a secret port that I can that I can just send traffic to on their customer server.
Dom:But not only that, but if I'm understanding correctly, so all all of the traffic will will will go through your servers to be proxied to to to the the customer server.
Morten:Yeah. But but they will probably not they will probably not create an application in production that has
Dom:Right.
Morten:That wildcard or that they will probably set up, like, myservice.com or whatever, and then they would have to create a record in whatever provider they use and point it at at the servers. It was it was mainly how to take them from server to application to live product faster.
Dom:Understand. Understand. Yeah. There there's still some drilling at your place, I see. I hear.
Dom:Yeah.
Morten:I don't know. Like, we lived here for two years almost in this apartment, and I don't think we have one week, but they didn't do any construction work. It's right now they are fixing the the the elevator. It's just like and all the buildings in Barcelona here are super, super old. So it's like, it's a really old elevator, and then we're working on it for, like, two
Dom:So maybe it's better they that they fix it then.
Morten:Yeah. Yeah. Will luckily, we don't lift that high up, so I always take the stairs. Yeah. But there are some old people living here that probably probably needs it.
Morten:Cool. That's the that's the that's the life you choose when you you live in Spain with the thin walls in the apartments. Yeah. You know your neighbors without actually talking to them.
Dom:Wow. That that that's that's cool. So so any any feedback? Have you have you have you got any feedback? Any any discussion so far with potential users?
Morten:Not yet. I'm later today after this recording, I'm gonna do a a product demo video, walking through what I have now and get that out. I have an open question to myself right now of how I want to deal with the operator. I install a small Go API on the server that I use to communicate with the servers with, and that is using just a token right now that it matches against. But the users have access to the server, so they could technically just go in, grab binary, grab the token, and then replicate whatever.
Morten:Yeah. They want, right, because it's it's just an open API spec. That might not be an issue. It might also be an issue. So I'm kind of debating before I start getting real users on, should I do should I make it harder to misuse it or should I not care about it?
Morten:Maybe I shouldn't care about it for now. I don't really know of locking down access because I can never really fully lock down access to this version since the user can just SSH and they can just transpile the binary. I can make it hard. I can make it very hard, but I cannot make it
Dom:So the the this key is just for for your your main your main service to communicate with with, you know, multiple servers. Right?
Morten:Yeah. So it's mainly so it's it's generated per server so that every server is kind of as secure as it can make it. And then for deploying an application, for restarting, creating it, for pulling metrics, pulling telemetry data, all of that stuff goes through the agents. So we install as little as possible on the customer service. And the idea is to never lock people out of the servers so that if they want to pay for the product, they get this API that has a lot more capabilities in terms of backups, in terms of deployment strategies and all of those kind of things.
Morten:And if they then want to cancel that subscription, my idea is to downgrade it to a less capable version that is then just open sourced. It's a community edition they can take and they can build on top of it if they want to. But then it would it would get downgraded to that version, and and then they can only do one deployment strategy.
Dom:But if if if the key is is unique per server, you know, why why would it be a problem if if the user can access this key?
Morten:The the problem is if they wanna just create multiple servers themselves and take the agent and, you know, it's just an API. It's it's it's there's nothing validating that the request is coming from a paid subscription is simply just a token to validate the the
Dom:Okay. So the the agent is is doing some calls to to to the server. It's bidirectional.
Morten:Yeah. It's it goes both ways. So the server my app communicates with the server for the agent, and the agent goes back again. So Okay. Yeah.
Morten:So I don't do a lot of, like, SSH ing into the customer servers, which might be be okay as well. But the logic is is, again, going back to Go, really nice for a lot of these things, and and operating on, like, a Linux server and doing things there is is so nice with with Go, and it makes it it makes it easier. It also makes it very easy to update the server version so the the the API updates itself whenever there's a new release. Yeah. This might not even be a problem, and if people wanna go through the process of taking this and replicating and building out their own dashboards, maybe they won't be customers in the first place.
Morten:Yeah.
Dom:Yeah. Yeah. Yeah.
Morten:So so that is kind of a thing I need to figure out. But I'm gonna onboard some a friend of mine this week, I believe, getting him onboard, trying to get some more early testers onboard. Nice. Have them try out the product, and then and then and then try try to at least open for public sign ups and those kind of things. But it's getting to a place where the core of what I want to do is stable, the release flows and the rollbacks and the managing and updating, keeping the server up to date, monitoring the logs from the server services and the applications and all of those things are in place right now.
Morten:It's getting there. I think I just need to figure out what I want to do with the whole agent thing. Do I wanna go down a route of making it really hard to to to to, quote, unquote, steal it? Don't really know yet.
Dom:Interesting. Yeah. Yeah, depend depending your your your key could be could be tied to to some kind of hardware, you know, fingerprints and whatnot. So even if if if the binary or the the keys would be moved to another server, would not work or something like that. I don't know.
Morten:I'm just Yeah. There there could also be something on startup where it it fingerprints it and send it back to the mains. I don't know.
Dom:You will need to ask something about how this is called, MITOS thing.
Morten:Yeah. Yeah. Once once they they touch it, I can can ask that. But again, I'm also debating whether or not my core audience, customer group, other people who actually want because, I can't make it foolproof. If someone wants to to monitor network activity, like, there's nothing I can really do to lock it down.
Morten:Right? And if they wanna go through the process, I probably can't stop anyways. But do the target audience for this product actually like, if they wanna use this type of product, do they do they even wanna go through this process? I I don't think so. Or at least I think it's highly unlikely that they wanna go through that.
Morten:Because if you can go through that and if you know how to go through all of those things, you you probably don't wanna use a service like this. Yeah. Yeah. Yeah. I'm assuming.
Morten:Well I'm assuming. Questions you will you will need to to have some answers at some point for sure. That's cool. Yeah. Yeah.
Morten:So, yeah, that's that's a thing But I need to at least now I'm dogfooding it completely. So Deploy Quade is running Deploy Quade and now I also need to get my other applications ported over to running on the on deploy grades, getting some some testers on and Nice. There. Get some feedback. See what's see what's happening.
Dom:Yeah. Dogfooding. This is a I I need to move myself out of my I I I I built myself a custom, you know, quote unquote small course platform that that I have that at the moment. I I will need to move that to what I'm building at the moment because I I do have a course, selling module in in in the app that I'm building. But I don't know.
Dom:Moving things around is is I I don't know. I don't know if I have the energy, and I'm hearing you talk about your project, and now I'm I'm thinking about static back end, which I need to do a a new release. But each time, it's I don't know. It's it's so it it it takes a long time because I need to repackage all all the client library and now I need to, well, fight, quote unquote, fight with NPM just to publish the the TypeScript library, you know, Go is so is so interesting. You you just you just push and you you put the tag there and and the documentation is updated and every everything is nice.
Dom:People can just update their their library. But now I'm kind of falling behind and I I fall into the trap where now I quote, unquote, vendored my dependencies. So my my own back end libraries, I build it and, you know, the the SaaS that I'm building now, which which is using the new version, which is on release now, vendor the the dependencies. I I I don't really like this situation. I I I would need to to take to take one full, you know, morning or whatnot and just just take the courage and and just do a release.
Dom:Yeah. I'm I'm semi regretting my choice of using my my own, you know, back in as a service at this point because yeah, it's it's so long to do a release, and now this thing needs to move fast, and I I'm I'm missing a little bit things here and there, but not you know, nothing nothing crazy, but it's just that, you know, it it kind of put some, some break into into the development of of the SaaS that I'm I'm doing at the moment. I I I I need to to in introduce, multi users in in an account, but static back end does not allows you to or at least the the client library does not let you change a role, for a user, and I need that. So a a couple of small things like that, which, feels not great sometimes because I I I wouldn't I wouldn't need and I I cannot I cannot do one release per two weeks or things like that. I static back end is moving into a very very slow pace like I was I was mostly doing release each six months.
Dom:So the product is is very very slowly evolving. The the goal was to follow the goal mentality of just, you know, just being bad fully backward compatibles and and just, you know, there's not much to add to to it, but turns out that even the smallest things can can take a lot a long time now. So I don't know. It's Sometimes you you think that you will you will you will win some sometimes here and there, but yeah. It's difficult.
Dom:So I'm I'm I'm not sure. I'm I'm not I'm not sure about the product, the projects, static back end I'm talking. So I, you know, I I revived it because I wanted to use it. But to be frank, I don't even know that I have the energy or the time to market it because I'm also building this SaaS. So I should be focusing, you know, 100% on the SaaS.
Dom:This is what will bring me, you know, any food on my table, if any at some point. So, yeah, it's it's pretty hard to juggle two two, three projects at the same time. I I think it's what I'm trying to say.
Morten:Yeah. Yeah. Yeah. Definitely. Definitely you.
Morten:It it it sounds feasible, but then you get into it, and it's like, okay. I need to focus on one thing and do that do that really, really nice. Yeah. Do that really nice.
Dom:I was doing that, you know, early when I was in my twenties, early thirties. You know? Now I'm 45, and I don't know. It seems it's it's it's it's less fun than what it was. So now now I'm just thinking, you know what?
Dom:I I should have you know, I I could have just used worst case SQL SQL lite or maybe Postgres, but just you know, but it's too late now. It's so so but I I think I was I was I was saying that maybe it was the last episode or the other. It's again, I'm I'm in the I'm in this place with this task where until I have real paying customers, I'm I'm trying to find or I'm trying to I I I don't I don't know what it is. I don't know what to call that. But there there's there's something that always make me wants to change things or but I'm I'm just at this stage where you know what?
Dom:You you just need, you know, five paying customers. I'm I'm you know, we still have only the the the two the two real users, which are not paying because I I needed some feedback. So kind of offered a couple of months free. But I I I need I need real feedback now. I need to have real paying customers, people that would go from, you know, the the the start of the funnel to having difficulties with the tool or, you know, confirming that, okay.
Dom:You know you know what? I was able to work. I wanted a to send proposal. I'm I'm now able to send proposal. I wanted to enable my email marketing module.
Dom:Now everything is working. So so this is why I I am at the moment. This phase is is not something I I I enjoy and and it's very dangerous for me. I I think it's it's like that for for a lot of people. This is this is where if I'm I'm there for too long, I might start to you know, this is where I I would I would kill a project sometimes because I'm I'm just not able to to get traction.
Dom:It is getting very very very hard to to get any kind of commitment these days. It's it's I I don't know. I don't know if it's AI or whatnot. There there's too many products that have been launched. I was I was believing into it.
Dom:It was going to be harder now that I'm, you know, leaving it firsthand. I'm I'm lucky that the product I'm building, we are targeting only, you know, Quebec small businesses, people that that speak French. So it's it's a niche in itself. It's it's and and since everything that is going on with The US, there's a there's a very, very strong movement in Canada that we want to just buy locally. We want to find local companies.
Dom:You know. So that that is a wave that I want to to surf in or on or whatever. But it's it's it's so difficult. I mean, this is I don't know. This is very hard.
Dom:But but again, I I need to I need to fight this this urge to replace my my my back end as a service and just just use SQL c with Postgres and whatnot. I mean, this would be crazy, but but, again, I I need to find paying customers. This is this is what I should be doing almost exclusively now.
Morten:Yeah. I need the need the confidence of 20 year old something byte coder. Yeah. You know? I see it.
Morten:Because that's that's the like, you see so many of those where they just, like yeah. They just, you know, press press the magic button, throw something throw something out there, and then, you know, let let's let's see what happens. It's kind of the new the new way of of building, at least in the public facing sense. But, yeah, I've it's it's true. It's difficult with the marketing and and cutting cutting through
Dom:Yeah. The then I'm not building something super sexy at the moment. It's alright. Then we are back. And I'm looking for a new co host now because Barten is apparently quitting a lot of the episodes.
Morten:Someone would work in hardware.
Dom:If yeah. Maybe maybe it's your PopOS. Let let me finish that that thought, and I I will I will continue with with PopOS. So, yeah, I'm not building anything sexy as well. So maybe it's it's it's also harder a little bit to to get any kind of eyeballs on the product and whatnot because at the end, it's so but, yeah, but, you know, small business businesses are are are still still in need of those those things.
Dom:And I I think I'm building something very, very nice and useful at the moment, especially with the email marketing module that I have. So so again, we will see. But but, yeah, it's it's definitely definitely something that that is difficult and and now I'm exiting the the comfortable phase of, you know what, you you still need a v one, so you need you will you will be a, you know, 80% building and 20% maybe researching or preparing for, for marketing and whatnot. And now it's it's the time to turn that and being probably 90% of of the my time should be on trying to find paying customers. And, you know, for programmers, this is always, you know, difficult and not natural and not what we want to do and things like that.
Dom:But but, again, it needs to be done.
Morten:Yeah. Marketing marketing week is difficult. There's there's this guy who did a lot of bootstrap products who have created a tool that will just switch between building week and marketing week to force himself to to do his marketing. Might be a way to go about it, to spend one week building, one week marketing. Yeah.
Morten:But you also need a sellable product for that to really
Dom:to really be
Morten:at work.
Dom:Yeah. That that's what that's what I'm I'm still I'm still wanting to get a couple of a couple of maybe more real usage before I I I start to to open the gate. I I enjoy to to have more hand holding at the at first, making sure that a new a new customer is or at least that I'm I'm finding what they I hear about what they have difficulties with, and and this is so helpful at at the beginning just to just to just to know exactly where is the blocker, what what prevents them from getting to this moment of, oh, wow. This is this is fixing my problem. This is working.
Dom:So but you need you still you still need the you still need to have, you know, trials and whatnot. Even even the traffic on the website, it's it's harder than it was before, for sure. So, I mean, yeah, the it's not only, trying to talk about it, but just and I remember at further, you know, when I when I when I started at at the beginning, when I I launched my blog in 2002 or something like that, and back then, you were putting something there, you were doing nothing and there weren't traffic. That's it. That that was it.
Dom:You know, if you were basically respecting the, you know, the the issue rules of having good good h one, h two, and good content, it was it was just there and you were having traffic. These days, this is this is I'm not even sure people are still using a search engine anymore. So pretty hard.
Morten:I mean, I'm using I'm still using Google for stuff, but whenever I I just basically just prompt a question into the once in a while, and it will do these AI overviews but on steroids now, so you can actually chat with the research results. So Yeah. I mean, you never really get past that, I think. I still I still see some traffic from like, on my personal blog, there's still a decent amount of traffic from Google. I I say decent.
Morten:I I mean Yeah. Couple of hundreds per week, so it's not it's not anything crazy. Right? But I still got some from Google, but I think you're you're right. The whole the whole Zeo game is is different now.
Morten:I still think it's relevant in the sense that the the clankers will will use Google to search for things, and maybe there you also still need to rank a bit. Maybe maybe it's not exactly. They have this new term called what's it called?
Dom:Geo. Geo.
Morten:Geo. Yeah. Yeah. Yeah.
Dom:So you you put some JSON into a header of your of your pages and whatnot, something like that?
Morten:Yeah. Yeah.
Dom:I don't know. I I haven't looked at that. Yeah. But I I think that that might be a problem for my audience. You know, the a the AI or LMs is is touching a lot of people, and I think that there might be some some small business owner that just search by the LLM now?
Dom:I I don't I don't know. I don't know yet exactly.
Morten:No. I mean, maybe also the the strategy goes goes back to code outreach is
Dom:Oh, yeah. Oh, yeah.
Morten:Probably the switch in pace. And if you just don't do that with AI, you could probably
Dom:have better results. Yeah.
Morten:Totally. Yeah. But if if you're like most people listen to the podcast, the developers, so they probably know the horrible, what's it called, in message or inbound email, whatever, on on LinkedIn, where it's it's clearly AI generated, and you just what what are you doing?
Dom:I I did I did I did something that I never do the other day. I I received a cold email, and it was, you know, moderately interesting that I replied. Okay. And I never got a response back.
Morten:So I was like Wow.
Dom:Come on. Oh, yeah. It was it was it was crazy. I was like, okay. Okay.
Dom:Maybe maybe you received too many responses.
Morten:Yeah. I don't know. But I I I followed a a German guy who was living in Denmark who also have a a cold email product service thingy, but they were sending at a scale of, like, twenty, thirty, 40,000 emails campaigns to and they were, like, they were sending so many emails, they were optimizing on the sign off. Like, they were they were testing if if best regards or best or whatever at the end would optimize response rates. Right?
Morten:So it's also maybe a numbers game if you go down. That route, I still think it this day and age, like, if you can see that it's actually a person who has written you that message and is relevant to your situation, I think you are much more likely of getting a
Dom:Yeah.
Morten:Getting a response. Totally.
Dom:I I I will probably go with directly cold calling at first. Yeah. Because yeah. Because, again, the the small niche in in Quebec, we speak French. So I I think I think people might want to to talk to other humans more and more these days.
Dom:Yeah. So so I will I will probably try that at some point, but it it's it's something that I hate doing.
Morten:I hate calling people. One of my it's rough. Like, it one of my first jobs in uni was, like, a phone sales salesman,
Dom:salesperson. Yeah.
Morten:I I hated it. It was so horrible also because they I was in Denmark, there's this company called Falk who does they are basically the fire brigade in Denmark. They also have some ambulances, and they sell security stuff for the home. And most of the people you will be talking to was, like, elderly persons, elderly people. And I was I could never sell to them because they were I was being like, hey.
Morten:What do we need? Blah blah blah. Was trying to, like, you know, do the what's it called? Figuring out if they had a problem, and if they didn't, I was like, yeah. Okay.
Morten:Fair enough. And then I had my trainer being like, you need to push push that person. I'm like, I'm
Dom:not Yeah.
Morten:I'm not gonna push this 80 year old lady to buy a bunch of, I don't know, Band Aids or some shit like that. Like, what are what are you on about? But, yeah, you you really need to be it's a different different game if you wanna be good at at colds cold calling. Yeah. Yeah.
Dom:Yeah. But I I will call small businesses. So first, I I I mainly want to hear about their problem. So I I might not even talk much about the solution that I'm offering if yeah. I I I don't even know exactly yet.
Dom:Maybe I will try one or two call. It will it will certainly not be a it it will be, you know, one or two per per week because I cannot really do much in that, to be to be honest. Yeah. It's it's it's just it's just to to test the water a little bit.
Morten:I I read a I've been reading some books on on selling to try and up my game, and one of them was really helpful in the mindset that you could adopt, which was you're the expert in your area. So if you target people who has a problem in the area that you're an expert in, then the the whole conversation revolves around solving a problem for them. Totally. And that becomes less I see. Salesy, yeah, sleazy, what people are afraid of sounding because they think they have to be like John Balford, which they probably don't do.
Morten:Yeah. Again, I also I'm not a salesman or salesperson, so I don't really know if if this is true. But the the reasoning makes sense that you are I'm an expert in this, and I'm calling you because you might have a problem. Okay. You have a problem.
Morten:Let's explore the problem you have. And if my product solves your problem, then that could be a path forward. Right? Because there's also something around risk mitigation. People would probably rather not buy and not make a mistake than they would take a chance and be be be hugely successful by it.
Morten:So they were probably optimized for not making a mistake versus optimizing for for, like, a home run once in a while. Is this kind of does that make sense? Yeah. Yeah. Especially when you're talking to b to b.
Morten:Right? So some person doesn't wanna risk their career on on buying a product that takes down the entire company. So, yeah, trying to to minimize risk for them in a conversation is probably also a a very good approach, I think. Yeah. Oh, yeah.
Morten:Totally.
Dom:But, yeah, that that that is what I like about what I'm doing at the moment. I will talk with very, very either solopreneur or very small company. So probably the owner. And and, you know, I I have this this booking module as well. So and and it's true.
Dom:You know, you have Canonly, you have a couple of of even even Google is is doing that now. But mine is is is is cheap, and and you can create multiple booking page. And I I mean, there is value. I think I I think I created, enough value, and I'm confident that the product is very interesting for a small business.
Morten:Mhmm.
Dom:But again, this is only in my head at the moment or maybe a limited amount of of people that I've talked about it. So it's it's not it's not with the two users that we are having that and I say we because this is my wife that that brought those people. So I I I did not even brought any anyone yet myself. So No. Yeah.
Dom:I I need I need to start doing that to be Yeah. To be clear. But again, this is so boring, and I hate it. Yeah. And PopOS, man.
Dom:PopOS I started to when when we hung up last time, we talked a little bit about text editor and screen reader and whatnot. And I started to to to search about PopOS and accessibility and whatnot, and I discovered that the this seems to have made a very decent investment in the last year and whatnot. So this seems to have their cosmic desktop environment that you you were talking. It seems to seems to be working now with Oricod, the screen reader. So I'm fairly tempted to to try it.
Morten:I've definitely, I think you should give it a go. Are you do you have a NVIDIA GPU?
Dom:No. It's a it's an Intel in onboard. It's
Morten:a Alright. Yeah. Because they do have some issue with I can't remember if it's memory leaks, but it is there's still some minor issues around when you run this on NVIDIA GPUs that it will simply just freeze and require a restart, but I have not heard anything about that for, quote, unquote, regular GPUs. So you should be fine if you are Oh, yeah.
Dom:Yeah. I I I think it's it's the it's the internal video card, so I'm I'm I'm not don't need a video card, basically. I don't I don't even need a screen, so so yeah. I I think it will be fine there. But the the only thing that I was I was blocking about is that they they have they have they they built on Ubuntu 24, so we are it seems to be it seems to be very old all already.
Dom:Even though I I think they prefer to use a flat pack and whatnot to or or snap the the other thing.
Morten:But
Dom:yeah, it seems to it seems like they are probably soon to update something. So I'm I'm not sure if I should wait a couple of months because it seems like I don't know, man. Ubuntu 24, very old already.
Morten:Yeah. They I think they they actually the way they approach the development of Cosmic was to be, like, it's it's done when it's done. Yeah. But they they should be following the Ubuntu release cycle, so that'll probably come something out soon for what is it? Ubuntu 25 or 26 that is
Dom:Yeah. There's one twenty six zero four, which that that's what I'm saying. Maybe I should wait to for May or maybe June or probably May. I I think I think they might Yeah. They might they might be soon to release something.
Dom:So because I'm I'm not sure about the upgrade path. So if I were to install today, you know, will it be will it be easy to to go to the next version? Have you have you done a an upgrade so far?
Morten:Yeah. Yeah. Those because I've been I I was on Cosmic from alpha one of the first alpha releases they did, and the the upgrade has been smooth.
Dom:Okay.
Morten:So, I mean, as if you go on Reddit, there's always someone complaining about it, saying the issue. But for my especially if you start now on this on the current version of Cosmic, it's you literally just go in and and update the system as you would regularly update the system, and you you should get the the latest release.
Dom:Nice.
Morten:So they have this Cosmic store where you it's, yeah, it's it's just like an app store kind of thing. Yeah. Where you can just update and and that should get you the new the new version. So super smooth from from my point of view, and I I have have it both on my desktop, which has an NVIDIA GPU, and then on my laptop, which just have, like, an AMD integrated GPU graphic card, and both have been have been fine with no No real issues except for the for the memory leaking on
Dom:on the GPU. But Yeah. For for me, it's it's mainly audio audio related. If if if if I'm I'm to boot my machine at some point and there's no audio, I'm I'm just I just cannot use my machine, so that that is a huge But yeah, well, do seems to have been have been a long way in Linux, and I I don't know. There there is something, And we we keep we keep talking about that, but the the it's still growing.
Dom:It's growing, growing. People are leaving Windows. The Yeah. Lin it's it's really, really nice to see. And I I want to contribute to the Orica project if I can.
Dom:So I I know that there's not much developers that that are maintaining this. So I think it could be a good opportunity for me to to just try and contribute to Mhmm. You know, to something that I need, and I I, you know, I would love to to contribute.
Morten:Yeah. Yeah. I think yeah. It's it's well, I think it Cosmic combines a lot of the nice things about Linux. You have somewhat stability.
Morten:I mean, it's still it's a huge complete rewrite of everything they did, right, in Rust to get Cosmic up and running, but but you have you have WorkSpaces. You have screen what's it called? Tiling Window Manager. Yeah. You you can toggle per workspace.
Morten:I used to have problems with Bluetooth and sound back before they released Cosmic, and I have had no like, Bluetooth, I've actually been working really, really good on Cosmic, which is which is really, really nice. I connect my headset. No issue. So it's super smooth. Yeah.
Morten:Really nice desktop. And and and, like, I'm also I also have Omachi installed, which is also amazing, but I it's just Cosmic feels a little more stable, and you don't need to fiddle, and you can just focus on getting some some stuff done.
Dom:Yeah. Yeah. I'm eager to to return to Linux. Like like I was saying, I was using I three with Arch Linux before. After that, I because at some point, my Arch completely broke.
Dom:I could not even do anything with with with the system, so I install, Debian. So I was still using I three and and Debian. Unfortunately, I three isn't accessible. I hope I opened an issue in in 2017 wanting to to try and help, and and yeah. Unfortunately, it's still open.
Dom:Nice. Yeah. There's not much to do there. But I I three was was something that I was really, really enjoying, to be frank. It it it was it was the way that I I wanted to work.
Dom:So hopefully, the tiling manager of Cosmic will allow me to to have kind of a tab way because when I'm using the tile, I'm not tiling, you know, side by side. I I just want my screen to to always be maximized and and just really have a quick way to to switch. So I I think I think it should it should be able to do that. I think I I've saw the the tab mode or something like that. Might not be called like that, but it was called like that in in I three.
Dom:So
Morten:Yeah. I will
Dom:see. I will see.
Morten:I mean, as a super configurable. So I I I basically have Vim motions for my Windows. So I have, like, the super key, and then I can I can switch around, move around, size, ups, and I make it bigger, make it smaller?
Dom:Nice.
Morten:Move it around using using Vim motions. So they they did a really they did a really good job with with with with that product. And I think with DHH pushing Omachi, he also got Dell just released a new laptop. They revived the XPS with a chipset that should be compatible should be compatible competitive with the with the m five chips called the Panda Lake that that has full support for Omachi. So I guess if they have some like, if if Arch Linux runs on it, probably Cosmic will run as well.
Morten:Yeah. So we are seeing some, yeah, a huge influx to Linux, I think, and the the the OS is getting really, really good.
Dom:Yeah. It's nice to see. Cool. On that, I I will I will maybe try it and maybe maybe report that on on our next doc, maybe.
Morten:I Yeah. We'll see. It'll be interesting to hear. You have the Linux desktop. You know?
Morten:It's Oh, yeah. 2026.
Dom:But I was there. I was I was there way before, but but yeah. I need to return now.
Morten:Yeah. Cool, man.
Dom:Alright. Have a good week.
Morten:You too. Bye bye.
Creators and Guests
