• 59 minutes 10 seconds
    Episode 32: Consulting with Shiny Panel Discussion
    In this special live recording of the Shiny Developer Series held at the first-ever Appsilon Shiny Conferenbce, host Eric Nantz welcomed back an all-star panel of Dean Attali, Tanya Cashorali, Pedro Silva, and Mike Thomas to share their unique perspectives on the life of a Shiny application developer in the world of consulting. The panel discussed topics such as their favorite techniques used across production apps, advice for becoming a Shiny consultant, and ways Shiny can integrate seamlessly with other tech stacks.
    Resources mentioned in the episode
    Episode Timestamps
    00:00:00 Panelist introductions

    00:03:20 What are key skills to build production-quality Shiny apps

    00:10:05 Creating an app that doesn't feel like a standard Shiny app

    00:17:15 Getting started with consulting/freelancing Shiny development

    00:27:00 Advice for teams to increase Shiny dev skills

    00:36:10 Tools/packages used every day

    00:45:15 App development workflows

    00:49:30 Underrated techniques

    00:58:20 Episode wrapup 
    shinydevseries::session_info()
    📽 Find previous interviews at https://shinydevseries.com
    📋 Feedback is more than welcome! Please send your comments or suggestions on our contact form at shinydevseries.com/contact
    If you enjoyed this video or got value from it, then consider dropping something in the tip jar. Any money raised will be used to improve the channel and invest in additional equipment and resources to make the content even better!
    💰 https://bit.ly/sdstip
    📨 Help shape the future direction of the Shiny Developer Series live streams by completing this very short survey
    Media production for the Shiny Developer Series is made possible by these outstanding projects and platforms:
    27 May 2022, 9:00 pm
  • 1 hour 2 minutes
    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
    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 
    27 May 2022, 9:00 pm
  • 1 hour 15 minutes
    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
    Episode 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 
    27 May 2022, 9:00 pm
  • 43 minutes 17 seconds
    Episode 31: The Connecticut COVID-19 Test Spotter App (Part 2)
    The Shiny Developer Series continues our spotlight on the COVID-19 Test Spotter application created by renowned data scientist and entrepreneur Mike Thomas! In this episode we learn how Mike implemented robust database techniques and logic to manage user-supplied data, navigating the use of multiple mapping APIs, and achieving a practical development-to-production strategy for releasing the application to the public. Plus we have a great discussion on what production means in the space of Shiny development, and much more. 
    Resources mentioned in the episode
    Episode Timestamps
    00:00:00 Episode Introduction

    00:00:46 CRUD workflow and flowchart, with MongoDB database updates

    00:09:41 Diving into the Google Maps and Places API

    00:15:55 Geographic fencing, and dealing with unexpected user behavior.

    00:22:35 Deploying with a dev and production branch.

    00:28:15 Future plans for the app

    00:30:50 Advice for building Shiny apps in production

    00:31:20 Production apps is all about reproducibility: OS, dependencies, and the code.

    00:33:15 Pay attention to warning messages in your console.

    00:34:22 Modularization and Golem

    00:38:08 You can have too much reactivity, such as overextending uiOutput() / renderUI()

    00:40:10 Episode wrapup 
    shinydevseries::session_info()
    📽 Find previous interviews at https://shinydevseries.com
    📋 Feedback is more than welcome! Please send your comments or suggestions on our contact form at shinydevseries.com/contact
    If you enjoyed this video or got value from it, then consider dropping something in the tip jar. Any money raised will be used to improve the channel and invest in additional equipment and resources to make the content even better!
    💰 https://bit.ly/sdstip
    📨 Help shape the future direction of the Shiny Developer Series live streams by completing this very short survey
    Media production for the Shiny Developer Series is made possible by these outstanding projects and platforms:
    27 May 2022, 9:00 pm
  • 51 minutes 44 seconds
    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
    Episode 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 
    27 May 2022, 9:00 pm
  • 47 minutes 7 seconds
    Episode 30: The Connecticut COVID-19 Test Spotter App (Part 1)
    Episode 30 of the Shiny Developer Series reveals just how the power of open source software can be used to provide meaningful improvement to our daily lives. In the first of a two-part series, chief data scientist Mike Thomas reveals the motivation behind his brilliant COVID-19 test locator Shiny application, empowering a local community in Connecticut to efficiently report and track availability of test kits in a huge time of need. After a tour of the application interface, Mike shares his favorite techniques to bring an efficient user experience and the backend integrations with APIs to bring production-grade features to life.
    Resources mentioned in the episode
    Episode Timestamps
    00:00:00 Episode Introduction

    00:01:31 Mike's introductiona and journey with R & Shiny

    00:07:20 Data science consulting and Ketchbrook Analytics

    00:11:40 Olivia Adams' inspiring story

    00:17:40 Demo of Mike's COVID-19 At-Home Test Spotter App

    00:31:55 App code introduction

    00:32:10 googleway package integrating the Google Maps API

    00:36:25 Pulling addresses from map searches

    00:41:10 Using MongoDB for records collection

    00:43:15 bslib to simulate the multi-page app experience

    00:46:20 Episode wrapup 
    shinydevseries::session_info()
    📽 Find previous interviews at https://shinydevseries.com
    📋 Feedback is more than welcome! Please send your comments or suggestions on our contact form at shinydevseries.com/contact
    If you enjoyed this video or got value from it, then consider dropping something in the tip jar. Any money raised will be used to improve the channel and invest in additional equipment and resources to make the content even better!
    💰 https://bit.ly/sdstip
    📨 Help shape the future direction of the Shiny Developer Series live streams by completing this very short survey
    Media production for the Shiny Developer Series is made possible by these outstanding projects and platforms:
    27 May 2022, 9:00 pm
  • 1 hour 17 minutes
    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
    Episode 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 <//br>
    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
    27 May 2022, 9:00 pm
  • 1 hour 39 minutes
    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
    Episode 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 
    27 May 2022, 9:00 pm
  • 1 hour 28 minutes
    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
    Episode 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 
    27 May 2022, 9:00 pm
  • 1 hour 13 minutes
    Episode 25: Colin Fay is back!
    One of my biggest joys of the Shiny Developer Series is watching the journeys of many innovations in the Shiny ecosystem from the brilliant community of developers and practitioners. It is my great pleasure in episode 25 to welcome back data scientist & software engineer Colin Fay! Picking up from his last appearance almost three years ago, Colin takes us through the journey of authoring the recently-published Engineering Production Shiny and his favorite principles covered in the book. We also discuss the uptake of golem in the R community, his new approaches to starting development of a Shiny app integrating customized HTML templates, and even a little real-time consulting on using his brand-new brochure package for a fun learning project!
    Resources mentioned in the episode
    Episode Timestamps
    00:00:00 Episode Introduction

    00:01:15 Engineering Production-Grade Shiny Apps

    00:11:00 The current state and future of golem

    00:11:20 'Once you go golem, you never go back!'

    00:26:09 HTML Template Demo

    00:37:35 brochure package discussion

    01:04:10 Advice for Shiny developers seeking to get their apps in shape for production 
    27 May 2022, 9:00 pm
  • 1 hour 19 minutes
    Episode 22: A fresh coat of Shiny theming with Carson Sievert
    Earlier this year at RStudio Global, a lot of excitement among the Shiny enthusiasts centered on the brand new bslib and thematic packages for radically changing the style of typical Shiny app user interfaces. I am thrilled to get the inside story on this amazing development with the brilliant author, RStudio software engineer Carson Sievert! In this episode you will hear Carson's recommendations on getting started with bslib for both Shiny applications and even R-Markdown documents, why SASS (no, not that one) rules empower a Shiny developer to make sweeping changes in CSS, as well as the major milestone release of shinymeta, a package that directly addresses a huge need for traceable and reproducible analyses from Shiny apps in many industries such as life sciences. I hope you enjoy this episode and don't forget to subscribe to our channel so you can be first to know when future episodes are available!
    Resources mentioned in the episode
    Episode Timestamps
    00:00:00 Episode Introduction

    00:02:00 Joining the Shiny team at RStudio and Carson's book on plotly

    00:06:39 Introducing bslib and how it makes custom theming of your Shiny app as easy as possible

    00:08:47 Introducing thematic for simplified theming of ggplot2, lattice, and base R graphics

    00:14:28 Getting started with bslib

    00:23:45 Real-time theming wizard, a tool to play interactively with the theming customization of your shiny app or R Markdown document

    00:29:25 Development version of flexdashboard supports bslib now

    00:36:38 On the advantages of working with sass over css. bslib helps you work with a front end web developer, writing sass rules and css styles while not having to dive into your Shiny app or R Markdown document

    00:46:30 The origins of shinymeta and the ability to fully extract an app's reactive processing to produce a fully self-contained analysis script or report

    00:57:40 Getting started with shinymeta

    01:01:20 Shinymeta example of producing reproducible Shiny code

    01:05:36 How does Carson recommend to Shiny developers who want to get better at cusotmizing the look and feel of their Shiny app? See Shiny’s Build articles

    01:15:35 Attaching metadata to graphical markers in plotly

    01:19:47 Episode wrapup
    27 May 2022, 8:00 pm
  • More Episodes? Get the App