Slide 1

Slide 1 text

Adaptive Designs Beyond Pixel Perfection Stéphanie Walter - 2023

Slide 2

Slide 2 text

stephaniewalter.design @WalterStephanie 🦊 User Researcher & Product Designer Mobile expert. Pixel & CSS Lover

Slide 3

Slide 3 text

We often design for the “pixel perfect best case scenario”… And then reality happens: real content, different browsers, and of course, real users.

Slide 4

Slide 4 text

Going beyond the “default” perfect state

Slide 5

Slide 5 text

Perfect Page User Clicks Perfect idealistic case

Slide 6

Slide 6 text

Loading state Has loaded? Y N Has content? Error State Y N Empty State Loading State Opens page Loaded Page!

Slide 7

Slide 7 text

Logo Loading state: How is my page going to load? 1 2 3 4 5 Loading state

Slide 8

Slide 8 text

What is my component going to look like while it loads? Loading state

Slide 9

Slide 9 text

What is my component going to look like while it loads? Loading state

Slide 10

Slide 10 text

Has loaded? Y N Has content? Error State Y N Empty State Loading State Opens page Loaded Page! Error state

Slide 11

Slide 11 text

https://www.mysuperwebsite.com Bad Request Error 1337 Your browser sent a request that this server could not understand (have you tried Kligon?) Size of a request field exceed the total weight of the moon. Apache Server wathever that means here We kind of want to avoid this… Error state

Slide 12

Slide 12 text

Navigation item 01 Top Menu Top Menu Top Menu Top Menu Navigation item 02 Navigation item 03 Navigation item 04 Page title Section Title Logo Search There is a technical problem with the content of this page. If the problem persists, please contact XXXXX technical support team by email ([email protected]) or phone (Ext. 0000) Tile title Tile title Tile title Tile title Tile title Content goes here :) Content goes here :) Content goes here :) Content goes here :) Content error at component level Error state

Slide 13

Slide 13 text

em 04 There is a technical problem with the content of this page. If the problem persists, please contact XXXXX technical support team by email ([email protected]) or phone (Ext. 0000) Tile title Tile title Tile title Content goes here :) Content goes here :) Content Content Content error at component level Error state

Slide 14

Slide 14 text

Has loaded? Y N Has content? Error State Y N Empty State Loading State Opens page Loaded Page! Empty state

Slide 15

Slide 15 text

Make it actionable and useful to users Error state

Slide 16

Slide 16 text

Empty states can be interesting design opportunities Empty state

Slide 17

Slide 17 text

First use empty states can be used for onboarding Empty state

Slide 18

Slide 18 text

Loading My division Label Card title My division Label 2019 Label 2019 Label Data Population Empty state - no data Card title My division Label 2019 Label 2019 Label There are no [Elements Title] to display. Error and warning My division Label Card title There is a technical problem with the content of this Tile. If the problem persists, please contact Serapis technical support team by email ([email protected]) or phone (Ext. 54000) My division Label 2019 Label 2020 Label Design system + checklist helps “not forget” about different states How To?

Slide 19

Slide 19 text

Adapting to Content Density

Slide 20

Slide 20 text

Has loaded? Y N Has content? Error State Y N Empty State How much content? Too little Ideal Situation Too much Loading State Opens page Conditional Content Content Amount

Slide 21

Slide 21 text

Ideal amount, yeah! Content Amount

Slide 22

Slide 22 text

Not enough content? Content Amount

Slide 23

Slide 23 text

Too much content… Content Amount

Slide 24

Slide 24 text

General Information 21,74 M EUR EIB Authorised Amount (up to) Normal Workflow Type Microfinance, Regufeers/Migration Special Operation Characteristics Ice cream donut gummies marzipan candy lollipop jujubes jelly. Gingerbread pudding sweet roll bonbon candy cupcake gingerbread pie tiramisu. Chocolate cake marzipan candy canes macaroon ice cream donut carrot cake chocolate. Project Description 52,97 M EUR Project Cost In M EUR Currency Show more General Information 21,74 M EUR EIB Authorised Amount (up to) Normal Workflow Type Microfinance, Regufeers/Migration Special Operation Characteristics Ice cream donut gummies marzipan candy lollipop jujubes jelly. Gingerbread pudding sweet roll bonbon candy cupcake gingerbread pie tiramisu. Chocolate cake marzipan candy canes macaroon ice cream donut carrot cake chocolate.Ice cream donut gummies marzipan candy lollipop jujubes jelly. Gingerbread pudding sweet roll bonbon candy cupcake gingerbread pie tiramisu. Chocolate cake marzipan candy canes macaroon ice cream donut carrot cake chocolate.Ice cream donut gummies marzipan candy lollipop jujubes jelly. Gingerbread pudding sweet roll bonbon candy cupcake gingerbread pie tiramisu. Chocolate cake marzipan candy canes macaroon ice cream donut carrot cake chocolate. Project Description 52,97 M EUR Project Cost In M EUR Currency Show less 40 words for the show more Less than 61 caracters, we show it as normal def list item A Mandate Name Here 31.12.2023 Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Show less Manage Holding Fund A Mandate Name Here 31.12.2023 Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Chocolate lollipop gummies topping cheesecake caramels pie. Pie cupcake tart sesame snaps sweet tootsie roll. Show more Manage Holding Fund Show more / show less mecanism Content Amount

