[racket-dev] Downloading DrRacket for Mac is hard?

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Aug 12 18:07:57 EDT 2011

Yesterday, Eli Barzilay wrote:
> On Aug 10, 2011, at 11:33 PM, Guillaume Marceau <gmarceau at gmail.com> wrote:
> > Does the combo box auto detect the downloader's platform for the
> > User-Agent header.
> Yes, in some cases when it's possible to make a guess.

The main problem here is that it is *just* a guess, and very often it
can be a bad one.

* In some cases, I have only a vague idea that it does something
  sensible, and I don't have a direct way to try it (I'm not using all
  of these platforms),

* In other cases the choice is inherently ambiguous -- for example,
  you might be using Windows on an x86_64, but prefer to get the
  32-bit version.

* And there are cases where the choice is not even unique -- if you
  choose any of the linux dsitributions, you'll see a popup text that
  tells you that you can try some of the other linux installers, since
  installers for one platform will often work on another.

> > If so, then the next step is to change the layout to:
> > 
> >      Download: __Macintosh OS X (Intel i386)__ (this is the
> >      version of DrRacket for your system. In rare cases, you might
> >      need a version for a __different system__)
> This will damage many more people.

I think that I misread this -- if you're talking about *only* a layout
change, then that's fine.  I'm thinking about something minor, like
making the "Download" button appear before the combo box, and perhaps
some other visual cues like making it larger, making it graphical, and
making the combo box have a slightly grayed out color to de-emphasize

This can work well, since the current code does more than just put the
guessed platform as the top choice -- it also sorts the entries by the
platform.  For example, even if the choice of a particular Mac
installer wasn't the right one, the options in the combo box should
have all the Mac entries first.  IMO this makes it work well as a
combo box that appears below a more emphasized "download" button.
(For the script, have a look at `downloader-script' at the bottom of

But given the above, the combo box *should* be there.  When you later

> > where the link "different system" leads to the whole combo box.

I read that as having the box on a different page, and that would be
damaging because of the above.  This is because there is no way that I
can be certain that the guess is the right one, or even a sensible
one, making the above cases a constant PITA.  The only way to make
something as drastic as this work is if someone volunteers to
*continuously* keep track of all of the OS/Platform/Browser options
and revise them as soon as something changes.  "Continuously" is a
keyword here: imagine that some major platform changes 4 years from
now, and there's no one with a finger on that pulse -- we'd be risking
a substantial damage in a fast-building "racket doesn't work on X"

If anyone is willing to commit to this kind of long-term continuous
maintenance, I can show you where's the code that you'll need to
maintain, and how to do that.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.