Introducing Brackets Health Report

Article by: Peter Flynn

Introducing Brackets Health Report

The Brackets community has grown by leaps and bounds over the past year, especially after our 1.0 milestone last fall. Earlier in the development of Brackets we felt more confident guiding the project based on direct user feedback and our own intuition. But as the project has grown, we need a better picture of how people are using Brackets so we can continue making it even more awesome. Rather than relying on guesswork, we think the best approach now is to gather real usage data.

Media discussions often focus on gathering data for the purpose of selling ads, but it can also be immensely valuable simply for making your app better. Knowing how people use an app helps decide what to build, prioritize when to build it, spot usability/discoverability problems, and find lurking bugs and reliability issues. Without those insights, we – and our community of extension authors – are flying half blind.

So to serve all our users better, Brackets 1.3 will introduce a new Health Report feature that we’ll use to guide future development. But Brackets isn’t just any app – it’s open-source, and for a developer tool we realize privacy must be the absolute #1 priority. The Health Report will be:

  • Anonymous – the data sent will never include your identity or private information like filenames.
  • Transparent – the code is open-source, and you can view the data Brackets is sending at any time. We began soliciting feedback with an open proposal over 7 months ago, and we’ll continue the conversation by sharing what we learn from the data in the future.
  • Minimal – every piece of information has a purpose directly tied to making Brackets better.
  • Optional – you can always opt out of the Brackets Health Report. But for all the reasons above, we urge you not to!

On the topic of transparency, we want to start by sharing some of the more limited information we already have available without Health Report. This Google spreadsheet tells the story of how Brackets grew from an early preview in the spring of 2012 into a vibrant, thriving project with nearly 600 extensions, 120 themes, and over 250 contributors to the core code.  Be sure to check out the tabs at the bottom for visualizations like the ones shown below.

We scrape together this information from a variety of sources today, but all of them have significant limitations:

Downloads – we can just count how many times people clicked the Download links on brackets.io.  This may undercount Linux, where some users get Brackets from unofficial sources like Linux app repositories – we hope Health Report will give a more accurate picture of how many Linux users love Brackets!

Br downloads per week

Users per day – we can get a rough picture of how many people have used Brackets in a given day by counting how many hits the update JSON feed gets, since Brackets checks for updates exactly every 24 hours.  But this is impossible to aggregate into measures like weekly or monthly active usage; again, Health Report will give a more accurate picture.

Br users per day

Extensions & themes – the Brackets extension registry makes it easy to see how many extensions are currently available.

Br extensions available

Extension downloads – the extension registry knows how many times each extension package has been downloaded. But this is very rough, since it lumps together new “installs” of an extension with upgrades of an existing extension; extensions that are updated more frequently will have much higher download totals. Health Report will show how many users installed an extension and kept it installed. With more reliable data, we can begin exposing download counts in the Extensions Manager UI.

Contributions to core code – git history makes it easy to see how many pull requests we’ve merged from community contributors.

The initial version of the Health Report will only add a few new pieces of key data. It works by sending a short report once every 24 hours, containing:

  • A randomly-generated UUID
  • The current Brackets version
  • OS version and locale
  • List of installed extensions (only those that are already published in the extension registry, so non-public or not-yet-released extensions are kept private)

That last item highlights an important point: the Health Report isn’t just for core Brackets developers – we also want this data to help extension authors. This initial version of the Health Report will give authors a much clearer picture of how many people benefit from their extensions.

In the future, we’d like to carefully expand the Health Report to include other useful information. We’ll be sure to announce any changes ahead of time, and we’d love to hear feedback on what other information would be valuable for you to see.

Because we’re building this feature for the benefit of all Brackets community members, please let us know your thoughts by commenting below.

Leave a Reply

Your email address will not be published. Required fields are marked *