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
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
130
Beyond {shiny}: The Future of Mobile Apps with R
colinfay
1
720
[Keynote] Production is like ultra running: brutal, ungrateful, but worth every step
colinfay
0
290
Building Multi-Page {shiny} apps with {brochure}
colinfay
0
260
Let's talk about accessibility
colinfay
0
210
[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
380
Other Decks in Technology
See All in Technology
関東Kaggler会発表資料
takoi
1
210
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
100
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.4k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
490
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
240
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
180
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.6k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
150
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
170
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
モバイルアプリ開発概論2026
recruitengineers
PRO
5
550
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Practical Orchestrator
shlominoach
191
12k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
660
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
A better future with KSS
kneath
240
18k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
260
Mobile First: as difficult as doing things right
swwweet
225
10k
Embracing the Ebb and Flow
colly
88
5.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
750
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/