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

x/website: improve downloads page #10147

Open
adg opened this issue Mar 12, 2015 · 6 comments
Open

x/website: improve downloads page #10147

adg opened this issue Mar 12, 2015 · 6 comments
Labels
Milestone

Comments

@adg
Copy link
Contributor

adg commented Mar 12, 2015

The current downloads page leaves a lot to be desired. It provides an overwhelming amount of information, but not the essential pieces.

Ideally it should be the single page a user needs to visit to set up a working Go tool chain.

Here's my proposed download page flow:

  • Step 1: on page load

Show a set of radio buttons for the user to select their OS/ARCH combination:
(Use the User-Agent HTTP header to detect the relevant OS/Arch combination and
pre-select it.)

    Operating System        Processor Architecture
    [ ] Windows             [ ] 64-bit x86 (amd64)
    [ ] Mac OS X (darwin)   [ ] 32-bit x86 (386)
    [ ] Linux
    [ ] FreeBSD

                    [ Download ]
  • Step 2: the file is downloading

When they click Download, replace the os/arch form with an installation message:

    You are now downloading go1.4.linux-amd64.tar.gz.
    (If the download does not start automatically, [click here].)

    Once you have downloaded the archive, you should install it:

            $ sudo tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz

    Add `/usr/local/go/bin` to your `PATH` environment variable,
    and set the `GOPATH` environment variable to a suitable location 
    (NOT the installation path; see [this document] for more about GOPATH).

(With different variations for OS X, Windows, etc.)

Obviously we'll need some finessing on the messaging around GOPATH, but the central idea is hiding all the irrelevant options and providing basic installation instructions.

@adg
Copy link
Contributor Author

adg commented Mar 12, 2015

cc @broady

@adg
Copy link
Contributor Author

adg commented Mar 12, 2015

The line

Add `/usr/local/go/bin` to your `PATH` environment variable,

could have a little link "How?" which pops up a little box explaining how to edit .profile or whatever it is on your system.

Similarly, the mention of GOPATH could also have "What is GOPATH?" which pops up a similar explanation.

@adg
Copy link
Contributor Author

adg commented Sep 3, 2015

This has improved a lot with the Go 1.5 release, but it could still be better.

The downloads page now provides the user with a list of popular downloads, and when they click through they get the specific installation instructions for that platform as the download begins.

@minux
Copy link
Member

minux commented Sep 3, 2015 via email

@mh-cbon
Copy link

mh-cbon commented Aug 23, 2017

can you consider to add a short link to last download ?

I mean, I have a script which needs to download go and install it on windows,

wget https://storage.googleapis.com/golang/go1.7.4.windows-amd64.msi
vagrant winrm -c "COPY C:\\vagrant\\go1.7.4.windows-amd64.msi C:\\go.msi"
vagrant winrm -c "msiexec.exe /i C:\\go.msi /quiet"
vagrant winrm -c "setx GOPATH C:\\gopath\\"
vagrant winrm -c "ls env:GOPATH"
rm go1.7.4.windows-amd64.msi

rather than wget https://storage.googleapis.com/golang/go1.7.4.windows-amd64.msi, i wish i could do wget https://storage.googleapis.com/golang/go-stable.windows-amd64.msi

And i will happily use unstable it there was a next short link such as wget https://storage.googleapis.com/golang/go-next.windows-amd64.msi pointing to last rc.

@broady
Copy link
Contributor

broady commented Aug 23, 2017

One way to do that, today:

wget https://storage.googleapis.com/golang/$(curl https://golang.org/VERSION?m=text).windows-amd64.msi

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

No branches or pull requests

6 participants