The Changelog: Software Development, Open Source - Untangle your GitHub notifications with Octobox (Interview)
Episode Date: December 13, 2018Jerod 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)
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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,
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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?
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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,
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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,
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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,
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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.
                                         
    
                                         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
                                         
    
                                         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.
                                         
