Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Beyond {shiny}: The Future of Mobile Apps with R

Beyond {shiny}: The Future of Mobile Apps with R

Talk at the ShinyConf 2025

Colin Fay

April 10, 2025
Tweet

More Decks by Colin Fay

Other Decks in Technology

Transcript

  1. BEYOND {SHINY}: THE FUTURE OF MOBILE APPS WITH R Colin

    Fay - ShinyConf 2025 2025-04-10 Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 1 / 45
  2. Once upon a time, there was a terminal… Beyond {shiny}:

    The Future of Mobile Apps with R | https://rtask.thinkr.fr 2 / 45
  3. R was a command-line tool R : Copyright 2000, The

    R Development Core Team Version 1.0.0 (February 29, 2000) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type "?license" or "?licence" for distribution details. R is a collaborative project with many contributors. Type "?contributors" for a list. (Yes, I gave R 1.0.0 source code to ChatGPT and it gave me this output) Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 3 / 45
  4. Back in the days… R as a command-line tool 👇

    🧑‍🔧 Deep technical know-how 🤖 Master the terminal / build R from source 🤓 “Nerdy” statisticians Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 4 / 45
  5. Then came GUIs and IDEs 📊 Graphical User Interfaces (RGUI)

    and Integrated Development Environments (RStudio, VSCode…) 👩‍💻 Still tech users 👩‍🌾 Not suited for non tech people or field work Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 5 / 45
  6. Poll - When did you start using R? Beyond {shiny}:

    The Future of Mobile Apps with R | https://rtask.thinkr.fr 6 / 45
  7. Poll - When did you start using R? Terminal Era

    (aka “I’ve got strong opinions about Makefiles and my back hurts”) RGUI Era (aka “I used to skateboard and I can still hear the Windows XP startup sound”) IDE Era (aka “I think {ggplot2} is a core language feature and follow Posit on Instagram”) Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 7 / 45
  8. 2012 - {shiny} arrived Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 8 / 45
  9. 2012 - {shiny} arrived Point & click Data Science No

    coding for users 🧑‍💻 Computer-oriented Primarily for desktop “Meh” on mobile Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 9 / 45
  10. Mobile are everywhere Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 10 / 45
  11. Mobile are everywhere Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 12 / 45
  12. New needs 📱 Easy access on the phone 📵 Offline

    capabilities 🤵 Native app UX Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 13 / 45
  13. Web-based approaches showed their limits Beyond {shiny}: The Future of

    Mobile Apps with R | https://rtask.thinkr.fr 14 / 45
  14. Responsive, PWA, {shinyMobile}… 🛜 Internet needed 🏪 No app stores

    🫨 No access to native phone APIs Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 15 / 45
  15. A recurring need for a native mobile solution Beyond {shiny}:

    The Future of Mobile Apps with R | https://rtask.thinkr.fr 16 / 45
  16. Last summer, a client came to us 📱 Needing a

    native app 📵 With offline support 🏪 App store ready Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 18 / 45
  17. We were about to say that’s impossible, but… Beyond {shiny}:

    The Future of Mobile Apps with R | https://rtask.thinkr.fr 19 / 45
  18. What if webR could do it? Beyond {shiny}: The Future

    of Mobile Apps with R | https://rtask.thinkr.fr 20 / 45
  19. webR? WebR is a version of the statistical language R

    compiled for the browser and Node.js using WebAssembly, via Emscripten. Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 21 / 45
  20. wat ? Beyond {shiny}: The Future of Mobile Apps with

    R | https://rtask.thinkr.fr 22 / 45
  21. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 23 / 45
  22. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 24 / 45
  23. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 25 / 45
  24. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 26 / 45
  25. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 27 / 45
  26. From Code to Execution Beyond {shiny}: The Future of Mobile

    Apps with R | https://rtask.thinkr.fr 28 / 45
  27. So we cooked… Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 29 / 45
  28. 🍲 Rlinguo 🍲 Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 30 / 45
  29. Rlinguo: our Proof of Concept Native app with R backend

    via webR ✅ Offline use ✅ Native perf ✅ Mobile-friendly UX ✅ Using mobile API ✅ Distributed on Stores Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 31 / 45
  30. Where is R? Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 32 / 45
  31. Where is R? Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 33 / 45
  32. Where is R? Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 34 / 45
  33. Where is R? Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 35 / 45
  34. How it works 1. The app is open 2. It

    loads a JavaScript runtime 3. The JavaScript runtime loads webR 4. webR loads the R functions as RObject proxies 5. JavaScript calls R throught these proxies Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 36 / 45
  35. Some use cases Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 37 / 45
  36. Environmental Research Who? Scientists in remote areas Problem: No reliable

    internet Solution Real time data analysis on the phone Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 38 / 45
  37. Portable Lab for Statistics Who? Students & educators Problem: No

    computer Solution: Learn R anywhere Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 39 / 45
  38. Quality Control in Manufacturing Who? QA teams on production lines

    Problem: No computer Solution Real time data analysis on the phone Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 40 / 45
  39. Healthcare in Remote Areas Who? Field medics & healthcare pros

    Problem: No stable internet Solution Real time data analysis on the phone Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 41 / 45
  40. Is it the end of {shiny}? Beyond {shiny}: The Future

    of Mobile Apps with R | https://rtask.thinkr.fr 42 / 45
  41. Beyond {shiny}: The Future of Mobile Apps with R |

    https://rtask.thinkr.fr 43 / 45
  42. The Future is Now Rlinguo is “just a PoC” But

    R 🫶 Mobile 🎯 We plan on open sourcing the template 👉 Devs can build their own native R apps 📲 Download the app and try it! Beyond {shiny}: The Future of Mobile Apps with R | https://rtask.thinkr.fr 44 / 45
  43. Questions & Discussion Beyond {shiny}: The Future of Mobile Apps

    with R | https://rtask.thinkr.fr 45 / 45