ALTERNATE UNIVERSE DEV

FounderQuest

The Things We Shipped In 2019

Links:
Exponent Podcast
Johny Ive
MicroConf
Hiring Process FounderQuest episode
Fireside Chat FounderQuest episode
Dundie Awards

Full Transcript:
Ben:                I was just thinking. Hey, Tim. Let's give you tips on how to organize Apple.

Starr:              That should be a show that we do. Yeah, we should do a special show where we just do something extremely full of hubris.

Ben:                Every week we could pick a large multinational enterprise and give them tips on how to improve their business.

Starr:              Yeah.

Ben:                How to Honeybadger-ize it.

Josh:               I think that's what the Exponent podcast does, which is-

Ben:                Beat us to the punch.

Josh:               Yeah. Is it Ben Thompson?

Ben:                Uh-huh (affirmative).

Josh:               Yeah. But I mean, he sounds like he's qualified to talk about that stuff.

Ben:                He actually knows what he's talking about.

Josh:               Yeah, but I have heard buzz just following... Because I've been having issues with some Apple services, and it seems like they are having some, like they have some growing issues, or they have had growing issues. There has been buzz about they might need to create some sort of clearer division or something. Because it's totally different, running services. Totally different from having a hardware, software company.

Starr:              Well, if they're having problems scaling maybe they should move to AWS.

Josh:               That is... yeah.

Ben:                Pretty sure they have quite a big AWS spend as it is.

Starr:              The whole Apple photos thing, I hear it's just run off a couple of Mac Minis in some guy's closet.

Josh:               It's just running on a disc. It's running in Tim's closet.

Ben:                Although, they have created Mac Pros now. They just released that. They don't have a rack mount yet for them.

Josh:               Oh, yeah. And you can get eight terabytes in the MacBook Pros now, so they could finally extend their iCloud storage.

Starr:              Yeah, do y'all think they actually run their services on Macs as servers?

Ben:                No. I don't think so. I mean, maybe some old, old services are still running on some of those Xserves, but no. I think-

Josh:               I'd be surprised.

Starr:              Yeah, that would take some dedication.

Ben:                I'm sure they're well invested in the public cloud.

Starr:              If Steve Jobs was still around, they would be, I think.

Josh:               Wait, you don't think-

Starr:              That just seems like the kind of line he'd draw in the sand.

Josh:               Did Jony Ive not design all their rack mounts?

Starr:              See, the problem with Apple computers, with Apple servers in the data center, is it just is insane to manage all the dongles.

Josh:               Just dongles between it.

Starr:              Yeah, they don't have ethernet jacks. You got to have a dongle that goes into your USB 3.

Josh:               Have you seen the fiber dongle, to connect the fiver to the Thunderbolt?

Starr:              I know. It's crazy. It's crazy. What are we talking about today? We're talking about lessons learned in 2019. It's 2019, isn't it, guys?

Ben:                Still, yes it is.

Starr:              Okay. That's great. Yeah, so lessons learned in 2019 at Honeybadger. It might be applicable to your huge multinational corporation that manufactures software and hardware. It's been a pretty big year today... Today. It's been a pretty big year. I've had days that feel like that. It's been a pretty big year this year. We have grown the team to five people, and we've just gotten a whole bunch done. I guess maybe we should start by... What do you think we should do? Should with start at the beginning or should we start by talking about big 10000 foot view of lessons and then sort of get into the details? How do y'all want to do it?

Ben:                I was thinking of this episode as the things we did this year episode, the recap, as opposed to things we learned.

Starr:              Oh, I'm sorry.

Ben:                I don't know.

Josh:               Well, there might be things we learned that we'll share along the way.

Ben:                Will come out of the things that we did. Hopefully, we learned some things along the way.

Starr:              Okay, that's cool. Things we did. That's a little bit more cut and dry too.

Josh:               I forgot we did a lot of this stuff, so I kind of learned what we did this year, today.

Ben:                Yeah, it's good to reflect and celebrate your successes, right?

Josh:               Yeah.

Starr:              So what we did this morning, or what, I guess, Josh did is asked Ben Findley to compile a list of all the things that we did. So we didn't have to... We're getting the hang of this enforcing thing, I think.

Josh:               I was like, "Hey, Ben Findley. What did we do this year, again?" And then he created a nice list in Notion, and here we are.

Ben:                I jumped in there too, because he was looking at all the... He does all of our product announcements and stuff, so he was looking at it from things that we announced. What I did is I went back to our GitHub repo and I looked at all of our pull requests that we closed through the year.

Starr:              Oh, nice.

Ben:                And found a few things that we did that we didn't necessarily advertise or talk about very much. Some things that he might not have been aware of.

Josh:               These aren't on our list right here? Are you saying you're going to surprise me with some extra stuff that we did?

Ben:                No, no. I already added them to the list.

Josh:               Oh, you put it... Oh, okay.

Ben:                Yeah, he and I were like in there together.

Josh:               I thought there was even more that I... I thought there was more. I got excited for a minute.

Starr:              These are pretty unannounced features. To the public, this is all going to be news.

Ben:                I don't know. A lot of these things have been announced.

Starr:              Okay, to the public, a couple of things are going to be new.

