2016 Shiny Developer Conference Videos


The 2016 Shiny Developers Conference was such a success we have decided to do it again! We are targeting late January or early February 2017. We have also decided to expand the invitations to more people by hosting at a larger location with additional topics. Stay tuned or subscribe below for more information on the 2017 RStudio Developers Conference.

RStudio Talks from the Shiny Developer Conference

Presenter Description Time Video
Day 1
Joe Cheng Effective reactive programming Part 1 – Reactive programming is at the heart of the Shiny framework, and thinking reactively is one of the most difficult yet most rewarding aspects of learning Shiny. This tutorial will go beyond the basics, explaining the philosophy behind Shiny’s reactive programming framework and exploring patterns and techniques for using it well. Download Materials 60:02
Joe Cheng Effective reactive programming Part 2 – This is the second half of the effective reactive programming presentation. Download Materials 55:38

Winston Chang Coordinated multiple views (linked brushing) – Coordinated multiple views has long been a popular technique in interactive statistical graphics, and is a central feature of many new interactive plotting toolkits. While it’s been possible to implement coordinated multiple views in Shiny, we hope some new work we’ve been doing will lay the foundation for greater adoption of this technique in the Shiny world. In this talk we’ll demonstrate what we’ve been working on, and talk about what needs to happen next. 26:32

Hadley Wickham Building interactive tools for exploratory data analysis – While Shiny apps are generally built to communicate the results of an analysis, Shiny is just as well suited to building interactive tools to help you conduct your analysis. We call interactive Shiny tools “gadgets”, and they differ from Shiny apps in that they are packaged as functions to be called instead of apps to be visited, and they can return values to the caller. In this talk, we’ll show you some examples of Shiny gadgets and show you how to build your own. Download Materials 17:45

Jeff Allen Deploying apps – ShinyApps.io has made deploying Shiny apps to the cloud a push-button affair. If you’re deploying to your own Shiny Server or Shiny Server Pro instance, your task is a bit harder. This talk will demo some of the new software we’re working on to take on-premises deployment of Shiny apps to the next level of ease-of-use and robustness. 25:07

Day 2
Garrett Grolemund Modularizing Shiny app code – As Shiny applications grow larger and more complicated, app authors frequently ask us for techniques, patterns, and recommendations for managing the growing complexity of Shiny application code. A Shiny module is a piece of a Shiny app. It can’t be directly run, as a Shiny app can. Instead, it is included as part of a larger app (or as part of a larger Shiny module–they are composable). Download Materials 60:02

Garrett Grolemund Shiny UI – Shiny apps are designed to look reasonably pleasant out of the box, with no extra effort required. But you’re by no means limited to the “stock” appearance, especially if you know a bit about HTML and CSS. Shiny has always included elegant abstractions for integrating custom markup into your UI-generating R code, and for packaging HTML generating code as functions. This talk describes those features, and also introduces HTML Templates, a new option for writing Shiny UI that lets you mostly write raw HTML but still access R input and output widget functions whenever you need them. Download Materials 23:28

Jonathan McPherson Debugging techniques – One of the biggest challenges when building Shiny apps is figuring out what’s wrong when your app misbehaves. Fortunately, R as a language and platform is exceptionally well suited to helping us deal with this challenge, and we’ve built on those strengths with RStudio. This talk will explore some of the debugging features of R and RStudio, as well as some under-documented debugging features of Shiny itself. Download Materials 30:00

Nathan Stephens Building dashboards – An increasingly popular use of Shiny is in building dashboards, especially since the release of our shinydashboard package. In this talk, we’ll talk about Shiny features and techniques that come in particularly handy when building dashboards. Download Materials 13:59

Winston Chang Profiling and performance – Another significant challenge for Shiny app authors is finding and fixing performance bottlenecks. This is where good profiling tools are absolutely crucial. In this talk, we’ll talk about techniques to make your apps as responsive as possible, as well as demonstrate some new profiling tools we’ve been working on to help you quickly figure out where R is spending its time. Download Materials 32:13

Yihui Xie Interfacing DataTables – DataTables is a JavaScript library to render HTML tables that can be paginated, filtered, and sorted. The R package DT is an interface to DataTables based on htmlwidgets, and users don’t need to know JavaScript to render HTML tables in R Markdown or Shiny. In this talk, I will show the main features of DT, demonstrate the basic structure of a HTML widget package using DT as the example, and explain how JavaScript and R/shiny communicates with each other (e.g. how pagination/filtering/sorting works under the hood). 26:40

Yihui Xie Complex application layouts with Grid Style Sheets – Grid Style Sheets are a radical approach to doing app-style layouts in a browser. It is a JavaScript library that replaces the browser’s built-in layout engine with one based on a constraint solving algorithm. The result is that some layouts that are incredibly tricky in CSS are completely natural to implement in GSS. This talk will demonstrate an experimental R library that makes it simple for any Shiny developer to take advantage of CSS. 12:56