[plt-scheme] Version Check

From: Nicholas Chubrich (chubrich at cs.brandeis.edu)
Date: Fri Apr 28 00:30:37 EDT 2006

I'm not sure I should get involved in a discussion where people have 
strong opinions, because I don't really care if the version check is done;
then again, maybe the people who don't care should speak up, because 
they may actually be the main constituency---or more like it, the people 
who don't \want to care.
	Right now on my Macintosh, most of the applications check for
updates.  I don't even remember if I told them to.  I was probably given
some sort of a dialogue box with the "check for updates" feature
pre-checked. I think that's the way PLT should work too.  It may be
different on Linux, but average people likely have an expectation at this
point that software (of at least a certain level of polish, and DrScheme
certainly fits that bill) checks for updates.  No matter what evolving
standards of engineering decency you are adhering to, they won't do much
good if the conventions have moved away from you.  You won't move them
back in your direction necessarily by bucking that---many people will
simply assume that PLT must be checking for updates---so you have
effectively removed a choice from them.  (Of course all you need is a
little more attention from them.  But how many organizations, persons, and
software would like a little more attention from them?)
	Computers are so complicated these days that we have to choose to
ignore a lot of things.  Back when I had a Mac SE, I knew what was on my
system.  Now, there are something like six hundred thousand folders.  The
same part of my brain that has to forget this stuff would also like to
forget about updates---just like it doesn't usually worry about the
delivery of power and water.  If an update is made I should probably get 
it---eventually, if we want to make computers more adaptive things will 
have to work that way.  It's not a totally analogous case, because
you'd see someone sneaking in and changing your pipes of course, but the
point is, in so many places in modern life we have to rely on trust.  I
don't look carefully at what the plumber does---what if he puts a spy
camera in my faucet to read my palms?  Well, we have ways of dealing with
that sort of thing (and not all of them involve foil hats either).  An
application developer at this point would be better off promoting
standards of behavior that can be trusted, or even enforcement, rather
than trying to get people to pay attention to something when their
attention is already pulled so many different ways.
	You could have it both ways if for instance you had a dialogue
with the update-check box pre-checked, but a statement to the effect of
"consider whether you really want to do this."  Now you let people ignore
it if they want to, but you also get to raise the issue you think they
should care about, without demanding their attention.

> What is it supposed to accomplish?
> Actively developed software evolves all the time and new releases appear
> now and then. Of this people in general are hopefully aware. Those who
> are interested in the latest features can keep track of the latest
> releases by e.g. checking the software's web site periodically or by
> subscribing to a mailing list. Others (the majority, I suspect) are
> content with the version they are using and don't want to bother with
> software updates as long as they don't have any problems. Neither of
> these groups are served by the version checking feature.
> Moreover, there's no point notifying the _user_ that updates are
> available, but the _administrator_. In self-administered home machines
> the user and the administrator are the same person, but this is not
> always the case. And many systems have their own dedicated software
> update tools and policies, so it's not something that user application
> software itself should be concerned with.
> (I already find it a bit distasteful how PLT Scheme tries to live in its
> own world and disregards all interoperability with the rest of the
> system: a non-unixish "application directory" instead of properly
> installing to ${prefix}/bin, .../lib and .../share, a base64-obfuscated
> custom package format instead of something that common tools can read...
> Version checking would make PLT Scheme act even more like it owned your
> system.)
> I can think of only one situation in which it makes sense for a user to
> know whether the software is up-to-date: when encountering a bug. But
> then it's no big deal asking the user explicitly for permission to check
> new versions.
> Lauri
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.