Ben:                Oh. Oh, yes. Yes. A couple of things will be somewhat new, unless you're thinking-

Starr:              That are going to be amazingly new and-

Ben:                Shockingly new.

Starr:              They're going to blow people's minds.

Josh:               This is kind of a premiere.

Ben:                Knock your socks off.

Starr:              Yeah.

Josh:               In continuing the premieres of the morning, having just watched the MicroConf premiere.

Ben:                Oh, yes. Yes. Did you see that, Starr? There's new news from the MicroConf community.

Starr:              I saw you all talking about it, so could somebody tell me what's going on?

Ben:                Josh can fill you in, I'm sure.

Josh:               Well, Rob had nine new things to announce in a video. They had it go out at 9 AM this morning or something. They did a little video launch thing. I'm not going to go through all nine of them, because I don't remember them all. But you can go to microconf.com and see what they are. But a few of them are, I think, MicroConf 2021 is going to be in Denver, and they're not going to be doing Starter anymore. So it's going to be just... I assume that they're just going to combine the... whoever wants to go to MicroConf, it'll just be MicroConf again.

Starr:              Because they had changed it a couple years ago where there was a MicroConf for beginning business people, and then a MicroConf for more experienced business people.

Josh:               Yeah. I think the reasoning was MicroConf was fairly... it's a fairly pricey conference to go to, and all the travel and stuff, and they can get more... For the people who are just starting out, they can get more mileage out of some other things that they're planning. So they're going to release all of their video library for free online. They're going to start doing more local, regional style events, it sounded. So there will be more opportunity, basically, for people who can't get to the big MicroConf. They can go to one of these other smaller things, or participate in the community online.

Starr:              Oh, that's great. That'll be good. Hopefully, that'll bring in some new blood. MicroConf's good but it seems like there's... Every year it's sort of like the same people, so it's nice to see those people but at the same time, maybe it might do more good in the world if you get some new people in there every now and again.

Josh:               Yeah. New faces are always good. Yeah, I don't know.

Ben:                Yeah. I think it'll be fine. Plus, there's going to be the Slack community that's going to be ongoing all the time.

Josh:               Yeah, there's a new Slack. Oh, yeah. I thought that was kind of... I mean, the last thing I need is another Slack.

Ben:                Yeah, I was thinking the same thing. Oh, boy. One more Slack to be part of.

Josh:               That said, I don't join most of the Slack's I am a part of. But I have been thinking lately, since I left. I haven't been on Twitter. I deleted my Twitter account a while back. So I have been missing a connection to some of those people that I've been trying to think about how do I reestablish that without re-joining social media, because I'd like to have the best of both worlds. So maybe that's... The Slack might be a little bit better alternative.

Starr:              Yeah. At least it's not a Discord server.

Josh:               No?

Starr:              I don't really care. It seems like Discord is exactly like Slack. Just gamier.

Josh:               It's similar, yeah. It is gamey. I don't know. It's kind of cool.

Ben:                That's actually one of the things we did this year. We added a Discord integration.

Starr:              Really?

Josh:               Yeah, we did that recently.

Starr:              Okay. Well, let's not give it away. We don't want spoilers. So are we going to just go down this list? Or what are we doing?

Ben:                Yeah, just down the list. Chronologically. I started the list in December of last year. It's not really a this year recap, but I figured we're in December now, so if we go back 12 months... That gave me some wiggle room to include the CircleCI orb that we launched back in December of last year. What that does is that's a little bit of code that plugs into the CircleCI environment, and you can use our orb to send deployment notifications and to upload your source maps. So a lot of times it's part of your CI/CD pipeline you might be doing compiling assets and you can now use in that CircleCI. Or you can just easily plug in and send those assets to us as part of your source map, and then let us know. We do some deployment with CircleCI. When something passes on master on our main repo, CircleCI, once it's test run, it actually does the deployment for us. And in that kind of environment, you can use our orb to then notify Honeybadger about the deployment.

Josh:               It's cool.

Ben:                Yeah, it was kind of cool.

Josh:               Remind me... I know I'm probably getting ahead of things here, but do we have that for GitHub Actions too?

Ben:                We just launched that in November, this November. Yes, for GitHub.

Josh:               I thought so.

Ben:                GitHub Actions was in beta for quite a while, so we kind of held off on that until it was publicly available, and that happened in November, October. Somewhere in there. So now I have that in both places.

Josh:               I just set up my first testing thing on GitHub Actions. It's really cool. I like it.

Starr:              So looks like January is mostly my stuff, so I'll go. We revamped our onboarding system, so when you sign up now, instead of just being taken into our configuration page with some instructions, you're given a nice little step by step installation guide that sort of tells you when you've completed the steps to interact with our server. It's very cool and interactive, and that was actually a outgrowth of hiring Ben Findley, our marketing person who is basically... I think we're trying to increase the number of people who converted. Do you guys remember? Do we have any results on that?

Ben:                Do we have results on that? That's an excellent question. I know we've gotten great feedback about that. We've had people say that the onboarding is fantastic. I don't remember looking at stats.

Josh:               I haven't looked at the numbers. We have them. I know that we have them.

