[plt-scheme] Version Check

From: Eli Barzilay (eli at barzilay.org)
Date: Wed Apr 26 12:47:51 EDT 2006

Starting from version 300, DrScheme had the ability to check for a
newer version every once in a while, but it is turned off by default.
(You can turn it on using the preferences, in the warnings tab.)

We are considering turning this on by default, but there are ethical
and technical issues -- so I'm polling for opinions.

On the ethical side, the fact that DrScheme does the check means that
we get some idea of its usage -- seems like this should be documented
in the DrScheme manual -- some disclaimer that says that this is used
to check for newer versions, that such data as http log files is never
given out, and that it might be used to get an estimate of the number
of users (which is always a necessary argument for getting funds to
support the project, currently done through tedious guesswork).

However, if it's only in the manual, it may not be obvious enough, and
some people may consider this bad ethics.  (Although it seems like
this is becoming common enough to almost be expected.)  On the other
hand, some on-first-run dialog is a bad idea since it's one step back
to the dialog that was unsuccessful in making people choose their
language level etc.

As for the technical side -- the current behavior (if turned on) is as
follows:

The version is checked when DrScheme starts, but no more than once a
week.  If you see a newer version -- pop up a dialog with three
options:

    *** Outdated PLT Version ***
    PLT Scheme v317 is now available

    [Quit & Take Me There]  [[Remind Me Later]]  [Stop Checking]

The first starts a browser page on download.plt-scheme.org and quits
DrScheme.  The second one (default button) will make it check again in
two weeks.  The third one turns off the check.  Closing the dialog or
hitting escape makes it check again in the next scheduled time (a
week).  The intention is for a dialog that is as undisturbing as
possible.

Some questions about this:

* Anything wrong in this behavior?  The times?

* The dialog is a modal dialog, maybe it shouldn't be which will make
  it possible to just ignore it and continue working.

* There was a suggestion to have a button that will mean "I know about
  v317 and I don't want it, remind me when there something newer".
  The problem here is that the dialog is intended to be minimal, and
  it will be difficult to explain that on a button label.  (This is
  why I tried to make it as similar to behavior of existing
  application, making it look familiar means less explanations
  needed.)

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


Posted on the users mailing list.