[Haskell-community] Downloads page & Haskell for Mac

Manuel M T Chakravarty chak at justtesting.org
Tue Nov 10 11:13:21 UTC 2015


John Wiegley <johnw at newartisans.com>:
> 
>>>>>> Manuel M T Chakravarty <chak at justtesting.org> writes:
> 
>> Other than that, isn’t it the purpose of haskell.org to make it as easy as
>> possible to get up and running with Haskell? From all the feedback that I
>> got from users so far, Haskell for Mac is by far the easiest way to get
>> started with Haskell on a Mac. If we are up front about its commercial
>> nature, visitors to the site can decide for themselves whether the purchase
>> costs and the commercial nature are worth the added convenience to them.
> 
> Hi Manuel,
> 
> We still have the problem that the current downloads page is quite long. Since
> I can't see replacing one of those options with Haskell for Mac, that only
> leaves adding a fourth option -- which begs the question why other perfectly
> viable options are also not there. At some point, we have to draw a somewhat
> arbitrary line.

To be honest, I didn’t want to restart a discussion about the rest of the downloads page, but maybe that is inevitable. I totally agree that the current downloads page is quite long. In fact, it is much too long. It is so long that I’m not sure who the target audience is supposed to be. Head over to python.org

  https://www.python.org

and hover over ”Downloads”. Without even going to a separate page you get a popup that immediately presents you with two options specific to the OS you are running (choosing between Python 2.x and Python 3.x). Then, to the left of that is a menu with other options if you are enough of an expert to want to explore the available options further. (If you click on ”Downloads”, you go to a page that also has the two download options right at the top and then more details below, which you can happily ignore.)

That’s it. That’s how a good download section looks like.

Why do we even have three options?[1] To somebody new to Haskell, these options are essentially the same. A newcomer doesn’t have the information to make a meaningful choice at this stage. Hence, you create confusion.

I realise that some of you put quite some effort into this page and I am sorry if this sounds harsh, but please try to look at it from the perspective of somebody who is new to Haskell. They have one goal: be able to write some Haskell code with as little upfront effort as possible. They don’t care about differences in package management and what not. (It’s not just that they don’t know about it, they don’t want to learn about it!)

There is of course a place for describing the difference between the three types of installations, but that’s somewhere deep down in the section for experienced users who want to fine-tune their environment.

Let me give you one more datapoint. I have run lots of university courses teaching Haskell. I have been bombarded by students questions about installation problems semester after semester. Now, would I point my students to the current downloads page? No — because it would drastically increase the number of problem reports I get. (I typically write my own downloads page specifically for the course, because the community-supplied ones are too confusing.)

So, what to do? There can only be *one* installation option and that should query the browser info to preselect the download for the user’s OS.

Then, in addition to that one canonical download, there can be a list of options, maybe sorted by OSes or by CLI vs GUI or some other dimension that is meaningful to somebody who is unfamiliar with the Haskell tool chain.

> In our "third party downloads" section, we could add a link to a page targeted
> specifically at beginners, with Haskell for Mac as a prominent member of the
> "Mac" section on that page. Would that suffice?

Is there a ”third party downloads” section at the moment?

As I wrote above, I think, the main page should have a single option with a menu (or list) of alternative categories. I don’t think ”third party” is a good label, though. Good UI design takes the perspective of the user and presents choices in terms of the information that the user possesses (and is able to use for meaningful choices). 

Choices that are meaningful in the mind of a newcomer looking for a way to use Haskell are, for example,

* is it free or do I have to pay, and
* does it have a GUI or do I have to use the CLI.

> I realize you want to get the word out to those who need to hear it, and
> burying the lead past a link may lose some of the audience you're aiming for.
> This has to be balanced against our need to keep the community-backed options
> clear and visible, and avoid additional confusion for the sake of a better
> option for some.

Sure. However, all the community-baked options have one disadvantage for a lot of people: you need to use the command line and get your hands dirty with configurations. This is a deal breaker for many people and it makes Haskell inaccessible to these people. It also strongly contributes to the popular opinion that Haskell is an elite language for experts. I think that this is very unfortunate. Haskell is, for example, great for teaching programming to people who have never programmed before (including children). The CLI-based ecosystem is a serious obstacle for that.

Cheers,
Manuel

[1] This is a rhetorical question. We do have three choices for political reasons. User interface design by committee usually leads to these compromises.


More information about the Haskell-community mailing list