Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual environment creation - poor UX #120

Open
akaszynski opened this issue Jun 19, 2023 · 3 comments
Open

Virtual environment creation - poor UX #120

akaszynski opened this issue Jun 19, 2023 · 3 comments
Assignees

Comments

@akaszynski
Copy link
Contributor

Creating a virtual environment blocks the GUI without any indication of progress. Recommend:

  • Greying out the main window when creating the venv
  • Showing a progress bar of some sort during the install progress. Even stdout with the install progress is fine, anything to give the user something to look at.
  • Enabling the main window again when complete.
@RobPasMue
Copy link
Member

Hi @akaszynski!

  • Greying out sounds reasonable, for sure
  • Having a proper progress bar might be more complicated since we can't tell how much pip is going to take. Stdout is already available AFAIK, the only thing is that the powershell terminal is a minimized window by default, but you could always open it to see how the process is going on.

Let me know your thoughts. We just wanted people to avoid having a terminal pop up and displaying a bunch of stdout logs. But we could avoid minimizing the window.

@RobPasMue RobPasMue self-assigned this Jun 20, 2023
@akaszynski
Copy link
Contributor Author

Having a proper progress bar might be more complicated since we can't tell how much pip is going to take. Stdout is already available AFAIK, the only thing is that the powershell terminal is a minimized window by default, but you could always open it to see how the process is going on.

That's a challenge for sure, and generally installing the virtual environment doesn't take that long anyway so it's not an issue. I'd go with one of the following:

  • Grey out the main window and display a progress bar that simulates progress. It's like a "load screen" when loading a website, video game, or other application; users want to see change when they hit the button and all it has to do is indicate progress. Increment the progress when you first fire the command and estimate that it takes 5 seconds and increment every second up to 80% and then immediately finish it when it's complete. If you're doing it in a two step process (creating the venv and then updating packages) then two of the increments can be real.
  • Just show the terminal. Python's a little light on displaying the progress of generating the virtual env, so maybe just a progress bar is sufficient.

@RobPasMue
Copy link
Member

  • Grey out the main window and display a progress bar that simulates progress. It's like a "load screen" when loading a website, video game, or other application; users want to see change when they hit the button and all it has to do is indicate progress. Increment the progress when you first fire the command and estimate that it takes 5 seconds and increment every second up to 80% and then immediately finish it when it's complete. If you're doing it in a two step process (creating the venv and then updating packages) then two of the increments can be real.

This one sounds like a plan. Let me try working on that soon =) Thanks @akaszynski!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants