Exploring 37 Signals Once Business Model | Rubber Duck Dev Show 117

Episode 117 March 03, 2024 00:57:53
Exploring 37 Signals Once Business Model | Rubber Duck Dev Show 117
Rubber Duck Dev Show
Exploring 37 Signals Once Business Model | Rubber Duck Dev Show 117

Mar 03 2024 | 00:57:53

/

Hosted By

Creston Jamison

Show Notes

In this episode of the Rubber Duck Dev Show, we discuss how Creston built a 2 terabyte database for his new Postgres performance optimization course.

To get the show notes for this episode, visit:

https://www.rubberduckdevshow.com/episodes/117-exploring-37-signals-once-business-model/

 

View Full Transcript

Episode Transcript

[00:00:00] Speaker A: Hello. [00:00:00] Speaker B: Hi. Welcome to the rubber duck Dev show. I'm Creston. [00:00:04] Speaker A: And I'm coda. [00:00:05] Speaker B: And today we're going to talk about the once line of products that 37 signals just launched, as well as their first product under this banner, campfire. But before we get into that, we usually do the weekend review. So I'll go ahead and start in terms of this week, my course is open for students tomorrow, so we're recording this. Happen to be recording this on Sunday. So the course opens up on Monday with the first module and I'll be released over the next eight weeks. So I had to do a ton of work closing out the course because the shopping cart, as it were, closed on Thursday. But there's still a lot of final emails that need to go out saying, hey, this is the last chance to get in the course if you want to do it, and things of that nature. So I've been super busy with that and super busy getting things ready. And I've spent a ton of time preparing the database to send to people. And I'm kicking myself that I should have just made this a program that I could deliver to them, because delivering. Essentially, it's a two terabyte database. And I'm also offering a 200 gigabyte database. That's a substantial amount of data to transfer, but I found some inexpensive ways to do it. So basically, the first thing I'm doing is I'm using Z standard to compress it as much as possible, which is like Gzip, but much better. And I think Facebook designed ZSTD is basically the acronym for it, but. [00:01:59] Speaker A: Interesting. [00:02:00] Speaker B: I'm going to be. Sorry. Go ahead. [00:02:02] Speaker A: Oh, do you know how it compares to, like, lrzip? [00:02:06] Speaker B: Lrzip? I'm not familiar with Lrzip. [00:02:11] Speaker A: Okay. Yeah, that's the one that I like. It focuses basically on large file compression. [00:02:19] Speaker B: Okay. [00:02:20] Speaker A: Yeah. [00:02:21] Speaker B: All right, well, maybe I should have evaluated that. But needless to say, this is kind of what I did. So the 200 gigabyte shrunk down to about 40gb. So what I did is I just got tried to find the cheapest place with the most amount of free bandwidth, or the cheapest bandwidth, and that happened to be Hetsner, which is a hosting provider. So I got a server in Europe and a server in the US and set up SFTP on it and said, okay, here you go, guys. You can just download it from cheaper. That was super cheap compared to any other place I've seen or tried. I'm sure there's probably cheaper, of course. [00:03:05] Speaker A: But I assume your listeners would not have liked it if you insisted on using like, Torrance, right? [00:03:12] Speaker B: Well, what does it matter? It's just test data. So I probably could have anyway. So that was for the smaller database. That's how we did that. But the two terabyte goes down to 400gb, which they didn't have. I mean, I probably could use their block storage or whatnot. And I initially tried using this before, but I had problems. But I finally figured out what the problem was. But Cloudflare's s three alternative, they call r two. I don't know why, but they do not charge for egress fees. So I said, all right, I'll just stick it on there. I'll pay for the 400gb and as many people presumably can download it as possible. The only issue it does require splitting up the files into five gigabyte chunks. So it basically is 78 chunks. So it's definitely a little bit of a nuisance to deal with, but it's kind of been done. This was a long discussion, but I guess I'm just giving you an update and the listeners an update. As to what I've been doing this week is spending a lot more time on prepping databases than I expected. [00:04:35] Speaker A: Did you provide like a script or something to automatically kind of download and merge these together? [00:04:42] Speaker B: I didn't have an effort the time to do that, but I did validate. These are the commands, so you got to download it, concatenate together. Because people may be using Macs or Linux or Windows. I really don't know what they're using. But this is what worked for me on Linux, so I'll see if anyone runs into issues. The easiest one to deal with, of course, is the smaller database because you just sftp it down. It's an atar file that gets extracted to actually a directory format. And then you can do a direct restore from there. So that's the easiest to work with. Yeah, the two terabyte is a challenge. Like I said, I'm kicking myself. I should have just delivered. Hey, here's the script. Build as big a one as you want. I built mine to two terabytes and that's what I will record. Well, that was a long winded thing for me. What about you? What have you been up to? [00:05:52] Speaker A: Yeah, so we moved our office, actually, so yesterday, which was Saturday, we got five trucks and we had ten people come. And the movers brought ten people and they had these five gigantic trucks. And I don't know, we started at eight or 830 in the morning and then went till four in the afternoon just. But the new space looks great. We have a lot more robot testing space, which is always fun. And when you enter, the very first thing you see is we have this curved wall. And I'm very proud of this curved wall because it was the piece that I contributed to the design. [00:06:41] Speaker B: Okay, so is this a place that your organization kind of pre designed? [00:06:48] Speaker A: Yeah, so there was an auto garage that we basically completely gutted and renovated, essentially before we were in an office building. And we had basically a good chunk of a floor. And we had a bunch of satellite areas as well for our Boston office at least. And then we basically moved that to. We were on the second floor, which is horrendous for. And we had these robots that are 500 kg. They're driving around and causing the whole building to shake. [00:07:32] Speaker B: Oh, my gosh. [00:07:34] Speaker A: Yeah. And there was a russian school of math right below us, so I'm sure they're glad to see us leave. So we're now on. Basically, there's just one story thing that's a lot closer to the center of Boston than before, which is nice, as we're. We need to be able to kind of get up and running on Monday. So we basically pushed all the boxes to one side of the test lab and we put down all these markings on the floors and set up all the cameras and everything and the VPN system there and all this stuff. So we should be good to go on Monday to start driving the robots around while everyone kind of carefully works around them. But actually at the bottom of the curve wall. Part of why I'm excited about it is we're adding an led strip and some sensors, basically to look at laser sensor data for where people are walking around. So we're going to have the leds kind of light up where you walk around and things like that. So it's the little things like that that I'm pretty excited about. [00:08:54] Speaker B: Cool. You mentioned a 500 kilogram robot. Out of curiosity, what is the majority of the weight with something like that? [00:09:06] Speaker A: Yeah, there are a few different things. So a lot of it's made out of steel, so that's part of the problem. But for that machine in particular. So that basically what we do is we provide software for these robots. So these are machines built by other companies. Right. [00:09:29] Speaker B: Presumably you're taking a delivery of something they're sending to you and you write the software forward. Or is that. [00:09:35] Speaker A: No, I mean, we basically sell them controllers and things like that. So we basically provide them the software, but we needed to have a version of their thing here. [00:09:45] Speaker B: Sure. Okay. [00:09:46] Speaker A: So we have like three of the 500 kilogram robots just kind of roaming around our lab, and we have a bunch of other robots there. But that machine in particular had a lot of pretty unique needs. So it had to go through truck yard, for example. So it had to be able to handle things where it's a little bit uneven terrain. And it has some omnidirectional capabilities too, meaning it can drive sideways as well as forward and backwards. And then it also has this gigantic robot arm on it. And the problem was when that was originally manufactured, I think about four years ago, five years ago, there weren't DC. So there's a class of robot arms called cobots. So these are robot arms that are safe to operate. They're certified to be safe to operate in human spaces. So basically, if they hit you, they will stop. Versus like a lot of these other industrial robots, you see, if they hit you, they will just keep going. And you don't really want to be in that situation. These cobots, they didn't have cobots that had DC power or DC robot controllers. So everything was, it would take in an AC input. So the assumption was you plug it into a wall effectively and use it that way. So what they were doing was they had these big DC batteries and then they had this giant converter to go from DC to AC, and then they would plug that into this giant controller that was meant to be the standalone, you know, all of that plus all the electronics that kind of support that, having this giant arm and then this steel base, that kind of adds up, unfortunately. [00:11:54] Speaker B: And then as you add more things to it, you probably need a heavier base to prevent it from tipping over or something like that. [00:12:02] Speaker A: Yeah, I mean, that's true too. I don't think that was the consideration there. I think it just happened to be that when they designed it, it was almost over designed in a way where it's to the point where it's very heavy. We have like another robot that we're working on that does a lot of the same kinds of, has similar specs in terms of being able to drive faster speeds and has like a robot arm on it and can do all these things. But because kind of the way that technology has advanced, it's a fifth of the weight. So it's 100 kg versus 500, which is a lot more manageable. [00:12:43] Speaker B: Yeah. Okay. No, sorry, I took that nugget. Just wanted to ask a little bit more. [00:12:51] Speaker A: No, that's good. Yeah, I think these robots. It's interesting because we also are dealing with. We're working on one right now. One of our customers has a robot that's about the size of a car. So I actually don't know how much that weighs, but I'm sure it's a lot more. Yeah, very big. So it's probably a couple of tons. We do not have one of those in our office. That was, you know, I feel like that would be such a pain to bring to the, you know, overseas, but. [00:13:32] Speaker B: Yeah. [00:13:33] Speaker A: Yep. [00:13:34] Speaker B: All right, well, but today, you know, we're talking about software and so we're talking about. So 37 signals announced, I don't know if it was the end of the year, it was very recently, their once line of products. So from their website, the adage is basically reason why it's called once is you pay for it once and you own it forever. [00:14:01] Speaker A: Should we share our screen here? [00:14:05] Speaker B: Sure. [00:14:09] Speaker A: I can go ahead here. [00:14:10] Speaker B: Okay. Yeah, if you're good, go ahead. [00:14:13] Speaker A: Yeah. [00:14:14] Speaker B: So if you scroll down, has the bullet points. Yeah. So pay one time, own forever. We write the code, you get to see it. So the other benefit is that you actually get the source code of these products. We give you the software, you get to host it. So basically they don't run it for you. And then simple, straightforward, not enterprise and bloated. So basically it's a simple basic app. They haven't added a lot of features to it for one fixed price once. Now as some caveats to add to that, what I've seen somewhere is that basically they will update it, but you pay per version. So in other words, this is quote unquote version one of campfire in its current state, and you'll continue to get that as long as you want. But if you see it says free updates for any one x version. So as long as they keep supporting the one x version, you'll keep getting updates. But if they come out with the version two, presumably that would require more payment to do it. [00:15:27] Speaker A: Yeah, no, this is interesting to kind of see, they also mentioned that they write the code and we get to see it. So that almost means open source, right? [00:15:47] Speaker B: Well, they're delivering, I don't know if open source is the right term for it because I don't know if they want to show it to everyone. But basically if you. Well, all right, let me rephrase it. It is open source in that the customers get to see it. Right. I don't know if I looked at the licensing, if you could just put it out on the Internet. But it is open in a sense. The customer can see it. [00:16:13] Speaker A: Yeah, that would be kind of the free part of foss software. Right. I don't know, these are kind of the nuances that are a little confusing. [00:16:26] Speaker B: And full disclosure, I did purchase campfire. So I did make a purchase of it. [00:16:35] Speaker A: Interesting. [00:16:36] Speaker B: And I just thought it was interesting. Just kind of wanted to discuss it in the show because it feels like it hearkens back to. Okay, well. And they talk about it. It's what used to be done. Basically, you just bought a software licenses. Software license and you use the product. [00:17:01] Speaker A: There's another product that's kind of similar that came out fairly recently. It's a totally different space, but have you heard of plasticity? It's a cad software using. Yeah, let me show you this. It's a little different, but basically the idea is to kind of bridge the gap between parametric modeling software and more solid. What is that kind of like blender, where you have the shoot, the vertices, like face based 3d modeling. And interestingly, this actually has kind of a similar approach where they basically include updates for twelve months. And so you basically buy this license, you have it forever. And then there was also a music composition software. Let's see, what was it called? I don't remember what it was called, but there's an alternative to Ableton. [00:18:23] Speaker B: Which. [00:18:23] Speaker A: Is sort of the super common, very popular. Oh, bitwig. That's right. Bitwig studio. Yeah, Bitwig studio is this other daw that's basically made by the people who made Ableton, which is the most popular one. This actually has kind of a similar licensing model where you purchase a version and then I think it includes updates for about a year. But of course with these two things, the big thing that it's missing is this source code component. That's kind of the really unique thing, I think, about what campfires or what. [00:19:11] Speaker B: Once is doing here and what they sell. Essentially. DHH created the first version of the Ruby on Rails framework, and Ruby is an interpreted language. Therefore, if you're going to release that source code to someone, they're going to be able to see all the, you can't obfuscate the source code. So I think the reason it's there is because they were in that box to begin with. You know what I mean? Yeah. [00:19:46] Speaker A: By not hosting it themselves, that was already something that was a little bit inevitable. So they felt like they might as well. [00:19:53] Speaker B: Yeah, because as soon as they deliver the software, you can get access to the source code. So they turn around and they make it a selling point type thing that makes sense. [00:20:06] Speaker A: How do you feel like it has performed? Have you gotten a chance to use it much? [00:20:12] Speaker B: Oh yeah. So my thought was I was actually going to use this for the community, for my course, because I was tracking how much would it cost based upon how many students I think I'm going to have and everyone universally preferred. When I was asking the early adopters of the course whether they would want something like Slack or discord or something else, they were saying slack. But I was looking at per user cost for slack and I was like, I don't know about this. Whereas this, I could buy it because I do have an alternative reason for wanting to talk about this because I'm actually thinking about potentially a product like this. We can get to that a little bit later. So that was one reason I was interested in taking a look at this. And then secondly, I was like, well, I could just pay $300 once and then I could use this as much as I want with however many students I end up getting in the course because I didn't know how many total students I would have in the course by the time when I made the purchase for it. That was my plan, to use it for that purpose. But what I ended up doing is I was using webinars to basically spread the word that I have this course. So I set up a series of three webinars and I basically used this as the communication mechanism with some of my vas as the webinars were going on. Like they would check the sound, they would send me messages while the webinar was going on or whatnot. And I mean, it works fine. It's just like it says, it's super simple group chat. [00:21:59] Speaker A: Does it have support for embedding videos and things as well and sort of uploading files or is that you can. [00:22:05] Speaker B: Do images, I don't know if you can do videos. I haven't tried that or looked at that particular feature set because it's really at its essence just chatting with someone and then putting emotes on for particular things. I would say 90% of what people use slack for and whatnot. [00:22:30] Speaker A: And so you said you purchased this, but how do you access the source code? Is that something that they just kind of send with? [00:22:38] Speaker B: Yeah, I think there was a download link or something I clicked to get it. So it was just super convenient to be able to do it. I mean, they give you one URL, excuse me, one URL that you basically paste into the server you want to install the software on, and it goes and pulls docker. Essentially it's in a docker container, installs docker if it's not present on the server, and then sets up the docker container and gets it up and running. [00:23:05] Speaker A: So it just basically uses like curl to download the script and pipes like a shell or something like that, right? [00:23:12] Speaker B: Yeah, it downloads. There's a little program I was looking at. I think it might be written in some language like go or rust or something. I can't remember which one it was. And then from there it just asks you a series of questions that then configures it for you. [00:23:32] Speaker A: Interesting. Do they kind of specify? Because I think some of these things can be, if you don't really know what you're doing, getting something like this up and running on a publicly accessible server can be tricky. Right. Do they also kind of provide some guidance as to what they recommend for some of these things or is it just kind of. [00:24:02] Speaker B: I saw zero guidance. Okay. [00:24:07] Speaker A: Yeah, because I know sometimes some of. [00:24:11] Speaker B: These things kind of, and that has to be publicly accessible usually. But I mean, whomever is installing it can make that decision on where they put it. I needed mine publicly installable in a public location because of who I was going to have using it. And I actually said it's actually an entirely different. Well, I went with an entirely different hosting platform. Like all my stuff is hosted on AWS. And for this I said, I'm just going to put it on the digital ocean droplet. So it's an entirely different data center from everything else because it was like if anything happens there, who know. [00:24:54] Speaker A: Right. [00:24:55] Speaker B: And again, the chat at the time was just going to be people talking about the course. No biggie. If that gets out. Oh, no. Or me chatting with some of my vas during a webinar. That's not mission critical information. [00:25:14] Speaker A: Interesting. Yeah. [00:25:16] Speaker B: So it's kind of like going back, I think back, software companies used to didn't have to deal with operations, they just wrote software and they delivered the software and it was up to the customer to have their IT departments and deal with operating the software and installing it and patching the operating system and everything. [00:25:43] Speaker A: Yeah. Actually, one thing that kind of comes to mind, because doing that kind of thing, there was also in a lot of cases, a pretty high technical support cost. And not that becoming a software as a service removes that, but it's the. [00:26:04] Speaker B: Software vendor that takes on that responsibility of operations. It's basically shifting the operational responsibility back from the people writing the software to the people running the software. [00:26:17] Speaker A: Yes. [00:26:19] Speaker B: And I don't know if people are ready for that in droves or it may be more applicable to say. I think it really depends on which software you do it with. Like for example, this. I don't know, we'll see how it goes. But it may just be people who are kind of in a techie environment to begin with and they're okay setting up a docker container on a server. [00:26:49] Speaker A: The other interesting thing about this is the pricing, right. Because I think this was, we're looking at what, $300 for this? And that's it. And most of, I think, shouldn't give numbers, but our slack. [00:27:13] Speaker B: Back before we. [00:27:14] Speaker A: Got acquired slack for us cost well over, I think, a couple thousand dollars a year. Right. And it was something along that range, if not higher. So one thing that will be kind of interesting is scalability of this kind of model. And presumably one of the things that's a little bit different is because it's a one time purchase and everyone understands it's a one time purchase, you don't necessarily need the same rate of innovation or updates as a SaaS. [00:27:55] Speaker B: Project. Yeah. Because with SaaS every month you're expecting, well, I don't know, basically you do want it to always work. So there is that aspects of paying a fee that, hey, we're paying your software to do this. But then the added bonus is, hey, you should get new innovative features periodically. That's kind of like the unspoken promise or even explicit promise of software as a service. [00:28:21] Speaker A: Yeah. You're paying for the continuous updates that happen. [00:28:27] Speaker B: Yeah. The other benefit is that this can support engineering gets really complex. Of course, the more data you have in the database and having again that term multitenant application where you have all your customers on different server nodes. The advantage of this is that a server is dedicated to one customer. [00:28:52] Speaker A: So one thing that is kind of interesting about that though is there are plenty of applications where they have a cloud version of it, and then they also have an enterprise version that you download locally and you manage on your own, sort of with extensive support. You have a service contract and do it that way. But typically we associate that with very large installations only. Right. I mean, I think typically you're talking about cases where you have 200 plus users. At least several at least. And then you might start looking at something like that versus in this case it's that same kind of, in a. [00:29:49] Speaker B: Way it pushes it down lower. [00:29:51] Speaker A: Yeah, it's bridging that gap a little bit, which is a little different. What do you think of GitLab? GitLab also kind of has, it's a different model of course, but the open source. But they do have basically a hosted version of can. [00:30:16] Speaker B: I haven't looked at their hosted mean, I, I've always used GitHub so I haven't explored GitLab significantly. [00:30:23] Speaker A: Yeah, I mean it's kind of the same idea as GitHub, but you can also download it or. [00:30:32] Speaker B: What's their pricing for a downloaded. [00:30:34] Speaker A: Well they have a free version. Right. [00:30:38] Speaker B: Yeah, but is that their cloud? I guess I'm showing my naivete. Is this for downloadable software where we're at now, or is this for a service that they provide on their website? [00:30:51] Speaker A: So they actually have two different models. So they have the open source platform, which I believe we can find information about this somewhere. I thought, wait, is GitLab not open? No, GitLab is not open source. Right. Is that true? [00:31:14] Speaker B: I don't know. [00:31:16] Speaker A: No, it is open source. Yeah. It's supposed to be open source, but I guess only a part of the system is open source. Right. So they have a community edition that's open source and then beyond that and you can self host that and do whatever you want with it. [00:31:40] Speaker B: Right, okay. Yeah. So community edition type thing. Okay, I see there's a little radio button. Okay. If you scroll up where you're at, there you go right below where it says devsecops platform, the header of the page there you can click between GitLab.com self managed or dedicated. And I'm presumably the prices would change. [00:32:06] Speaker A: Okay, so they have sort of a similar. Interesting. So this is actually single tenant SaaS, fully managed by them. [00:32:19] Speaker B: Essentially it's the enterprise offering where you run a copy of it dedicated to them. [00:32:28] Speaker A: I think in this case they actually run it though, right? [00:32:32] Speaker B: Yeah, well they manage it, but it presumably is running on some machines in the customer's environment. That's how I would interpret it. [00:32:42] Speaker A: Okay. Yeah, but I don't know, maybe that's what it is. 1000 seat commitment. Right. So this is kind of that same thing where we're talking the enterprise. [00:32:52] Speaker B: Like the self managed. What is that? [00:32:56] Speaker A: Self managed installing on your own setup requires Linux experience. [00:33:02] Speaker B: Okay. But you're still paying per month for it. [00:33:09] Speaker A: I guess so. Interesting. [00:33:13] Speaker B: Yeah. [00:33:14] Speaker A: So I guess kind of the big thing here is people aren't, there actually aren't that many things like what lunts is doing. [00:33:23] Speaker B: Well, they like pivoting and saying all right, what does everyone else do it? Let's do something different. Because they were the ogs of software as a service. Like they came out with base camp super early software as a service, and now they're like, okay, let's go this way. [00:33:43] Speaker A: Yeah, I wonder. One of the things that I'm a little bit worried about is I figure this is something that a lot of companies would almost never be able to do, right. Because I think software as a service is so lucrative and a lot of the vcs and other investors are more interest kind of with that, with how big the number, the sales number is even. It'll be interesting to see if this gets adopted much. [00:34:16] Speaker B: It all depends on if customers are interested in doing it. So that kind of goes back to what I was saying. I think there are certain markets that people would be amenable to this, like maybe more technical markets. Like for example, I have a software as a service that does online giving and event registration for nonprofits. I can't imagine a nonprofit wanting to do more it work or hiring people to do it work, or a fundraising office wanting to hire more it people. They've said no. My assumption working in this market is that, no, you deal with it. So I think this model will be very hard to do for. I think SAS works better for that. However, if you're talking about some sort of networking software or like imagine what is it? Like, detectify is a security solution that does penetration testing and application security testing. And it's a software as a service app. I think, well, imagine some other company builds one that's, hey, one price, one fee, and we package this for you and you can run it yourself on your own systems. I can imagine someone in an IT department saying, oh heck yeah, I'll do that. And save thousands of dollars a year, run it myself and do my own systems. I think this model works in certain situations, but maybe not others. That's my assumption, but I don't know. We'll have to see. That's the great thing about competition, is that, hey, people try it and they'll see what happens. [00:36:08] Speaker A: Yeah. And it's good to not be the first one to try it, usually. [00:36:12] Speaker B: Well, yeah, but I am thinking about said use case from a technical perspective of doing a product like this. So I'm considering doing a product kind of jumping on this once.com bandwagon. [00:36:33] Speaker A: So what's pretty interesting is this is actually not too dissimilar from how a lot of industrial software is where you pay one time, right, and there might be a service, annual service license or something. [00:36:49] Speaker B: I think if I'm going to do it, I would definitely do some sort of a maintenance fee or whatnot. You'll get upgrades for typically, because even when you bought the software, if you wanted to get updates to the software, you had to get a maintenance contract. That was typically. I can't remember. It's like 2020, 5% of the total cost of the license, maybe. So historically, that's what I remember, because every year we were paying to the vendor of our, like when I used to work for a nonprofit, we were paying 1520, 25%. I can't remember what it was. Annual fee to the. The fundraising system vendor. We used to get the updates. [00:37:37] Speaker A: Right? Yeah. [00:37:40] Speaker B: And that's pretty typical of industrial application software applications, you're saying? [00:37:45] Speaker A: Yeah, because a lot of these factories don't want any data going outside of their factory. So what they do is they'll have like a local network, and it will be disconnected basically from the outside world, and they'll have on premise servers, and they'll purchase software that runs on these servers and on local machines. And the assumption is that these things, you almost don't want any updates because you kind of set it. [00:38:18] Speaker B: It'll mess up. Exactly. You'll mess things up. [00:38:21] Speaker A: There's a lot of cases, actually, with the Windows automatic updates. A lot of the machines in industrial settings use windows, and that has actually caused a lot of trouble for a lot of these factories where they have to disable that because it just totally messes them up. In some cases, the kernel updates or whatever actually can render the software non functional. So it ends up becoming a huge cost because not only did your software stop running, but you're no longer producing your product. I think one of the things I've heard is if you have a software crash and you provide some critical software for BMW car manufacturing. Right. If you stop it, every minute that you stop it is a $50,000 fine. So you really don't want to stop these things. And for that, you want to just set it once, make sure that's super solid, test it in every possible way you can, and then ship it and hope it never breaks. Right. And so in that case, it's very much this kind of thing where you have a fixed price and then you sell it to them. And usually, in some cases, you actually do open the source code up to those customers so that they can actually want to understand, in many cases, the underlying systems, and then you work from there. So it is kind of interesting because that's a common model, but now there's a little bit of a trickle effect where some companies are saying, hey, we can provide extra value if you actually let us host it on some server and we can get the data and we can make your system work better over time. And so there's kind of that trade off and there's a little bit of give in some factories, a lot of the big factories, like Apple, like Samsung's factories and things like that, they're completely locked up. A lot of the biggest companies, but there are some factories where they're kind of starting to open these things up. And what's even more interesting is there's actually a big chunk of robots now that are under a lease agreement. So you never actually purchase a robot. You instead lease a robot for three years or five years or something. And then after that three year lease is up, they come in, the robot company comes in and replaces them with new robots and takes away the old ones. And so it's actually interesting because in this industrial setting, it's been lagging behind by ten plus years in that sense. So it's actually similar to how it used to be still. So it would be funny if a lot of the rest of the software world kind of flips back just as the industrial world is changing to this. [00:41:42] Speaker B: Yeah, I don't know if this will be a big thing that happens. I think there's going to be small areas where it's beneficial, but like even campfire, something that's a super simple chat. I can't imagine someone like, imagine, let's say a flooring store, a mom and pop flooring store that has to chat with someone first. Well, I guess you got to think of a reason to do that. But would some other business want to invest the time in, oh, I'm going to go on digitalocean and get a server and install. I don't see it. Whereas they can go to slack or some other, just pay them, put in a credit card, and they'll get started cheaper, easier, but per month they'll start that way. I still think that's the way most software will go, but I think there might be a niche or a niche in someone who already has more technical skills than offering software to them that they would use on a daily basis. [00:43:01] Speaker A: So the other thing that's kind of interesting about that is how will that conflict directly with open source? Because open source already goes after that same market share, right? Where it's people who are a little bit more technical who can install things and manage things on their own a little bit. And the big selling point here is that, yeah, it's backed by a bigger company and they have engineers to kind of make sure that things work well. And if you need to, you have the source code. But it'll be kind of interesting to see how this kind of model would it take away from some of the open source development that's going on, where people will choose to do this kind of thing over the open source model? [00:43:54] Speaker B: And I don't think there's anything wrong with that. It could. So maybe there would be slightly less open source because again, you hear of so many people doing open source and not getting paid. [00:44:07] Speaker A: Yeah. [00:44:07] Speaker B: And if there could be smaller companies offering services like this, that I could see, that could be a win overall. [00:44:17] Speaker A: Yeah, but on the other hand, these guys are directly competing with a lot of the open source solutions out there. Right? [00:44:27] Speaker B: Yeah. And there are some people who are like, no, if it's not open source, I don't want to use it type thing, and that's fine, but then you don't have, there's just all a myriad of models, like some open source. There's no company, one single company backing it. You need to find your own company that may support you, if you even want that support. Or so many of the software solutions available today, they start open source, or they open source the code, and then they start doing things that people don't like. There was the whole terraform kerfuffle where they were. I can't remember the specifics of it, but they do things that suddenly the community says, no way. [00:45:18] Speaker A: Yeah, I think being in the open source software business is very tricky and very political. Right. [00:45:28] Speaker B: Yeah. [00:45:29] Speaker A: So this kind of model keeps you out of that while still kind of keeping costs low enough to make it accessible and also kind of having some of the benefits of not necessarily needing to invest quite as much money into the product as you might with like a SaaS product. [00:45:53] Speaker B: Yeah, that's the other thing that I like. I'm sorry that I. Go ahead. So that's the other thing I like about this model, is that if you're starting a SaaS app and if you're a one man show, three team show, four team show, five team show, I think there's hesitancy for some larger organizations to start using your software because they're relying on you to operate the software. Are you going to be around in two years time, five years time, ten years, something like that? And you could say that's the argument for this too. But with this model, you're not operating it, you're merely the software development firm. [00:46:41] Speaker A: Right. [00:46:42] Speaker B: And it's them who are operating it yeah. [00:46:45] Speaker A: It's funny though, because the same thing can happen with this kind of model. Right? [00:46:53] Speaker B: Yeah. You could go away and then you don't have anything, of course. [00:46:57] Speaker A: Right. Yeah. So I mean, in many cases with those kinds of small startups, if a very large company is looking to work with them, they might request some sort of guarantee through like an escrow account or something like that, where if the company collapses, then they'll get access to the source code as well. But it is interesting. So you mentioned earlier that this has led you to kind of think about whether you might actually want to start working on our product related or using this kind of model, right? [00:47:30] Speaker B: Yeah, using the model. Well, I'm not going to mention what the project is because I'm still formulating stuff, but yeah. So I would probably not use rails because I guess I'm not quite comfortable yet with showing the source code type thing. And in terms of pricing models, like showing the source code would make it more difficult, I think, to, if I want to do something like cpu limitations, like imagine the software. I don't know how well this works or not, or is it the properly way to get around it, but I would kind of want to deliver a product that says, hey, I want to put this on a four cpu server, eight cpu, because presumably you're getting more value. If you're going to commit more money to put on a bigger server, you're getting more value out of the software for it. So that's me. I would kind of want it tiered based upon how many cpus on the server that you're installing it on or some form of use. And therefore I would kind of want to go with a compiled language like elixir, probably because that's what I've used before to build it. And then the other thing different from this is that I would kind of want to do more of a software maintenance thing again like an annual thing, just to keep up to date with the latest. And if a company wanted a source code, I would throw another zero on the price or something like that. I don't know yet. [00:49:15] Speaker A: Yeah, we've done something similar where with one of our systems, if you're willing to stick a little bit more than an extra zero, but okay, two zeros. [00:49:30] Speaker B: I don't know how many. Yeah, right. [00:49:33] Speaker A: Pick your number. Right. But where we would actually release the source code in that case, I think you mentioned also earlier, which is a great point, I think about how there are certain niches where this kind of model makes a ton of sense. I know, you mentioned that you don't really want to share exactly what the product that you have in mind is yet, but I'm kind of curious what your thought process was in terms of how to find that right niche for this kind of model. Or was it the kind of thing where you already had this idea for. [00:50:11] Speaker B: A long idea and already kind of planning how I would do it? It was something that was going to follow up after the course is done. So I was like, this would be the next thing I was going to work on and I was formulating how I was going to do it. And I saw this, I was like, oh, this could work really well, potentially, and it would differentiate me from others in the market because now this model isn't used for what I had in mind. And the other big benefit of this model is you alluded to it talking about the manufacturing, but owning your own data. So again, it's very hard for smaller SaaS companies if they want to do something related to medical with all the HIPAA regulations, also related to a lot of european privacy laws or different laws, know your data cannot leave France or something like that. This model is great for that because hey, you get the software, you install it where you want, put the data that you want it, you can lock it down as much as you want, as opposed to building software as a service hubs and all these different locales, or coming up with the HIPAA compliant version. So that's another reason I was very interested in this. [00:51:51] Speaker A: This also kind of is tied very much to what the goals of your business are. Right. Because if you're aiming for that unicorn status company, this might not be the right model for that, just because you won't necessarily be getting every cent from every customer that you necessarily. But there's so many businesses out there, and I think it makes a ton of sense that are just trying to have maybe a smaller team, one to ten people, and just kind of chug along and basically make enough to be comfortable and to have the flexibility and freedom to explore what you really want to do. And this kind of model makes a lot more sense for that, especially since you don't necessarily have that same obligation to customers to support it for the long period of time. [00:52:44] Speaker B: Yeah, and the other thing you should mention is that DHH of 37 signals did mention that they've earned, I think, is around $250,000 as of like two weeks ago. So in a matter of, since it was released, and I don't know if it had been a month or like four to six weeks or something. Not millions of dollars, but not nothing, but it equates to about 800 licenses or so presumably that they sold. [00:53:26] Speaker A: But I mean at the same time this is a unique case where they're. [00:53:29] Speaker B: A well established, oh, I know, I'm just saying there is demand. It's not just, hey, I'm the only guy that bought it type. [00:53:41] Speaker A: Yeah, no, for sure. [00:53:44] Speaker B: I don't know what they were expecting. [00:53:48] Speaker A: Yeah. And actually one of the things I'm very curious about is this, to me very much feels like the kind of project that was internally. People were maybe on some Friday afternoons or something. Some of the engineers writing, they writing some code just say, hey, we really don't. I. Microsoft Teams I absolutely hate. Right. Slack is pretty expensive. I do like Slack, but it's pretty expensive and things like that. So it very much kind of feels like the kind of project that they probably built internally for internal use. And then they said, oh, if we polish it up a little bit maybe we can sell it and make a few bucks off of it. And that's actually kind of an interesting idea for that kind of product. Right. It's things that you build internally. Maybe you can release it under this kind of model and get a little bit of that development money back too. [00:54:56] Speaker B: And they had already built campfire 15 years ago and they had shut it down. Just I guess to allow them to focus on base camp or it was a distraction to kind of what they were working on at the time. So it was a SaaS app and they shut it down. And then this is the resurgence of it or the reemergence of it. [00:55:23] Speaker A: But how much of the code do you think is the same? Probably not. [00:55:28] Speaker B: There could be similarities, I mean the fundamentals. But I'm sure they did entirely rework of it because they knew they were releasing it. So they wanted to demonstrate all the newest features and everything. But essentially it is a revamped, I would think revamped version of the one that they previously ran. [00:55:51] Speaker A: Yeah, I guess I always kind of have a hard time remembering that ten years ago or 15 years ago, these kinds of software already existed. When I think ten years ago in the software world, I kind of imagine the Windows 95 days. But I realize now that I'm a couple of decades off here. [00:56:18] Speaker B: Yeah, I don't know. Here's a sad story. Whenever I think back, my think back time is from 2000. I don't know why 2000. Maybe it's just because it's a round number, but I was watching a show last night and they said 50 years ago, I was like 1950s. This doesn't look like the 1950s. I don't know. That's what my brain thought. And then I was like, oh, wait a minute, this show was recorded in 2018. So it was more like in the base camp. Yeah. So 2004. So 20 years ago is when base camp started. [00:57:04] Speaker A: Yeah. Interesting. [00:57:08] Speaker B: All right, so with that, I think, will we call this topic done? [00:57:14] Speaker A: I guess so, yeah. I think we talked a lot about the different bottles and what makes us special, so it was very interesting. [00:57:25] Speaker B: All right, well, I hope you guys enjoyed that. Please be sure to click like and subscribe if you did. Also be sure to visit therubberductdevshow.com, where you can sign up to get notifications every time we send a show out. And you'll also get links to the different topics that we discuss during the show. I hope everyone has a great week. And until next time, happy coding. [00:57:52] Speaker A: Happy coding.

Other Episodes

Episode 114

January 29, 2024 00:53:05
Episode Cover

What Developers Should Know About Postgres With Andrew Atkinson | Rubber Duck Dev Show 114

In this episode of the Rubber Duck Dev Show, we discuss what software developers should know about Postgres with Andrew Atkinson. We also go...

Listen

Episode 18

October 28, 2021 00:48:05
Episode Cover

How Many 3rd Party Libraries Should You Use | Rubber Duck Dev Show 18

In this episode, we discuss how many 3rd party libraries you should use in your projects. SHOULD DEVELOPERS USE THIRD-PARTY LIBRARIES?

Listen

Episode 42

May 12, 2022 00:31:34
Episode Cover

Symbols, Strings and Freezing | Rubber Duck Dev Show 42

In this episode of the Rubber Duck Dev Show, we discuss symbols, strings and freezing in Ruby as well as touch on support for...

Listen