haskell-infra / hl

Haskell web site (old -- see new repo at https://github.com/haskell-infra/www.haskell.org)
http://haskell.org/
BSD 3-Clause "New" or "Revised" License
158 stars 92 forks source link

Make downloads page as simple as possible #221

Open ismailmustafa opened 6 years ago

ismailmustafa commented 6 years ago

There are several things I've noticed with the current downloads page that can act as a deterrent to users getting Haskell up and running as quickly as possible:

Rather than trying to squeeze as much information as possible into a single page, I've opted for a much simpler approach of showing the user where to get Haskell quickly. If the user wants to know more about the particular method they've chosen, then its all on the page that they just clicked into. Here's what it looks like (I took some inspiration from Scala's download page):

image

I've also moved the unrelated "Additional Libraries" section into its own page called "Packages".

image

Let me know what you think.

angerman commented 6 years ago

While we are at it, could we mention that on macOS (in the presence of homebrew) stack, ghc and cabal can alle be installed via brew?

TikhonJelvis commented 6 years ago

Would it be difficult to provide OS-specific instructions based on the OS a person uses to visit? I've seen this on the downloads pages for other projects (can't recall which ones exactly) and found it to be a good experience.

More broadly, though, the goal of this proposal is simplicity and we shouldn't lose sight of that! It's too easy to go off on a tangent and build up too many options all over again, defeating the point...

TikhonJelvis commented 6 years ago

I agree wholeheartedly with the goals of this proposal. Having too many options is an easy way to turn people off of a project. I remember this being a real problem when I was downloading Eclipse back in high school and was faced with something like a dozen options full of words I didn't know (Java EE?).

The linked Scala page, on the other hand, would have been great. It still offers a choice but makes the choice meaningful and doesn't dazzle me with way too many options.

Here's a screenshot of the Eclipse page I was talking about, from 2010. I found it on a video tutorial on downloading Eclipse. We should aim for a download page that doesn't require a YouTube tutorial!

Eclipse download page from 2010

(Note the scroll bar: those are just the first six options of many.)

ismailmustafa commented 6 years ago

@TikhonJelvis in this case, I don't think it would make sense for the downloads page to be OS specific since we don't yet know which option they have selected. However, once they click into the Haskell Platform, it detects which OS you are using. The link that the stack button takes you to doesn't auto detect, but the options are clearly presented on the left hand side.

ismailmustafa commented 6 years ago

@angerman That might be good to add underneath the two buttons. Maybe changing that copy to something like "Looking for alternative ways of installing Haskell? Click here.", and then adding a macOS section to the page it takes you too.

Mistuke commented 6 years ago

While we're changing things, can we also mention that on Windows ghc, cabal and stack can be installed via chocolatey?

The download numbers themselves should speak towards their popularity.

gbaz commented 6 years ago

I hesitate to jump into this discussion again. That said, adding either brew or chocolatey-specific information here runs the risk of cluttering things, when the point of the PR is to declutter.

At the moment, the haskell platform page does provide a brew route for the platform, but I think that only does "full". A PR to add "minimal" via just brew installing the 3 things would be welcome on the platform page.

Similarly the platform page could add a chocolatey package manager section to windows for minimal, with the actual minimal installer subbed for just the three individual choco install calls.

moving the choco and brew calls to behind a link, in a way that does platform-specific detection, seems to me a good way to keep clutter low.

Mistuke commented 6 years ago

That's fair enough. I'll leave it up to you guys to decide. I just wanted to point out that there are other ways to get the binaries.

angerman commented 6 years ago

I'm all for reducing the clutter! And I did not mean to add full blown instructions on how to use brew, I believe everyone who has brew knows how to use it; same holds for choco I believe. Just a line "Also available via brew (macOS) or choco (win)" was what I had in mind. Potentially links to the details page with an anchor to the respective subsections migth be helpful.

The "On linux or looking for alternative ways to install" (to me) does not suggest I find brew there. It suggests to me that if I want to go the hard way, that's where I might want to look. But honestly I probably shouldn't look there and just download the binary

Please go ahead and declutter it any way you like! I'm with @Mistuke here, and will leave up to you guys to decide.

hvr commented 6 years ago

I've recently started looking at Haskell on Windows, and it appears to me that choco-based installs currently seem to provide a better and more uniform experience than the alternatives (and even better than the HP) for when you need to work on Haskell packages which depend on non-trivial things like Gtk+.

m-renaud commented 5 years ago

On Linux, my favorite (new) way to install the Haskell toolchain is ghcup which AFAIK supports most (all?) Linux distros as well as MacOS. I think it would be unfortunate if this wasn't at least mentioned since its been the smoothest experience I've had (even more so after the bootstrap script is available).

Also, one nice to have would be auto-detecting the operating system and showing the appropriate instructions (check out the rustup page for an example). It turns out this can be done relatively easily with JavaScript.

m-renaud commented 5 years ago

Also, consider renaming this to the "Install" page?