I presented to this year’s Triad Developers Conference on March 10. The talk was a hands-on guide titled Building Web Applications in R, which took participants through the initial steps of building a Shiny application, and also building an openCPU application.
I worried initially about the time we’d spend making sure everyone had proper versions of R, RStudio, and Shiny installed, but then I realized this would be so much easier if I set up a big instance of RStudio Server on AWS and let people use that.
It worked beautifully! There were no installation / version / dependency issues, and those who were comfortable with their own local installation could still use it.
Thanks to AWS spot requests, I paid something like 60 cents / hour for that server, with 36 processor cores and 60 GB of memory. That might be the most effective $2 I’ve ever spent.
I haven’t received official feedback from the conference yet, but in my opinion the talk went pretty well. A brief survey at the beginning showed very little overall R experience in the room, so for most participants this was an introduction to R in addition to the discussion about building web applications.
Before the hands-on coding session, I made several key points that I think are important for anyone interested in building an analysis-heavy web application:
- You have to think about the strengths of the people building the application – are they R developers, web developers or both?
- You have to be ready and willing to pivot. Often Shiny enables quick and easy prototypes, but at scale you end up with problems that only money can solve.
- Nothing is easy in the long run for any production application, and that’s true in Shiny and openCPU – you still have to think about security, authentication, data management, and handling traffic. But it can all be done successfully.
I used a slide deck to reinforce the non-coding sections of the talk, which is now available to the public. Feel free to use this as a base for future presentations, though I’d love it if you tell me about it in advance.
If you’re interested in a repeat of this presentation or a more thorough training in Shiny and/or openCPU, please send a message on the contact page and I’ll follow up with you as soon as possible!