<p>One of our senior data scientists, Olga Mierzwa-Sulima spoke at the userR! conference in Brussels to a packed house. The seats were full and there were audience members spilling out the doors.</p>
<p><img src="https://i0.wp.com/appsilondatascience.com/blog/assets/article_images/2017-09-05-scaling-shiny/audience2.png?w=456" data-recalc-dims="1"><br>
<img src="https://i2.wp.com/appsilondatascience.com/blog/assets/article_images/2017-09-05-scaling-shiny/audience.png?w=456" data-recalc-dims="1"><br>
Source: https://twitter.com/matlabulous/status/882530484374392834</p>
<p>Olga’s talk was entitled <a rel="nofollow" href="https://channel9.msdn.com/Events/useR-international-R-User-conferences/useR-International-R-User-2017-Conference/How-we-built-a-Shiny-App-for-700-users" target="_blank">‘How we built a Shiny App for 700 users?’</a> She went over the main challenges associated with scaling a Shiny application, and the methods we used to resolve them. The talk was partly in the form of a case study based on Appsilon’s experience.</p>
<div>
<iframe allowfullscreen="" src="https://channel9.msdn.com/Events/useR-international-R-User-conferences/useR-International-R-User-2017-Conference/How-we-built-a-Shiny-App-for-700-users/player"></iframe>
</div>
<p>In this talk, Olga shared her experience from a real-life case study of building an app used daily by 700 users where our data science team tackled all these problems. This, to our knowledge, was one of the biggest production deployments of a Shiny App.</p>
<p>Shiny has proved itself a great tool for communicating data science teams’ results. However, developing a Shiny app for a large scope project that will be used commercially by more than dozens of users is not easy.</p>
<p>The first challenge is User Interface (UI): the expectations are that the app should not vary from modern web pages.</p>
<p>Secondly, performance directly impacts user experience (UX), and it’s difficult to maintain efficiency with growing requirements and user base.</p>
<p>She showed an innovative approach to building a beautiful and flexible Shiny UI using <a rel="nofollow" href="https://appsilon.github.io/shiny.semantic/" target="_blank"><em>shiny.semantic</em></a> package (an alternative to standard Bootstrap). Furthermore, she talked about non-standard optimization tricks we implemented to gain performance. Then she discussed challenges regarding complex reactivity and offered solutions. Finally, she went through implementation and deployment process of the app using a load balancer.</p>
<p>Appsilon’s open-source packages allow you to build superior Shiny dashboards. Make sure to check out <a rel="nofollow" href="https://appsilon.github.io/shiny.semantic/" target="_blank"><em>shiny.semantic</em></a>, <a rel="nofollow" href="https://appsilon.github.io/shiny.collections/" target="_blank"><em>shiny.collections</em></a>, and <a rel="nofollow" href="https://appsilon.github.io/shiny.router/" target="_blank"><em>shiny.router</em></a> and follow us on <a rel="nofollow" href="https://twitter.com/AppsilonDS" target="_blank"><em>twitter</em></a> to get updates about <a rel="nofollow" href="https://github.com/Appsilon/shiny.i18n" target="_blank"><em>shiny.i18n</em></a> — our brand new package for internationalization.</p>
	<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/yAEgznzmyKg" height="1">