The Changelog: Software Development, Open Source - Untangle your GitHub notifications with Octobox (Interview)

Episode Date: December 13, 2018

Jerod is joined by Andrew Nesbitt and Ben Nickolls to talk Octobox, their open source web app that helps you manage your GitHub notifications. They discuss how Octobox came to be, why open source main...tainers love it, the experiments they're doing with pricing and business models, and how Octobox can continue to thrive despite GitHub's renewed interest in improving notifications.

Transcript
Discussion (0)
Starting point is 00:00:00 Bandwidth for Changelog is provided by Fastly. Learn more at fastly.com. We move fast and fix things here at Changelog because of Rollbar. Check them out at rollbar.com and we're hosted on Linode servers. Head to linode.com slash changelog. This episode is brought to you by our friends at Rollbar. Check them out at rollbar.com slash changelog. Move fast and fix things like we do here at changelog catch your errors before your users do with rollbar if you're not using rollbar yet or you haven't tried it yet they have a special offer for you go to robor.com changelog sign up and integrate rollbar to get 100 to donate to open source projects via open collective once, rollbar.com slash changelog.
Starting point is 00:00:54 Hello, everyone, and welcome back to another episode of the Changelog, a podcast featuring the hackers, leaders, and innovators of software development. I'm Tim Smith. Today, Jared goes solo with Andrew Nesbitt and Ben Nichols to talk about Octobox, their open source web app that helps you manage your GitHub notifications. They discuss how Octobox came to be, why open source maintainers love it, the experiments they're doing with pricing and business models, and how Octobox can continue to thrive despite GitHub's renewed interest in improving notifications. So guys, we're here to talk about Octobox today, but let's talk about Libraries.io and where you guys have been over the last couple of years, just to catch everybody up.
Starting point is 00:01:36 Andrew, we have had you on the show a couple of times. I think the changelog once talking about 24 pull requests and Libraries.io. A long time ago, I think episode 188, we'll link that up. Thanks for watching. but happy to have you. Tell us before we get into Octobox, what's up with you guys? What's up with libraries? Give us just like the recent history of what y'all been up to. Oh yeah. I totally forgot about that. Forgot about libraries IO? Forgot about being on the show before? What? No, sorry. I totally remember being on the show. It's great to be back. It's been a bit of a crazy year in terms of libraries. So I think the last time i spoke to you i had been
Starting point is 00:02:26 working on libraries on my own kind of in my spare time building it up from scratch and i met ben actually i think during a 24 pro request event or was it 24 it would definitely relate to 24 pull requests yeah it was it was at a local like ignite night like a lightning talk session i think you did like a talk about 24 pull requests um and at the time i was working on another project that kind of became the core internet infrastructure initiative and was like ah that seems perfect and then yeah we kind of started talking from that point tell everyone real quick what 24 pull requests is since it is the season right now go ahead and just give that season so 24 requests has been going on i think it's in its seventh year now uh and it's 24 progress is basically trying to encourage other developers and open source users to contribute back and give little
Starting point is 00:03:27 gifts to the maintainers of those projects that they've been benefiting from all year round and kind of try and get that swarm of people all working together to uh to kind of bring in the holiday spirit with uh software and this year we've actually kind of changed the remit a little bit. So in previous years, it was literally try and send 24 pull requests during the 24 days in December on the run up to Christmas. This year, we've opened it up to all kinds of contributions. So it's still called 24 pull requests, but it's really 24 contributions to open source software in any way that you consider to be a contribution. So that might be writing a blog post or answering Stack Overflow questions or running an event or speaking at a conference or even doing a podcast
Starting point is 00:04:18 episode on a particular bit of open source would be considered a contribution. And so you can record those alongside your pull requests as different ways of showing how you've contributed back to those open source projects that you have benefited from all year. That's awesome. I'm happy to hear that you've made it more inclusive. And something we talk about often and stress is the importance of non-code contributions to the open source community and they're, they're paramount and they're so valuable. And so that's pretty cool to see it moving beyond pull requests to more things. So very cool.
Starting point is 00:04:53 24 pull requests.com. Check that out. You have a couple more weeks to get involved before the month is out. So check that out. So Ben, you were saying that y'all met at one of these 24 pull requests events back in the day, Andrew, you were working on libraries by yourself. take us from there guys what happened next uh so at the time i was working uh at a civic tech company called my society and i'd got pulled
Starting point is 00:05:17 by ben lorry into a group of workshops that became the core internet infrastructure kind of workshop which was built out of the kind of fallout of the heartbleed vulnerability and i was comparing effectively an event and 24-4 request was featured and andrew started talking about libraries and started talking about how he was mapping the relationships between projects and their dependency tree. And at the same time, I was trying to work out how to highlight projects that were like OpenSSL, that were part of like this digital infrastructure concept
Starting point is 00:06:04 that hadn't really had much kind of thought um contributed to it so there wasn't really like a standard for that and thought well actually that's pretty much the same thing you know andrew is coming at it from the exploring open source for projects to use and contribute to and i was looking at it from the uh perspective of you, what's the next thing that could potentially blow up and cause a massive problem for users of open source software, i.e. everyone. And yeah, we just kind of got talking after that. And it kind of built from there. It was like two aspects of the same technology brought together.
Starting point is 00:06:49 So I recall you guys got a grant or some sort of funding to work on libraries for maybe a year, 18 months, and you guys worked on it together. We met at the Sustain event, Sustain 1. I didn't, sadly didn't make it out to Sustain 2 this fall, but we met in San Francisco at GitHub headquarters. And at that time, the grant was just about running out or the time period for that was just about running out. You had been doing libraries IO, both of you for a while, and you were looking at what was next. And it seemed like what was next, what happened next at least was this move into Tidelift and working with them.
Starting point is 00:07:19 And now you're working on Octobox. So give us just a 30 second version of that history. And I just want to kind of highlight your guys's path together and through these different projects, landing us on what we're talking about today, which is Octobox, which seems like a, it's a different thing altogether than what you've been working on for the last couple of years. So it's just interesting to see how you got here. So the long story short, I guess, is that we were excited by Tidelift's kind of high level mission, but when it came down to actually trying to get work done and move towards achieving some of those goals, we kind of clashed with the founders quite heavily.
Starting point is 00:08:02 And there was a lot of frustration and we ended up um kind of being pushed out of the company which has left us in a situation where we can't work on libraries for at this point another six months uh library still remains open source it's agpl licensed for exactly that kind of reason as a protection to ensure that it always remains open. And the open data release that was pushed released just before we, uh, before we left in, oh, I can't remember the exact date. Um, but we can always get that added to the show notes is also creative commons, um, license. So we kind of have that sat waiting for the ability to kind of pick that up and, and work with it again, possibly fork it off so that we can continue to do that,
Starting point is 00:08:52 but kind of had our hands tied a little bit of what can we do to still help the developer community and kind of try and look at sustainability from a slightly different angle rather than directly the financial sustainability, but also kind of thinking about developer burnout as an important part of that sustainability. And Octobox had been around for, I think, a year and a half, nicely ticking away. And it felt like a good kind of place to jump to where we can try out some of our ideas, get back to actually shipping software, and then like try and also practice making Octobox itself a sustainable open source project. So Octobox is a project, by the way, octobox.io, untangle your GitHub notifications.
Starting point is 00:09:45 So this is a separate client or tool resource in order to do a better job of dealing specifically with the overwhelming amount of notifications that many maintainers get via this open source project that Andrew, you began, like you said, maybe a year or two back. And was this just something that you were scratching your own itch and do it on the side? Because libraries was your main thing, but Octobox, you put it out there and it seems like it's really been attractive to people. Everything is always connected. Octobox was inspired by the need to do something to keep on top of 24 pro requests, which every December it comes around and it kind of punches me in the face with the amount of people that jump on it right now. I think there's 22,000 developers are
Starting point is 00:10:33 active on the 24 Pro Requests website this year. And it's always a flood of issues and pull requests to the project itself as well as pull requests to my other open source projects and I was just left feeling like I had no way of knowing what I was supposed to be doing and also kind of the way that GitHub notifications has worked for the past few years is once you look at a notification it's gone and you can't get it back unless you drive it entirely from email which really doesn't work for me as someone who is like a terrible email manager uh i kind of wanted to separate those two pieces but you kind of get the fear then if, if you know that when you look at an issue, you might not be able to like find or remember that you, you didn't solve that right
Starting point is 00:11:31 away. Then you kind of don't want to look at it and you leave those things there for like, eventually I'll get to this important issue. But if I look at it, I'll forget that it's something that I need to do. And so Octobox was started off as a simple idea to be like, let's have a kind of archive state for notification. So it pulls in your notifications over the API and then basically says everything is unarchived or is in an inbox and then you choose when you are done with those like issues or pull requests or release notifications or all of the kind of things that you could get notified on github then that instantly gives you back a level of control of going like okay well now i know that none of my notifications are any ever going to disappear even after i've read them
Starting point is 00:12:23 i've still got a full list which then we kind of started to layer on uh different ways of slicing and dicing those notifications because now you're looking at a list that never goes away you're like okay i've got a thousand different things here that are all uh kind of towards me. Let me filter out by pull request. Let me then filter that by pull requests that have already been merged or have been closed. And I can throw those away. I'm fairly confident they're not needing any further action from me,
Starting point is 00:12:59 especially if I haven't been mentioned on them since. So we get some information from the GitHub API that says the last reason that you got notified, which could be you were subscribed to this repo or you got mentioned or you were assigned to solve that particular issue. And so you basically end up with kind of every possible different way
Starting point is 00:13:22 that you can filter down those notifications to really triage and drive through the list in an effective way and actually leave you with the things that you haven't done yet but still need to do almost like a to-do list which then you can kind of work from new things in come in at the top or an existing issue that you've kind of marked as done archived will actually pop back up in the same way that an email would in your email client. And the whole thing's heavily inspired by Gmail's interface. Yeah, it looks very much like Gmail. It's funny that it happened because of 24 pro requests, because I just recently had such a scenario during Hacktoberfest. You know, I've
Starting point is 00:14:06 maintained small open source libraries for years and always had kind of a trickle of things, you know, or other people's issues that I'm involved in or pull requests of my own on other people's projects. But it's never been an overwhelming thing with GitHub's notifications for me. And I am an inbox zero kind of person. So I just, I just always managed it via just another thing in my inbox. However, I made the mistake and I put air quotes around mistake because it was awesome. But I accidentally promoted our transcripts repo as a really easy way of getting those Hacktoberfest pull requests opened up. And I even said that we have the fastest merge button in the West,
Starting point is 00:14:45 just joking around, but setting myself up to, you know, to do a lot of work in October. So during the month of October, and just thank you to our audience, everybody who got involved because I only kid, it was awesome.
Starting point is 00:14:56 How many people came out and helped us make our transcripts more awesome. I think I merged the over 300 pull requests in, in that month alone. Um, and my inbox was just completely overrun by notification emails. And, uh, so I can, I can definitely commiserate with you with regard to 24 pull requests. Now I'm not quite as industrious as you are. I didn't say, okay, I'm going to solve this problem. Of course, I did know Octobox was a thing, but I knew also that October only had 31 days. And, uh, you know, after all those Hacktoberfest t-shirts got sent out, everybody would stop contributing to our transcripts repo to the point where it's
Starting point is 00:15:32 back to a trickle, which is kind of how I like it. But, uh, it's hilarious. Uh, you know, you, you have this problem. It's what it's for you. It's going to happen once a year. And, uh, it, it inspires you to create a tool that's now helping out lots and lots of people. So that's pretty cool. Yeah, I mean, I kind of put up with it for two or three years. And then as libraries started to take off, libraries spread across, I want to say something like 20 different repositories as well. So with a certain amount of automated actions to tell me that there were updated versions of dependencies as well.
Starting point is 00:16:11 So for lots of people who have kind of Dependabot or similar services plugged into their repositories, they're going to get regular amounts of update, kind of either pull requests or issues telling them that there's there's something to update and so the the number of projects you have kind of multiplies the amount of notifications you get and it can quickly kind of the thing I didn't want to do was to stop working on those projects that would be the other way to solve my notification problems would be like, I can't do this much work, but it felt like a solvable problem to actually enable me to, to effectively handle more things rather
Starting point is 00:16:52 than it being like, I'm overwhelmed by the amount of humans incoming. Actually it was the tooling was failing me. And so I kind of just tackled it in similar way that I tackled 24 ProQuest or libraries, which is, let me see if I can spin up a basic Rails app that does just enough to get by, open source it, and encourage other people to, if they have the same problem, to dive in and to add their own kind of, their take to it, or to drive it in a way that they feel would improve it and we've had something like 80 different people contribute some fairly significant features and design work to octobox over the past couple of years that have made it into this kind of really nicely well-rounded solid tool that people actually kind of really depend on to get work done now.
Starting point is 00:17:50 Are you surprised by how many people shared in this problem space in terms of, uh, needing Octobox the way that you did considering how prolific you are with the open source work and then, uh, you know, 24 pull requests, just getting so much, uh,
Starting point is 00:18:01 attention as well as libraries being spread about. But that's another reason why it hasn't been too much of an issue for me is like we have very few repos in terms of number count. But when you have a single project that has, you know, maybe 20 repos, it's very hard to to track everything. But one thing that surprised me, maybe it doesn't surprise me, but well, it does. So but it shouldn't like live thinking this through, it's just, uh, the amount of people that have been like, this is like the thing that I've been
Starting point is 00:18:31 waiting for. Like this solves a huge problem for me, which, you know, goes to show how many maintainers out there are really kind of drowning in our inboxes or drowning in our notifications. The thing that surprised me the most is that the amount of notifications I get is tiny compared to people who are maintaining projects as big as VS Code or Electron that they get absolutely drowned in notifications and have already had a number of systems in place mike mcquade who is the maintainer of homebrew homebrew is one of the most active repositories on github or at least the formula repository with updates coming in for new versions of the different formula on a like multiple times a day and then actually having the the code base move forwards and have to keep up with all the Mac OS updates is, uh, he's had to build up sets of clever Gmail filters to be able just to kind of, to compartmentalize all of those different things so that it doesn't just, uh, kind of overwhelm him.
Starting point is 00:19:41 And that felt like such a, uh, it's a clever hack, but it's such a hack to have to like use Gmail to augment the features in GitHub, especially as a kind of allergic to email. That was like not particularly useful for me. And it felt like having something that was specific to the the developer problem was uh kind of what i guess kept my interest in the project past that's like the simple kind of oh i've got a basic thing working here 4.74 million notifications managed and counting that's that's quite a few ben you're gonna say something go ahead i was just gonna say as well like i in my opinion mike has also got a lot of procedure and process around how he deals with people that sometimes he gets some flack for but it also kind of works as the maintainer of one of the most active projects on github right so it's not just the tooling, but there's also like an attitude and a way of thinking about a project that kind of means that he can get effectively quite a lot done.
Starting point is 00:20:51 And I think, to be fair, like he gets a lot of flack for that, but it's part and one of the extra things that people don't necessarily think about. It's not just the tools. The tools are there to support, but also it's kind of like how you deal with the project and how you deal with the people in that project as well. Because I thought I'd say that just because I know Mike gets a lot of flack for that sometimes, but it's difficult. He does use text expander. Yeah, exactly. You just have to deal with it.
Starting point is 00:21:23 He's got a number of kind of ways of almost shielding himself from the from the onslaught i mean the thing is if you want to if you want to take the conversation back just a minute um you started off at the top by saying that compared to libraries octobox seems like a project that's quite separate in terms of what it's trying to achieve but the thread that makes all of it is, you know, for, for a month, your, your life was full of pull requests with, um, Oktoberfest, right. And, and imagine if that was your everyday. Um, and the thread that pulls through this whole thing is we want to try and help
Starting point is 00:22:00 solve the problem that exists today for maintainers of popular open source packages and octobox is part of that octobox is one of the tools that helps solve people's problems today so i would say there's like a pretty strong thread that links uh from libraries through tidelift into octobox in that respect yeah definitely in the spirit of what y'all are up to for sure i agree with that i think i was referring to it in terms of like functionality it just seems like a different thing altogether but in terms of what you and andrew are are doing with your life's work these days i absolutely see those ties for sure and we were at speaking of people who do this you know every day as opposed to just during oct. We went to Microsoft Build last spring
Starting point is 00:22:45 and we're speaking with the VS Code team. Andrew, you mentioned how they had to deal with a lot of issues. And I'm not sure if this conversation made the final show or not, or if we just had it after we finished recording with them, but they were sharing with us some of the lengths that they go through just to triage their issues, not even to deal with them necessarily, but to be the incoming person who labels
Starting point is 00:23:08 and assigns for code review or answers, closes things that are off topic and whatnot. They have a full-time employee. They transfer ownership of this triage position on the VS Code issues, similar to how you'd be on pager duty. This is a full-time thing that they're adding to the other work that they're doing just to maintain the
Starting point is 00:23:31 status quo. That doesn't mean get there down to zero issues. It means just not to let it explode into thousands and thousands. So yeah, there's lots of people with these problems. Yeah, the Microsoft team are one of the biggest users, especially the Microsoft microsoft team are one of the biggest users especially the microsoft open team are one of the biggest users of the hosted version octobox io uh that the amount of stuff they get coming in is is just like overwhelming just to look at it and i'm not even involved uh talking about that kind of the triage and the the way that they kind of manage that was we're actually talking about potentially a feature to enable that within octobox to kind of have the
Starting point is 00:24:14 ability for a team who have a lot of incoming uh support requests uh or activity from external people rather than say an internal team that are mostly doing progress and their issues are managed within say a more like a project management tool. Actually, you get kind of an interesting shared inbox, despite Octobox looking like it's literally just, this is a tool for the individual developer and it's entirely based on their context and their view of all of the work that they're involved in you could actually get to the point where a team could almost triage and and kind of work through a certain amount of the other team members inboxes
Starting point is 00:24:58 for them you can imagine like oh i've i've seen these five new issues come in so i labeled them up i closed the ones that didn't make any sense. And I asked for, I commented to ask for more details on these ones. Actually, then for the other team members, they could filter their inbox in Octobox to go, well, lower the priority of everything that has had someone else on the team go through and touch these things, thereby leaving me with things that haven't been touched yet or things that I'm already assigned to or that I'm involved in the conversation. Effectively, then the team has kind of the ability to share the work and pre-filter for each other. So especially if you're
Starting point is 00:25:41 distributed across time zones, you're able to essentially treat it almost like a help desk without needing it to literally use a help desk piece of software because everyone still reports their issues via GitHub issues. This episode is brought to you by Linode, our cloud server of choice. It's so easy to get started.
Starting point is 00:26:17 Head to linode.com slash changelog. Pick a plan, pick a distro, and pick a location, and in minutes, deploy your Leno Cloud server. They have drool-worthy hardware, native SSD cloud storage, 40 gigabit network, Intel E5 processors, simple, easy control panel, 99.9% uptime guarantee. We are never down. 24-7 customer support, 10 data centers, 3 regions, anywhere in the world. They got you covered at the lino.com slash change. Well, to get $20 in hosting credit, that's four months free. Once again, lino.com slash change log. So let's talk about how Octobox works. And that will lead us into what y'all are doing with the Octobox app and the GitHub
Starting point is 00:27:18 marketplace and trying to make a real go at this. But Andrew, you said you started up a Rails application. I'm on Octobox io i can sign in right here i assume you can also run this on your own server maybe you got a you know depleted heroku button tell us about the way it works and the way people use it and then we'll get into where it's going from there yeah so interesting how you said that it's slightly different from the other projects i've worked on in the past like libraries io and 24 requests octobox has that challenge of where libraries io and 24 requests are kind of the one instance
Starting point is 00:27:52 that's running online you can run it yourself but it's not it works best when there's multiple people all using the same thing the network effect and all of the data is in that kind of that one place. With Octobox, it was kind of designed from the start for anyone to be able to spin up their own version. And that's mostly from a privacy point of view that you just might not want to give me access to your notifications or to have them stored on Heroku. You might just want to keep those things to yourself, uh, as well as enabling people to use it for, uh, their GitHub enterprise installations. So you can actually point, uh, your version of Octobox at your own company's internal GitHub enterprise or github.ub.com um and then suck down all of your
Starting point is 00:28:47 notifications from from their shopify are big users of uh their own hosted instance i think they had something like seven million notifications across their internal team on their enterprise installation which is like actually actually bigger than octobox ios installation yeah uh and another big user is github itself they run their own internal octobox instance which gets used a lot uh which is really surprising um because it's kind of an admittance that notifications isn't as good as it could be we should we'll definitely get into that when we get to the business side because i got questions there but uh yeah continue with this instance thing that you're telling us about so the main way that most people would deploy octabox is using docker so it
Starting point is 00:29:36 has a docker compose file that will basically group everything up postgresgres, Redis, the Rails app, and stand it up in basically one command, in a similar way to deploying to Heroku, and that's going to be configured as a GitHub app. Or, so this is where it gets kind of, perhaps why no one else has built this before, because the GitHub permissions gets really really weird around notifications a lot of the github permissions apis are designed around individual repositories uh the github app kind of the new i want it's not the GraphQL API in particular but the new GitHub app style setup for
Starting point is 00:30:27 specifically for the marketplace is designed entirely around you install this integration into an a single app or multiple apps within an org the notifications API is is different to that because it's based entirely on the user that enabled it. So it spans across every repository that that user has access to. And so to be able to download a user's notifications and then also be able to pull in extra information, so the status of an issue or the labels on a pull request, or if your CI is passing or failing on
Starting point is 00:31:08 the pull request, we actually then need to go and hit the individual endpoints for each of those bits of data. The notifications API is not available via the GraphQL API. So we can't do kind of a nice N plus one set of queries in one go. And you also then kind of have to work out like for each of these notifications, do I have the ability to pull in the extra data for each one of these kind of subject types? So it gets slightly complicated in the different ways that you can configure it and actually if you run it yourself the simple way is to plug in your own personal access token and that enables everything because that's always the easiest way yeah it gives you full permissions and doesn't require permission from the owners of the organizations
Starting point is 00:32:02 that are like would be the gatekeepers to install in the github app but the github app does come with the nice benefit of the webhooks so we actually can then listen for any changes to issues or pro requests and instantly react by syncing that data in and updating your notifications, as well as using that as a hint to update other people's notifications that may have heard about that before. So it kind of speculatively syncs people's notifications
Starting point is 00:32:38 as it hears from one of the webhook events. And that has made everything kind of seem like it all just happens magically. I was going to say, in lieu of that webhook events and that has uh made everything kind of seem like it all just happens magically i was gonna say in lieu of that webhooks are you are you polling on an interval then if you don't have that with the webhook uh capabilities we basically have a sync button which is very much like gmail or apple mails kind of check for email you don't want you don't want to exacerbate the problem with people who feel like they're overwhelmed by notifications already right that's the you don't want that just keep piling notifications popping in at the top when you're in the middle of triaging them so i see so this is by design
Starting point is 00:33:14 so that you you you have to go check your notifications by your own agency and you have to say okay sync my notifications because i'm ready i'm ready for the flood as opposed to them as opposed to them just popping in you have a new email you have a new email yeah and that was that was pushed again by 24 pro request because i was refreshing the page and seeing more things come in and it's like i can't keep up with this i need to chunk this up into like uh at least something that can fit in my brain uh until i can kind of decide i've done with all these and now i can check to see if there's some more so when i look at the i just staying here staring
Starting point is 00:33:50 at the at the ui as we talk and i think this i think this is about gmail all the time too like this seems like it's better as an app as a desktop app not as a hosted thing with either your own instance or the shared instance. Was that anything you ever considered or you just reach for your most trusty tool, which is Rails and build a web app right away? So that was definitely the kind of start was, oh, I can solve this with Rails. Like it's using a lot of the same libraries that libraries.io and 24 ProQuest are using to interact with the GitHub API. But it also works to building a web app
Starting point is 00:34:30 that is mobile friendly, means keeping data in sync across multiple devices. Octobox works really nicely on your phone so that you can actually kind of, I can look at a notification and then when I get back to my laptop, it's still there and i can continue to work on it which then mean that you don't need to build different clients but you can wrap those up so there's a nice kind of selection of tools to to put a website inside of a electron desktop wrapper um there's one that i i forget what it's called i'm sure we
Starting point is 00:35:07 can find one and stick one in the show notes but you basically like command line with a a url to a website and it will just hook up everything generate a mac app or a windows app right and then it'll pick up the nice icon from, I guess it's like the Apple touch icon. So everything kind of happens automatically and then you have it sat when you're ready. But personally, I am kind of against like the always on constant stream of notifications i like to actually choose and be kind of thoughtful about when i'm gonna check my email or when i'm gonna get notified about new pieces of work because it can just be distracting if you're in the middle of uh in the middle of kind of like some fairly complicated bit of code you don't want to have someone reporting a bug on one of your other projects
Starting point is 00:36:03 pop up and kind of distract you. So it wasn't kind of a, I'm imagining this as being something that would always be on and always be able to tell you when there's new things. Well, I can get that sense from the sync button. And I also am somewhat intentional with the way I use specific communication. So I make rules for myself, for instance, on my phone, I will not set up my mail client to pull in new emails and show me the unread count. Cause I'm a completionist and I can't deal with an unreaded count. I have to go read it. So I always check my mail. Like I don't want my, my, my old saying was don't let your email check you, you check your email. And then I can only check Twitter on my phone. Like I actually break this all the time, but I had this rule. It was hard set for a while. I would not let check Twitter from my laptop.
Starting point is 00:36:50 It had to be phone only just to like kind of silo things and feel like I'm in control and like the device aren't going to in control. Ben, do you have any sort of things like that? You seem like you're keen on that sync button being intentional. Is this something that you work through? I mean, so I don't mind having an inbox uh i actually use like i use the apple mail client right um and my process has always been has been for like the last decade like i'll read something and flag it if i need to do it later
Starting point is 00:37:19 and i might panic if i have too many flagged emails. So I would, in Gmail, use the equivalent of a star. In Octobox, we have stars as well and go by that. I'm not like the inbox zero kind of person, but I completely use the same batching process, right? And I think maybe we're, the three of us, the same type of person. And it turns out there are a fair few other people like us as well out there
Starting point is 00:37:44 who prefer to kind of batch those kinds of tasks up and you know that's what octobox is octobox is a shift in paradigm from what is effectively like an activity feed style notifications experience to something that's more inbox um so yeah i mean you also don't want to carry around that kind of mental baggage of of knowing that you've got things i i don't know if you have this if you copy something and you're going to paste it can you kind of feel that it's on your hand you've done you've pressed uh command c and you can almost feel it until you put it down with command v it's there like mentally you have that you know it's still there right messages or issues or notifications that i'm like i i can't put this down until i know it's somewhere that like i'll be able to
Starting point is 00:38:32 make sure it's there uh and yeah a clipboard manager was a changed my life once i was like oh i don't have to worry about this thing going away or not then i i became a lot less scared of having some something i've copied that I have yet pasted. Do you have a good clipboard manager you'd recommend for me? Cause I've always looked at them and I've never found one that I actually like. I use Alfred, which is a combined search and it has a clipboard manager built in with a kind of a nice ability to search through those clipboard things.
Starting point is 00:39:01 And I use that hundreds of times a day. It's a, it's wonderful, as well as just being a much better spotlight replacement. Lots of Alfred fans out there. I'm somewhat of a minimalist with my software. Like if the operating system provides it, I'll tend to use that.
Starting point is 00:39:16 So I just use spotlight and it's just like good enough because I don't want to have to install yet another thing and manage it. But that's because I'm particular in my ways as we all find out we are. That's funny that you think that when you have like a copy but not the paste you can almost like sense it on your finger like it's like it's like part of you until you can put it down i i definitely have that in my head but i don't know about how strong the sensation is as
Starting point is 00:39:37 it is for you andrew i think that's possibly the greatest compliment you could give to the ui developers of of desktop software in general is that you actually feel that it's in your hand and have to drop it. Literally walking around with it. It's, I guess, if I've not put my keys somewhere down that I know I'm going to like, I need to go put my keys on the hook because otherwise I'll never find them again. Well, that's my problem is I can't find my keys, but they're in my hand the entire time. I'm walking around the house looking for them, holding them in my hand like a fool.
Starting point is 00:40:10 I think you've basically got PTSD for skeuomorphism, right? That's basically what it is. Oh, I like that. That needs to be like a Tumblr or something. Is Tumblr still a website? I don't know. Anyways. All right. Well well back to octobox so that's a little bit how it worked i guess you know this uh rails by default in your brain andrew
Starting point is 00:40:31 worked out pretty well because it allowed you to create a centralized service for people who don't want to manage their own instances and to do all the heavy lifting for them so hence the github app let's talk about uh the move from a side project really to something you guys are trying to give a go at a sustainable open source business kind of thing with the GitHub marketplace. So what are your plans with Octobox in terms of generating revenue? Do you want to go, Ben? Notebox is two things for us. It's a tool for ourselves and for maintainers to solve one of the situation that a lot of open source maintainers are in where they have a project which is popular which is used and they would like to work on it more um and they need to find solutions to be able to enable them to do that whether it's going to be sponsorship whether it's going to be donations whether it's going to be paid support um these
Starting point is 00:41:43 are you know some of the models that have started gaining a little bit of headroom in terms of popularism and have had kind of dribs and drabs of experience from people who have tried it coming back into the fold. And one of the things that we wanted to do is just expose ourselves to that. As a microcosm of the types of people that we're trying to help. We just, we wanted to throw ourselves in it.
Starting point is 00:42:10 So the main kind of goal for us is to make Octobox sustainable for ourselves and our community, which we're kind of at a bit of an advantage. We can play both sides. We happen to be the maintainers of octobox io and there are certain things that we can do with octobox io and we're also members of the community we're members of the 80 plus developers who have contributed to octobox as a service that people are running themselves people are running in docker's uh docker containers and so on um and we want also to experiment with some of the questions that we've been unable to answer in the past around sustainability of open source software questions like, do people care more about supporting a community directly and being able to ask and answer those questions with data?
Starting point is 00:43:08 Like we want to just prove it to ourselves and to other people who are in a similar situation to us that it is possible, that it is possible how to do it and that it is repeatable. And that extends for the community as well. So we, as the maintainers of octobox and the operators of octobox io are in a certain position when it comes to having that shared instance that people go to and having like a point of focus for users that some open source
Starting point is 00:43:40 maintainers do not have like the guys who work on the key core components that you just include as a library you know people who write api interfaces for things like redis and so on it's very difficult to do some of the things that we can do with octobox um to make money effectively um so what we want to do is also demonstrate some of the things that we can do as a collective community to support one another, to support those maintainers that don't have the opportunities to expose the service effectively and make money from that kind of service so that we can support one another. But yeah, it's, it's at this point, it's a big experiment in terms of what a new kind of small,
Starting point is 00:44:27 but for a certain measure, successful open source project, um, can do. We're also trying not to be too restrictive. Uh, there's been kind of a, a spat of open source projects recently that have kind of swung very far the other way in the ways that
Starting point is 00:44:46 they try to kind of monetize their projects by some in literally kind of forgetting where their roots are in the open source movement in the free software movement and kind of rescinding on those basic freedoms of free software. It feels like there are ways to get around that without needing to literally put up big roadblocks. And that kind of works out really nicely with the way that Octobox works because it's open source and because it is AGPL licensed, we don't ask for uh the copyright of people who are contributing so we can't change the license without literally reaching out to
Starting point is 00:45:32 everyone or without ripping out all of their contributions which we're definitely not going to do so actually if people don't like the the service that we offer via Octobox IO, they can always go and run their own version. And so that keeps us honest to a certain degree and kind of avoids us poisoning our own well or kind of trying to take everything for ourselves. It forces us to act as good actors within the community whilst providing a service which people see as valuable enough to pay for. So it's pretty cool here. You talk about the experiment that you are doing, Ben, and you guys have Octobox free for open source projects with basic notifications for private projects. Of course, it's also open source or on your own instance. So if you want to do it that way, that's all good.
Starting point is 00:46:23 We're talking about Octobox IO. And then it says to add enhanced notifications for private repositories to your organization's account there's two ways to pay and i think this speaks to what you're talking about ben with would they rather provide you know funding to a community versus to a commercial enterprise that's really supporting that community but is somewhat distinct from it in terms of like limited participation. And so you have an open collective, uh,
Starting point is 00:46:48 donation, and then you also have the GitHub marketplace option. Yeah. And then, and then we have another page underneath our pricing page that explains, wait, what, uh,
Starting point is 00:46:56 which is kind of like, it's kind of like, you, you, you probably need a little bit of a backstory in order to understand why we're telling you that you can pay for this exact same thing two different ways and it just kind of explains you know what we're trying to do and it's it's just proving to ourselves you know if other people are going to do something like octabox should they create a company should they have that company set up as
Starting point is 00:47:18 a shell that basically provides for themselves and their community or should they just go whole hog for the community and which one's more successful? I mean, sample size of one, but this isn't the only experiment that we're going to do. But I do think it needs some explanation. And I would also shout out for the whole, what you're paying for enhanced notifications. A lot of that is to do with the dance
Starting point is 00:47:43 around the notifications API the the way in which github apps work as well so yeah i think we're gonna try and simplify that a little bit i think we have to the new year it's it often confuses people and they think either like oh is this going to be like having to pay a hundred dollars per user per month, or like, or sometimes they think like, oh, it appears I don't need to pay for anything because everything continues to work with the kind of basic notification. So it's, it's definitely caused what I think, uh, kind of the levels we've exposed the levels of permissions a little bit too much, uh, with kind of my developer hat on compared to someone who comes with it without
Starting point is 00:48:27 understanding the complications involved often won't uh won't appreciate that and we should do a better job of explaining it or hiding uh the like complexity initially it was actually just a lie um we started off with it's easier to explain to people that, you know, the standard fare of free for open source paid for private projects. But then with the notifications API, you get some small amount of private repo notification information as well. And people like, hang on, there's something wrong. I've got some private data here. You're like, no, no, no, that's the way it works. We were lying to you effectively because we were trying to help you understand it easier so it's you know it's an experiment and
Starting point is 00:49:08 it's still very early on um i think when did we go live on the github marketplace andrew it was probably about four five six weeks ago maybe yeah six weeks six weeks yeah so we're still kind of finding our feet on how to talk about the service and what you're paying for. But we'll keep experimenting with that. Going back to like the business model, though, one of the other things that we're trying to kind of find our feet on and experiment with and kind of demonstrate to ourselves and others that this might be a responsible way of running an open source company is doing things like saying we're going to share 15% of our revenue as a commercial company with the community as well because we don't want if the the experiment
Starting point is 00:49:52 about hey do you want to pay like a commercial entity or do you want to pay the community to end up with people want to pay the commercial company which means ben and andrew are going to win we want to make sure that the company is tied to the community in such a way that it has to provide for its community as well. So, you know, there are various things that we're kind of doing as an experiment that aren't just overtly user facing in terms of pricing, but they're also kind of behind the scenes in terms of how we set the company up, how we kind of commit the company to the community and in the future you know the goal is if the commercial company holds more revenue than people have donated to the
Starting point is 00:50:34 community to pull people from the community into the commercial company as contractors employees and so on and work out how that relationship would work most effectively so that people have like the protection of a commercial company that owns Octobox.io in this particular instance. And they also have the freedom to come in and do paid pieces of work on not only Octobox as an open source project, which has benefits for the whole community,
Starting point is 00:50:58 but maybe even specifically for Octobox.io if they see something that's kind of, that needs to be done on that particular instance. So it's all an experiment. It's all going to be as well documented and kind of publicised as we possibly can when we have that evidence. Andrew and I, we both live and die by the evidence of the data that we collect. It comes back from working with things like libraries where we have this vast kind of wealth of data that we can pull from um talking of data we literally turned off google analytics on uh octobox io last week uh to give ourselves just a little bit more challenge i'm gonna say yeah
Starting point is 00:51:37 say because you don't want that data i thought you guys were evidence-based yeah but also my background is in computer security and i'm a massive privacy wonk turns out that uh quite a lot of developers actually block google analytics as well comparing the data that we were seeing from usage on octobox io from google analytics compared compared to coming through cloudflare and compared to our server logs was wildly different so we couldn't really rely on it to make many good decisions anyway and so we figure we'll we'll just kind of cut google out of it make the page more secure make it faster and stop exposing people's uh kind of data out there while still being able to have a good indication of how people are using it via Cloudflare and our own server logs.
Starting point is 00:52:32 The other area we don't have much visibility on is how much it gets used on individual instances. So it's been downloaded almost 600,000 times from Docker Hub. We have little visibility, but I get the feeling that there's a lot more going on with Octobox outside of our control. as well as kind of integrating with what Microsoft are pushing forwards with the changes they recently kind of came in and started to encourage. So you just see the bookmarks have shown up in notification. So you can bookmark an individual notification. We'd like to be able to feed that back and kind of sync it up with the stars in Octobox so that you can have your data
Starting point is 00:53:25 kind of the same in both places. And so it's not like Octobox is going to be a done project anytime soon and we'll kind of won't need ongoing maintenance. There's a lot of work to keep it moving forwards at this kind of like moving target that is the github uh universe this episode is brought to you by our friends at go cd go cd is an open source continuous delivery server built by thoughtworks check them out at go cdcd.org or on GitHub at github.com slash gocd.
Starting point is 00:54:10 GoCD provides continuous delivery out of the box with its built-in pipelines, advanced traceability, and value stream visualization. With GoCD, you can easily model, orchestrate, and visualize complex workflows from end to end with no problem. They support Kubernetes and modern infrastructure with elastic on-demand agents and cloud deployments. To learn more about GoCD, visit gocd.org slash changelog. It's free to use, and they have professional support and enterprise add-ons available from ThoughtWorks. Once again, gocd.org slash changelog. And by our friends at Red Hat who produce the podcast Command Line Heroes.
Starting point is 00:54:47 Today we're featuring a segment from Season 2, Episode 7, titled At Your Serverless. But now, of course, all over the United States of America and all over the world, the Internet is revolutionizing our lives. It's 1998. Google just hired its first employee, and Vice President Al Gore is talking to the press. This technology is still in its infancy. When President Bill Clinton and I came into the White House, there were only 50 sites. And look at it now. I got a bouquet of virtual flowers on my birthday. Okay, I can sense your eyebrow arching already. Why am I playing you some bit of 20-year-old internet history? It's because I want to remind you that the basics of the internet are still
Starting point is 00:55:40 the same. Today, developers talk a lot about going serverless, which sounds like Al Gore's client server internet just got trashed. And if we're not careful, we can abstract away so much infrastructure that we forget there are still servers out there doing their server thing. All right, learn more, listen, and subscribe to this awesome podcast at redhat.com slash heroes. Once again, redhat.com slash heroes. So Andrew, one thing that you mentioned is how GitHub has recently put some efforts into notifications with a bookmark feature. We know GitHub under new management, new CEO, Nat Friedman, seems to be very focused on
Starting point is 00:56:39 small polish and improvements to areas that maybe have been neglected over the last few years that power users such as maintainers care about and of course octobox is all about the power user um any concerns with github you know basically building what you guys have built internally as a first party thing of course anytime you build on a platform, you know, you don't want to get Sherlocked as, as, uh, as the Mac community well knows, uh, Apple known to Sherlock their, uh, their platform vendors. And here you are, you're on the GitHub marketplace. What are your concerns about GitHub replicating some of these features and making Octobox not quite so, uh, intriguing to folks? So I kind of swing backwards and forwards on this, but I have spoken to a few people internally at GitHub since the acquisition. And I'm fairly confident that Octobox isn't in their kind of line of sight right now.
Starting point is 00:57:37 It's Octobox is really works well for a particular kind of user. The users who are not wanting to use email, but are getting a load of kind of notifications and are driving across a number of different repositories, which is actually quite a particular set of users and trying to solve those problems while still enabling all of the other kinds of users that are on GitHub actually becomes incredibly difficult. So we can kind of lean on the fact
Starting point is 00:58:08 that we're only solving problems for a particular kind of power user that we can be like, well, actually, Octobox might not be for you if you're okay using email or if you only get a few notifications or you're not working with many other people on a private repository, that's okay. Octobox isn't for you, but you can use it if you only get a few notifications or you're not working with many other people on a private repository that's okay octobox isn't for you but you can use it if you like uh but we're really
Starting point is 00:58:31 going to focus on making those people who are doing huge amounts of work on managing a lot of communication uh to to really make those people seem like they've got superpowers because they've kind of been uh struggling for a long time and you see a lot of the kind of testimonials we get are people kind of suddenly feeling like they're they're back in control they're able to actually then start to take on more things so you're kind of like, oh, I could never possibly watch this repo because I already get too many notifications. And then suddenly you're like, actually, maybe I can.
Starting point is 00:59:12 So I personally started watching the Ruby on Rails repository again after, I guess, five years of not doing it. I used to do it back when I was kind of a junior learning Ruby and Rails and kind of wanting to see what the masters were doing. I would watch for what was happening on the pull requests. And of course, then as work happens, you kind of like, oh, this is too much. But Octobox has actually let me compartmentalize that enough to be like,
Starting point is 00:59:49 oh, let's see what's going on over here and then put it away again. So you can actually kind of context switch out to just the Octobox stuff. Or when December comes around, I just want to look at the 24 per request stuff. And then once I've gone through that, then let's go see what else is still there. If I have the bandwidth for. Otherwise, it will be there tomorrow. That's pretty cool. I used to follow that repository as well. And I think I lasted maybe two or three weeks and I had to just, I just couldn't, you know, even just like, eh, I'm not all that interested.
Starting point is 01:00:15 Do you ever do that? You like star a repository or you subscribe and then like a few emails come in, you're like, yeah, I'm just not going to do this. Oh yeah, I mean, you wouldn't believe the amount of amount of i must have starred like over 5 000 repositories or more and my actual activity feed on github is the most useless thing uh the home page tells me nothing the recommendations are like oh here's everything right so i i can't get much out of that page because i just broke it from from starring too many things
Starting point is 01:00:46 I mean the question is what does a star mean right it's something different to everyone we could definitely spin out on that so maybe not I think we literally covered that in the last time I was on Recruiting Commit that's right the answer is a star doesn't really mean
Starting point is 01:01:03 very much at all because it means something different to so many different people it star doesn't really mean very much at all. Because it means something different to so many different people, it makes it very difficult to mean anything at all. That's useful. But I mean, it's like an interesting point that you say about NAT and GitHub and notifications was one of the three things that he said in his opening kind of gambit as the new CEO that he wanted to focus on and we've seen a lot of those improvements but as andrew says i think personally that there are so many more casual users of github than there are like the power users that we're catering for that it would be difficult or at least it wouldn't be a problem that i personally would want to solve to bridge between the two in one interface so actually kind of having something on the marketplace,
Starting point is 01:01:45 even from GitHub's point of view, I think it'd be really positive for them because it can allow them to refocus their efforts on what might be their core kind of group of users, which are maybe more casual or medium level
Starting point is 01:01:58 while they still have, you know, something like Octobox Store for people. Right. Yeah. And as the platform, that's what you want. Like you want to provide the 80% solution and then you want that marketplace, which you're still getting, you know, cuts out of it has this cottage industry around your platform, filling in all those gaps that you don't want to fill in yourself or aren't worth it for you, but are worth it for somebody who's smaller than you. So hopefully that symbiotic
Starting point is 01:02:22 relationship will just continue on forward. So you're focused on the power users. Octobox is in a place now it has a nice core set of functionality. It seems like you got a good 1.0 or I don't know if you've considered this a 2.0 or what version is that, but it's there, it's available, it does what it's supposed to do. But for power users, we always want more, better, faster, deeper, more power. So what are you guys thinking about Octobox moving forward some things that maybe current users can can look down the road or maybe hop in and help out with or even give a thumbs up to the yes i want this feature what are you going to take where are you going to take octobox in the next six months 12 months for the power users i love this there's so many
Starting point is 01:03:00 different ways and as you say we're in a nice place where we can kind of take stock listen to users uh feel their pain because we've solved a lot of our own pains that now it's like okay well now let's go out into the world a little bit more interview some people and see how they use it um i regularly watch suze hilton when she's streaming on twitch and she starts every twitch kind of coding session by looking at her octobox and going okay well what am i gonna what do i need to work on today uh and that's a great way to see okay that's interesting she's using it like this it looks like maybe she could do something to to help her um kind of shunt a few things away that like oh this isn't ready to work on until next week so perhaps features that are maybe a little bit more
Starting point is 01:03:53 like a to-do list so i can imagine having the ability to snooze notifications to say like uh put this away until next week because i need to go check on it again, or I'm totally not ready to deal with that right now. Or you're waiting on say an API change somewhere else. And similarly, maybe having a due date or some other way of highlighting kind of the importance of particular kinds of notifications. So that would allow you to really focus down on the things I need to do today. The other really interesting area is trying to get into some more automation or I don't want to say intelligence because we really don't want to add like unknowing machine learning that kind of no real clear boundary to why it did something or having to train it up because what we don't want to do is have to share behaviors across different users it's very much like this is your data that's only used for you but so I can imagine allowing users
Starting point is 01:05:01 to say well if a project comes in and it's been labeled as this, say, say a bug, then can we automatically assign that to, to this person if it's on this repo, or if it is a notification from a bot user, then I just want to automatically archive that. Potentially even for people who have usernames like me, I'mrew on github i get a lot of actual spam through my github notifications where people have mentioned an andrew and it comes up with like in my in my octobox in my github notifications and it's completely uh irrelevant to me so being able to kind of look at it and go, well, you've never interacted with this repository before you got mentioned, but there's no indication that like you would ever want to do that. Maybe that's, that is actual spam and that could just be automatically kind
Starting point is 01:06:01 of moved away. But rather than try and do it in a like one size fits all i feel like doing gmail style filters and automated actions would probably be the best way to to allow developers to build the kind of the if this then that's that they need rather than try and kind of make a set of uh of simple actions that would be very easy to do because the power users are going to be like, well, I've got these very specific sets of things that I want to do when these things happen. And Octobox already has a really powerful search that can let you filter down by every different kind of state to to get exactly what you need every time that there's a state change fire off see if there's any search results that match that and
Starting point is 01:06:50 run that particular action on them i think there's also some of the stuff that we might see coming in like the more medium term as well like so at the moment it's just in beta but we have the thread view which will show you the content from the thread of that notification within octobox rolling that out to users and putting more time into that so that people don't have to jump out of octobox as readily as they may already be um and then that can kind of build into some of the potential team discussion stuff in the future as well i I've been using that feature quite a lot. You can enable it from the settings if you're in Octobox IO and basically it will give you a three pane view
Starting point is 01:07:30 on a regular laptop size screen. So you can jump through all the different conversations and catch up on them without needing to open many different tabs to GitHub. And then potentially that also opens the door to being able to to comment directly from octobox or even label and close uh issues without needing to to kind of jump backwards and forwards between the different uh between the different tabs that is the current behavior if you're gonna have a lot of things to work through.
Starting point is 01:08:06 There's a balance for us there between, you know, we talked about GitHub, Sherlocking, Octobox, but also we don't want to rebuild GitHub. So there's finding that fine line between where do people want Octobox to be a part of their workflow and where do they want GitHub
Starting point is 01:08:22 or their other existing tools, you know, talking about contribution to open source in the greater kind of whole sense, that we need to find that line. And one of the things, Andrew, I think you did recently was just kind of reach out on Twitter and say, hey, like we're really interested in talking to people about their current workflow and their tools,
Starting point is 01:08:39 whether they use Octobox or not, because we're kind of getting to that point now where you're right, like we do have a reasonable 1.0, um, and now it's kind of finding your way as a kind of built product, um, to like add and take away things that are going to make the users that we're building for as productive as possible. That's the key really is, you know, we want to solve people like us, um, who have the same problems as us um we want to kind of do that between octobox and the other tools that people use yeah for example the uh one thing that ben and i actually do quite a lot is we have a back channel uh for octobox it we don't
Starting point is 01:09:20 set it up as a separate private repo but instead we're depending on where we're chatting at the time it might be text message it might be in a slack dm but often it's about octobox potentially with this thread view we actually have the ability to then allow octobox users to to message each other directly and i don't know if you were on GitHub back kind of nine years ago, but actually GitHub used to have the ability to send messages to other users and they yanked it and it has never come back since. But there's definitely the potential to have that kind of data that it's not just a mirror of GitHub data, but other data in Octobox or potentially even having an API
Starting point is 01:10:06 that allows users to push data from other platforms in. So you could imagine take your notifications from Stack Overflow and feed them into Octobox so that you can actually drive multiple different kinds of developer focused events that maybe act as to-dos or things I will need to kind of check on and confirm that I have done something with them as in one kind of nice unified UI that doesn't just kind of fall down
Starting point is 01:10:41 to the lowest common denominator of email. Very cool. I like that idea quite a bit. Actually, a lot of these are good ideas. So you guys got a lot of work ahead of you. So Octobox IO is of course the website. How do people get involved from a community perspective? Maybe they like, maybe they love that messages idea. They want to let you know that you should build that and they will come or they want to get involved and sling some code. What are the way points for people to get involved and and and sling some code what are the waypoints for people to um get into the octobox community maybe become a user but also hopefully a contributor so uh we drive most of the development from our issue tracker encouraging people to uh propose
Starting point is 01:11:21 new features or report bugs we also have a roadmap document on within the repository so actually proposals to add things to that roadmap are are very cool um the other thing that we use is gitter which is um similar to slack i guess but focused on github repositories or GitLab as well. Now that they, I think they got purchased last year. And so that's kind of the more real-time chat area and it's completely open. You can just drop in and someone will probably be hanging out there. And then we also kind of tried to make the project really friendly for
Starting point is 01:12:06 new people to get in. So one of the design or the kind of architecture decisions was to try and stick with Rails conventions as much as possible. So if you have any experience with Ruby on Rails, this will feel right at home. You'll be able to find exactly where you would expect the logic to be because we don't try and do kind of custom bits of code that stick outside of it. It's literally like models, controllers, views, turbo links and Postgres with Sidekick as the queue. involved uh and uh actually kind of we've had people build whole features just as like a because it was so easy for them to kind of dip in and go uh like oh i recognize this uh this is a unix system and jurassic park reference nice uh and and literally be able to fix, uh, fix bugs. And then we, I, I mean, I'm probably pretty bad because I'm checking Octobox so often that I will often kind of merge a pull request and roll it out within, within minutes of seeing them sometimes.
Starting point is 01:13:18 And then other times they'll get merged, but maybe not rolled out straight away. We don't have continuous deployment mostly because we are the only people who are responsible so kind of 24-hour ops makes me a slightly more cautious um but absolutely uh open to kind of different ways of contributing as well as potentially even like as people can spin up their own forks we have a lot of people have fought the project and kind of making changes, seeing how they work for their own instance, and then seeing like if they can suggest them as features after they've kind of kicked the tires on them a little bit.
Starting point is 01:13:57 Very cool. Well guys, thanks so much for coming on the show. Thanks for all the work you've done on libraries, 24 pull requests, which was super cool. Octobox. I hope you guys have great libraries, 24 pull requests, which was super cool. Octobox. I hope you guys have great success with this. Hey, come back after the experiment has some, you know, some facts that we can get some evidence back, find out what people are up to with regards to, do they want to support a community? Do they want to support a commercial enterprise? Do they want to do both? Do they want to do neither? Maybe that's what we'll find out. Hopefully we won't find that one
Starting point is 01:14:22 out. And then also, uh, one thing that we didn't talk about, maybe we'll just tease it now and have you back for another show later, uh, all about how you're also have this desire to divvy out revenue to your downstream, or is it upstream? I don't know the stream dependencies that help Octobox be what it is, because that is something that, uh, I definitely want to talk about, but we're out of time for now. So we'll have you back on later on to talk about that and get a follow-up, find out how y'all are doing. But for now, that's our show. Thanks so much for joining us, Ben.
Starting point is 01:14:52 Andrew, it's been a joy. Thank you. Thanks very much. All right. Thank you for tuning in to this episode of The Change Log. If you enjoyed this show, do us a favor. Go on iTunes or Apple Podcasts and leave us a rating or review. Go on Overcast and favorite it.
Starting point is 01:15:06 Tweet a link to it. Share it with a friend. And, of course, I want to thank our amazing sponsors and partners, Rollbar, Linode, GoCD, and Command Line Heroes. Also, thanks to Fastly, our bandwidth partner. Head to Fastly.com to learn more. And we're able to move fast and fix things here at Changelog because of Rollbar. Check them out at Rollbar.com. And we're hosted on Linode cloud servers.
Starting point is 01:15:25 Head to linode.com slash ChangeLog. This episode was hosted by Jared Santo. The edited mix was by me, Tim Smith, and the music is by the one and only Breakmaster Cylinder. If you want to hear more episodes like this, subscribe to our master feed at changelog.com slash master
Starting point is 01:15:40 or go into your podcast app and search for ChangeLog master and you'll find it. Subscribe, get all the shows as well as some extras that only hit the master feed. Thanks for listening. We'll see you next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.