Skip to content
This repository has been archived by the owner on Apr 30, 2024. It is now read-only.

Provide Autostart Evidence dev server setting and implement autostart and install dependencies prompt on vscode load for smoother user onboarding #53

Closed
4 tasks done
RandomFractals opened this issue Jun 1, 2023 · 13 comments
Labels
feature New Feature onboarding Onboarding feature or improvement review Requires additional testing and review UX User experience feature or improvement

Comments

@RandomFractals
Copy link
Contributor

RandomFractals commented Jun 1, 2023

in addition to new activation events and other checks added in #42 and #43 to:

  • Start the Evidence dev server when evidence.autoStart configuration setting is set to true.
  • Set it to true by default to autostart Evidence dev server when evidence files are detected on vscode load and extension activation
  • When evidence.autoStart is set to true in the user or workspace configuration settings, and we don't detect the require node_modules folder to run dev server, display info prompt and ask if the user wants to install Evidence dependencies.
  • Display loading progress bar when server is starting on vscode window load
@RandomFractals RandomFractals added the feature New Feature label Jun 1, 2023
@RandomFractals RandomFractals changed the title Provide Auto-Start Evidence dev server setting Provide Autostart Evidence dev server setting Jun 1, 2023
RandomFractals added a commit that referenced this issue Jun 1, 2023
@RandomFractals
Copy link
Contributor Author

New Autostart settings:

image

@RandomFractals
Copy link
Contributor Author

Install dependencies prompt when opening new Evidence project from template and it doesn't have node_modules:

vscode-evidence-project-install-dependencies

@RandomFractals
Copy link
Contributor Author

App auto start: (still takes 25 seconds for the page to load 🤷‍♂️ )

evidence-app-auto-start

@RandomFractals RandomFractals changed the title Provide Autostart Evidence dev server setting Provide Autostart Evidence dev server setting and implement autostart and autoinstall for smoother user onboarding Jun 1, 2023
@RandomFractals RandomFractals changed the title Provide Autostart Evidence dev server setting and implement autostart and autoinstall for smoother user onboarding Provide Autostart Evidence dev server setting and implement autostart and install dependencies prompt on vscode load for smoother user onboarding Jun 1, 2023
@RandomFractals RandomFractals added UX User experience feature or improvement onboarding Onboarding feature or improvement labels Jun 2, 2023
@RandomFractals RandomFractals reopened this Jun 2, 2023
RandomFractals added a commit that referenced this issue Jun 2, 2023
to autostart Evidence dev server when our project files are detected on vscode load and ext. activation
@RandomFractals
Copy link
Contributor Author

Autostart should now default to true and start Evidence dev server automatically when our project files are detected on vscode load and ext. activation:

image

@archiewood
Copy link
Member

archiewood commented Jun 2, 2023

Feature is great

This does not seem to boot the simple browser successfully

CleanShot 2023-06-02 at 13 45 23

@archiewood archiewood reopened this Jun 2, 2023
@RandomFractals RandomFractals added the review Requires additional testing and review label Jun 2, 2023
@RandomFractals
Copy link
Contributor Author

RandomFractals commented Jun 2, 2023

I see the built-in Simpler Browser view open, dependencies being installed and then app server started.

This must be running an older extension version producing those results as that flow is very different now after the changes in this ticket and #56.

@archiewood
Copy link
Member

Tested at around ~2pm today

@RandomFractals
Copy link
Contributor Author

RandomFractals commented Jun 3, 2023

yeah, that doesn't look right or match the latest code. see: #57 (comment)

Here is how it actually functions. List steps in text next time to help us reproduce your scenario.

evidence-install-dependencies-start-flow

@archiewood
Copy link
Member

Can we adjust this prompt to just say:

Would you like to install Evidence?

CleanShot 2023-06-05 at 12 45 17

Most of our new users do not really know what a dev server is, so ideally don't want to introduce this concept too early.

@archiewood archiewood reopened this Jun 5, 2023
@archiewood
Copy link
Member

archiewood commented Jun 5, 2023

Secondly I have an issue here:

Repro

  1. Create a new project file
  2. Command Palette > Create new project from template
  3. Would you like to install dependencies? > Select Yes
  4. Wait

Expected behaviour

Spinner in status bar turns into play button once install is complete

Actual behaviour

Spinner keeps spinning and I cannot start evidence yet

CleanShot 2023-06-05 at 12 41 33

@RandomFractals
Copy link
Contributor Author

RandomFractals commented Jun 5, 2023

Can we adjust this prompt to just say:

Would you like to install Evidence?

....
Most of our new users do not really know what a dev server is, so ideally don't want to introduce this concept too early.

I am opposed to changing this now. We are installing your app dependencies.

Please review and suggest such UI labeling changes when these feature tickets are in the initial creation/dev state. We have too many Install Dependencies labels, notifications messages, and related code to do this UI refactor in Sprint 2.

Feel free to open new UI enhancement request for the following sprints to review this.

Technically, I think it's the correct terminology to use and VS Code uses the same terminology too.

Also, they are not installing Evidence. We created Evidence app project for them and they need to install nodejs dependencies to run it.

@RandomFractals
Copy link
Contributor Author

RandomFractals commented Jun 5, 2023

Secondly I have an issue here:

Repro

  1. Create a new project file
  2. Command Palette > Create new project from template
  3. Would you like to install dependencies? > Select Yes
  4. Wait

Expected behaviour

Spinner in status bar turns into play button once install is complete

Actual behaviour

Spinner keeps spinning and I cannot start evidence yet

...

Also a minor timer delay that we can't really fine tune as mentioned before in other review tickets because we only send a command to the terminal and can only guess or estimate the time it takes to install dependencies. I can't enable start dev server earlier, and eventually that state changes after a few seconds.

You can open a separate UX enhancement ticket for future sprints if you feel strongly about these few extra seconds timer delays we have no control over with the simple terminal API we've decided to use to save time and let us develop other features in 2 weeks.

Closing this as the core feature implementation is done and should be released in v1.1.0 this week.

@RandomFractals
Copy link
Contributor Author

RandomFractals commented Jun 5, 2023

to find a good balance here I will reduce the delay timer for dependencies installation by 5 seconds.

However, just so you know, all the delay timers and spinner we added in Evidence status bar button for these npm commands are superficial, and will very on different platforms and machines.

They do all expire in a few extra seconds or so. In order to have perfect timings, we need to read running process status and should be switching to using nodejs child_process like we do for node version check already in src/node.ts in #15.

Otherwise, we can't fine-tune them any further. I suggest you open separate tickets for such cases to address them with the switch to how we run your app, i.e. terminal vs custom shell.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New Feature onboarding Onboarding feature or improvement review Requires additional testing and review UX User experience feature or improvement
Projects
None yet
Development

No branches or pull requests

2 participants