Slide 25

Slide 25 text

Scaling content ๏ Ask the devs for the limits of those fields in the database, ask for min, max and average content length. ๏ If you use “fake content”, make sure the structured and length is close to the real one. ๏ Always prepare for, mooooooore How To?

Slide 26

Slide 26 text

Conditional content: what happens if there is no image? CSS has()

Slide 27

Slide 27 text

Ahmad Shadeed : CSS :has Parent Selector

Slide 28

Slide 28 text

Adapting layout to content CSS flexbox

Slide 29

Slide 29 text

How does it behave in a gallery with different content length? CSS min() max()

Slide 30

Slide 30 text

What happens if there’s no content value (yet)?

Slide 31

Slide 31 text

Content scalability and conditional content: I don’t need to “design” all of them, just “decide” what will happen and communicate this to / with the dev team. How To?

Slide 32

Slide 32 text

Adaptive Layouts

Slide 33

Slide 33 text

Our components often exist in multiple “sizes” M L S

Slide 34

Slide 34 text

Responsive Web Design M S L L

Slide 35

Slide 35 text

Used as teasers on season thematic recipes pages

Slide 36

Slide 36 text

Re-use of the component in different containers

Slide 37

Slide 37 text

Used as “Related recipes” slider item on a recipe details page

Slide 38

Slide 38 text

Container queries Media queries

Slide 39

Slide 39 text

Contrainer queries bookshop — Max Böck

Slide 40

Slide 40 text

Faking container/ media queries with variables, min-max and auto-layout How To?

Slide 41

Slide 41 text

Kudos to Christine for the little pink blocs ideas for documenting this

Slide 42

Slide 42 text

We need to stop obsessing over pixel perfection and embrace the fluid flexible nature of the web: Design in tools, Decide in the browser! How To?

Slide 43

Slide 43 text

Adapting to User's Situation

Slide 44

Slide 44 text

User’s Interactions

Slide 45

Slide 45 text

Providing different interaction states for components

Slide 46

Slide 46 text

How will user interact with this component with a mouse? Interactive States

Slide 47

Slide 47 text

What about keyboard users? Interactive States

Slide 48

Slide 48 text

Services Portfolio Services FAQ Blog Contact us What about touch users? Interactive States

Slide 49

Slide 49 text

Documenting interactions, steps and cases to bridge the gap with dev teams User / task flow How To? Interaction flow

Slide 50

Slide 50 text

User’s Preferences

Slide 51

Slide 51 text

Respect user’s zoom level and make sure no content is missing

Slide 52

Slide 52 text

Dark vs Light mode CSS prefers-color-scheme

Slide 53

Slide 53 text

Higher contrast mode if needs need it CSS prefers-contrast

Slide 54

Slide 54 text

(Windows) Detect if the user is in the limited color palette mode CSS forced-colors

Slide 55

Slide 55 text

Some animations can make people sick: prefers- reduced-motion CSS prefers-reduced-motion

Slide 56

Slide 56 text

More modes ๏ inverted-colors: test if the operating system has inverted all colors ๏ prefers-reduced-transparency (no support): checks if users request the system to have less transparent effects ๏ prefers-reduced-data (no experimental): detect if the user has requested the web content that consumes less internet traffic.

Slide 57

Slide 57 text

Design/dev peer reviewing to fine tune the details in the browser How To?

Slide 58

Slide 58 text

User’s Environment & Journey

Slide 59

Slide 59 text

Using multiple device sensors to adapt to user’s light environment?

Slide 60

Slide 60 text

Design with offline support (and local cache) in mind JS service workers, etc.

Slide 61

Slide 61 text

Design for “periodically synchronized data in the background” JS Background Synchronisation API

Slide 62

Slide 62 text

You need to understand content and how people will use your products, beyond the interface: User Research!!! How To?

Slide 63

Slide 63 text

Also: reach out to developers for technical capabilities, you might be surprised and discover nice features that make sense for your users. How To?

Slide 64

Slide 64 text

User’s Journey

Slide 65

Slide 65 text

