Shiny in Production: Full speaker lineup

[This article was first published on The Jumping Rivers Blog, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

We are pleased to announce the full line-up for this year’s Shiny in Production conference! Don’t miss out on this excellent set of talks and workshops – head over to the conference website to sign up now!

Workshops

This year’s workshops consist of two delivered by our JR trainers, and one by a special guest, Andrie de Vries of Posit!

Andrie de VriesPosit

Introduction to Shiny for Python

This workshop provides an introduction to coding a web application using Shiny for Python. It is aimed at providing R users, who are already familiar with Shiny, the tools and understanding to write similar apps using Python. In addition to using Shiny for Python yourself, this will also give you the capability to discuss Shiny with your Python colleagues, for example when you work in a bi-lingual data science team.

About the speaker

Photo of Andrie de Vries

Andrie is Director of Product Strategy at Posit (formerly RStudio) where he works on the Posit commercial products. He started using R in 2009 for market research statistics, and later joined Revolution Analytics and then Microsoft, where he helped customers implement advanced analytics and machine learning workflows. To keep healthy, he practices yoga and does some recreational running and canoeing.


Keith Newman – Jumping Rivers

Building Responsive Shiny Applications

The diverse range of devices used for modern web browsing presents challenges when designing an application that works well for all users. Enter responsive design: the practice of building fluid web pages that “work” on huge 4k and 5k monitors, tiny smartphones and all things in between. This course will look at responsive design principles and best practices for Shiny developers, covering page layout, easy-to-add widgets and some simple CSS tricks for when built-in solutions don’t quite cut it.

About the speaker

Photo of Keith Newman

Following a PhD in statistics at Newcastle University, Keith developed software to improve road safety modelling. He enjoys creating Shiny apps and teaching the use of R.




Russ Hyde – Jumping Rivers

Shiny Testing

Automated testing plays a vital role in any production-grade software project. But what benefit does well-tested code bring to a project, and how do you write a good test suite for your shiny application? In this workshop, we demonstrate how to document the behaviour of an application using browser-driven end-to-end tests and show that lower-level, module- or function-focussed, tests make development a happier and more predictable experience. The tools used here (shinytest2, testServer) all build upon the testthat package.

About the speaker

Photo of Russ Hyde

Russ has previouly worked in molecular biology and bioinformatics. He holds a PhD in Molecular Physiology and MSc in Mathematics. Russ is an author of several CRAN packages and mentor on the R-for-data-science community.




Do you require help building a Shiny app? Would you like someone to take over the maintenance burden? If so, check out our Shiny and Dash services.


Talks

The second day of the conference will consist of a great line up of talks from people from a variety of industries!

Keynote: George StaggPosit

R Shiny without a server: webR and Shinylive

WebAssembly (Wasm) is a technology that enables software that’s normally compiled for a specific computer system to instead run anywhere, including inside web browsers. WebR is a version of the R interpreter compiled for Wasm, bringing this technology to the R world.

Earlier this year, the initial version of webR was released and users have already begun building new interactive experiences with R on the web. The latest release, version 0.2.0, includes improvements to graphics, accessibility and internationalisation, developer API updates, and introduces a new webR REPL app. The release also includes expanded support for Wasm R packages, including the ability to run fully client-side Shiny apps.

In this talk, I’ll introduce webR with some simple examples and discuss some details of how the system works. I’ll talk about how JavaScript APIs can be used to integrate webR into wider web applications and describe webR’s communication channel. Finally, I’ll give a description of how Shiny apps can be run using webR without an R server, ending with a demo of an in-development “Shinylive for R”.

About the speaker

Photo of George Stagg

George is a software engineer working on the webR project as part of the Open Source Team at Posit Software PBC. A former academic, George also has experience with teaching and research in computational mathematics, statistics and physics. When not working with software, George enjoys hacking hardware, photography, fantasy & sci-fi, and tinkering with electronic synthesisers.


Keynote: Cara ThompsonFreelance Data Consultant

Dynamic annotations: tips and tricks to make text shine without stealing the show

Abstract TBC.

About the speaker

Photo of Cara Thompson

Cara is a freelance data consultant with an academic background, specialising in dataviz and in “enhanced” reproducible outputs. She lives in Edinburgh, Scotland, and is passionate about maximising the impact of other people’s expertise.



Naomi Bradbury, Clareece Nevill & Janion Nevill – Complex Reviews Support Unit

Health Data Scientists Developing Production Grade Shiny Apps

In 2017 a group of Biostatisticians at the University of Leicester embarked on two mini-projects to investigate the feasibility of using R Shiny apps to perform meta-analyses. Six years later, we have produced a suite of four R Shiny apps that automate network meta-analysis and diagnostic test accuracy meta-analysis, allowing researchers and healthcare professionals to access cutting-edge statistical analysis techniques without the need to write their own code. We also have two further apps currently in development. Our apps have approximately 1,000 user hours each month across the globe, and they have been used to conduct numerous published meta-analyses and in the development of clinical guidelines.

In this talk, we will give an overview of the project and the lessons we have learned (and are still learning) along the way as research scientists entering the world of software development, and how the power of R Shiny has enabled us to achieve this. We will discuss:

  • How we transitioned from working individually on apps to creating a research software development team
  • Leveraging existing R analysis packages to avoid ‘reinventing the wheel’ and ensuring our users could be confident in the accuracy of the results delivered
  • Developing novel data visualisations available within the MetaInsight and MetaDTA apps
  • Creating a living network meta-analysis of treatments for COVID-19 during the pandemic using a combination of R Shiny, Python and a Raspberry Pi
  • The changing landscape of Shiny app development and journal publication of apps across the time span of the project.

About the speakers

CRSU logo

Naomi, Clareece and Janion are part of the Complex Reviews Support Unit (CRSU) based at the University of Leicester. The CRSU began in 2015 as a support group of experts in the field of evidence synthesis, but now include a strong interdisciplinary team primarily tasked with developing and maintaining the CRSU’s suite of Shiny apps for assisting evidence synthesis.


Chris BrownlieBarnett Waddingham

Anatomy of a Shiny app

Have you ever wondered what really goes on under the hood of a Shiny app? What the building blocks are and how they fit together to enable us to build reactive web apps using R? Shiny apps are made up of a collection of objects that all link with each other and external sources to make the app work. These objects and methods interact in various ways in order to: start up the app, build the reactive graph, handle reactivity and much more. In addition to this, the inner workings of Shiny rely on the use of other, less well-known R packages.

In this presentation I’ll be exploring the building blocks of Shiny – such as the Shiny Session, reactive context and reactive log – as well as the key functions provided by Shiny’s dependencies, giving a high-level overview of how they fit together and what they are each responsible for in the lifecycle of an app. I’ll also discuss how understanding these can be useful when debugging or monitoring a production Shiny app.

About the speaker

Photo of Chris Brownlie

Chris is an analytics consultant in the Management Decision Analytics team at Barnett Waddingham, specialising in R and Shiny-app development. He comes from a background in data science and formerly worked in the public sector. Besides coding he enjoys rugby, reading fantasy books and spending time with his dog, Nero.



Colin GillespieJumping Rivers

Securing Shiny Dashboards

Shiny apps, Rmarkdown reports and flask dashboards provide a rich user experience for relatively little development time. Often this experience is created by utilising third-party Javascript functions, CSS files, fonts and images, but every external file we use means we implicitly trust the authors. The NHS and thousands of other government websites can attest that this is an issue; in 2018, they ran scripts that made their visitors use their computing power to mine cryptocurrencies.

This talk will look at how organisations can improve their Shiny application security. We’ll discuss general procedures for securing your overall workflow, such as security audits of your R packages and general Git security. We’ll then see how Content Security Policies (CSPs) can be leveraged in Shiny apps, which allow a website to specify what external content a site can access. This talk will discuss implementing these precautions within Shiny and Posit Connect. We’ll demonstrate that securing and monitoring your applications is relatively straightforward.

About the speaker

Photo of Colin Gillespie

Colin has been using R since 1999. He’s the author of a number of R packages and has published the book Efficient R Programming with O’Reilly.




Tan HoZelus Analytics

Effective Logging for Shiny

This talk will share some strategies I’ve found effective in setting up logging for Shiny apps to help with debugging applications both in development and when deployed to production.

About the speaker

Photo of Tan Ho

Tan is a data nerd from Ottawa, Canada who loves R, Shiny, fantasy football and carving pumpkins! By day, he’s an ML engineer for Zelus Analytics. In his spare time, he maintains DynastyProcess.com Trade Calculator (a Shiny app that serves over 200,000 unique monthly users), develops nflverse R packages, and mentors in the R4DS Slack Community.


Liam Kalita – Jumping Rivers

The Road to Easier Shiny App Deployments

We’re often helping developers to assess, fix and improve their Shiny apps, and often the first thing we do is see if we can deploy the app. If you can’t deploy your Shiny app, it’s a waste of time. If you can deploy it successfully, then at the very least it runs, so we’ve got something to work with.

There are a bunch of reasons why apps fail to deploy. They can be easy to fix, like Hardcoded secrets, fonts, or missing libraries. Or they can be intractable and super frustrating to deal with, like manifest mismatches, resource starvation, and missing libraries.

At the end of this talk, I want you to know how to identify, investigate and proactively prevent Shiny app deployment failures from happening.

About the speaker

Photo of Liam Kalita

Liam has been the InfoSec Lead at Jumping Rivers since the start of 2023, specialising in compliance, security controls, and policies (GDPR, Cyber Essentials, ISO 27001). With a previous 2 years in infrastructure support and consultancy, he ensures secure Shiny app and Posit platform deployments, and promotes a culture of security awareness within the company.


Anna SkrzydłoAppsilon

3 reasons why nobody uses your app

You’ve built a great app. You are sure that once your coworkers will start using it, their life will be so much easier. You are waiting for some signs of success: your happy colleagues praising the app or recommending it to others. But … it doesn’t come. Does it sound familiar? Have you ever wondered why nobody is using your app? Come to my talk and wonder no more. During my talk I will present 3 main reasons for low user adoption: don’t need the app, can’t use the app and don’t trust the app. I will not only share the examples, but also recipes on how to deal with each of those situations.

About the speaker

Photo of Anna Skrzydło

Anna is a Delivery Manager, Business Analyst, and R/Shiny developer with over 10 years of professional experience leading software and Data Science projects, facilitating user workshops and mentoring Project Managers. She is a regular speaker at industry conferences, including WhyR, UseR and Data Science Summit – Dog lover, salsa dancer and stand-up comedy fan.

For updates and revisions to this article, see the original post

To leave a comment for the author, please follow the link and comment on their blog: The Jumping Rivers Blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.