Skip to content

Provide WSL guidance on download page #7651

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

Open
MattIPv4 opened this issue Apr 15, 2025 · 14 comments
Open

Provide WSL guidance on download page #7651

MattIPv4 opened this issue Apr 15, 2025 · 14 comments

Comments

@MattIPv4
Copy link
Member

MattIPv4 commented Apr 15, 2025

Moving a convo out of #7650.


@ljharb (in PR Review):

it'd be nice to have a "WSL" option somehow prominent, so that windows users who have WSL can choose nvm, devbox, etc, but atm this seems good

@MattIPv4 (in Issue Comment):

We should move this discussion to an issue, but yeh, either we should update "Linux" to be "Linux (+ WSL)" or add a dedicated "WSL" option in the dropdown. Or, we could display a banner whenever Windows is selected noting that if the user is using WSL, they should refer to the Linux options.

@avivkeller (in Issue Comment):

It's in the name, Windows Subsystem for Linux. IMHO users should be expected to know that if they WSL, they can refer to the Linux instructions

@MattIPv4 (in Issue Comment):

The whole point of this page is to not make assumptions, this page is for beginners that're new to Node.js (and often development generally). They may have heard that WSL is the thing to use for Windows dev, and not know anything beyond that.

@ljharb (in Issue Comment):

Yes, but windows users who are not using or aware of WSL won't know that WSL even exists as an option in the first place such that they could use the things listed under Linux.


Not sure quite what the perfect solution is, but we should have a way to educate Windows users about WSL -- both that it is an option to them alongside conventional Windows development using Powershell, and also that if they do want to use WSL they should follow the Linux install options that we provide.

@avivkeller
Copy link
Member

Despite my initial skepticism, I am +1 to making the website simpler for new-comers.

@ljharb
Copy link
Member

ljharb commented Apr 15, 2025

Some options off the top of my head:

  • things that work on WSL but not otherwise on Windows still appear in the dropdown, and the snippet shows a warning and a link to a WSL guide somewhere
  • always show a "did you know? WSL exists!" banner when Windows is selected, that links to a WSL guide somewhere

@Vishal-K-988
Copy link
Contributor

Can you give me more idea about what do we have to do in this issue ?

Till now what I have concluded that :

On the download page of nodejs we need to informWindows users about WSL (Windows Subsystem for Linux) :

  1. We need to add clear guidance so Windows users know that WSL is an option for running Node.js.
  2. The goal is to educate users that, with WSL, they can use the Linux installation instructions (like using nvm, devbox, etc.) even if they are on Windows.

What we might do is :

a. Renaming "Linux" to "Linux (+ WSL)"
b. Adding a dedicated "WSL" option in the OS selection dropdown
c. Or displaying a banner/note when Windows is selected, telling users with WSL to refer to the Linux options

Vishal-K-988 added a commit to Vishal-K-988/nodejs.org that referenced this issue May 18, 2025
- Add WSLMessage component to display information about Windows Subsystem for Linux (WSL)
- Show WSLMessage only once, directly below the `Download Node.js®`  title, when Windows(WIN) is selected in any OS dropdown
- Refactor context usage to allow independent OS selection in each dropdown
- Register WSLMessage and WindowsWSLMessage in MDX components for use in MDX files
- Improve user experience by providing relevant WSL info at the right place and time
- Enhanced both for Dark and Light Theme with Blue background and border and glowing theme perfectly matching the ui theme of the website !
Issue nodejs#7651

Signed-off-by: vishal <vishalkumarvkvk988@gmail.com>
Vishal-K-988 added a commit to Vishal-K-988/nodejs.org that referenced this issue May 18, 2025
- Add WSLMessage component to display information about Windows Subsystem for Linux (WSL)
- Show WSLMessage only once, directly below the `Download Node.js®`  title, when Windows(WIN) is selected in any OS dropdown
- Refactor context usage to allow independent OS selection in each dropdown
- Register WSLMessage and WindowsWSLMessage in MDX components for use in MDX files
- Improve user experience by providing relevant WSL info at the right place and time
- Enhanced both for Dark and Light Theme with Blue background and border and glowing theme perfectly matching the ui theme of the website !
Issue nodejs#7651

Signed-off-by: vishal <vishalkumarvkvk988@gmail.com>
@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

Based on #7758 (review), y'all can see I'm -1 with the idea of having WSL notices within our website. There's no precedence in other major runtimes for something such as WSL to be documented. Have we actually gotten real complaints from users saying they didn't know they could use Linux options within WSL?

Also should we really have something on our website? Searching for "nodejs on wsl" 1st search results goes to asn official Microsoft article of how to install Node.js ON WSL; Since WSL is a Microsoft product, shouldn't they specifically state their instructions?

Otherwise this goes kinda our directive of not promoting company-products on our downloads page.

@MattIPv4
Copy link
Member Author

Otherwise this goes kinda our directive of not promoting company-products on our downloads page.

I'm not sure that's true -- WSL isn't just some company's product, it's a core feature of a major OS that we do provide instructions for.

@MattIPv4
Copy link
Member Author

I still think a notice is the right move, this page is meant to be educating new users on the options available to them, so let's do that (especially when our Windows options are so limited). I don't think whether other runtimes do this or not is really a factor, let's chart our own course and be helpful for our users.

@MattIPv4
Copy link
Member Author

And to be clear, this is not about teaching users that already are using WSL that they can use the Linux options available. I agree in that situation they probably already know that or can search online. This is about educating new developers who have a Windows box and want to use Node.js that there is another way, using WSL. They aren't going to be able to search for that because they don't know it exists -- a notice is educating them and giving them new knowledge.

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

