Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Add metric to help assess awareness of init script customizability #95
Description of the Change
Atom's hackability comes in multiple forms, and the init script (i.e.,
Equipped with this information, we'll be able to assess the effectiveness of our efforts to increase the awareness and approachability of init script customization. For example, does updating the welcome guide's description of the init script increase or decrease the percentage of users that customize their init script?
Implementation-wise, this pull request watches for the user's init script to get opened in a TextEditor in Atom. Any time that TextEditor is saved, we record an event indicating that the user has changed their init script.
Yeah, it's going to be difficult to get a highly accurate idea of whether they're actually using using their customizations. I think it's enough to know that they have an init.js file in their Atom folder because it shows they at least went that far. I also like the idea of logging when the user saves a change to their init file in Atom.
Would it make sense to have two data points, one for merely having an init.js file and one for interacting with it in the editor? I'm thinking of the case of a user who has an existing init.js file stored in a .dotfiles repo that they've customized a while back and don't actively make new edits to it.
annthurium left a comment
Looks great, @jasonrudolph! Thanks for tackling this.
If we want to know if users are using custom commands, we could track that as well. We are already sending an event for each command. If we can generate a list of known, non-custom commands, we can filter the custom ones from that list on the back end. Something to discuss with telliott27, anyway.
maxbrunsfeld left a comment
This looks great!
As a possible future enhancement, we could report the number of commands that are defined every time an init script is loaded. I think this would require adding three new event APIs to core:
If we did that, I think it'd even be possible to report a metric every time the user executes a command that was defined in their init script.
@daviwil: I think we'd see that all users have an init script present on disk. The first time you run Atom, it creates your Atom home directory and populates it with a handful of default files, including