Starr:              I think I remember they got a little bit muddied, because we launched our free plan, and then we also launched PHP support, and both of those had different... Both of those are going to mess with your conversion rate, right?

Josh:               Yeah, well, at the time we were having... we were coming off of a big marketing campaign for PHP that had like... we were getting a lot of signups, but since it was a relatively new thing, fewer of those signups were converting. So that was skewing our stats. I think the biggest change that came out of the revamping the onboarding process, I think, was that we wanted to lock the process of... we wanted to require you, basically, to install our code before continuing into the rest of the app and stuff. Because that's our biggest factor of where someone falls off. I think we had some good results with that, where we have fewer people.

Ben:                I think we had more people.

Josh:               It's also easier to identify those accounts, the ones that are progressing versus the ones that are just stalled on that one step.

Starr:              Right. That's true.

Josh:               So that's been great.

Starr:              And I think maybe some people weren't entirely sure what they were supposed to do. Maybe more beginner people who weren't... I think in our old system they didn't quite know what they were supposed to do next, even though we gave them instructions and stuff. But it wasn't quite as obvious.

Starr:              In January, we also launched search autocomplete, which was my baby, which was a huge, huge effort. Basically, we always had this really sweet, cool advanced search syntax that lets you search errors by all sorts of different parameters and stuff. But you had to sort of type it in manually and nobody really knew how to use it. So what we did is if you go on our site now you'll see that we have... When you click on search, you'll get a menu of options, and when you say search by assignee, it actually edits a little text field and inserts the right syntax for you. And then if you go and type into that text field it basically, it does autocomplete. It autocompletes to give you the right syntax so that you don't really have... You can do searches without having to type so much, which was nice.

Starr:              Yeah, so then moving on. February, we had our first engineering hire, full time engineering hire, right?

Ben:                Yeah, brought Kevin on in February. We talked about that in a previous episode, so I guess we should link that episode, because we spent some time talking about that process.

Josh:               The hiring process.

Ben:                Yeah. But that was great. It's been wonderful. Kevin's still with us, thankfully. March was his month, really, looking at the list of things.

Starr:              Yeah.

Josh:               Yeah. Bunch of things.

Starr:              He got off to a running start.

Ben:                He's really been doing a good job.

Josh:               I was going to say after February, which is like the only thing that we did in February, apparently, is hired Kevin. We have 50 things to go through for the rest of the year, so we either need to pick up the pace or combine some of these things, because we're going to be here a while.

Starr:              Yeah, we're going to take forever. This'll be a double header.

Ben:                We can stretch this out. Oh, my God. We're only through a couple of months. So in March, Kevin added two-factor authentication. Also, the Have I Been Pwned database that tells you if your password has been compromised in some sort of data breach somewhere is actually a gem that we can use to check is the password you're using one of those compromised passwords and warn people. So, little security improvements there. Did some integration improvements. We made it so you could customize the way that our notices show up in Jira or GitHub.

Starr:              You know what else we did in March, Ben?

Ben:                What did we do?

Starr:              Well, as fans of the show will undoubtedly know, March is the month in which we launched this podcast, FounderQuest. So that means our birthday's coming up soon. Only three months.

Josh:               We're going to have to do something. What are we going to do for FounderQuest's birthday?

Starr:              I don't know. I'll send you all a piece of cake and we can eat it on air.

Josh:               Okay.

Starr:              Okay.

Josh:               Yeah, I like it.

Ben:                Sounds good.

Josh:               We had been talking about starting a podcast for a long time-

Ben:                Long time.

Josh:               -and procrastinating. That month... When we started FounderQuest it was like that was a ship it moment for us. We just got to do this and try it.

Ben:                I think that's why our February was kind of slim, because we were doing a lot of recording in February.

Starr:              Oh, yeah. Sure.

Josh:               We were.

Starr:              Sure, yeah. All that recording you guys did.

Ben:                And Starr was doing a lot of work in February for getting the site right, did the illustrations-

Josh:               Site, editing. Yeah. We had recorded a bunch of episodes up front, because we're conservative.

Starr:              It's so funny because seeing this I see patterns now that make total sense, but it's hard to see unless you have a list of everything that we've done. My pattern is just like nothing, nothing, nothing, nothing, huge thing, nothing, nothing, nothing, huge thing. It's kind of funny.

Ben:                Let's see. In April, we added deployment tracking for Laravel Forge. That was a customer request that came in, and Josh did some JavaScript work, which is always his favorite.

Josh:               Sorry. You're being facetious there?

Ben:                Yeah, just a little bit.

Josh:               I love JavaScript.

Ben:                And then we had our first conclave, our regular scheduled meeting where we all get together, our first conclave that had more than just the three of us. So we had a company wide meeting, all five people.

Starr:              That's a bit of a milestone. How do you think that went? I thought it was great seeing everybody. I wondered if we were boring them with some of the business stuff.

Ben:                No, I don't think so. I think they were fascinated, like-

Starr:              They're fascinated? Okay.

Ben:                -this how these guys actually work.

Josh:               I think everyone had a good time.

Starr:              Okay. That's cool. And I guess a day long meeting, not everybody's going to be having rapt attention at every moment.

Ben:                Right.

Josh:               Yeah. We're having our next one in January, right? With everyone?

