Today I wanted to try something new; so instead of discussing a project, let’s briefly take a look at an R Package I’ve recently discovered. Before we being let me just mention that I realize not everyone uses R or have even used it before, instead my focus here will be on the technology, innovation, and utility of the package. Hopefully there are analogs libraries or packages in other languages, and if not then perhaps you’ll want to write it!

Shiny, quite simply, is an R package that allows a user to write R code and generates an interactive webpage. It not only generates the HTML markup but also takes care of the entire server-client pipeline in as painless a way as possible. From what I’ve been able to gather (an ongoing process), the Shiny package uses javascript to hook into an R server backend and then wraps the whole user interface into an attractive Bootstrap 3 frontend.

Instead of trying to describe it, I’d recommend that you checkout the gallery page for examples of what can be done. While many of the examples are quite impressive, let me tell you that even with minimal experience I was able to make my first shiny app with very little effort and it looks great (to me)!

As more and more users learn a programming language, I hope that utilities such as this will become ubiquitous across a variety of programming languages. I’ve previously mentioned Jupyter Notebook here and here, and it is a project in a similar vein to shiny just with a different end user in mind. Both make it easier for individuals and teams to share their work and to make their work better. This is just the start of a more integrated, more adaptive and more open period of amateur programmers IMO.

I have also given a short presentation about Shiny for my lab group, the power point of which you can find here: Shiny Presentation.