useR! 2021 Preview: Scaling Shiny, User Tests, and shiny.fluent
<h2>useR! - The Global, Virtual R Conference</h2> Do you have a dashboard that's not quite where you want it to be? Or are you curious about how to streamline your beautiful Shiny app projects? If you’re working with <a href="https://shiny.rstudio.com/" target="_blank" rel="noopener noreferrer">Shiny</a> or want to enhance your data storytelling abilities with R, useR! is the ultimate training ground. At useR! you’ll have access to Keynote talks from some of the most innovative minds in R, as well as getting up to date on what the R Shiny community has to offer. Attend and interact with the global R community, live chat with speakers, and build your skills with tutorials. <blockquote>Early Bird registration closes June 25th! <a href="https://user2021.r-project.org/participation/registration/" target="_blank" rel="noopener noreferrer">Register now</a> to save your virtual seat </blockquote> <ol><li><a href="#anchor-1" target="_blank" rel="noopener noreferrer">Appsilon at useR!</a></li><li><a href="#anchor-2" target="_blank" rel="noopener noreferrer">Elevator Pitches</a></li><li><a href="#anchor-3" target="_blank" rel="noopener noreferrer">shiny.fluent and shiny.react: Build Beautiful Shiny Apps using Microsoft's </a></li><li><a href="#anchor-4" target="_blank" rel="noopener noreferrer">Conducting Effective User Tests for Shiny Dashboards</a></li><li><a href="#anchor-5" target="_blank" rel="noopener noreferrer">Regular Talk</a></li><li><a href="#anchor-6" target="_blank" rel="noopener noreferrer">Shiny PoC to Production Application in 8 Steps</a></li><li><a href="#anchor-7" target="_blank" rel="noopener noreferrer">Where to Find Us</a></li></ol> <h2 id="anchor-1">Appsilon at useR! </h2> Appsilon team members <a href="https://appsilon.com/author/marek/" target="_blank" rel="noopener noreferrer">Marek Rogala</a>, <a href="https://appsilon.com/author/maria/" target="_blank" rel="noopener noreferrer">Maria Grycuk</a>, and <a href="https://appsilon.com/author/marcin/" target="_blank" rel="noopener noreferrer">Marcin Dubel</a> will be delivering non-sponsored talks at the useR! 2021 Conference. The virtual R conference will be held July 5 - 9, with speakers from around the globe presenting on Monday, Tuesday (Maria Grycuk and Marek Rogala), Thursday, and Friday (Marcin Dubel). Take a break on Wednesday and catch a diverse set of tutorials during the <a href="https://user2021.r-project.org/program/tutorials/" target="_blank" rel="noopener noreferrer">tutorial program</a> - Appsilon’s <a href="https://www.youtube.com/watch?v=MYVojGHeKAc" target="_blank" rel="noopener noreferrer">Master Shiny Masterclass video</a> will be shown at our virtual booth. Check out our <a href="https://www.youtube.com/channel/UC6LqpR5qBfNlQp5mVIVsthA" target="_blank" rel="noopener noreferrer">youtube channel</a> for more Shiny content or Marcin’s useR! 2020 presentation, Be Proud of Your Code: <em><a href="https://appsilon.com/how-to-write-production-ready-r-code/" target="_blank" rel="noopener noreferrer">Tools and Patterns for Making Production-Ready R Code</a></em>. <img class="aligncenter size-full wp-image-7176" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b02060369f5360b2ae78b2_UseR-blog-post.webp" alt="" width="1200" height="800" /> <h2 id="anchor-2">Elevator Pitches</h2> <h3 id="anchor-3" style="text-align: center;">shiny.fluent and shiny.react: Build Beautiful Shiny Apps Using Microsoft’s Fluent UI</h3> <p style="text-align: center;"><strong>Marek Rogala (CTO) - #ep_02_10 - 06/July/2021: 13:00-14:30 UTC</strong></p> Abstract: In this talk we will present the functionality and ideas behind a new open-source package we have developed called shiny.fluent. UI plays a huge role in the success of Shiny projects. shiny.fluent enables you to build Shiny apps in a novel way using Microsoft’s Fluent UI as the UI foundation. It gives your app a beautiful, professional look and a rich set of components while retaining the speed of development that Shiny is famous for. Fluent UI is based on the Javascript library React, so it’s a challenging task to make it work with Shiny. We have put the parts responsible for making this possible in a separate package called shiny.react, which enables you to port other React-based components and UI libraries so that they work in Shiny. During the talk, we will demonstrate how to use shiny.fluent to build your own Shiny apps and explain how we solved the main challenges in integrating React and Shiny. For more on how to use <a href="https://github.com/Appsilon/shiny.react" target="_blank" rel="noopener noreferrer">shiny.react</a> and <a href="https://github.com/Appsilon/shiny.fluent" target="_blank" rel="noopener noreferrer">shiny.fluent</a> follow along our tutorials to build your <a href="https://appsilon.github.io/shiny.fluent/articles/shiny-fluent.html" target="_blank" rel="noopener noreferrer">first shiny.fluent dashboard</a> and a <a href="https://appsilon.com/shiny-fluent-tutorial/" target="_blank" rel="noopener noreferrer">full dashboard UI</a>. <h3 id="anchor-4" style="text-align: center;">Conducting Effective User Tests for Shiny Dashboards</h3> <p style="text-align: center;"><strong>Maria Grycuk (Project Leader) -#ep_02_11 - 06/July/2021: 13:00-14:30 UTC</strong></p> Abstract: User tests are a crucial part of development, yet we frequently skip over them or conduct them too late in the process. Involving users early on allows us to verify if the tool we want to build will be used by them or will be forgotten in the next few months. Another risk that rises significantly when we don’t show the product to end-users before going live is that we will build something unintuitive and difficult to use. When you are working with a product for a few months and you know every button and feature by heart, it is hard to take a step back and think about usability. In this talk, I would like to share a few tips on how to perform an excellent user interview, based on my experience working with Fortune 500 clients on Shiny dashboards. I will show why conducting effective user tests is so critical, and explain how to ask the right questions to gain the most from the interview. <h2 id="anchor-5">Regular Talk</h2> <h3 id="anchor-6" style="text-align: center;">Shiny PoC to Production Application in 8 steps</h3> <p style="text-align: center;"><strong>Marcin Dubel (Software Engineer) - #talk_r_production_2 - 09/July/2021: 13:45-14:05 UTC</strong></p> Abstract: A great advantage of Shiny applications is that a proof of concept can be created quickly and easily. It is a great way for subject matter experts to present their ideas to stakeholders before moving on to production. However, to take the next step to a production application requires help from experienced software developers. The actions should be focused on two areas: to make the application a great experience for users and to make it maintainable for future work. Focusing on these will assure that the app will be scalable, performant, bug-free, extendable, and enjoyable. Close collaboration between engineers and experts paves the way to many successful projects in data science and is Appsilon’s confirmed path to production-ready solutions. The very first step should always be to build a comfortable and (importantly) reproducible workflow, thus <b>setting up the development environment</b> and <b>organizing the folder structure </b>[renv + docker]. Once this is done engineers should proceed to limiting the codebase by <b>cleaning the code – </b>i.e., removing redundant comments, extracting the constants and inline styles [ymls + styler]. Now the fun begins: <b>extract the business logic</b> into separate functions, modules, and classes [packages/R6 + plumber]. Restrict reactivity to a minimum. <b>Check the logic </b>[data.validator + drake]. <b>Add tests </b>[testthat + cypress/shinytest]. Organize your /www and <b>move actions to the browser </b>[shiny + css/js]. Finally, <b>style the app </b>[sass/bslib + shiny.fluent]. And, voila! A world-class Shiny app. <h2 id="anchor-7">Where to Find Us</h2> As joint platinum sponsors of the useR! 2021 conference, RStudio, Roche, and Appsilon will all have company channels in the Conference Lounge Chat. We invite you to join us on the Appsilon channel to speak with our team members. We are very passionate about<a href="https://appsilon.com/shiny/" target="_blank" rel="noopener noreferrer"> R Shiny</a> projects (in addition to our Open Source and<a href="https://appsilon.com/ai-for-good/" target="_blank" rel="noopener noreferrer"> AI For Good</a> efforts), and we would love to hear from you! If you want to learn more about our<a href="https://appsilon.com/opensource/" target="_blank" rel="noopener noreferrer"> open-source packages</a> check out our <a href="https://shiny.tools/" target="_blank" rel="noopener noreferrer">shiny.tools</a>. Any feedback you have is always appreciated in our feedback discussions on <a href="https://github.com/Appsilon/" target="_blank" rel="noopener noreferrer">Github</a>. And if you like what we're doing, please drop us a star on your favorite packages - it helps us know we're heading in the right direction. <h2>Join Appsilon's Team, Make an Impact</h2> Interested in working on challenging and groundbreaking projects? Consider <a href="https://appsilon.com/careers/" target="_blank" rel="noopener noreferrer">joining</a> Appsilon’s World-Class team. At Appsilon, we provide innovative data analytics, ML, and managed services solutions for Fortune 500 companies, NGOs, and non-profits. As a remote-first company, we are open to talented applicants across the globe. We currently have team members in 7+ countries and counting! Our team members are leaders in the R dev community and we take our core purpose seriously. We promote an inclusive environment through nonviolent communication, trust, and respect. We strive to create a diverse and friendly team that is committed to excellence. <a href="https://appsilon.com/careers/" target="_blank" rel="noopener noreferrer"><img class="aligncenter size-full wp-image-7024" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b020493e47f6a35730bb22_Be-a-part-of-our-team.webp" alt="Be a part of our team" width="1200" height="628" /></a> <p style="text-align: center;"><b>Appsilon is hiring for remote roles! See our </b><a href="https://appsilon.com/careers/" target="_blank" rel="noopener noreferrer"><b>Careers</b></a><b> page for all open positions, including a</b><a href="https://appsilon.com/careers/job-offer/?job=senior-react-developer-freelancer" target="_blank" rel="noopener noreferrer"> <b>React Developer</b></a><b> and</b><a href="https://appsilon.com/careers/job-offer/?job=r-shiny-developer" target="_blank" rel="noopener noreferrer"> <b>R Shiny Developers</b></a>.<b> Join Appsilon and work on groundbreaking projects with the world's most influential Fortune 500 companies.</b></p>