Vehicle drop off details Close 100% 9:41 AM XXX Follow the steps to drop off your vehicle Get the rental car keys and drop your vehicle keys in a safe. Further instructions will be available. 5 Pickup rental & Drop keys Open gate Use the code to open the parking gate Show gate code Enter the parking space and park your vehicle in an available spot Vehicle is parked 2 Park vehicle You asked for a category 1 rental. Your car is ready for pick-up, we just need you to sign a few documents. 3 Sign documents Fill in rental car damage report. Further instructions will be available. 4 Rental damage report Vehicle drop off details Close 100% 9:41 AM XXX Follow the steps to drop off your vehicle Get the rental car keys and drop your vehicle keys in a safe. Further instructions will be available. 5 Pickup rental & Drop keys Open gate Gate was opened Vehicle was parked Park vehicle You asked for a category 1 rental. Your car is ready for pick-up, we just need you to sign a few documents. Sign the documents 3 Sign documents Fill in rental car damage report. Further instructions will be available. 4 Rental damage report Vehicle drop off details Close 100% 9:41 AM XXX Follow the steps to drop off your vehicle Get the rental car keys and drop your vehicle keys in a safe. Further instructions will be available. 5 Pickup rental & Drop keys Open gate Gate was opened Vehicle was parked Park vehicle ID card and Driving Licence uploaded and confirmed, rental car contract and general rental conditions signed. Sign documents Please go around the vehicle and fill in the rental car damage report. Start rental damage report Tesla Model 3 4 Rental damage report Vehicle drop off details Close 100% 9:41 AM XXX Follow the steps to drop off your vehicle Pickup rental & Drop keys Rental car picked up and keys were droped in the safe. Get safe information 5 Open gate Gate was opened Vehicle was parked Park vehicle Rental damage report was done and signed Rental damage report ID card and Driving Licence uploaded and confirmed, rental car contract and general rental conditions signed. Sign documents Vehicle drop off details Close 100% 9:41 AM XXX Follow the steps to drop off your vehicle Pickup rental & Drop keys Rental car picked up and keys were droped in the safe. Show gate code Open gate Gate was opened Vehicle was parked Park vehicle Rental damage report was done and signed Rental damage report ID card and Driving Licence uploaded and confirmed, rental car contract and general rental conditions signed. Sign documents I finished the drop off Adapting to different steps in a user journey process

Slide 66

Slide 66 text

WAW Warsaw LUX Luxembourg Passenger Seat Terminal Gate Boarding Date Class Stéphanie Walter 13D - - 12:55 10:55 XZ- 9019 10:30 28/06/2020 Eco D - 2 H - 1 Adapting to user needs and expectations across the journey WAW Warsaw 12:55 LUX Luxembourg 10:55 XZ- 9019 Date: 28/06/2020 Passenger Seat Terminal Gate Boarding 13D D A12 10:30 Class Stéphanie Walter Eco XZ- 9019 WAW LUX 28/06/2020 Gate Terminal Boarding A12 A12 Seat 13D 10:30

Slide 67

Slide 67 text

This last part is more “experimental” and I would be careful with it and heavily test it because it might go against the “predictability of the interface”. So be careful.

Slide 68

Slide 68 text

Going beyond what happens in the app/site, understanding user behaviour and journeys How To?

Slide 69

Slide 69 text

Going beyond happy path and assumptions

Slide 70

Slide 70 text

Why do we ask for this? Do we need that data? Is this the right way to ask for this? (No) Gender * Male Female

Slide 71

Slide 71 text

Why do we assume names can’t have less than 3 characters? Via dcousineau

Slide 72

Slide 72 text

Bad design, bad copy here: my name is correct, your system is the issue here.

Slide 73

Slide 73 text

How many bad assumptions lead to deciding to prevent users from copy pasting on mobile?

Slide 74

Slide 74 text

Is my default the “right” assumption for everyone? Your timeline Congratulation you lost 2kg in the last month! ! What if… I’m sick, and weight loss means I’m getting worse?

Slide 75

Slide 75 text

Might this cause harm or distress to our users? Algorithmically generated memories going wrong

Slide 76

Slide 76 text

Challenge your assumptions. This means: build more diverse teams! How To?

Slide 77

Slide 77 text

Is it going to stress / irritate some users?

Slide 78

Slide 78 text

How might this get abused?

Slide 79

Slide 79 text

Act instead of react: the bad actors workshop How To?

Slide 80

Slide 80 text

database.platformabuse.org

Slide 81

Slide 81 text

No content

Slide 82

Slide 82 text

And we need more diverse teams who seek to understand real users, beyond the “happy path” that, again might not exist.

Slide 83

Slide 83 text

We need more designer/ dev collaboration to go beyond pixel perfect mockups that don’t reflect real product.

Slide 84

Slide 84 text

stephaniewalter.design @WalterStephanie 🦊 User Researcher & Product Designer Mobile expert. Pixel & CSS Lover