[R-gui] Status of the R-GUI
James Wettenhall
wettenhall at wehi.edu.au
Fri Sep 12 11:43:19 MEST 2003
Hi,
Maybe I'm starting to veer from the original question, but it's
been a while since this list has seen a lot of general
philosophical discussion of GUI development.
I think there are at least three types of users we should think
about:
(1) Users who have no desire to learn how to use a
Command Line Interface (CLI), but are still very intelligent.
(2) Users who want to use a GUI as a preliminary step before
learning how to use a CLI.
(3) Users (like myself) who are comfortable using a CLI, but
find that they can "protect" themselves against common errors
and be more productive by using a GUI sometimes.
I know of several R-GUI projects with slightly different aims.
Of course there's Peter Dalgaard's fantastic tcltk package,
including the tkStarGUI prototype. I'm using tcltk to develop a
microarray analysis interface which will eventually be submitted
to Bioconductor (http://bioinf.wehi.edu.au/limmaGUI/)
There are other Tcl/Tk projects including John Fox's Rcmdr
package, which I think is partly designed for users of type (2),
but should also appeal to advanced R developers as it is
extensible.
John Zhang has contributed the widgetTools and tkWidgets
packages to Bioconductor, which allow a more object-oriented
approach to Tcl/Tk GUI development, perhaps analagous to Java
Swing. Speaking of which, is anyone using Java Swing with R?
There is also Phillipe Grosjean's SciViews project, which may
not be entirely platform-independent, but a great proportion
of users of type (1) hardly know that Linux exists, and may
always use software developed in a similar way to Phillipe's,
i.e. Microsoft Visual Basic or Microsoft Visual C++
or whatever.
There are other R-GUI projects. Sorry for the omissions.
Peter Dalgaard described a "scripting widget" in :
http://cran.r-project.org/doc/Rnews/Rnews_2002-3.pdf
which makes it possible to build a GUI which appeals to all
three types of users!!! An R/TclTk interface can have simple
buttons and menus for users of type (1), but users of type (3)
(and perhaps (2)) can learn how to enter R code directly to
interact with the data objects used by the GUI.
(See the bottom of the worked limmaGUI example at
http://bioinf.wehi.edu.au/limmaGUI/Doc/Weaver/index.html
where I have an "Evaluate R code" menu which can be used to grab
some data objects use by the R/TclTk application and type an R
command to plot them in a tkrplot window, or check their values
in a text window.
I would certainly like to encourage R-GUI development, but my
limmaGUI project (http://bioinf.wehi.edu.au/limmaGUI/) may be
too specialized to interest general R-GUI developers.
So, I have been thinking, how could I contribute something which
would encourage R-GUI development?
Here's an idea I came up with:
Develop a simple "spreadsheet" R package using the Tktable
widget, which allows things like getSelection() to store
selected cells in a data frame and allows developers to
easily add menus to do things like barplots of the data in
the selected cells (with a few pre-built examples). Then,
formulae within cells: =Rfunction() would be nice, and things
like "fill-down" etc. Of course for large spreadsheet files,
it would be incredibly slow compared with Excel, so would it
be any use?
The reason I suggest this, is that developers could instantly
see how the interface could be made easy to learn for users of
type (1) but hopefully they (developers) could also see how to
extend its functionality easily.
Just one last issue to mention: ease of installation.
Currently, a typical user of my R/TclTk GUI will start with nothing -
they will not have R, Tcl/Tk or any interesting R packages
installed. (I should note that I used the tkTable and bwidget
extensions which are not bundled with R.) Is anyone out
there working on installation wizards for their favorite operating
system(s)? I personally do not have installation privileges so
it's difficult for me to test installation wizards, but I'd
certainly like to make my software easy to install.
InnoSetup:
http://www.jrsoftware.org/isinfo.php
is free software to create Installation Wizards for Windows.
Perhaps another option is to build a Wizard using something like
freewrap (creates binaries from Tcl/Tk scripts):
http://freewrap.sourceforge.net/
and you could possibly use TclCurl:
http://personal1.iddeo.es/andresgarci/tclcurl/english/
if the wizard had to download anything from the Web.
OK, enough rambling!
Feel free to disagree with my current R-GUI philosophies.
Regards,
James
--------------------------------------------------------------------------
James Wettenhall Tel: (+61 3) 9345 2629
Division of Genetics and Bioinformatics Fax: (+61 3) 9347 0852
The Walter & Eliza Hall Institute E-mail: wettenhall at wehi.edu.au
of Medical Research, Mobile: (+61 / 0 ) 438 527 921
1G Royal Parade,
Parkville, Vic 3050, Australia
http://www.wehi.edu.au
More information about the R-SIG-GUI
mailing list