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.