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

From: Henrik Bengtsson <>
Date: Fri 25 Feb 2005 - 23:57:17 EST

Very nice additions you have made! Thanks.

> -----Original Message-----
> From:
> [] On Behalf Of Prof
> Brian Ripley
> Sent: Friday, February 25, 2005 12:11 PM
> To:
> 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,
> Professor of Applied Statistics,
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
> ______________________________________________
> mailing list
> mailing list Received on Sat Feb 26 04:52:00 2005

This archive was generated by hypermail 2.1.8 : Sat 26 Feb 2005 - 05:33:51 EST