An Update on the Status of Homebridge

The Begining

Nearing the close of 2017 with an increasing number of Github issues most of which were not in fact isssues but mis-configurations by the user, we recognized the fact that we were not the most user friendly software. To deal with the increasing number of issues on Github several users voluntered and so the Colloborators chat was born. This group of people while may not be pushing a lot into the codebase became the go to support team. From triaging issues on Slack to Github issues, to updating and maintaining install documentation. This lead to many discusssions behind the scenes about what we could do to improve the user experience. We started experimenting with Github Teams, NPM organizations and different Github solutions. Eventially we determined that we all saw a future where we have a homebridge website, an official logo, and a verified plugin program. We started working on all this behind the scenes but before we could go live with it life took over. Most of us pushed these ideas to the back of our heads. Before we all had forgotten we had gotten the homebridge website live, had a logo and secured the Homebridge username and NPM organization.

The Present

During Q1 of 2020, @donavanbaker reached out and started getting the ball rolling again regarding this huge transformation. We quickly transfered the Github projects over to the Homebridge Github team and then started the switch over to Discord as our support platform. The biggest reason for the switch over to Discord was the fact that it is a more managed platform than Slack but message history. Message History was the single biggest reason we switched. Slack limits your free message history to 10k messaged. This would have been ok if only messages in channels were not accessible but all the private messages and groups chats historys were unaccessible. As a free OSS, Slack’s pricing is absurd and nontheless we aren’t making any money so a free platform is better. So we switched to Discord were we set up individual channels for plugins and even created a role for users who develop plugins. It gave users a way to distinguish from whom they were recieving help from.

Next Up - Verified Plugins

The next thing we publicized was our Plugin verification program. The benefits of this is not only we have someone peer reviewing plugins before they get published which should decrease the number of bugs in them but it also allows us to imposes a standardized way of being configured by @oznu’s Config UI X. To see the full benefits of the verified plugin program go to the official page

Homebridge V1.0.0

Homebridge V1.0.0 was a converion over to TypeScript and a cleaning out the codebase. @Superg took over the bulk of these changes. This release was a culmination of so many changes it is just too much for me to reitereate here. The entire commit list of stuff done can be found here in the Changelog.

Post Mortem

Before the official release of V1.0.0 we ran a beta and requested Plugin Developers check to make sure their plugins were still compatible and working. During this beta we had almost 0 issues and anything that did come up was quickly sorted out. After the official release of V1.0.0 we saw a huge rise of Github issues. The biggest issue we were seeing was related to networking to figure out the root issue of this a new mdns diagnostic tool along side a rewrite of the bonjour library we are using. It seems that V1.0.0 did not necessarily introduce new errors but brought out the ones hidding in our codebase before the update. These are still in the works of being fixed to date but should be fixed with in a month.

New Documentation

Throughout this whole time we have also been going through and updating the documentation for homebridge including a new website for our documentation for plugin developers. This will soon be live but is still being worked on.

Written on May 2, 2020