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

DESTROY ALL WIDGETS

Colin Fay
October 07, 2022

DESTROY ALL WIDGETS

Talk given during Shiny In Production, 2022-10-07, Newcastle UK

Colin Fay

October 07, 2022
Tweet

More Decks by Colin Fay

Other Decks in Technology

Transcript

  1. DESTROY ALL WIDGETS! SHINY IN PRODUCTION / 2022-10-07 COLIN FAY

  2. 👩‍🔬 LET'S START WITH AN EXPERIMENT

  3. DOES THIS SOUNDS FAMILIAR? 🏃‍♀️ I REGISTERED FOR A RACE

    ⏳ ON THE WAITING LIST 🤔 I CHECK THE WAITING LIST EVERY DAY 📱 HERE IS WHAT IT LOOKS LIKE
  4. 0:00

  5. THE OLDER WE GET, THE MORE FRUSTRATED WE ARE WITH

    THE INTERNET... (BECAUSE IT TAKES US SO LONG TO SCROLL TO OUR BIRTH YEAR)
  6. None
  7. None
  8. DISCLAIMER: I OBVIOUSLY DON'T THINK WE SHOULD DESTROY ALL WIDGETS

  9. TODAY'S MENU WHAT IS A WIDGET? WEB APPS ARE (OFTEN)

    FRUSTRATING WHY THIS IS HAPPENING WHERE DO WE GO NEXT?
  10. PREFACE: WHAT DOES "PRODUCTION" MEAN?

  11. A SOFTWARE IS IN PRODUCTION WHEN... IT'S USED IT'S RELIED

    UPON IT HAS REAL LIFE IMPACT
  12. 1. WHAT IS A WIDGET?

  13. WHAT IS A WIDGET, EXACTLY SOFTWARE COMPONENTS THAT A COMPUTER

    USER INTERACTS WITH THROUGH DIRECT MANIPULATION TO READ OR EDIT INFORMATION
  14. WHAT IS A WIDGET, EXACTLY SOFTWARE COMPONENTS THAT A COMPUTER

    USER INTERACTS WITH THROUGH DIRECT MANIPULATION TO READ OR EDIT INFORMATION
  15. MORE WIDGETS ⬇️ MORE INTERACTION ⬇️ MORE MANIPULATION

  16. MORE IS NOT ALWAYS BETTER (EXCEPT WITH MEMES)

  17. 2. WEB APPS ARE (OFTEN) FRUSTRATING

  18. None
  19. WEB APPS ARE (OFTEN) FRUSTRATING ⏳ LONG LOAD TIME 😵

    VISUAL CLUTTER ⛔️ ACCESSIBILITY ISSUE
  20. ⏳ LONG LOAD TIME ⏱ TIME CONSUMING 😡 ENDURANCE CONSUMING

    💸 DATA CONSUMING
  21. ⏳ LONG LOAD TIME

  22. ⏳ LONG LOAD TIME

  23. 😵 VISUAL CLUTTER

  24. 😵 VISUAL CLUTTER

  25. 😵 VISUAL CLUTTER

  26. ⛔️ ACCESSIBILITY ISSUE "THE WEB IS FUNDAMENTALLY DESIGNED TO WORK

    FOR ALL PEOPLE, WHATEVER THEIR HARDWARE, SOFTWARE, LANGUAGE, LOCATION, OR ABILITY."
  27. ⛔️ ACCESSIBILITY ISSUE 🤖SCREEN READERS 🌈 COLORBLINDNESS ☝️ MOBILITY ISSUES

  28. ⛔️ ACCESSIBILITY ISSUE

  29. ⛔️ ACCESSIBILITY ISSUE

  30. ⛔️ ACCESSIBILITY ISSUE

  31. 3. WHY IS THIS HAPPENING?

  32. None
  33. THERE ONCE WAS A {SHINY} APP. AND THEN, THE DEV

    BROWSES THE INTERNET. AND FINDS A WIDGET. And another widget. And another widget. And another widget. And another widget. And ...
  34. {SHINY} DEVS BE LIKE

  35. LET ME SHOW YOU AN EXAMPLE 🔗 HTTPS://CONNECT.THINKR.FR/DAW/

  36. None
  37. WHY ALL THE WIDGETS 📝 REQUIRED / DESIRED 👶 (VERY)

    EASY TO INTEGRATE 😎 COOL
  38. 📝 REQUIRED / DESIRED ✅ NEEDED FOR INTERACTIVITY 😍 OFTEN

    DESIRED BY THE USERS 🧟‍♀️ THE CLIENT SAID SO
  39. 👶 EASY TO INTEGRATE DT::dataTable leaflet::leaflet plotly::ggplotly dygraphs::dygraph ...

  40. 😎 COOL

  41. DEV COMPLEXITY VS USER COMPLEXITY EASY FOR THE USER ↔️

    COMPLEX FOR THE DEV EASY FOR THE DEV ↔️ COMPLEX FOR THE USER
  42. DEV COMPLEXITY VS USER COMPLEXITY

  43. 4. WHERE DO WE GO NEXT?

  44. THE INTERNET IS NOT FRUSTRATING BECAUSE YOU'RE GETTING OLDER BUT

    BECAUSE IT'S DESIGNED WITHOUT "USER EXPERIENCE FIRST" IN MIND.
  45. SOMEONE ONCE TOLD ME: "IF THERE IS SOMETHING (PEOPLE) ARE

    GOOD AT, IT'S 'TOO MUCH OF A GOOD THING'." @CMASTICATION
  46. WIDGETS ARE AWESOME... THEY ARE AT THE ROOT OF ALL

    WEB APPLICATION GREAT FOR INTERACTIVE DATA EXPLORATION COOL AND EASY TO INTEGREATE AS A DEVELOPER
  47. ... UNTIL THEY ARE NOT (VERY) SLOW LOAD TIME HARDER

    MANIPULATION HARDER INTERACTION
  48. None
  49. 1. YOU'RE NOT YOUR MAIN USERS. PUT YOURSELF IN THEIR

    SHOES. 2. SIMPLE IS BEAUTIFUL & ACCESSIBILY IS KING 3. "IT'S EASIER" IS NEVER A GOOD REASON 4. IF YOUR UX IS BAD, YOUR APP IS BAD
  50. 📖 ENGINEERING-SHINY.ORG/

  51. THX! QUESTIONS? FIND ME ONLINE [email protected] https://twitter.com/_colinfay https://twitter.com/thinkr_fr https://github.com/ColinFay https://thinkr.fr/

    https://rtask.thinkr.fr/ https://colinfay.me/