Pen & Paper


19 Jul 2014

It was pure luck that I came across Shiny-server two years’ ago when I was looking for an easy way to deploy a note-taking application to a class of about 20 students. I was asking half of the class to use the note-taking application and the other half to use hand-writing for their lecture note-taking in order to collect some statistics for subsequent analysis. Shiny-server 0.1, still in beta, was just released and I knew immediately after reading its introduction that it fit perfectly well with what I intended to do for my dissertation. Simply put, R is for the desktop and Shiny-server will not only broadcast what we do in R to the whole world, but also enables interaction.

Shiny-server is under active development by RStudio. I recently revisited its github repo and it is now version 1.2. I didn’t encountered any problems when I installed the beta version in an Ubuntu instance on Azure. The many revisions in the interim would no doubt have made an already great app better, although I haven’t looked into details what improvements the many revisions have made. One obvious change is that installation of Shiny-server no longer requires npm (and therefore, no node.js). It tends to simplify the installation process, and means one less reason not to check it out if you ever need to make a presentation of anything involving numbers. It will also make an ideal teaching tool from high school math to post-graduate advanced statistics.

Shiny-server does not yet support the Windows platform. A Linux VM will be the best place to learn and play with Shiny-server for a Windows user. The installation will be simplest for an Ubuntu VM because a Shiny-server binary is available (though I must say that I hate ‘Unity’, Ubuntu’s default desktop). For other Linux distros (except Ubuntu 12.04+ or CentOS(RedHat)), installation will require compilation from source code. It is a little tricker, for example in Archlinux, it is necessary to trick the python environment variable before compilation. If you are new to Linux and only wants a VM for testing Shiny-server, use Ubuntu (replace ‘Unity’ with ‘Mate’ if you don’t mind a little extra work to make the desktop much more usable).