====================
UX Research & Design
====================

Over the course of 2020, the pip team has been working on improving pip's user
experience.

Currently, our focus is on:

1. `Understanding who uses pip`_
2. `Understanding how pip compares to other package managers, and how pip supports other Python packaging tools`_
3. `Understanding how pip's functionality is used, and how it could be improved`_
4. `Understanding how pip's documentation is used, and how it could be improved`_

You can read the `overall plan`_ and the `mid-year update`_ to learn more about
our work.

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`_.
You can `read more information about the user panel here`_.

We are also looking for users to:

- `Give us feedback about pip's new resolver`_
- `Tell us how pip should handle conflicts with already installed packages when updating other packages`_

Report 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, you please file an issue
on the `pip issue tracker`_.

Work on UX issues
=================

You can help improve pip's user experience by `working on UX issues`_.
Issues that are ideal for new contributors are marked with "good first issue".

Test new features
=================

You can help the team by testing new features as they are released to the
community. Currently, we are looking for users to
`test pip's new dependency resolver`_.

Next steps
----------

In the coming months we will extend this documentation to include:

1. Summaries of our user research, including recommendations for how to improve pip
2. Tools for the pip team to continue to practice user centered design (e.g. user personas, etc.)

.. _Understanding who uses pip: https://github.com/pypa/pip/issues/8518
.. _Understanding how pip compares to other package managers, and how pip supports other Python packaging tools: https://github.com/pypa/pip/issues/8515
.. _Understanding how pip's functionality is used, and how it could be improved: https://github.com/pypa/pip/issues/8516
.. _Understanding how pip's documentation is used, and how it could be improved: https://github.com/pypa/pip/issues/8517
.. _overall plan: https://wiki.python.org/psf/Pip2020DonorFundedRoadmap
.. _mid-year update: http://pyfound.blogspot.com/2020/07/pip-team-midyear-report.html
.. _join pip's user panel: https://tools.simplysecure.org/survey/index.php?r=survey/index&sid=827389&lang=en
.. _read more information about the user panel here: https://bit.ly/pip-ux-studies
.. _Give us feedback about pip's new resolver: https://tools.simplysecure.org/survey/index.php?r=survey/index&sid=989272&lang=en
.. _Tell us how pip should handle conflicts with already installed packages when updating other packages: https://docs.google.com/forms/d/1KtejgZnK-6NPTmAJ-7aWox4iktcezQauW-Mh3gbnydQ/edit
.. _pip issue tracker: https://github.com/pypa/pip/issues/new
.. _working on UX issues: https://github.com/pypa/pip/issues?q=is%3Aissue+is%3Aopen+label%3A%22K%3A+UX%22
.. _test pip's new dependency resolver: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-2-2020
