Skip to content

Commit

Permalink
Expand UX documentation to include 2020 research (pypa#10745)
Browse files Browse the repository at this point in the history
Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
Co-authored-by: Paul Moore <p.f.moore@gmail.com>
  • Loading branch information
3 people authored Apr 14, 2024
1 parent 551e822 commit 5da6b2f
Show file tree
Hide file tree
Showing 18 changed files with 2,550 additions and 82 deletions.
2 changes: 1 addition & 1 deletion docs/html/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ cli/index
:hidden:
development/index
ux_research_design
ux-research-design/index
news
Code of Conduct <https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md>
GitHub <https://github.com/pypa/pip>
Expand Down
24 changes: 24 additions & 0 deletions docs/html/ux-research-design/contribute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# How to Contribute

## Participate in UX Research

It is important that we hear from pip users so that we can:

- Understand how pip is currently used by the Python community
- Understand how pip users _need_ pip to behave
- Understand how pip users _would like_ pip to behave
- Understand pip’s strengths and shortcomings
- Make useful design recommendations for improving pip

If you are interested in participating in pip user research, please [join pip’s user panel](https://mail.python.org/mailman3/lists/pip-ux-studies.python.org/).

## Test New Features

You can help the team by testing new features as they are released to the community.

## Report and Work on UX Issues

If you believe that you have found a user experience bug in pip, or you have ideas for how pip could be made better for all users, please file an issue on the [pip issue tracker](https://github.com/pypa/pip/issues/new).

You can also help improve pip’s user experience by [working on UX issues](https://github.com/pypa/pip/issues?q=is%3Aissue+is%3Aopen+label%3A%22K%3A+UX%22). Issues that are ideal for new contributors are marked with “[good first issue](https://github.com/pypa/pip/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)”. Explore the
[UX Guidance](guidance) if you have questions.
412 changes: 412 additions & 0 deletions docs/html/ux-research-design/guidance.md

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions docs/html/ux-research-design/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# UX Research & Design

```{toctree}
:hidden:
contribute
guidance
research-results/index
```

Welcome to pip’s UX research and design documentation. The purpose of this section of the documentation is to:

- [Identify where new contributors can participate in or lead UX research and design activities](contribute)
- [Share pip UX guidelines](guidance), including an introduction to User Centered Design practices, and how they can be applied to the pip project
- Share [results of user research](research-results/index) that the pip team has already conducted
291 changes: 291 additions & 0 deletions docs/html/ux-research-design/research-results/about-our-users.md

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions docs/html/ux-research-design/research-results/ci-cd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# How pip is used in interactive environments (i.e. CI, CD)

## Problem

We want to know about the contexts in which pip users use pip - interactively (i.e. typing pip commands at the command line terminal) and in an automated environment (i.e. as part of continuous software integration or continuous software development pipelines).

Different contexts of use mean that users have different important and common tasks; it means when, where and how they complete these tasks are different.

Each of these contexts bring different needs: interactive usage requires the right feedback/output at the right time, whereas an automated environment requires little or no feedback in the moment but detailed feedback after the task has finished.

We also wanted to know what users used pip for - as part of their software development toolchain, or purely as a software installer (analogous to Ubuntu Aptitude or Mac Appstore). We also asked about their need for pip to build packages from source.

## Research

We created a survey and asked users to give answers to the following statements:

- I use pip in an automated environment (e.g. CI/CD pipelines)
- I have problems with pip in CI/CD pipelines
- I use pip interactively (e.g. typing pip commands on the commandline)
- I make software and use pip as part of my software development workflow
- I use pip only to install and use Python packages
- I need pip to build software packages from source

## Results

Using pip interactively makes up the majority of pip usage (91%), the majority (73%) of this usage is basic usage - to only install and use Python packages.

Half (51%) of all participants used pip in an automated environment, with only 9% having issues with pip in that automated environment. This points to a good use experience for these users.

71% use pip as part of their software toolchain, only 29% needing pip to build from source.

These results show that the main context of use is interactive - users either writing code, installing software at the command line and we know from other research that interactive usage has its issues e.g. pip output being too verbose.

While it is important to provide automated environment users with a good experience, interactive mode users are being underserved.

![Answer to question - I use pip in an automated environment](https://i.imgur.com/pLHqBpN.png)

![Answer to question - I use pip interactively](https://i.imgur.com/8ETVMYS.png)

91% of users said they used pip interactively. This does not preclude them from automated usage.

![Answer to the question - What do you use Python for?](https://i.imgur.com/ySlo2Es.png)
Loading

0 comments on commit 5da6b2f

Please sign in to comment.