MOAR UX docs updates

This commit is contained in:
Nicole Harris 2023-08-21 21:34:05 +01:00
parent 7915302794
commit b2d3712723
7 changed files with 196 additions and 179 deletions

View File

@ -4,16 +4,14 @@
We want to understand users' background, their cultural environment, and how they experience the world, so that we can find better ways to serve them.
[Skip to recommendations](#recommendations)
## Research
To develop our understanding about pip's users, we published a "Who uses pip?" survey that asked users about:
* Their location in the world
* Their spoken language
* If they identified as members of an underrepresented group in the Python community
* Their disabilities and if those disabilities affected their usage of pip
- Their location in the world
- Their spoken language
- If they identified as members of an underrepresented group in the Python community
- Their disabilities and if those disabilities affected their usage of pip
## Results
@ -21,7 +19,7 @@ To develop our understanding about pip's users, we published a "Who uses pip?" s
Approx. 60% did not identify as members of an underrepresented group. The majority of participants who did identify as underrepresented did so for gender reasons.
The majority of participants (94%) responded that they did not have a disability. Of those that did have a disability, the majority were cognitive disabilities (Attention Deficit Hyperactivity Disorder (ADHD), Autism, Aspergers, Dyslexia) or a hearing disability.
The majority of participants (94%) responded that they did not have a disability. Of those that did have a disability, the majority were cognitive disabilities (Attention Deficit Hyperactivity Disorder aka ADHD, Autism, Aspergers, Dyslexia) or a hearing disability.
### Participant Demographics
@ -33,79 +31,79 @@ The majority of participants came from North America and Western Europe. Partici
Fig. X: Global distribution of pip research participants.
|Country Name|Number of participants|
|--- |--- |
|United States of America|42|
|United Kingdom|17|
|France|12|
|Germany|11|
|Canada|10|
|Netherlands|8|
|Spain|6|
|Switzerland|5|
|Nigeria|4|
|India|4|
|Czech Republic|4|
|Argentina|4|
|Sweden|3|
|Australia|3|
|Ukraine|2|
|Taiwan|2|
|Russia|2|
|Greece|2|
|Colombia|2|
|Chile|2|
|Brazil|2|
|Belgium|2|
|Uganda|1|
|Turkey|1|
|Singapore|1|
|Serbia|1|
|Norway|1|
|Luxembourg|1|
|Japan|1|
|Italy|1|
|Israel|1|
|Ireland|1|
|Hungary|1|
|Ghana|1|
|Finland|1|
|Bulgaria|1|
|Austria|1|
|Total|164|
| Country Name | Number of participants |
| ------------------------ | ---------------------- |
| United States of America | 42 |
| United Kingdom | 17 |
| France | 12 |
| Germany | 11 |
| Canada | 10 |
| Netherlands | 8 |
| Spain | 6 |
| Switzerland | 5 |
| Nigeria | 4 |
| India | 4 |
| Czech Republic | 4 |
| Argentina | 4 |
| Sweden | 3 |
| Australia | 3 |
| Ukraine | 2 |
| Taiwan | 2 |
| Russia | 2 |
| Greece | 2 |
| Colombia | 2 |
| Chile | 2 |
| Brazil | 2 |
| Belgium | 2 |
| Uganda | 1 |
| Turkey | 1 |
| Singapore | 1 |
| Serbia | 1 |
| Norway | 1 |
| Luxembourg | 1 |
| Japan | 1 |
| Italy | 1 |
| Israel | 1 |
| Ireland | 1 |
| Hungary | 1 |
| Ghana | 1 |
| Finland | 1 |
| Bulgaria | 1 |
| Austria | 1 |
| Total | 164 |
### Participant's First Language
Even though the research was carried out mainly in English, 51% of participants spoke languages other than English.
|What spoken language do you feel is your first?|Number of participants|
|--- |--- |
|English|79|
|French|18|
|Spanish|12|
|German|11|
|Russian|5|
|Czech|4|
|Italian|4|
|Portuguese|3|
|Dutch|3|
|Ukrainian|2|
|Swedish|2|
|Greek|2|
|Catalan|2|
|Mandarin|2|
|Hungarian|2|
|Bengali|1|
|Luxembourgish|1|
|Bulgarian|1|
|Romanian|1|
|Chinese|1|
|Norwegian|1|
|Serbian|1|
|Polish|1|
|Hebrew|1|
|Indonesian|1|
|Malayalam|1|
| What spoken language do you feel is your first? | Number of participants |
| ----------------------------------------------- | ---------------------- |
| English | 79 |
| French | 18 |
| Spanish | 12 |
| German | 11 |
| Russian | 5 |
| Czech | 4 |
| Italian | 4 |
| Portuguese | 3 |
| Dutch | 3 |
| Ukrainian | 2 |
| Swedish | 2 |
| Greek | 2 |
| Catalan | 2 |
| Mandarin | 2 |
| Hungarian | 2 |
| Bengali | 1 |
| Luxembourgish | 1 |
| Bulgarian | 1 |
| Romanian | 1 |
| Chinese | 1 |
| Norwegian | 1 |
| Serbian | 1 |
| Polish | 1 |
| Hebrew | 1 |
| Indonesian | 1 |
| Malayalam | 1 |
NB: English includes British English and American English. Some participants gave more than one answer, their first answer is included here.
@ -119,15 +117,15 @@ The wording of this question was deliberately broad to discover participants' un
Of the 22.6% that responded "Yes" the answers were classified as follows :
|Underrepresentation category|Count|
|--- |--- |
|Gender|9|
|Cultural|3|
|Age|3|
|Immigration status|2|
|Neurodiversity|3|
|Other|6|
|No answer|8|
| Underrepresentation category | Count |
| ---------------------------- | ----- |
| Gender | 9 |
| Cultural | 3 |
| Age | 3 |
| Immigration status | 2 |
| Neurodiversity | 3 |
| Other | 6 |
| No answer | 8 |
NB: This question was included after the survey was published. Total participants was 106, as opposed to all other questions which had 164.
@ -142,12 +140,15 @@ Here is a sample of noteworthy comments from these different groups:
###### Related to Gender
> "(I am) LGBTQ/IA+" - Participant 242608909
> "I am a 25 year old female Colombian developer." - Participant 242611698
> "Female, 39, no computer science background whatsoever, self taught." - Participant 242614039
###### Related to Culture
> "The hispanic community is quite underrepresented in the web in general" - Participant 242599212
> "I am a 1st generation Dominican-American. My parents are from the Dominican Republic." - Participant 242769361
###### Related to Age
@ -178,11 +179,11 @@ The majority of participants (91%) responded that they did not have a disability
#### How many participants identified as having a disability?
|Do you self-identify as someone who has a disability?|Number of responses|
|--- |--- |
|No|150|
|Yes|14|
|Grand Total|164|
| Do you self-identify as someone who has a disability? | Number of responses |
| ----------------------------------------------------- | ------------------- |
| No | 150 |
| Yes | 14 |
| Grand Total | 164 |
#### Types of disabilities mentioned by participants
@ -218,19 +219,19 @@ The term "assistive technology" (AT) is used to describe products or systems tha
The majority of participants (94%) said that they have never used assistive technology.
|Do you use assistive technology (AT) when using computers?|Number of responses|
|--- |--- |
|No, I have never used it|128|
|I only use it when needed|3|
|I use it everyday|1|
|I have used it in the past, but not anymore|4|
| Do you use assistive technology (AT) when using computers? | Number of responses |
| ---------------------------------------------------------- | ------------------- |
| No, I have never used it | 128 |
| I only use it when needed | 3 |
| I use it everyday | 1 |
| I have used it in the past, but not anymore | 4 |
Of the eight participants who have used assistive technology, one participant uses assistive technology every day with:
* Text-to-speech output as "text to speech allow(s) me to listen and learn when my eyes get strained."
* Speech-to-text input as they like using their "tablet and makes typing easier"
* On-screen keyboards
* Input switches/touch screens
- Text-to-speech output as "text to speech allow(s) me to listen and learn when my eyes get strained."
- Speech-to-text input as they like using their "tablet and makes typing easier"
- On-screen keyboards
- Input switches/touch screens
A further seven participants use assistive technology only as needed:
@ -250,7 +251,7 @@ Participants use assistive technology across the three most popular desktop oper
We asked participants how well their assistive technologies worked when they use pip. All participants using assistive technology with pip said it worked well for them.
We received some feedback about screen readers not coping well with long output, with users experiencing difficulties accessing content at the top of the current terminal window. Therefore, commands or actions (e.g. pip help, pip install, failed builds) that generate a lot of content can be a problem for screenreader users.
We received some feedback about screen readers not coping well with long output, with users experiencing difficulties accessing content at the top of the current terminal window. Therefore, commands or actions (e.g. pip help, pip install, failed builds) that generate a lot of content can be a problem for screenreader users.
## Recommendations
@ -266,8 +267,8 @@ Pip's operation is generally very good for users with disabilities. Being a comm
To better support pip's users with disabilities, the pip team should:
* Ensure any future video or audio support materials are provided with captions
* Improve pip's output (see below)
- Ensure any future video or audio support materials are provided with captions
- Improve pip's output (see below)
### Improving pip output
@ -275,21 +276,20 @@ Pip's output is currently too verbose, generating an unhelpful amount of output
Pip's output should be improved by:
* Retaining only the information that is important to users in their current moment (e.g. at install of a package)
* Removing unimportant information from the terminal output. The information can still be logged to the log files if needed.
* Reducing the number of verbosity levels to three. Right now there are seven levels of verbosity, which is overwhelming and in no way useful. We recommend:
* Verbosity 0 - shows only what packages are to be installed, notifications identified as important about the operation, any errors and the final outcome
* Verbosity 1 - shows more detail about the packages being installed
* Verbosity 2 - shows full information which is also logged to logfiles
- Retaining only the information that is important to users in their current moment (e.g. at install of a package)
- Removing unimportant information from the terminal output. The information can still be logged to the log files if needed.
- Reducing the number of verbosity levels to three. Right now there are seven levels of verbosity, which is overwhelming and in no way useful. We recommend:
- Verbosity 0 - shows only what packages are to be installed, notifications identified as important about the operation, any errors and the final outcome
- Verbosity 1 - shows more detail about the packages being installed
- Verbosity 2 - shows full information which is also logged to logfiles
## Further reading
Designing for people with disabilities:
* [An Introduction to inclusive design](https://www.nomensa.com/blog/2011/introduction-inclusive-design)
* [How ADHD and dyslexia teach you to do better UX design](https://themasters.io/blog/posts/how-adhd-dyslexia-teach-better-ux-design)
* [Improve User Experience by Designing with Cognitive Differences in Mind](https://noti.st/elizabethschafer/fg3BR4)
* [Designing accessible software - guidelines for different disabilities](https://ukhomeoffice.github.io/accessibility-posters/)
* [Designing for Children with ADHD: The Search for Guidelines for Non-Experts](https://uxpamagazine.org/designing_children_adhd/) (written for children however applicable generally)
* [Designing for dyslexia](https://uxplanet.org/designing-for-dyslexia-6d12e8c41cd7)
- [An Introduction to inclusive design](https://www.nomensa.com/blog/2011/introduction-inclusive-design)
- [How ADHD and dyslexia teach you to do better UX design](https://themasters.io/blog/posts/how-adhd-dyslexia-teach-better-ux-design)
- [Improve User Experience by Designing with Cognitive Differences in Mind](https://noti.st/elizabethschafer/fg3BR4)
- [Designing accessible software - guidelines for different disabilities](https://ukhomeoffice.github.io/accessibility-posters/)
- [Designing for Children with ADHD: The Search for Guidelines for Non-Experts](https://uxpamagazine.org/designing_children_adhd/) (written for children however applicable generally)
- [Designing for dyslexia](https://uxplanet.org/designing-for-dyslexia-6d12e8c41cd7)

View File

@ -10,14 +10,13 @@ As a result, some users may feel that newer versions of pip are "broken" when pi
For this reason, the pip team wanted to know if they should provide an override that allows users to install conflicting packages.
[Skip to recommendations](#recommendations)
## Research
We published a survey with the following introduction:
```
<!--- TODO: don't use a code block here -->
```
Imagine you have packages tea and coffee:
tea 1.0.0 depends on water <1.12.
@ -30,9 +29,10 @@ The pip team has recently changed the way that pip resolves dependency conflicts
The purpose of this survey is to gather feedback on providing a way to override this behaviour.
All questions are optional - please provide as much information as you can.
```
We then asked users:
- If pip should provide an override that allows users to install packages when there are dependency conflicts
- Why they answered yes or no
- For users that answered yes, we asked:
@ -54,7 +54,8 @@ Most respondents suggested that installing the latest version by default is safe
## Recommendations
Based on this research we recommend that the pip team:
- Implement an `--ignore-conflicts` option, that allows users to install packages with conflicting dependencies
- Ensure that `--ignore-conflicts` installs the most recent version of the conflicting package. For example, for conflicting package water<1.1.2 and water1.1.2, pip should prefer to install water1.1.2.
- Ensure that `--ignore-conflicts` installs the most recent version of the conflicting package. For example, for conflicting package `water<1.1.2` and `water≥1.1.2`, pip should prefer to install `water≥1.1.2`.
- Allow users to override this default behavior by specifying the version of the conflicting packages. For example, `pip install tea coffee water==1.1.1 --ignore-conflicts`
- Warn users that they used the `--ignore-conflicts` flag and that this may cause unexpected behavior in their program

View File

@ -10,7 +10,7 @@ We want to find out if users understand (or desire) this implicit behaviour.
More information can be found on [this GitHub issue](https://github.com/pypa/pip/issues/8238).
[Skip to recommendations](#recommendations)
[Skip to recommendations](#recommendations) <!--- TODO: not working fixme -->
## Research
@ -57,8 +57,8 @@ In total we received 190 responses to our survey, with 186 people telling us wha
If we group responses into "upgrade" or "do not upgrade" (ignoring responses that could not be grouped), we find:
- 46.32% (88/186) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should *not* implicitly upgrade
- 43.16% (82/186) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` *should* implicitly upgrade
- 46.32% (88/186) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
- 43.16% (82/186) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
Most respondents use `--force-reinstall` "almost never" (65.6%):
@ -66,8 +66,9 @@ Most respondents use `--force-reinstall` "almost never" (65.6%):
![bar chart of how often users use --force-reinstall](https://i.imgur.com/Xe1XDkI.png)
Amongst respondents who said they use `--force-resinstall` often or very often:
- 54.54% (6/11) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should *not* implicitly upgrade
- 45.45% (5/11) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` *should* implicitly upgrade
- 54.54% (6/11) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
- 45.45% (5/11) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
Respondents find `--force-reinstall` less useful than useful:
@ -76,9 +77,8 @@ Respondents find `--force-reinstall` less useful than useful:
Amongst respondents who said they find `--force-resinstall` useful or very useful:
- 38.46% (20/52) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should *not* implicitly upgrade
- 50% (26/52) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` *should* implicitly upgrade
- 38.46% (20/52) of respondents thought that pip should install the same version of requests - i.e. that `--force-reinstall` should _not_ implicitly upgrade
- 50% (26/52) of respondents thought that pip should upgrade requests to the latest version - i.e that `--force-reinstall` _should_ implicitly upgrade
## Recommendations
@ -93,7 +93,9 @@ Should the pip development team wish to keep `--force-resintall`, we recommend m
In this case, we recommend upgrading the [help text](https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-force-reinstall) to be more explicit:
Old help text:
> Reinstall all packages even if they are already up-to-date.
New help text:
> Reinstall package(s), and their dependencies, even if they are already up-to-date. Where package(s) are not up-to-date, upgrade these to the latest version (unless version specifiers are used).

View File

@ -4,11 +4,10 @@
By default, `pip search` searches packages on PyPI.org from the command line. However, the team are [considering removing it](https://github.com/pypa/pip/issues/5216), because they think it's not that useful and using too many resources on PyPI ([PyPI XMLRPC search has been disabled](https://status.python.org/incidents/grk0k7sz6zkp) because of abuse/overuse).
[Skip to recommendations](#recommendations)
## Research
Prior to PyPI XMLRPC search being disabled, we:
- Gathered feedback on pip search via the "buy a feature" survey
- Published a survey specifically about pip search, asking users about:
- Their current use of pip search
@ -24,34 +23,36 @@ In total, we received 1070 responses to the buy a feature survey, with 541 (50.4
However, search ranked lower than the following features:
1. Run pip without requiring any user input (e.g. in CI) *718*
2. Show information about all installed packages *707*
3. Show information about a single installed package *596*
1. Run pip without requiring any user input (e.g. in CI) _718_
2. Show information about all installed packages _707_
3. Show information about a single installed package _596_
We received 302 responses to the pip search survey, with 62 of the 302 (20.5%) respondents either not knowing that the command existed, never using it, or using it "rarely".
We found that the remaining ~80% of respondents who do use pip search use it to:
- Find/search for the right/new/alternate packages to install:
- Checking package name (verify correct spelling)
- Assessing functionality (check a package's description)
- Verifying availability (check if such package exists)
- Checking package name (verify correct spelling)
- Assessing functionality (check a package's description)
- Verifying availability (check if such package exists)
- Search for the latest version of a package (verify version)
- Find package libraries and new modules
In general, pip search is regarded as:
- more useful than not useful
- more clear than not clear
When asked if pip should search on items _other_ than the package name, respondents most commonly asked to search the package description:
![](https://i.imgur.com/lxS2TG6.png)
![wordcloud of common search terms](https://i.imgur.com/lxS2TG6.png)
Some users also mentioned that they would like the search to be configurable, e.g. by passing flags/options.
When asked how they would improve pip search, users said they would improve:
**1. Search methods:**
- fuzzy search and insensitive case should be acceptable
- users should have the option to filter/sort by description, name, tag
@ -68,7 +69,6 @@ When asked how they would improve pip search, users said they would improve:
- distinguish exact match search results from others: by highlighting, or using a different color
- indicate version compatibility
## Recommendations
### Deprecation strategy
@ -81,9 +81,9 @@ To search PyPI, open your browser to search for packages at https://pypi.org
Alternatively, you can search a different index using the --index command.
```
In the longer term, **we recommend that the PyPI team investigate alternative methods of serving search results (e.g. via caching)** that would enable pip search to work again. This recommendation is supported by our research which suggests that many pip users find this functionality useful.
In the longer term, **we recommend that the PyPI team investigate alternative methods of serving search results (e.g. via caching)** that would enable pip search to work again. This recommendation is supported by our research which suggests that many pip users find this functionality useful.
If this is not possible, the pip team should create clear instructions that tells users what to use instead. Some suggestions (based on common user flows) are listed below:
If this is not possible, the pip team should create clear instructions that tells users what to use instead. Some suggestions (based on common user flows) are listed below:
#### Finding a new package based on tags and keywords

View File

@ -1,13 +1,15 @@
# pip upgrade conflict
## Problem
Currently, pip does *not* take into account packages that are already installed when a user asks pip to upgrade a package. This can cause dependency conflicts for pip's users.
[Skip to recommendations](#recommendations)
Currently, pip does _not_ take into account packages that are already installed when a user asks pip to upgrade a package. This can cause dependency conflicts for pip's users.
## Research
We published a [survey](https://bit.ly/2ZqJijr) asking users how they would solve the following scenario:
<!--- TODO: don't use a code block here -->
```
Imagine you have package tea and coffee with the following dependencies:
@ -48,6 +50,7 @@ In total, we received 693 responses, 407 of which included an explanation of why
- 15 responses (2.2%) preferred option 3: that pip should install nothing and tell the user that everything is up to date
From the 407 responses that answered "why" a particular solution was best, the following key themes emerged:
- "explicit is better than implicit" - pip should not create "side effects" that the user does not understand, has not anticipated, and has not consented to
- pip should do everything in its power to avoid introducing conflicts (pip should not "break" the development environment)
- Telling the user that everything is up to date (option 3) is misleading / dishonest

View File

@ -1,12 +1,12 @@
# Prioritizing features
## Problem
The pip development team is small, and has limited time and energy to work on issues reported via the [issue tracker](https://github.com/pypa/pip/issues). There is also a significant backlog of issues (782 as of November, 2020) for the team to respond to.
For the team to prioritize their work based on what will have the most impact, we need to develop a better understanding of what users want from pip.
[Skip to recommendations](#recommendations)
## Research
To help answer this question, we developed a "buy a feature" survey, with the following scenario:
```
@ -14,18 +14,21 @@ Help us to understand what's important to you by participating in our "buy a fea
You have an allocated budget of $200 to spend on redesigning pip.
With your $200 budget, "buy" the functionality you'd most like to keep. You don't have to spend the whole $200, but you should also not overspend your budget!
With your $200 budget, "buy" the functionality you'd most like to keep.
You don't have to spend the whole $200, but you should also not overspend your budget!
```
We asked users to spend their first $100 on features related to `pip install`, and to spend their remaining $100 on other pip features. We also gave users an additional $10 to suggest a new feature:
![](https://i.imgur.com/2QShgYo.png)
![survey question where users are asked to buy features for pip install](https://i.imgur.com/2QShgYo.png)
![](https://i.imgur.com/sY8gdXD.png)
![survey question where users are asked to buy features other than pip install](https://i.imgur.com/sY8gdXD.png)
![](https://i.imgur.com/hvgjdEG.png)
![survey question where users are asked to spend an additional ten dollars](https://i.imgur.com/hvgjdEG.png)
## Response
We received 1076 responses, 1070 of which were valid. The most popular features included the core competencies of pip:
- Recreating an environment from a list of installed dependencies;
@ -33,9 +36,10 @@ We received 1076 responses, 1070 of which were valid. The most popular features
- Warn about broken or conflicting dependencies.
### pip install
The top ten features related to pip install were:
![](https://i.imgur.com/1rNIOB7.png)
![pip install results](https://i.imgur.com/1rNIOB7.png)
1. Install and uninstall packages
2. Upgrade packages to the latest version
@ -49,9 +53,10 @@ The top ten features related to pip install were:
10. Control where you want your installed package to live on your computer
### Other pip functionality
The top ten features related to other pip functionality were:
![](https://i.imgur.com/xrp9XWw.png)
![other pip functionality results](https://i.imgur.com/xrp9XWw.png)
1. Generate a list of installed packages that can be used to recreate the environment
2. Check that your installed packages do not have dependency conflicts
@ -70,36 +75,44 @@ Results varied by the amount of Python experience the user had.
<summary>See how likely users are to select a feature based on their experience level</summary>
#### Verify downloaded packages against hashes
![](https://i.imgur.com/oVHOGBQ.png)
![screenshot of verify downloaded packages against hashes](https://i.imgur.com/oVHOGBQ.png)
#### Warn about broken dependencies
![](https://i.imgur.com/uNv2tnG.png)
![Screenshot of Warn about broken dependencies](https://i.imgur.com/uNv2tnG.png)
#### Upgrade packages to the lastest version
![](https://i.imgur.com/pQgCLBO.png)
![Screenshot of Upgrade packages to the lastest version](https://i.imgur.com/pQgCLBO.png)
#### Install packages from an alternative package index, or indexes
![](https://i.imgur.com/E1LnTBt.png)
![Screenshot of Install packages from an alternative package index, or indexes](https://i.imgur.com/E1LnTBt.png)
#### Install packages as specified in a file
![](https://i.imgur.com/87uh4xp.png)
![Screenshot of Install packages as specified in a file](https://i.imgur.com/87uh4xp.png)
#### Install and uninstall packages
![](https://i.imgur.com/GRsazBy.png)
![Screenshot of Install and uninstall packages](https://i.imgur.com/GRsazBy.png)
#### Install packages from a version control system
![](https://i.imgur.com/iW7d0Sq.png)
![Screenshot of Install packages from a version control system](https://i.imgur.com/iW7d0Sq.png)
#### Install a package from wheels
![](https://i.imgur.com/9DMBfNL.png)
![Screenshot of Install a package from wheels](https://i.imgur.com/9DMBfNL.png)
#### Install apackage from a local directory
![](https://i.imgur.com/Jp95rak.png)
![Screenshot of Install apackage from a local directory](https://i.imgur.com/Jp95rak.png)
#### Control where you want your installed package to live on your computer
![](https://i.imgur.com/32fpww2.png)
![Screenshot of Control where you want your installed package to live on your computer](https://i.imgur.com/32fpww2.png)
</details>
@ -113,9 +126,9 @@ Environment recreation is already included in pip as part of the `requirements.t
- Improve pip documentation & user guide to prominently feature environment recreation as a core feature of pip;
- Improve environment recreation process itself by considering virtual environments as a core competency "built-in" to pip.
**Recreating an environment from a list of installed dependencies was the most valued feature request overall** as well as in each user group, *except for those with less than 6 months of experience and those with 16-19 years of experience (for which it was the second most valued).*
**Recreating an environment from a list of installed dependencies was the most valued feature request overall** as well as in each user group, _except for those with less than 6 months of experience and those with 16-19 years of experience (for which it was the second most valued)._
When asked to enter a feature request with freetext, users placed the words 'built-in,' 'virtual,' 'automatic,' and 'isolation' alongside the word 'environment,' which suggest that users expect pip to recreate environments with a high level of intelligence and usability.
When asked to enter a feature request with freetext, users placed the words 'built-in,' 'virtual,' 'automatic,' and 'isolation' alongside the word 'environment,' which suggest that users expect pip to recreate environments with a high level of intelligence and usability.
**Selected direct quotes**

View File

@ -1,3 +1,18 @@
```{toctree}
/2020-research-outputs/about-our-users
/2020-research-outputs/ci-cd
/2020-research-outputs/improving-pip-documentation
/2020-research-outputs/mental-models
/2020-research-outputs/override-conflicting-dependencies
/2020-research-outputs/personas
/2020-research-outputs/pip-force-reinstall
/2020-research-outputs/pip-logo
/2020-research-outputs/pip-search
/2020-research-outputs/pip-upgrade-conflict
/2020-research-outputs/prioritizing-features
/2020-research-outputs/users-and-security
```
# UX Research Results
## <a name="2020-research"></a>2020 Research Synthesis
@ -190,8 +205,6 @@ We **published 10 surveys** to gather feedback about pip's users and their prefe
Below is a compiled list of all research outputs and recommendations made by the pip UX team based on the research conducted in 2020.
We are currently looking for volunteers to take recommendations made by the UX team and move them into pip's issue tracker. This will ensure that the research conducted in 2020 is leveraged by the pip development team.
<div class="wy-table-responsive">
<table class="colwidths-auto docutils align-left">
<thead>
@ -338,21 +351,6 @@ We are currently looking for volunteers to take recommendations made by the UX t
</table>
</div>
```{toctree}
/2020-research-outputs/about-our-users
/2020-research-outputs/ci-cd
/2020-research-outputs/improving-pip-documentation
/2020-research-outputs/mental-models
/2020-research-outputs/override-conflicting-dependencies
/2020-research-outputs/personas
/2020-research-outputs/pip-force-reinstall
/2020-research-outputs/pip-logo
/2020-research-outputs/pip-search
/2020-research-outputs/pip-upgrade-conflict
/2020-research-outputs/prioritizing-features
/2020-research-outputs/users-and-security
```
## Read More
- [Pip team midyear report (blog, July 2020)](https://pyfound.blogspot.com/2020/07/pip-team-midyear-report.html)