swiftlang / swift-org-website

Swift.org website
https://swift.org
Other
477 stars 186 forks source link

Adjust "Traditional" Install Instructions for Swift on Windows #845

Closed timsneath closed 1 week ago

timsneath commented 2 weeks ago

I wanted to start a quick conversation about what we should do with the "traditional" installation instructions for Windows. https://www.swift.org/install/windows/traditional/

The instructions are designed around installing Swift 5.4.2, with unnecessary or obsolete steps for modern Swift installations. I don't think we want to encourage people to install such an old version. At the same time, I think we want to have a basic README associated with a manual installation: in particular its dependencies.

We could optionally keep an archived page for Swift 5.4 and older, but my sense is that this is unnecessary. It's an anti-pattern to install those versions, and I don't even believe we publish these downloads anywhere (if we do, I can't find them!)

My proposal is that we clean this page up and focus it on modern (Swift 6+) installs, removing unnecessary steps like GPG key validation and targeting a more advanced user (i.e. note the dependencies, don't necessarily provide handholding of how to install them). Curious on other thoughts from @compnerd and others.

compnerd commented 2 weeks ago

As long as we keep the archived versions, I think that makes sense. The older installation was far more complicated and needs to be recorded in case we need to go back. Even I, having designed all this, would need some trial and error to figure things out given the complexity of the management of the auxiliary files.

The newer installation should be much better and focusing on that is a great idea as it does not confuse the user into thinking that the installation for Swift is difficult. Given that we want Swift to be a welcoming language that is a great introduction for beginners, this seems like it would be in line with such an audience.

It might also be a good place to surface some additional tidbits like how to control what is installed as it is a starting point for cross-compilation as well. Replacing the installation complexity with some guidance on the underlooked aspects of the installer would allow us to highlight more features.

Another thing that is important to consider is that I would still love to see an online installer (but that requires some help from @shahmishal to get the hosting figured out). This would require that the user is aware of the options to install components as it would help trim the amount of downloaded content, reducing costs for both the hosting as well as the user. It could help reduce the download size significantly though.

timsneath commented 2 weeks ago

I think that's what I'm asking though -- do we even have the archived version? Is there a legitimate scenario where we'd want to "go back"? (Is archive.org enough?!)

compnerd commented 2 weeks ago

I think that there are legitimate scenarios where we would want to refer to the older instructions. They are generally for developers - being able to compare the behaviour across versions of the compilers is important, especially to verify the behaviour as Swift gets better about parity on different platforms.

timsneath commented 2 weeks ago

OK, I finally found the link to the older versions (as far as I can tell, it's not on the getting started or install pages). So I'm aligned: let's add a page on "installing older versions" that is linked from there, and then simplify the main instructions. I'll put together a PR.