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

Windows options are misordered: please consider user experience #857

Open
charlesroddie opened this issue Jan 17, 2021 · 3 comments
Open

Comments

@charlesroddie
Copy link
Contributor

charlesroddie commented Jan 17, 2021

Beginners may come to https://fsharp.org/use/windows/ to work out what to use. It is extremely important that the default is good. This is critical to getting new F# users to choose an option that gives them a good experience.

The current order seems to have been chosen randomly, or for political reasons, with no understanding of user experience:

1: Option 1: Install the CLI tools and use your own editor
2: Option 2: Install Visual Studio Code and Ionide
3: Option 3: Install Visual Studio
4: Rider
5: Build from source

The problem was created by #799

How did a PR get approved which puts "use your own editor" as the first option? There needs to be some understanding of the user experience of typical developers and especially beginners.

"Use your own editor" should be moved below Rider.

VS and vscode should be swapped since vscode is not feature complete (limited project system support) and gives uses problems that they often report on slack and reddit. This user study dotnet/fsharp#6785 noted the problems with vscode among new users, and yet shortly after this PR was merged which moves vscode above VS?

The only consideration here should be whether new users are going to get a good experience using F#. In particular, promoting community-maintained projects or promoting the idea that true developers should hack things together themselves should not be considerations.

@dsyme
Copy link
Contributor

dsyme commented Jan 18, 2021

I get what you're saying here.

As background, there was an explicit decision to prioritise consistency across Windows, Linux and Mac - i.e. to give the consistent, lightweight, editor-neutral command-line installation first and then give detail on editors - again ordered by cross-platform consistency. Whether it's right or wrong depends on whether you're assuming the user is willing to change editors or not, or whether they care about cross-platform consistency or not. I guess those assumptions have basically flipped in recent years and are now "assume the user is unwilling to change editors and cares about prioritise cross-platform consistency".

Probably the best solution is to display options side-by-side.

@cartermp
Copy link
Member

I think they should stay the same. The study you're referring to also had some aspects to it that are worth considering:

  1. Everyone who wasn't an existing .NET developer did not look to use VS, even when using VS was the top google search result for them. Existing .NET developers immediately chose VS regardless of what they found on the internet. This stratification is actually quite a big deal that we've observed on the C# side, too. People who have little to no exposure to .NET overwhelmingly start with VSCode.
  2. There are negatives to starting out with VS that aren't captured in the issue you reference. Other user studies, unrelated to F#, have shown that VS is seen as highly confusing and overwhelming for newcomers. Needing to install GB of tools before writing your first "hello world!", a confusing installer with terminology they don't understand, a UI that's seen as antiquated and with too many buttons/options/etc.

And more importantly, everything people struggled with that was related to tooling (keep in mind that it was not just tooling people struggled with) is resolved with Ionide 5. Project support, scaffolding, and installation requirements are in a very good place. At this point, the people who struggle the most with Ionide 5 are existing users who don't have .NET 5 installed, which is mostly just a point-in-time issue as it gets adopted. All "get started with..." documentation that floats to the top of google search results has newcomers installing .NET 5.

limited project system support

This is really only a concern when you're mixing F# and C# at this point, which is very much not a beginner scenario. And existing .NET developers are already largely using VS, which has what they need.

@cartermp
Copy link
Member

What I think this really hits at is the "do you already use .NET?" question. Since F# is installed by default, the large majority of .NET developers already have it available to them in their familiar File > New Project experience. They are also more likely to incorporate it into an existing C# codebase. So the kinds of things they need to know to "get started" and feel productive is fundamentally different than people starting out with F# and only F#. It's a challenging position to be in.

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

Successfully merging a pull request may close this issue.

3 participants