Ben:                Yeah, but it's not going to be on the slopes. That's still something that we want to do but haven't done yet.

Josh:               It's on my to do list to look into that.

Starr:              I guess you probably can't book a magical ski chalet weekend with three weeks' notice in the Seattle area, or in the northwest.

Ben:                So moving right along. May. Coming up on summer. We did content security policy support, so now you can send in the CSP reports. We talked about that on an episode too, a while back.

Josh:               Mm-hmm (affirmative).

Ben:                We updated our PagerDuty integration, supported their V2, and then added Jira Cloud, because just having two Jiras wasn't enough. Now you had to have a third Jira.

Starr:              We got all the Jiras here at Honeybadger.

Ben:                So we added that, and Josh did some source map stuff, which is always fun.

Josh:               More JavaScript.

Starr:              I added Turbolinks.

Ben:                Yeah, that was your big thing for that.

Starr:              It was my big thing. Yeah, 2019, the year of Turbolinks. That's what I'm saying. Everybody should install Turbolinks. We previously had... we were using this pjax library, which was originally made by GitHub, but it turns out that that was not being supported anymore. So it was preventing us from upgrading jQuery, which we love. We're just all about jQuery at Honeybadger.

Josh:               We're 10X jQuery developers.

Starr:              Yeah, to upgrade the big JQ we had to switch to Turbolinks, and let me y'all, it's just turbo. I'm joking, but I honestly like Turbolinks.

Josh:               Turbolinks is awesome.

Starr:              It's pretty cool.

Ben:                Didn't you also switch us from Sprockets to Webpack during that time?

Starr:              Oh, I did. You're right.

Josh:               We went full modern at Honeybadger.

Starr:              We did. We're using Webpack to pack our jQuery code.

Ben:                So hot.

Starr:              We are. People say I'm too old to be a hipster or to be cool, but I disagree.

Ben:                Speaking of hot and on the cusp, we added IPv6 support in that month as well. We had a customer request that from us. I was like, "What? There's someone out there actually using IPv6?"

Starr:              There's one person.

Ben:                So that one person now is supported.

Starr:              You're welcome.

Ben:                That was kind of fun. July got some Ben Findley action in July. He launched our affiliate program, and that's been going well. I think we should probably open that up to everybody. Right now it's just invite only. It's this exclusive club. But I think-

Starr:              Is this an announcement? Is this announcement?

Ben:                Yes. I'm announcing it.

Starr:              Right here on the FounderQuest podcast, you're seeing history in the making everybody.

Josh:               If you want to be an affiliate, hit us up.

Starr:              Hit us up.

Ben:                And we'll hit you up with some cash.

Josh:               What is the deal?

Starr:              Can I be an affiliate?

Ben:                You bring customers in, and right now the deal is we do 20%. So whatever ongoing revenue that we get from that customer that you bring to us, you get 20% forever. They pay us, we pay you.

Starr:              Cool. Yeah. I'll think about embezzlement opportunities with that.

Josh:               We got to update the handbook again, Ben.

Starr:              The handbook doesn't say no embezzlement.

Josh:               We just keep...

Ben:                In July, we also had Breadcrumbs. So that was a lot of Kevin's work and Josh did some work on that as well. That was cool, allowing people to track some more data around their errors. And then my project for that time was Highcharts. I was getting frustrated with our perfectly adequate but sometimes not so great charting that we had, and I wanted to do some more fun things with charts. So I replaced our charting library with Highcharts, which is fantastic. That was a great choice, highly recommend it.

Starr:              I was really happy because that got rid of another old jQuery plugin. Slowly getting rid of them jQuery plugins.

Ben:                We are web-scale.

Starr:              We are.

Ben:                Speaking of web-scale, the next month we had a change of our plans. We're like, "You know what? Let's just throw caution to the wind, and let's just 10X our limits." So we gave people more uptime, more check ins, but not more error traffic.

Starr:              So what are we saying? We're saying that-

Ben:                We had some customers say that we were kind of stingy when it came to how many uptime checks we have on our plans.

Josh:               Compared to-

Ben:                Like Pingdom.

Josh:               Yeah, competitors that do just uptime checks. We were pretty low.

Ben:                Yeah, we were. So we said, "You know what? We do not want people to have that excuse as a reason why they should use any other uptime service." So we brought ourselves to parity with other vendors out there who were offering more uptime checks. So now you get your uptime checks and you get your exception monitoring and your cron monitoring all at one place, and all the checks you could possibly want. And that was great.

Josh:               Yeah, and I think that was win-win for everyone, because that doesn't really cost us a whole lot either. It's just a huge value add to Honeybadger that no one else... none of our competitors have that. It's like why not just give people a bunch?

Starr:              Yeah, because that's what we do here at Honeybadger.

Ben:                That did lead to some unintended consequences. We had a few scaling issues we had to iron out as a result of that decision. But it was good overall. We are stronger, faster, better now than we were. So that's good.

