-
Notifications
You must be signed in to change notification settings - Fork 20
WSL Page - Feature Exploration! #2266
Description
Dev Home Feature Exploration: WSL Page
Please Provide Feedback & Ideas!
Let us know what you think about this feature by commenting on this issue! We'd love to hear your ideas and feedback. We will share out our list in the near future but want to hear from you first so we don't influence what is most useful for you.
Comment below:
- What do you like about the feature?
- What do you think is missing / what could improve this feature?
1. Scenario description
1.1. Narrative
Clark is a new developer in college, and is programming for the first time. He needs to use Linux to compile his C++ and was recommended to use WSL. Since he's not too familiar with CLIs yet, he installs WSL through Dev Home and is easily able to see and manage his Linux distros. From there he can launch into them comfortably, and feels in control of his Linux environment on Windows.
1.2. General problem statement
Currently the Windows Subsystem for Linux is a command line focused application. There isn't an easy built-in way for users to discover, interact with, or manage WSL through a graphical interface. This feature would focus on making WSL functionality available through GUI, to increase discovery and usability for a wider range of users.
1.3. Customer evidence
The highest 'Upvoted' issue on the Dev Home repository is asking for more WSL integration.
Please note that this specific request is around integrating WSL with machine config, but we should take this as a strong data point that users would like WSL to be more integrated with Dev Home.
1.4 Existing solutions
- Raft
- Command line interface
2. Design
2.1. UI Mockup
Mockup of WSL page in Dev Home, PM art (It's kind of like outsider art [That's an art joke])
2.2. User Cans
With this feature a user will be able to...
P0s:
- Navigate to a dedicated "Windows Subsystem for Linux" tab in Dev Home
- Needs to be configurable / changeable as default on or off by Dev Home team (Scenario: We chose the wrong default)
- Needs to have a 'card layout' and a 'grid' layout that's switchable
- If WSL is not installed, install it
- Select a specific Linux distro to start with
- Install new WSL distros
- Needs feature detection (WSL version detection)
- Shut down the WSL VM
- See a list of all installed WSL distros and for each:
- See state (Running, Off, etc.)
- Terminate distro
- Uninstall distro
- Launch distro
- As a specific user as well
- Set as the default WSL distro
P0.5:
- See a list of all installed WSL distros and for each:
- Change install location
- Import WSL distros from VHD or from tar
- Export WSL distro to VHD or tar
P1s:
- See total RAM and CPU being used by WSL at that moment
- Total (Entire VM)
- Also per distro
- Mount a Linux formatted disk
- From a VHD
- From installed disks
- See what's new in WSL
- Open release notes
2.3. Open Questions
- How do we handle the Docker Desktop distros? We don't necessarily want users launching into those. Should we special case them?
- If we want to show GUI apps in WSL how do we list them?
- Are we ok with having a top level tab called "WSL" in Dev Home?
- Proceeding with: Yes, but make it configurable to turn it off
2.4 Release plan
The first iteration of this feature will only deliver the P0 user can's above. After that experience is shipped we can determine whether we want to keep adding the P0.5 and P1 user can's as well.
