I'm delighted to announce a change to Honeybadger that I've wanted to have for several years: Accounts. Now, it might be a head-scratcher for you that I would be excited about accounts, but it's true — I'm excited about launching a feature that is one of the more basic parts of a typical SaaS app.
Just in case you're thinking, "but you already have accounts — I'm logged in to mine right now!", then let me digress a bit. Yes, we already had what you can call a user account... the thing you log in to with your email address and password. This new thing that I'm calling accounts, though, is at an organizational level above users, or, in other words, a way to group of set of users together. In Ruby on Rails' terms, an Account has many Users. So, if you were just starting with Honeybadger as, say, a small software company, you'd create an account for your company and your co-workers would join that company account, each with their own individual login.
Ok, back from the digression: To provide some insight as to why this is a big deal for me, we need to go back to the earliest days of Honeybadger... In 2012, when we originally launched Honeybadger, Starr, Josh, and I envisioned that most of our customers would be freelancers, moving from client to client and from project to project on a regular basis. As they moved between clients and projects, they'd invite other developers to their projects, and then those developers would become paying customers as they took over projects, etc. For that scenario, we thought it made sense for every user to be considered a potential subscriber, even if they got started with Honeybadger as a free collaborator for an existing subscriber.
That approach actually worked well for us in the early days, as we did see that kind of referral-based growth happen quite a bit. However, it also eventually became apparent that it made more sense to separate the subscription from the user, and instead associate the subscription with an account (or organization, if you prefer the GitHub nomenclature). By the time we had that realization, though, it was also clear that making that change would be fairly disruptive (from a code and database point of view), so we decided to put it off. :) Time and again we'd come back to it, and time and again we'd decide we weren't ready to spend the time needed to make that change. And that's how it remained, until this year, when I finally decided that we shouldn't put it off any longer. I mean, what better year to change the deepest parts of the billing and authentication system for your app, than 2020, right? ;) So that's how we got to where we are — now let's look at what this change means to you.
Instead of associating the billing information and project ownership with a particular user, we will now connect that stuff to an account, which is managed by users. This will clear up a lot of confusion we've caused by having each user having their own subscription information, even if they were just a collaborator on someone else's subscription. Account owners and admins will be able to do all account administration, including updating billing information and making changes to users, projects, and teams. Also, when the person who set up the Honeybadger account leaves your company, you no longer have to make a support request to get the account transferred — simply make another account user an owner, and you can handle the change yourself.
Since this mostly an administrative thing, the impacts on your day-to-day usage of the app are relatively minor. You can still jump directly to an error from a Slack message or an email, get the critical info about an error in one glance, and so on. However, you will see some changes in the UI.
The first thing you'll likely notice is that we now show your name and the account you are currently viewing in the navigation bar. This will help you know what your context in the app is, as we now limit the project list (the default view) to only those projects that belong to the account you're currently viewing. If you want to view projects from another account, you'll need to use the new account switcher in the drop-down navigation.
We're hoping this separation of projects will be especially useful for agency employees or freelancers who are working in projects for multiple clients, or for those users who have some personal projects separate from their work projects.
Speaking of which, our goal is still to make Honeybadger easy to spread, like in the early days. We still get a lot of our growth from our current customers referring new customers to us, for which we're very grateful! We think the new account approach is great for this... if you're a freelancer or an agency wanting to onboard a new client, or if you're using Honeybadger for work and want to have your own private projects, you can easily create a new account via the account switcher and quickly get to work in a new context. You don't even have to pick a plan right away — we will default the new account to our generous Basic plan, which is completely free.
We've also moved some settings from the User Settings page, like the SAML configuration, to the Account Settings page. Settings that still apply to a single user, like personal GitHub account connections, will remain on the User Settings page. Other than those minor things, not much of the UI has changed.
A shout-out to our Heroku addon customers
If you use Honeybadger as a Heroku addon, you'll notice some more significant changes. First, you'll be able to switch back and forth between Honeybadger accounts provisioned by Heroku using the same account switcher, once you've logged in to that Honeybadger account from Heroku SSO (either via the Heroku dashboard or via the CLI:
heroku addons:open honeybadger). And logging in via SSO will create your own personal notification channels (Email, SMS, and in-browser notifications) separate from everyone else on the Heroku team, just like with Honeybadger accounts created at our site. When you switch to a Honeybadger account that was provisioned by Heroku, you'll be bounced to Heroku SSO before switching to the account, to ensure you still have access to the addon. We have further changes to come for users of our Heroku, now that we have this major change in place.
On that note, this switch unblocks some other changes we've been wanting to make to the app for some time, so stay tuned for more exciting news in 2021! Until then, if you have any suggestions about what we can change to make Honeybadger even more awesome for you, please get in touch.