Starr:              Awesome. So in August... I don't know if this was August or July. I was too lazy to actually look it up, because literally nobody cares. I locked myself in a room with a bunch of data and tried to figure out what it meant. We've always had this sort of hard time linking our marketing efforts to direct results, because we do a blog post, it's really hard to say, okay, somebody came and read this blog post, and then ten days later they signed up for Honeybadger. I don't know. The customer life cycle doesn't work like that, because you don't always have a need for a new error tracking system. It's when you set up a new project, and that might happen in six months. And also developers really like to use those ad blocking, tracking blocking, things. So we're kind of at a disadvantage there.

Starr:              So what I did is I was like, okay, I'm going to take all of our revenue data and signups data, and then I'm going to go back and find everything we've ever done, with respect to marketing actions, stuff like that. Basically, I just made probably 100 different charts where it's like I looked at one chart on the same plot as the chart of new customers, or the chart of revenue, and tried to see if any of them lined up, which is my very advanced mathematical approach to things. I think we came up with some pretty interesting results from that, and as a result I've been working on getting more content to the blog, and getting us set up with a system that can produce a lot of blog content on a more sustainable basis than just me writing it.

Josh:               Yeah, which was one of the successful things we did.

Starr:              Yeah, that was one of the successful things.

Josh:               Yeah.

Starr:              [crosstalk] I'm sorry, what? I was just going to segue into the integrations.

Ben:                Yeah. I had kind of forgotten about this, but we redid the GitHub integration. We ditched the old OAuth way and did the new GitHub app way. We also replaced the old Slack. We were one of the original Slack integrations, way, way back in the day. They, since then, had come out with a new way to build apps. So we built our new Slack app and got customers starting to switch over, which turned out to be a really good thing to do. So that was August. I think it was October Slack sent out this email to all their customers who were still using the older integrations saying they're going away. So all of a sudden we got a bunch of people saying, "Oh, my goodness. Our Slack integration's going to die. What are you going to do?" I was like, "Oh, just go ahead and click the button over here, because we already upgraded it." That would've affected not just us, of course, but everyone that had an old integration on Slack like-

Starr:              It's a little bit of a jerk move on Slack's part.

Ben:                It was abrupt.

Starr:              It would've been nice for them to say, okay, instead of just your service is going away, they could say, "Your service is migrating to this new thing over here."

Ben:                There were a lot of people affected by that, other companies that provide integrations. So there were a lot of hustling going on that month to get new integrations built. But it was nice to be able to sit back and say, "Oh, yeah. We got this covered." We also added deployment tracking for Netlify. That was a weird one. I was like, "Static sites getting deployed, I guess we could track that too."

Starr:              Wait, I didn't even... Do we do that?

Ben:                We do that.

Starr:              I didn't know that. Today, I learned something.

Ben:                Yeah, so if you're a JAMstack fan. You can-

Starr:              Jam it. I love jam it.

Ben:                -deploy yourself to Netlify and you can still use Honeybadger to track that.

Starr:              Do y'all like that Bob Marley song, Jammin, because I just love it. I like to listen to it while I'm programming my JAMstack application.

Ben:                Can you hum a few bars?

Starr:              While making some homemade jam. No, you're not going to get me to sing on here. I'm sorry. No. That's not happening. So, vacations-

Josh:               Yeah, speaking of patterns, I'm noticing a pattern. I go away and it's JavaScript, JavaScript, JavaScript, and then I can't take it anymore and I got to just take a month off.

Starr:              That's fair. We're getting some real good insights from this.

Josh:               So yeah, in August we took some time off.

Ben:                Let's see. In September, Kevin built this awesome feature that we've had requested a number of times over the years, and that is to be able to link to existing tickets in GitHub or Trello or wherever. So forever we've had the ability to create tickets or issues in GitHub and the other integrations, but people wanted to be able to link to an existing one. So Kevin added that. That was cool. Let's see. Josh, I'm sure you have some comments about the next item, replacing-

Josh:               Oh, yeah. We replaced Intercom with Help Scout, partially, because we're still using Intercom for a few things, onboarding emails, which I'm in the process of replacing. That was something else.

Starr:              Can I ask you a question, Josh?

Josh:               Sure.

Starr:              I remember that the main impetus behind this was to make customer service, or to make the volume of our customer service requests a little bit more manageable.

Josh:               Yes.

Starr:              Because people can't just write us a one line chat, like, "Hey, what's up? This is broken." They have to write an email, which makes them think a little bit more. How do you think that's worked out?

Josh:               I think it's worked out great. I've felt a lot of reduced pressure, I don't know about you guys, from that flow versus the old chat based Intercom flow. We basically, we don't have any... well, we have... There's a little widget that lets you submit a support... basically send an email from our app. But it's not like the Intercom widget that everyone seems to have where you can just click it and chat with someone right away. I think that was a huge success. I feel a lot better with support lately. I know Ben still does a lot of tickets before we can ever get to them, so we should ask him how he feels about it.

Starr:              Yeah, we should.

Josh:               I have other ideas that I was planning to further optimize support. They're still kind of on the back burner right now, because, honestly, I haven't felt the need to spend time on that. If we start struggling again with support, I'll probably go back and implement some of those things or try them out. What do you think, Ben?

Ben:                I think it's been really good. I've backed off a little bit. I don't know if you've noticed I'm not taking all the tickets-

Josh:               Yeah, that was one of the things I was trying to fix too, was trying to figure out how we can have a more even distribution.