Otherwise this goes kinda our directive of not promoting company-products on our downloads page.

I'm not sure that's true -- WSL isn't just some company's product, it's a core feature of a major OS that we do provide instructions for.

It is a product from Microsoft and it is just (simply put) a virtualization layer. For me it is VM for dummies.

I still think a notice is the right move, this page is meant to be educating new users on the options available to them

That's not the intent of the page at all -- This page serves one purpose: Provide the main relevant download options for getting Node. Be them installers, binaries or via managers. This page shouldn't sway or teach what users should do on their OSs or not. Be it encouraging to use WSL or not. That's hardly up to us + creates the precedence for then other users to complain "why then there's no banner/instructions for solution X from company/org Y"? -- Not to mention our instructions could get outdated and adds one more thing we gotta maintain.

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

I don't think whether other runtimes do this or not is really a factor, let's chart our own course and be helpful for our users.

I think wether they do or not does show that they might also have considered this topic and opted to not being relevant. Of course, we shouldn't limit ourselves towards what others do, but it is still market research of a sort.

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

And to be clear, this is not about teaching users that already are using WSL that they can use the Linux options available. I agree in that situation they probably already know that or can search online. This is about educating new developers who have a Windows box and want to use Node.js that there is another way, using WSL. They aren't going to be able to search for that because they don't know it exists -- a notice is educating them and giving them new knowledge.

I get that, but again, that shouldn't be our stance as the project to educate them anything except Node.js. This can also be seen as we taking a stance that users should use A instead of B.

We do recommend version managers, but just with the distinction of official versus community-maintained in the prospect of what is probably best for users to download/install Node.js

I'm committed with my -1; But willing to change my mind if we have a consensus, meaning other @nodejs/web-infra or @nodejs/nodejs-website members are also +1 to this.

👍 if you want a banner
👎 if you don't

On that note, the banner should not be on the top, but IMO below the Dropdowns and should by minimal, non-invasive, (but easy enough to notice, with strong contrasting colours) and only show if Windows is selected. Otherwise why the hell should we render said banner for macOS or Linux users?

@MattIPv4
Copy link
Member Author

That's not the intent of the page at all -- This page serves one purpose: Provide the main relevant download options for getting Node. Be them installers, binaries or via managers. This page shouldn't sway or teach what users should do on their OSs or not.

I strongly disagree with this notion -- actively choosing to make this page less helpful and not educate users about core OS features available to them related to how they could run Node.js seems like a really odd stance to have.

That's hardly up to us + creates the precedence for then other users to complain "why then there's no banner/instructions for solution X from company/org Y"? -- Not to mention our instructions could get outdated and adds one more thing we gotta maintain.

I don't think we're setting that precedent at all, again WSL is a core OS feature for a major OS we already support. If Apple ships a "Windows for Mac" virtualisation layer, we should probably let folks know about that too.

And I don't see this as a content maintenance burden, it is a tiny notice for folks on Windows letting them know that WSL is a thing -- I don't think that'll go away, and if it does, it's not exactly a difficult change to remove it.

@MattIPv4
Copy link
Member Author

This can also be seen as we taking a stance that users should use A instead of B.

This shouldn't be the case and I don't think what is proposed here does that -- all we're doing is saying "by the way you use WSL as an alternative", not saying "don't use Windows, use WSL instead"

@MattIPv4
Copy link
Member Author

On that note, the banner should not be on the top, but IMO below the Dropdowns and should by minimal, non-invasive, (but easy enough to notice, with strong contrasting colours) and only show if Windows is selected. Otherwise why the hell should we render said banner for macOS or Linux users?

+1, but that's just review feedback on a PR to add such a notice (and I had assumed throughout this discussion we'd only show the banner in relevant context). I don't see this as reason to block the entire idea.

@ovflowd
Copy link
Member

ovflowd commented May 25, 2025

I don't think we're setting that precedent at all, again WSL is a core OS feature for a major OS we already support. If Apple ships a "Windows for Mac" virtualisation layer, we should probably let folks know about that too.

No, it is not. We don't officially support WSL, it just happens to work because WSL is virtualization of other Linux distributions.

I strongly disagree with this notion -- actively choosing to make this page less helpful and not educate users about core OS features available to them related to how they could run Node.js seems like a really odd stance to have.

Again, the original intent of said download page isn't for education. There are plenty of guides out there. Users will ask AI or Google "what's the best way to install Node on Windows" and it will possibly say WSL. But it shouldbe the users choice; It is hardly an "educating users" move here, it is not up to the Node project that users should use WSL.

And I don't see this as a content maintenance burden, it is a tiny notice for folks on Windows letting them know that WSL is a thing -- I don't think that'll go away, and if it does, it's not exactly a difficult change to remove it.

Tiny? Have you seen how big the notice is? It is almost the size of the package manager codebox itself.

This shouldn't be the case and I don't think what is proposed here does that -- all we're doing is saying "by the way you use WSL as an alternative", not saying "don't use Windows, use WSL instead"

Neither I said this; But the banner is prominent enough that will sway users from Windows-native options towards WSL, and that shouldn't be our stance

It is actually not even a decision of the @nodejs/nodejs-website team, this is a content decision. And I'd be more inclined on having the @nodejs/tsc giving their 👍 here before we add a Microsoft-owned product as the recommended way with a huge banner on the downloads page.

To make it clear, nothing against Microsoft or WSL as a product; There's just no precedence here

+1, but that's just review feedback on a PR to add such a notice (and I had assumed throughout this discussion we'd only show the banner in relevant context). I don't see this as reason to block the entire idea.

Not necessarily, it all depends on how we decide to proceed here.

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

No branches or pull requests

5 participants