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

Henrik Bengtsson hb at maths.lth.se
Fri Feb 25 13:57:17 CET 2005

Very nice additions you have made! Thanks.

> -----Original Message-----
> From: r-devel-bounces at stat.math.ethz.ch 
> [mailto:r-devel-bounces at stat.math.ethz.ch] On Behalf Of Prof 
> Brian Ripley
> Sent: Friday, February 25, 2005 12:11 PM
> To: R-devel at 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

> - 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. 


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 at 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 at stat.math.ethz.ch mailing list 
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list