Ben:                It's been good.

Josh:               I'm hoping that... From my perception, support hasn't been as much of a strain, and I'm hoping that I haven't just dumped all the strain on you. I don't think that's the case. So, reduced all around.

Ben:                I got to play with some serverless stuff with the GitHub Student Developer Pack promotion that we launched, because all of the provisioning... not all of the, some of the provisioning steps happened in a serverless app outside of our main app. So that was kind of fun.

Starr:              Yeah, and you and I talked about that in a special episode of FounderQuest fireside chat. So it's just you and me.

Ben:                So that's been good. We had quite the influx of new signups during that promotion, as you might expect. That was a big bump, and that has continued. We have a continued-

Starr:              Oh, awesome.

Ben:                -continued drip of students coming in and trying out Honeybadger.

Starr:              Good for them. I believe the children are the future.

Ben:                And one reason we know they're still coming aside from watching our stats every day, which we don't actually do, is we had that onboarding survey that we launched. It was Ben's idea, I think. Ben Findley. That's turned out really well.

Josh:               I would nominate that, potentially, for the best thing we've done this year.

Starr:              Oh, really? We should describe what it is then for people.

Josh:               Basically, it's just a little... it's a text box that we pop... It's the first thing you see when you sign up for a new Honeybadger trial or account, and it just asks you why you're here, and who you are. You can introduce yourself. It's easy to skip, but a lot of people have been filling it out. And Starr, you mentioned how it's difficult based on our sign up flow or pipeline or whatever, that it's difficult to track people via more traditional methods from a blog post to trial to paid. That's difficult based on how our customers behave. This is one thing where I think we've been getting very useful feedback of where people are coming from, because they can just tell us. I've noticed a lot of things like, "Oh, I didn't realize we were getting sign ups from that effort over there." And it turns out people are actually coming from a lot of different places where we've put in effort and tried to...

Starr:              That's so great.

Ben:                Yeah, it's been really cool to see. We ask, "Why did you sign up for Honeybadger?" And it's been a great source of marketing copy as well, because we have people coming saying, "Oh, well, my hobby is not to watch server logs all day." So they're telling us the benefit they see-

Josh:               Copy paste.

Ben:                Exactly.

Starr:              So you're telling me... So we got five people, four of whom are sensibly developers, and the best thing we did this year is a text box?

Josh:               I would stand by that. Yes.

Starr:              All right. Okay.

Josh:               I mean, we've done some great things, but yes. We've wanted to know where people are coming from for a long time and know who they are, and we have a steady stream of that coming into our Slack channel now.

Starr:              Well, let's just get this going at scale. 2020, all text boxes.

Josh:               We're just a text box company now.

Starr:              The whole app is text boxes.

Josh:               That's our next product. It's a text box.

Starr:              It's amazing.

Josh:               [crosstalk] You just install in your app. It's a one liner code-

Starr:              Josh, Josh, people are going to steal this idea. You need to be quieter. Don't give away all our ideas. This is money.

Josh:               One of the sources where we've found that we're having some signups come from is this podcast, which is-

Starr:              Wow.

Josh:               -surprising to me. We didn't start it to get new customers, but some of them have been coming from listening to us.

Starr:              That's great. That's great.

Josh:               So thank you, everyone.

Starr:              Yeah, thank you, and you stragglers just get your butts in gear.

Ben:                So moving into the fall we added breadcrumbs for our Elixir customers. That's exciting. And we did some updates on the Ruby side for Lambda. We had a customer write a blog post and say, "Oh, watch out for this gotcha when you're using Honeybadger and Lambda, because the function ends and Honeybadger doesn't have a chance to send the error report, unless you use this one flag which says send it synchronously rather than asynchronous." I saw that blog post and I'm like, "No! No, I cannot have this. We cannot have gotchas and caveats, and things like that." So I insisted that we immediately rectify the situation and within a few weeks we had an update to our code that now detects when it's running in a Lambda environment and does the sensible thing, so that you don't have to know the special incantation to get the error to show up.

Josh:               That's awesome, by the way.

Starr:              It is awesome.

Josh:               It's great.

Starr:              I love this attitude too. Such a proper, just like a gentleman standing up for our customers.

Ben:                Exactly. Cannot have this badness-

Josh:               Shall not stand.

Starr:              It shall not stand.

Ben:                Starr, you launched a new blog design.

Starr:              I launched a new blog, yeah. That's one of those things where it took a while, because whenever I have to make websites and make... Well, I should back up and say the reason I launched a new blog design is because we decided we wanted to have third-party authors join us. And our existing blog design was just really kind of a basic Bootstrap, Bootstrappy CSS framework, look. I, personally, found it kind of hard to read, just with the typography. Also, it just kind of looked like an afterthought, and I really wanted to make our blog sort of a first class citizen, sort of its own destination. So I spent some time doing that. It took a little while, because my approach to design is basically just to try things over and over again until something looks kind of okay to me. I don't really have much design skill, per se. I just have-

Josh:               That's my software design process.

Starr:              Yeah. I have design persistence, so it's not always the fastest process, but it usually gets something. So yeah, go to the blog, check it out, and just see how beautiful it is. And once we get these new blog posts going, which I've got a bunch of new content ready for the new year that we're going to publish. It's just going to be beautiful, because all the new content's going to use the new style guides. It's just going to be amazing.

