Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DESTROY ALL WIDGETS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Colin Fay
October 07, 2022
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DESTROY ALL WIDGETS
Talk given during Shiny In Production, 2022-10-07, Newcastle UK
Colin Fay
October 07, 2022
More Decks by Colin Fay
See All by Colin Fay
After {shiny}: The Future of Mobile Apps with R
colinfay
0
120
Beyond {shiny}: The Future of Mobile Apps with R
colinfay
1
700
[Keynote] Production is like ultra running: brutal, ungrateful, but worth every step
colinfay
0
280
Building Multi-Page {shiny} apps with {brochure}
colinfay
0
260
Let's talk about accessibility
colinfay
0
200
[Workshop] Good Practices for {shiny} development with {golem}
colinfay
0
1.3k
Engineering {shiny} with {golem} - WhyR
colinfay
0
1.1k
An overview of testing in R
colinfay
0
1.2k
Everything not Tested Will Eventually Fail
colinfay
0
370
Other Decks in Technology
See All in Technology
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
590
コミットの「なぜ」を読む
ota1022
0
120
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
350
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
220
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
460
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
180
2026 AI Memory Architecture
nagatsu
0
450
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
180
飲食店もAIで。レジ締めやハンディシステムをつくってる話 / Using AI for restaurant management
vtryo
0
190
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
2.1k
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
910
元銀行員がAIだけでアプリを量産!「バイブコーディング実演セミナー 」
tatsuya1970
0
110
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
370
WCS-LA-2024
lcolladotor
0
660
Optimizing for Happiness
mojombo
378
71k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Testing 201, or: Great Expectations
jmmastey
46
8.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
740
Paper Plane (Part 1)
katiecoart
PRO
0
9.2k
We Are The Robots
honzajavorek
0
260
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Designing for Performance
lara
611
70k
Transcript
DESTROY ALL WIDGETS! SHINY IN PRODUCTION / 2022-10-07 COLIN FAY
👩🔬 LET'S START WITH AN EXPERIMENT
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
0:00
THE OLDER WE GET, THE MORE FRUSTRATED WE ARE WITH
THE INTERNET... (BECAUSE IT TAKES US SO LONG TO SCROLL TO OUR BIRTH YEAR)
None
None
DISCLAIMER: I OBVIOUSLY DON'T THINK WE SHOULD DESTROY ALL WIDGETS
TODAY'S MENU WHAT IS A WIDGET? WEB APPS ARE (OFTEN)
FRUSTRATING WHY THIS IS HAPPENING WHERE DO WE GO NEXT?
PREFACE: WHAT DOES "PRODUCTION" MEAN?
A SOFTWARE IS IN PRODUCTION WHEN... IT'S USED IT'S RELIED
UPON IT HAS REAL LIFE IMPACT
1. WHAT IS A WIDGET?
WHAT IS A WIDGET, EXACTLY SOFTWARE COMPONENTS THAT A COMPUTER
USER INTERACTS WITH THROUGH DIRECT MANIPULATION TO READ OR EDIT INFORMATION
WHAT IS A WIDGET, EXACTLY SOFTWARE COMPONENTS THAT A COMPUTER
USER INTERACTS WITH THROUGH DIRECT MANIPULATION TO READ OR EDIT INFORMATION
MORE WIDGETS ⬇️ MORE INTERACTION ⬇️ MORE MANIPULATION
MORE IS NOT ALWAYS BETTER (EXCEPT WITH MEMES)
2. WEB APPS ARE (OFTEN) FRUSTRATING
None
WEB APPS ARE (OFTEN) FRUSTRATING ⏳ LONG LOAD TIME 😵
VISUAL CLUTTER ⛔️ ACCESSIBILITY ISSUE
⏳ LONG LOAD TIME ⏱ TIME CONSUMING 😡 ENDURANCE CONSUMING
💸 DATA CONSUMING
⏳ LONG LOAD TIME
⏳ LONG LOAD TIME
😵 VISUAL CLUTTER
😵 VISUAL CLUTTER
😵 VISUAL CLUTTER
⛔️ ACCESSIBILITY ISSUE "THE WEB IS FUNDAMENTALLY DESIGNED TO WORK
FOR ALL PEOPLE, WHATEVER THEIR HARDWARE, SOFTWARE, LANGUAGE, LOCATION, OR ABILITY."
⛔️ ACCESSIBILITY ISSUE 🤖SCREEN READERS 🌈 COLORBLINDNESS ☝️ MOBILITY ISSUES
⛔️ ACCESSIBILITY ISSUE
⛔️ ACCESSIBILITY ISSUE
⛔️ ACCESSIBILITY ISSUE
3. WHY IS THIS HAPPENING?
None
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 ...
{SHINY} DEVS BE LIKE
LET ME SHOW YOU AN EXAMPLE 🔗 HTTPS://CONNECT.THINKR.FR/DAW/
None
WHY ALL THE WIDGETS 📝 REQUIRED / DESIRED 👶 (VERY)
EASY TO INTEGRATE 😎 COOL
📝 REQUIRED / DESIRED ✅ NEEDED FOR INTERACTIVITY 😍 OFTEN
DESIRED BY THE USERS 🧟♀️ THE CLIENT SAID SO
👶 EASY TO INTEGRATE DT::dataTable leaflet::leaflet plotly::ggplotly dygraphs::dygraph ...
😎 COOL
DEV COMPLEXITY VS USER COMPLEXITY EASY FOR THE USER ↔️
COMPLEX FOR THE DEV EASY FOR THE DEV ↔️ COMPLEX FOR THE USER
DEV COMPLEXITY VS USER COMPLEXITY
4. WHERE DO WE GO NEXT?
THE INTERNET IS NOT FRUSTRATING BECAUSE YOU'RE GETTING OLDER BUT
BECAUSE IT'S DESIGNED WITHOUT "USER EXPERIENCE FIRST" IN MIND.
SOMEONE ONCE TOLD ME: "IF THERE IS SOMETHING (PEOPLE) ARE
GOOD AT, IT'S 'TOO MUCH OF A GOOD THING'." @CMASTICATION
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
... UNTIL THEY ARE NOT (VERY) SLOW LOAD TIME HARDER
MANIPULATION HARDER INTERACTION
None
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
📖 ENGINEERING-SHINY.ORG/
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/