Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

πŸ‘©β€πŸ”¬ LET'S START WITH AN EXPERIMENT

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

0:00

Slide 5

Slide 5 text

THE OLDER WE GET, THE MORE FRUSTRATED WE ARE WITH THE INTERNET... (BECAUSE IT TAKES US SO LONG TO SCROLL TO OUR BIRTH YEAR)

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

DISCLAIMER: I OBVIOUSLY DON'T THINK WE SHOULD DESTROY ALL WIDGETS

Slide 9

Slide 9 text

TODAY'S MENU WHAT IS A WIDGET? WEB APPS ARE (OFTEN) FRUSTRATING WHY THIS IS HAPPENING WHERE DO WE GO NEXT?

Slide 10

Slide 10 text

PREFACE: WHAT DOES "PRODUCTION" MEAN?

Slide 11

Slide 11 text

A SOFTWARE IS IN PRODUCTION WHEN... IT'S USED IT'S RELIED UPON IT HAS REAL LIFE IMPACT

Slide 12

Slide 12 text

1. WHAT IS A WIDGET?

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

MORE WIDGETS ⬇️ MORE INTERACTION ⬇️ MORE MANIPULATION

Slide 16

Slide 16 text

MORE IS NOT ALWAYS BETTER (EXCEPT WITH MEMES)

Slide 17

Slide 17 text

2. WEB APPS ARE (OFTEN) FRUSTRATING

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

WEB APPS ARE (OFTEN) FRUSTRATING ⏳ LONG LOAD TIME 😡 VISUAL CLUTTER ⛔️ ACCESSIBILITY ISSUE

Slide 20

Slide 20 text

⏳ LONG LOAD TIME ⏱ TIME CONSUMING 😑 ENDURANCE CONSUMING πŸ’Έ DATA CONSUMING

Slide 21

Slide 21 text

⏳ LONG LOAD TIME

Slide 22

Slide 22 text

⏳ LONG LOAD TIME

Slide 23

Slide 23 text

😡 VISUAL CLUTTER

Slide 24

Slide 24 text

😡 VISUAL CLUTTER

Slide 25

Slide 25 text

😡 VISUAL CLUTTER

Slide 26

Slide 26 text

⛔️ ACCESSIBILITY ISSUE "THE WEB IS FUNDAMENTALLY DESIGNED TO WORK FOR ALL PEOPLE, WHATEVER THEIR HARDWARE, SOFTWARE, LANGUAGE, LOCATION, OR ABILITY."

Slide 27

Slide 27 text

⛔️ ACCESSIBILITY ISSUE πŸ€–SCREEN READERS 🌈 COLORBLINDNESS ☝️ MOBILITY ISSUES

Slide 28

Slide 28 text

⛔️ ACCESSIBILITY ISSUE

Slide 29

Slide 29 text

⛔️ ACCESSIBILITY ISSUE

Slide 30

Slide 30 text

⛔️ ACCESSIBILITY ISSUE

Slide 31

Slide 31 text

3. WHY IS THIS HAPPENING?

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

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 ...

Slide 34

Slide 34 text

{SHINY} DEVS BE LIKE

Slide 35

Slide 35 text

LET ME SHOW YOU AN EXAMPLE πŸ”— HTTPS://CONNECT.THINKR.FR/DAW/

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

WHY ALL THE WIDGETS πŸ“ REQUIRED / DESIRED πŸ‘Ά (VERY) EASY TO INTEGRATE 😎 COOL

Slide 38

Slide 38 text

πŸ“ REQUIRED / DESIRED βœ… NEEDED FOR INTERACTIVITY 😍 OFTEN DESIRED BY THE USERS πŸ§Ÿβ€β™€οΈ THE CLIENT SAID SO

Slide 39

Slide 39 text

πŸ‘Ά EASY TO INTEGRATE DT::dataTable leaflet::leaflet plotly::ggplotly dygraphs::dygraph ...

Slide 40

Slide 40 text

😎 COOL

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

DEV COMPLEXITY VS USER COMPLEXITY

Slide 43

Slide 43 text

4. WHERE DO WE GO NEXT?

Slide 44

Slide 44 text

THE INTERNET IS NOT FRUSTRATING BECAUSE YOU'RE GETTING OLDER BUT BECAUSE IT'S DESIGNED WITHOUT "USER EXPERIENCE FIRST" IN MIND.

Slide 45

Slide 45 text

SOMEONE ONCE TOLD ME: "IF THERE IS SOMETHING (PEOPLE) ARE GOOD AT, IT'S 'TOO MUCH OF A GOOD THING'." @CMASTICATION

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

... UNTIL THEY ARE NOT (VERY) SLOW LOAD TIME HARDER MANIPULATION HARDER INTERACTION

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

πŸ“– ENGINEERING-SHINY.ORG/

Slide 51

Slide 51 text

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/