Josh:               It is beautiful, by the way, the blog design.

Starr:              Thank you. Thank you.

Josh:               I loved it.

Ben:                If the onboarding survey text box was our number one feature for the year, then I nominate this next item as our number two feature.

Starr:              I thought you were going to nominate the blog, Ben.

Ben:                Sorry. Sorry, it was awesome. But dark mode is more awesome.

Josh:               Are we going to have an award show, by the way? Or ceremony or something.

Ben:                Don't we just give each other awards?

Josh:               The Honeybadger version of the Dundies.

Starr:              There we go. Can I be like Chris Rock hosting it or something?

Josh:               Absolutely. So dark mode.

Ben:                So dark mode. That's something I wanted very badly for a long time, and we had an active issue in GitHub for at least a year. And Kevin knocked that one out of the park, I think. And timely enough, we had launched it in October, which is the best time, with Halloween, to launch a dark mode. I tell you what. I have, since upgrading to Catalina, I have the auto-switching from dark mode to light mode in my UI, and in the mornings when I'm doing work at 4 AM and I open up the Honeybadger and it's dark, I'm like, "Yes. This works." Love it.

Starr:              I feel like we should really lean into this, and instead of just having things that are visually dark, we should change all the micro texts to be like, "This is your error. You'll probably never fix it."

Ben:                "This is your death."

Starr:              Yeah. "This has happened 1000 times, and it will happened 1000 more."

Ben:                An interesting tidbit, though, that came out of that work. One thing that I did not anticipate but came up immediately after we launched dark mode was people who were in dark mode in their OS but did not want dark mode on the web page. So they asked us to be able to customize that and turn off the dark mode and have light mode. So we added that.

Starr:              Did they ask nicely?

Ben:                Very nicely.

Starr:              Okay. Well, that's good.

Ben:                All of our customers are very polite. At least 99% of our customers.

Starr:              Sometimes when you make design changes that people don't opt into, they can be like... not quite so nice. I'm glad they were nice to Kevin, because he deserves it.

Josh:               Well, in this case it was only people that already had dark mode enabled that opted into automatically. In their OS.

Ben:                Yeah. Exactly. There are a few that actually opt for dark mode, even when their OS is in light mode, so that's interesting.

Josh:               Right. So they can use the option-

Starr:              Is there a switcher button? I haven't seen it.

Ben:                Yes. Yes. It's in the user preferences.

Starr:              Okay. Oh, you have to go to user preferences. Okay.

Ben:                The default is it matches your OS settings, but you can override that either light or dark.

Starr:              Okay. I think we should have a... We should lean into this too and have a cute badger theme, just have lots of themes like a pink, cute badger.

Ben:                Oh, yeah.

Starr:              I'm saying cute badger because I know Josh doesn't like the idea. So I'm trying to zing him a little bit.

Josh:               I mean, if you want to do a cute badger, Starr, knock yourself out.

Starr:              Okay, thanks.

Josh:               I'm not going to hold you back.

Starr:              Okay, so as we mentioned, we added Discord integration, and then moving on to November, we're getting really close to now. We're getting down to the wire.

Ben:                Yeah, more JavaScript for Josh.

Starr:              JavaScript Breadcrumbs.

Ben:                Yeah, Josh worked on that.

Josh:               Yeah. That's currently in beta on... well, it's on a branch on our... No, actually it's merged on the master now on our JavaScript Honeybadger JS repo. But it is not out of beta yet, and that is because I do not want to support that in December. If you want to use that, though, you can use the latest beta of our honeybadger-js package, which includes Breadcrumbs, which will probably not have any problems. If it does you can report them on GitHub, and I will get to them in January.

Starr:              So the breadcrumbs in JavaScript are going to track things like the AJAX requests that were made prior to an error and stuff like that.

Josh:               UI clicks, page navigation changes.

Starr:              Yeah, that's huge. That's going to be huge for JavaScripters.

Josh:               Lots of state things. It's especially useful. Breadcrumbs, we launched it for backend initially, because we're kind of backend first. We focus on Ruby, usually exclusively. But Breadcrumbs is really a front end feature and it, I think, at first was basically created for JavaScript, just because it's so difficult to know what is actually causing an error in JavaScript. Most people, I think, would probably build it first for JavaScript, but we always focus on our favorite customers first, which is Ruby.

Starr:              You're able to-

Josh:               Sorry JavaScript. Am I really just like...

Starr:              JavaScript has eaten the world.

Josh:               Feel like I'm digging a hole here.

Starr:              You're digging a hole. It's all right.

Josh:               I mean, we just basically said jQuery is our favorite front end framework.

Starr:              You know, you got to believe in something.

Ben:                It'll come back in style.

Starr:              It will.

Josh:               Yeah.

Starr:              And the Breadcrumbs are actually replacing my own janky half implemented version of Breadcrumbs that I just had running on our web app, like JavaScript, right? We had this really weird error where jQuery was taking the results of some AJAX requests and executing it as JavaScript, which most of the time it should not do that. But that error in JavaScript gives you no visibility. So I implemented my own hacky, bad version of breadcrumbs to log every AJAX request and the results of it, so I could see what "code" was being executed, and it turned out that jQuery for some reason thought that the NGINX error pages, like the ones that we serve when somebody gets throttled, it thought those were JavaScript and that it needed to execute.

