Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Instrument allll the things #1591

Closed
Closed

Description

@annthurium

Here are some things we could instrument to learn more about how users are interacting with the GitHub package:

  • Staging. IMO this is one killer feature of using git inside Atom vs on the command line. Are users doing partial staging of hunks and lines with the context menu? With the buttons at the top of the diff view? With keyboard shortcuts? Or are they just smashing the "Stage All" and "Unstage All" buttons?

  • Measure system latency of Git operations. How long do these things actually take in the real world?

I'm sure there are more things. What user behaviors would you like to understand better?

Activity

  1. the-j0k3r commented on Jul 19, 2018

    @the-j0k3r

    Sometimes also staging/unstaging selections (lines?)

    I do a mix and match of some of the above depends what circumstances call for at that time, rarely actually hammer the stage/unstage all buttons.

    What does this instrument mean? Collect usage data?

  2. smashwilson commented on Jul 19, 2018

    @smashwilson
    Contributor

    Is there anything meaningful we could measure about the graphical merge conflict resolution widgets? Something like:

    • How much is the graphical conflict resolution being used?
      • Count of conflicting changes resolved with the editor decorations, maybe as a percentage of times that merge conflicts are observed.
      • How many people have disabled it altogether in their package settings?
      • How often do people dismiss the conflict decorations to resolve them manually?

    Also: how about GPG signed commits?

    • How many GPG-signed commits are created with our package?
      • How many of those successfully use the Atom prompt helper?

    Maybe some metrics related to remote protocols and authentication?

    • What's the breakdown of protocols used by git remotes - https, ssh, git, ... ?
    • How many remote operations trigger the in-Atom prompt helper?

    What does this instrument mean? Collect usage data?

    Yah - thanks to a ton of work from @annthurium, we have a way to collect telemetry from Atom usage from those who consent on the welcome pane and send it to our internal GitHub metrics pipeline (instead of Google Analytics). Our goal is to have data we can work with to make decisions about what work to prioritize, identify discoverability gaps in our UX, and things like that.

  3. the-j0k3r commented on Jul 19, 2018

    @the-j0k3r

    Also: how about GPG signed commits?

    How many GPG-signed commits are created with our package?

    Mine all

      How many of those successfully use the Atom prompt helper?
    

    none

  4. annthurium commented on Aug 16, 2018

    @annthurium
    Author

    oh, I can't believe I didn't add think of this initially, but we should instrument all the entry points for the GitHub package. (Keyboard shortcuts, menus, clicking on the tile in the status bar).

  5. kuychaco commented on Sep 8, 2018

    @kuychaco
    Contributor

    Another candidate for instrumenting: undoing the last commit

  6. kuychaco commented on Sep 8, 2018

    @kuychaco
    Contributor

    Ooh, and discarding/undoing discards

  7. dwelle commented on Sep 8, 2018

    @dwelle

    @kuychaco but somehow figure out how to differentiate deliberate undoing discards because I've managed to click on it by mistake at least zillion times now, while I've used it deliberately just a couple of times.

    Can't think of how that could be measured, tho, since there's no redo discard (which would come very handy btw).

  8. annthurium commented on Sep 25, 2018

    @annthurium
    Author

    We've instrumented a bunch of things. There's always going to be more. But I think we can close this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions