project and window management in Atom #1676
Description
Problem
Right now, the git and GitHub panes only work with a single project/repo at a time. If a user needs to work in multiple repositories, they can either:
a) have each repository in a separate window, or
b) have files from different repositories open in the same window. Whatever file is active / most recently clicked on, the git/GitHub tabs will show data from that project only. Since there is no visual indication that the git/GitHub tabs are refreshing or changing data, this could be a confusing experience if users don't understand what's going on.
Some of the future functionality we want to build into the git/GitHub package could add additional layers of complexity to our navigation. It would be good to get some information now about the scope of this problem and how many users it's impacting.
Open Questions
- How do users think about project management and window management in Atom? What cognitive models are they using?
- How common is it for users to work with multiple repositories at the same time?
- For users who work in multiple repositories, do they use a separate window for each project?
- If they don't use a separate window for each project, do they understand that the git/Github tabs are going to change data when they switch between projects?
- Are there other use cases we're not considering, such as users who have a git repository at the root of their home directory? How common are these use cases?
- Do we want to build support for multiple projects/repos in the same window for the git/GitHub tabs? Or is what we have now "good enough" for most use cases?
Data We Can Gather To Answer Those Questions
Metrics
- Instrument how many projects exist within a newly opened Atom window.
- Instrument when additional projects are opened in an Atom window.
User Research
- Determine the population of users we want to include in this research. (Open source maintainers? Students? Folks working on closed source proprietary software? Others I'm not thinking of?)
- Write a script with some open ended questions asking them to walk us through their workflows