Thoughts about the S+ GUI
For more than a year and a half, I have been releasing pROC version in two flavors: R and S+. The S+ version has a great advantage (or disadvantage for some) over R: it has a GUI, a graphical user interface. This is especially useful for users who do not want to learn programming R and who prefer a clic-and-point interface.
However, this dual-version comes with a cost. Here are some thoughts about it.
- I have to maintain two different version. Fortunately R and S+ are similar enough that most code works in both environments. There are a few inconsistencies, especially the way the variables are scoped (see this document by John Fox for more details). I need to be careful when
sapplying: any variable accessed inside the function must be passed as argument in S+. Functions such as
evalalso behave quite differently. Overall, good tests in the examples section of the documentation are crucial to detect potential errors.
- The only exception is the
plotfunction. Graphics have huge differences between R and S+. Any modification of
plotis really difficult.
- S+ is much slower than R. Bootstrap operations take much longer to complete. Even DeLong computations, which are nearly instant in R, take a noticeable time to complete in S+.
- Specifically about the GUI now, writing S+ GUI code is awfully painful. For example there is little control over the placement of the buttons. The sample size window I'm currently developing is really ugly, and there is nothing I can do to improve it. The events are quite unpredictable, especially when the user rolls-back a window it is often in a broken status.
- The previous point stems from the lack documentation of the S+ GUI. It comes with a minimal introduction, that is just enough to start. But there are far too many undocumented features I had to discover myself by guessing-and-error. For instance, how to catch a user roll-back? I still haven't found how to cancel an analysis when I detect an error in the user's submission, or how to handle colors properly. For a professional-grade software, this lack of documentation is unexpected, to say the least.
So, would I start a new project with a GUI in S+? Probably not. I would first investigate the R integration plugin of SPSS. There are also some GUI for R, such as Rcmdr. I can't tell if they are a manageable option, as I have never tested it. Another option would be to create a web interface, but R doesn't have CGI and it would require interfacing with another language such as perl. Anyway, I would not recommend anybody to start an S+ GUI project.
What to expect of pROC in the future? Let me say I don't expect to stop its development soon. The version 1.5 of pROC, which will be released very soon, has a new sample size computation function, and a dedicated window in S+. In the long term (> 1 year) however, the situation might change. I will leave the University of Geneva in just over a year; will I still have access to S+? This problem is typical from proprietary software and its licensing. I won't pay for it, and I don't know if TIBCO provides licenses for application developers.