From hb at maths.lth.se  Fri Feb 25 13:57:17 2005
From: hb at maths.lth.se (Henrik Bengtsson)
Date: Fri Feb 25 18:50:14 2005
Subject: [Rd] How graphical an interface should the default be?
In-Reply-To: <Pine.LNX.4.61.0502250906380.27653@gannet.stats>
Message-ID: <004401c51b39$8a05aa00$57f1ba51@hblaptop>

Very nice additions you have made! Thanks.

> -----Original Message-----
> From: r-devel-bounces@stat.math.ethz.ch 
> [mailto:r-devel-bounces@stat.math.ethz.ch] On Behalf Of Prof 
> Brian Ripley
> Sent: Friday, February 25, 2005 12:11 PM
> To: R-devel@r-project.org
> Subject: [Rd] How graphical an interface should the default be?
> 
> 
> install/update.packages will have a lot of changes in 2.1.0, 
> and I have 
> been adding some widgets to go along with this.
> 
> - Rather than just CRAN and BIOC, you have a character vector of
>    repositories.  There is a function setRepositories() to set the
>    appropriate option().
> 
> - There is no default CRAN, but a function chooseCRANmirror() to set a
>    mirror, which is invoked if you try to access CRAN without 
> setting a
>    mirror.
> 
> - update.packages(ask="graphics") brings up a listbox for you 
> to de-select packages (all available updates are pre-selected).

Minor comment 1: Isn't ask=(TRUE|FALSE) and graphics=(TRUE|FALSE) more in
line with the other updates? True, one more argument, but you can imagine
update.packages(ask=TRUE) with a "fall-back" to a text-based selection menu.
Until implemented, one could default to graphics=ask.

Minor comment 2: Naming conventions, not discussed very often, but I would
suggest chooseCranMirror() instead of chooseCRANmirror(). (I comment on this
in under "3.1 General Naming Conventions" -> "Abbreviations and acronyms
should not be uppercase when used as name" in my RCC draft at
http://www.maths.lth.se/help/R/RCC/.)

> - install.packages() with no/empty pkgs argument brings up a 
> listbox of all available packages (including those inside bundles).
> 
> - menu(graphics=TRUE) is implemented.
> 
> These can be set up to use widgets where available (Windows, if Tk is 
> available under X11, I hope Aqua before release), and have a 
> text-mode 
> fallback (better than the current menu(), but in that 
> spirit). (Except 
> that is install.packages: text-mode selection from 480 
> packages even in 
> three columns is not useful to me, but a scrolling list works well as 
> Windows users of R already know.)
> 
> My question is:
> 
>  	What should be default be?
> 
> Options might be:
> 
> - use the graphics widget if available.
> 
> - make the graphics the default on Windows (it will always be 
> available,
>    but not necessarily on the right screen under DCOM uses).
> 
> - make text-mode the default on Unix.

I would say that same/identical behaviour on as many platforms as possible
should be favored. That will make it easier to write general
instructions/help and have subsection with OS-specific features. 

> - do different things for different tools.  Currently 
> setRepositories()
>    and chooseCRANmirror() default to graphics-if-possible, and
>    update.packages() defaults to text mode (which gives more
>    detailed information).
> 
> I am not really in favour of making the defaults a set of 
> options, but that is possible.

My feeling is that a global option is what you want. Not only in the above
cases, it would be nice for any package developer to be able to query such
an option. I also believe there are different users; some prefer GUIs some
prefer command line, or even strongly dislike GUIs).

If writing scripts for, say, automated installation of 450+ CRAN packages on
various systems such Linux, Windows and OS X, it would be very useful to
have a predictive behaviour of the above so that you can make it work the
same on all systems. For example, I used to redefine readline() to
automatically answer questions asked by install.packages() when installing
many packages at the same time; this would be much harder if a GUI pops up. 

Maybe there should be a new options to start R with, e.g. --nogui. 

Best

Henrik Bengtsson

 
> This is a request for input on what would be a good 
> compromise for general R users (and not just the R-devel audience).
> 
> 
> -- 
> Brian D. Ripley,                  ripley@stats.ox.ac.uk
> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
> University of Oxford,             Tel:  +44 1865 272861 (self)
> 1 South Parks Road,                     +44 1865 272866 (PA)
> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list 
> https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] How graphical an interface should the default be?
Henrik Bengtsson