33 episodes

The goals of the Shiny Developer Series are to showcase the innovative applications and packages in the ever-growing Shiny ecosystem, as well as the brilliant developers behind them! This is the audio-only feed in case you want to listen to the content on the go. Visit shinydevseries.com for the video version of all episodes

Shiny Developer Series Eric Nantz

    • Technology
    • 4.9 • 34 Ratings

The goals of the Shiny Developer Series are to showcase the innovative applications and packages in the ever-growing Shiny ecosystem, as well as the brilliant developers behind them! This is the audio-only feed in case you want to listen to the content on the go. Visit shinydevseries.com for the video version of all episodes

    Episode 23: Tales of Shiny in production with Pedro Silva

    Episode 23: Tales of Shiny in production with Pedro Silva

    One of the common themes seen throughout the Shiny Developer Series is that effective Shiny development is much more than just getting an application to work! Other important considerations include applying Shiny to high-profile projects, ensuring a production-grade code base, and even building robust tooling to assist with development. I have the pleasure of discussing these with Appsilon software engineer and Shiny frontend developer Pedro da Silva! You will hear Pedro's practical advice on the many developer-friendly packages and tools he uses for production Shiny development, a detailed walkthrough of his (Shiny contest) award-winning Shiny Decisions application, and his recommendations for taking your Shiny development skills to the next level.
    Resources mentioned in the episode
    Pedro's website with links to posts and webinnars: https://www.pedrocsilva.comAppsilon: https://appsilon.comShiny Decisions repo: https://github.com/pedrocoutinhosilva/shiny.decisionsDeployed Shiny Decisions app: https://sparktuga.shinyapps.io/ShinyDecisionsR6 chapter from Advanced R: adv-r.hadley.nz/r6.html{glue} for interpreted string literals: https://glue.tidyverse.org/{tidymodules}: https://opensource.nibr.com/tidymodules/index.html{sass} for R and Shiny: https://rstudio.github.io/sass/index.html{bslib}: https://rstudio.github.io/bslib/John Coene's "Javascript for R" book: https://book.javascript-for-r.com/David Granjon's "Outstanding Shiny UI" book: https://unleash-shiny.rinterface.com/{renv}: https://rstudio.github.io/renv/articles/renv.html{testthat}: https://testthat.r-lib.org/{shinyloadtest}: https://rstudio.github.io/shinyloadtest/Tidyverse style guide: https://style.tidyverse.org/An lintr, which performs automated checks to confirm that you https://appsilon.com/conform to the style guide, https://github.com/jimhester/lintrMastering Shiny: https://mastering-shiny.org/Pedro's recommended Chrome extensions for development: Resolution Test: Test web pages in different screen resolutionsColorPick Eyedropper: A zoomed eyedropper & color chooser toolScreenshotting: Web page screen captureCSS Peeper: Extract CSS and build beautiful styleguidesEpisode Timestamps
    00:00:05 Episode Introduction

    00:02:49 Appsilon, Shiny consulting

    00:07:49 The wonderful 'black magic' of Shiny

    00:09:55 Custom Shiny apps in the enterprise. Number one theme: migrating from excel

    00:17:45 Demo of Shiny app game Shiny Decisions

    00:22:55 A code walkthrough of Shiny Decisions
    00:32:55 On styling Shiny Decisions

    00:50:45 The value of learning a little javascript to improve your Shiny apps

    00:51:55 Book recommendations for integrating Javascript into your Shiny app and improving UI

    00:52:55 Pedro on jQuery for Shiny

    00:56:05 Advice for building Shiny apps in production

    01:10:05 Advice for people seeking a career in data science with R and Shiny

    • 1 hr 17 min
    Episode 24: Illustrating the MyPaintings Masterpiece

    Episode 24: Illustrating the MyPaintings Masterpiece

    In episode 24 of the Shiny Developer Series, we kick off a series of episodes that spotlight amazing Shiny applications submitted in the 2021 RStudio Shiny Contest! David Barkemeyer joins Eric to uncover the technical achievements and design philosophy of his myPaintings application, complete with many innovative capabilities that greatly enhance the user experience and backend infrastructure. Throughout the episode, you will hear David's perspectives on effective techniques to manage application state, integration of custom javascript, and much more!
    Resources mentioned in the episode
    David on GitHub: https://github.com/DavidBarkemyPaintings - Painting Trading PlatformShiny app: https://mypaintings.davidbarke.comGitHub Repo: https://github.com/DavidBarke/mypaintings{shinyjs}{bs4Dash}Episode Timestamps
    00:00:00 Episode Introduction

    00:03:24 How David got started with R & Shiny

    00:05:40 Introduction to myPaintings

    00:24:15 Infinite scroll feature

    00:30:22 Design UI & UX of myPaintings

    00:34:15 User management & helper functions

    00:46:51 Overall app & file organization

    00:49:28 Using .values to store & update user state and environment

    00:53:40 R6 classes as another option

    01:00:20 Recap and conclusion 

    • 1 hr 2 min
    Episode 26: Peeling back the curtain of Movie Vue R (Part 1)

    Episode 26: Peeling back the curtain of Movie Vue R (Part 1)

    What makes a great Shiny app? Anything that helps your users explore and find answers from data. And it helps when your apps is beautiful and fast. It is now easier than ever for Shiny developers to create these beautiful, dynamic, quick-reacting, multipage shiny apps. In this episode of the Shiny Developer Serie -- the first of two parts -- Eric Nantz hosts Herman Sontrop and Kenton Russell as they introduce the tools behind their Movie Vue R Shiny application. They submitted this application to the 2021 Shiny Contest and have shared the code and documentation with the Shiny developer community. Part 1 is a high-level tour of what is inside the Movie Vue R Shiny application and how the Vue javascript framework is used to offer R and Shiny components really nice user interface elements.
    Resources mentioned in the episode
    Movie Vue R Shiny App: friss.shinyapps.io/shiny-vue-rContest Submission Post on RStudio CommunityApp GitHub repository: github.com/FrissAnalytics/shiny-vue-rDiscussion slides available at this linkVue.js - Progressive JavaScript framework: vuejs.orgVuetify - Material design framework for Vue: vuetifyjs.comHTML templates article: shiny.rstudio.com/articles/templates.htmlMaterial design icons: materialdesignicons.comhttp-vue-loader - load .vue files from your HTML/JS: github.com/FranckFreiburger/http-vue-loaderVuex getting started guide: vuex.vuejs.org/guideVue Router - The official router for Vue.js: router.vuejs.orgUI component for Globe Data Visualization using ThreeJS/WebGL: globe.glLodash - A modern JavaScript utility library delivering modularity, performance & extras: lodash.comd3.js - Data-Driven Documents: d3js,orgMitt - Tiny 200b functional event emitter / pubsub: github.com/developit/mittOverlay Scrollbars - A javascript scrollbar plugin which hides native scrollbars, provides custom styleable overlay scrollbars and keeps the native functionality and feeling: kingsora.github.io/OverlayScrollbarsKent's listviewer HTML widget for viewing lists: cran.r-project.org/package=listviewerplumber - Turn your R code into a web API: www.rplumber.ioEpisode Timestamps
    00:00:00 Episode Introduction

    00:01:00 Introduction to Herman Sontrop

    00:06:10 Introduction to Kenton Russell

    00:10:00 High-level walkthrough of Movie Vue R

    00:19:25 Diving into the code that drives Movie Vue R

    00:22:35 Overview and motivation behind Vue

    00:38:30 Vue instance example

    00:40:00 Vue reactivty examples

    00:46:10 Vue.js components are like Shiny modules

    00:49:50 Single file components

    00:54:16 Breaking down a Vue component into useful parts; props, data, methods, computed, and watch

    00:57:20 Vuetify, tap into many pre-built components, styles, and more

    01:10:00 Covid Globe Example in Shiny app

    01:12:40 Rendering a ggplot

    01:15:15 Summarizing parts of the Movie Vue R app

    01:19:10 A look at template.html. A detailed walk through the organization of the app's HTML and files

    01:26:30 Where R and Shiny are added to a Vue app. And how your app can send messages back to Shiny and R

    01:31:20 Loading images and ggplots

    01:38:00 Episode wrapup 

    • 1 hr 39 min
    Episode 27: Peeling back the curtain of Movie Vue R (Part 2)

    Episode 27: Peeling back the curtain of Movie Vue R (Part 2)

    After a terrific showing of the eye-opening Movie Vue R in episode 26, Kent Russell and Herman Sontrop reveal the fundamental cast of R packages and workflows bringing the app to life. Kent leads us through live demonstrations of his R packages binding to Vue.js, illustrating the seamless way you can link existing HTML widgets to the Vue framework, as well as the mechanics of incorporating Shiny into existing Vue templates to unlock immense potential. Later in the episode we learn revolutionary techniques for adapting the popular crosstalk package to Vue apps, as well as a unique way of tracking application state. Each of these demonstrations reveal many nuggets of development wisdom straight from a true pioneer in bridging the amazing worlds of JavaScript and R together!
    Resources mentioned in the episode
    Kent's packages and examples used in the live coding demonstrations: vue.js for R - github.com/vue-r/vueRvue-cli-r - github.com/timelyportfolio/vue-cli-rvite vue3 and Shiny - github.com/timelyportfolio/vite-vue-rvaltio vanilla with utils as standalone using browserify - github.com/timelyportfolio/valtio_standaloneKent's listviewer HTML widget for viewing lists: cran.r-project.org/package=listviewerLinking vue to crosstalk - github.com/vue-r/vueR/issues/12Episode Timestamps
    00:00:00 Episode Introduction

    00:01:00 The vueR package and introductory examples

    00:06:55 Live coding example with vuetify

    00:13:55 vueR example, adding a calendar date selector and other mint-ui elements to your Shiny app

    00:21:00 htmlwidget leaflet map example

    00:24:10 Example of a sunburst plot

    00:33:15 Example of a checkbox selector for hierarchical element trees

    00:36:00 JavaScript build steps with Vue CLI

    00:59:30 vite vue 3 build example

    01:09:30 A call to the community to help with vueR development goals

    01:10:30 Integrating crosstalk

    01:14:30 Using vuex as a store of state. Time travel through the state of your Shiny app

    01:20:24 Example of valtio

    01:27:08 Episode wrapup 

    • 1 hr 28 min
    Episode 28: The transformative effects of Shiny with the coronaSweeper app

    Episode 28: The transformative effects of Shiny with the coronaSweeper app

    The Shiny Developer Series spotlight on the 2021 Shiny Contest continues with episode 28! Eric is joined by statistics lecturer Dr. Kate Saunders to share her unique coronaSweeper Shiny application which merges a well-known mini-game in the Windows world with modelling the spread of COVID19. On the surface it might seem straight-forward, but Kate walks us through her extensive design ideas of the algorithms and user experience of the application frontend. This was a very inspiring conversation that demonstrates the ways Shiny can be transformative to teaching real principles in mathematics, statistics, and beyond!
    Resources mentioned in the episode
    coronaSweeper App - katerobsau.shinyapps.io/Corona_SweepercoronaSweeper Code - github.com/katerobsau/coronaSweeperKate's contest submission post: community.rstudio.com/t/coronasweeper-shiny-contest-submission/104767Follow Kate on Twitter - @katerobsauEpisode Timestamps
    00:00:00 Episode Introduction

    00:04:45 Inspiration behind coronaSweeper

    00:08:15 Demo of coronaSweeper

    00:14:35 Code walkthrough

    00:43:10 Shiny for teaching?

    00:50:20 Episode wrapup 

    • 51 min
    Episode 29: Playing fair with the FairSplit Shiny App

    Episode 29: Playing fair with the FairSplit Shiny App

    Whether in a sports pickup game or a different friendly competition, we often strive for balancing the distributions of skills so everyone can have fun. What does this have to do with Shiny? In episode 29, our coverage of the 2021 Shiny contest continues as I am joined by Douglas Mesquita and Luis Gustavo Silve e Silve who created the novel FairSplit Shiny application! Motivated by regular football pickup games, Douglas and Luis developed a novel algorithm to balance the distribution of individuals incorporating multiple traits that eventually wound up into a snazzy Shiny app that easily has something for everyone. This is yet another example of the many use cases Shiny brings at your fingertips.
    Resources mentioned in the episode
    FairSplit App - voronoys.shinyapps.io/fairsplitFairSplit Code - github.com/voronoys/fairsplitContest submission post - community.rstudio.com/t/fairsplit-shiny-contest-submission/104752Episode Timestamps
    00:00:00 Episode & Douglas' introduction

    00:02:50 Luis' introduction

    00:07:30 Fairsplit Shiny app

    00:17:10 Application walkthrough

    00:27:20 Sidenote: Statistical bias introduced into the system

    00:47:47 Code discussion

    01:12:25 Episode wrapup 

    • 1 hr 15 min

Customer Reviews

4.9 out of 5
34 Ratings

34 Ratings

Ben Riedle ,

Great podcast!

Thanks for an awesome podcast that helps keep us up-to-date on new R and RStudio happenings. I am sure creating these podcasts takes a considerable amount of effort, so just wanted to say thanks for all the hard work! The podcast is a great way to learn and is much appreciated.

Jake pod dog ,


I like the host and enjoy listening to this podcast.

Matt Brauer ,

Good podcast that would benefit from some editing

The host has some keen observations and insights, but could stand to cut a fair bit of material that distracts from his core content. It's really not useful to rehash one's self-doubt about an invited talk, or to emphasize multiple times how gratified one is to have been accepted as the TA for a course. I'm less interested in the personal journey, and more interested in the actual content.

(I will say though that the interview with Yihui Xie was amazing for what it was able to elicit.)

Top Podcasts In Technology

Ben Gilbert and David Rosenthal
Lex Fridman Podcast
Lex Fridman
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Darknet Diaries
Jack Rhysider
Catalyst with Shayle Kann
Latitude Media
TED Radio Hour