Starr:              So that's the sort of things you'll be able to fix, or you'll be able to debug in... like with legit Breadcrumbs. You'll be able to do it ten times faster than me, because it'll just be there.

Josh:               It might just be apparent that that was the issue.

Starr:              Yeah, it'll just be obvious and you won't have to think about it-

Josh:               Right. It's like versus-

Ben:                Just right there on your error page at Honeybadger. Boom. This is what caused your problem.

Starr:              Yes. Exactly. I literally had to patch jQuery, I think, to make this work, and you all won't have to do that. You can use your virgin, pristine versions of jQuery.

Josh:               Why are we going to all this effort? Not because we love JavaScript, but we love our customers.

Starr:              We love all of you.

Josh:               We will put ourselves through this hell for you.

Ben:                And to give those JavaScript customers additional help, as we mentioned before, we do have the source map upload as part of GitHub Actions now. So if you're using GitHub Actions, you can compile your assets. You can pack everything using your packer of choice, because there's only like 20 of them now, and send them to us so you can get that juicy and full flavored source map in your Honeybadger display, so that you don't have to worry about minify JavaScript when you're trying to figure out where the heck that error came from.

Josh:               I should also mention... I don't know if this was on the list, but in addition to jQuery, we also support React and Vue now. If you're not a 10X jQuery developer, we do support React.

Starr:              I feel like this show has veered from what lessons did we learn, from what patterns we're noticing from all the stuff we've done. Now we're just on QVC selling knives or something. It's like, "This knife will chop all of your parsley into little bitty bits. Hey, Susan, have you ever seen a knife slice a tomato without putting any pressure on it? Let's show the audience."

Ben:                To cap it all off we had one of our two hires over the past year actually make it to a full year of working at Honeybadger. So we celebrated Ben Findley's one year anniversary in November, and he is delighted to be with us still, so we're doing something right. And we're delighted that he is with us. He's been great.

Josh:               Congrats, Ben.

Starr:              I'm a big Findley fan. Yeah, I have to say. Okay. So we made it. We're not going to do December, I guess, because it's not on our list.

Ben:                We're taking vacations in December. We're not doing anything.

Starr:              Oh, yeah.

Ben:                We're doing our side projects in December. We're planning stuff. Although, we've done some things, minor things here and there. The ship is still running. We're still steering.

Josh:               I've continued to work on source maps in December.

Ben:                Oh, you say that with that 10000 foot stare.

Josh:               I think I'm done for the year, though. Fingers crossed.

Starr:              I'm sorry. Here's my suggestion. Whatever next technical hire we do, they just do source maps. They don't do anything else.

Josh:               Oh, my gosh.

Starr:              Merry Christmas, Josh.

Ben:                So we'll get together in January, then we'll be talking about what we're going to be talking about in next year's recap episode, right? Because we're going to be planning out our year.

Josh:               Well, yeah. At this rate, if we keep... I don't know if we're going to hire any other developers next year, but if we do I don't know that we're going to be able to do a full recap.

Ben:                Yeah.

Starr:              Yeah. So question for y'all. It is in real time, like calendar time, not show release time, we're about two weeks out from Christmas. Are we going to record a show next week? What do y'all want to do?

Ben:                Sure. Let's record a show next week.

Starr:              I'm fine with that. Are you going to be around, Josh?

Josh:               Yeah, I will be here.

Starr:              Okay. That sounds great, and then... I don't know when that would be released, if that would be released after the new year or what?

Ben:                That would be right after Christmas if we decide to have a Christmas release.

Josh:               Yeah, I think it would.

Ben:                Yeah.

Starr:              Okay. That sounds good.

Josh:               The 27th?

Ben:                Mm-hmm (affirmative).

Starr:              Maybe we can do a favorite things show or something. I've been wanting to do that for a while. We can just talk about what we got for Christmas.

Josh:               Yeah, there you go.

Ben:                It wouldn't have been Christmas yet.

Josh:               Oh, it'll be like the... Yeah, it'll be-

Starr:              Oh. Oh, my God. Yes. I'm sorry.

Josh:               We could talk about what we want for Christmas.

Starr:              Time is so confusing. We can just pretend that we got what we wanted to get.

Josh:               Well, like you said... Yeah, if we're going to continue that, yeah we can...

Ben:                We'll figure it out.

Josh:               To be fair, no one will actually know the truth.

Starr:              That's true. That's very true. Well, here's to that. Here's to nobody knowing the truth ever. And this has been FounderQuest. This has been FounderQuest. If you want to write for our blog, we talked a little bit about that, go to our blog and there's a little link in the top nav right next to the RSS link. And if you want to give us a nice review, please go ahead and do that. We love those. Yeah, I think that's it. So I will see you guys later, unless you have something else. Anybody have any final last words?

Josh:               I love JavaScript.

Starr:              There you go. That's a good one. Sure.

Ben:                That's beautiful. Brought a tear to my eye.

Episode source