Mobile Web Animation

A presentation at Mobile Era in November 2019 in Oslo, Norway by Lisi Linhart

Slide 1

Slide 1

Mobile Web Animation Lisi Linhart

Slide 2

Slide 2

Title Text Ericsson Mobility Report

Slide 3

Slide 3

Title Text Ericsson Mobility Report

Slide 4

Slide 4

Existing research identifies several avenues through which mobile phones, and smartphones in particular, may contribute to the fortunes of disadvantaged populations. Mobile phones and inequality - Will Marler

Slide 5

Slide 5

Slide 6

Slide 6

Mobile phones are considered separately as tools which are used to take advantage of digital resources, strengthen and grow personal networks and enhance coordination and mobility in everyday life. Mobile phones and inequality - Will Marler

Slide 7

Slide 7

Slide 8

Slide 8

The notion is that a gap has emerged between those who access the Internet by phone and those who do so by computer known as the “device divide”. The researchers find that those marginalized by race, income, and education are more likely to depend on a smartphone for Internet access. Mobile phones and inequality - Will Marler

Slide 9

Slide 9

Slide 10

Slide 10

Slide 11

Slide 11

Slide 12

Slide 12

Slide 13

Slide 13

• • • • • • not all apps need to be standalone Web APIs allow access to device features (BlueTooth, USB, Camera, Geo-location, …) no need for app / play store admission no separate development effort for Android / iOS often smaller in size higher conversion (no need for app install)

Slide 14

Slide 14

Touch Interaction and Animation in Mobile Web Interfaces

Slide 15

Slide 15

Slide 16

Slide 16

Animation

Slide 17

Slide 17

Animation Touch Interaction

Slide 18

Slide 18

Animation Touch Interaction Mobile Context & Usability

Slide 19

Slide 19

Slide 20

Slide 20

bit.ly/pwa-static bit.ly/pwa-animated

Slide 21

Slide 21

What are the problems with the mobile web?

Slide 22

Slide 22

❌ 👇 not reactive to touch interaction

Slide 23

Slide 23

👇 reactive to touch interaction

Slide 24

Slide 24

❌🗺 user loses orientation

Slide 25

Slide 25

🗺 users understand why content changed and can reorient themselves

Slide 26

Slide 26

❌⏰ slow performance or network connection

Slide 27

Slide 27

⏰ loads most important parts quickly

Slide 28

Slide 28

Slide 29

Slide 29

❌🎮 user doesn’t feel in control

Slide 30

Slide 30

🎮 application is behaving in a predictable way

Slide 31

Slide 31

👇 🗺 ⏰ 🎮 touch navigation wait times control

Slide 32

Slide 32

What do native applications do differently?

Slide 33

Slide 33

⏰ • • • 🗺 onboarding animation animated transitions fading in new content gradually

Slide 34

Slide 34

🎮 👇 • • 🗺 navigation animation indicating change in content

Slide 35

Slide 35

🎮 👇 ⏰ • • spinners / loaders • • fading in new content hiding content in swappable areas to the side navigation animation

Slide 36

Slide 36

⏰ • • • • 🗺 loaders showing progress animated transitions fading in new content gradually

Slide 37

Slide 37

Animation in PWAs

Slide 38

Slide 38

NAVIGATION & CONTEXT

Slide 39

Slide 39

“ When animations were present, more participants had the impression of interacting with a continuous space rather than with separate screens. ” Jonas F. Kraft, Jörn Hurtienne Transition animations support orientation in mobile interfaces without increased user effort

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

Slide 43

Slide 43

Slide 44

Slide 44

Slide 45

Slide 45

Slide 46

Slide 46

Slide 47

Slide 47

Slide 48

Slide 48

Slide 49

Slide 49

Slide 50

Slide 50

Creating new layers 1. will-change property 2. 3D Transform 3. animated 2D transforms 4. being on top of a compositing layers 5. animated CSS filters

Slide 51

Slide 51

🤯 don’t create too many layers since they consume memory remove them if the animation is finished

Slide 52

Slide 52

🎮 👇

Slide 53

Slide 53

material.io/design/navigation/navigation-transitions.html

Slide 54

Slide 54

material.io/design/navigation/navigation-transitions.html

Slide 55

Slide 55

material.io/design/navigation/navigation-transitions.html

Slide 56

Slide 56

ACTIVITY & FEEDBACK

Slide 57

Slide 57

Make Explain the waiting theperception user process needs Reduce awhy user’s Emphasize branding less frustrating. to wait of waiting time animation: codepen.io/chrisgannon/pen/yXmbMg

Slide 58

Slide 58

Slide 59

Slide 59

Slide 60

Slide 60

Slide 61

Slide 61

Slide 62

Slide 62

DISPLAY CLUTTER

Slide 63

Slide 63

Slide 64

Slide 64

Display clutter can be defined as the decrement of performance and cost of attention, particularly, visual search decrements, that result from the interaction between display-based and user-based factors. Nadine Moacdieh, Nadine Sarter Display Clutter: A Review of Definitions and Measurement Techniques

Slide 65

Slide 65

Display clutter can be defined as the decrement of performance and cost of attention, particularly, visual search decrements, that result from the interaction between display-based and user-based factors. Nadine Moacdieh, Nadine Sarter Display Clutter: A Review of Definitions and Measurement Techniques

Slide 66

Slide 66

Slide 67

Slide 67

Whole menus are reduced to single icons, and additional pages and features are often located in swipe-able areas to the left or right of the visible screen. Daniel Liddle Emerging Guidelines for Communicating with Animation in Mobile User Interfaces

Slide 68

Slide 68

Animation, then, makes up for the lack of visible navigation tools by establishing and reinforcing metaphorical relationships between visible elements. By encouraging users to navigate with a swipe instead of an arrow or button, we can save screen space. Daniel Liddle Emerging Guidelines for Communicating with Animation in Mobile User Interfaces

Slide 69

Slide 69

codepen.io/lisilinhart/full/GRRyxxY

Slide 70

Slide 70

.card .card__hidden

Slide 71

Slide 71

.visible

Slide 72

Slide 72

.card__hidden

Slide 73

Slide 73

TIMING valhead.com/2016/05/05/how-fast-should-your-ui-animations-be

Slide 74

Slide 74

TIMING slow transitions are less distracting Title Text fast animations are more likely to attract attention valhead.com/2016/05/05/how-fast-should-your-ui-animations-be/

Slide 75

Slide 75

EASINGS.NET Title Text

Slide 76

Slide 76

EASINGS.NET Title Text

Slide 77

Slide 77

EASING easeOut feels more reactive and instantaneous

Slide 78

Slide 78

EASING easeOut feels more reactive and instantaneous needs more time, because it’s a more complex curve

Slide 79

Slide 79

EASING when an element is moving into the screen it should start quick and slow down towards the center

Slide 80

Slide 80

EASING when an element is moving out of the screen it should start slow and speed up towards the end

Slide 81

Slide 81

Touch & Animation

Slide 82

Slide 82

The users who we observed touching their phone’s screens or buttons held their phones in three basic ways: one handed — 49% cradled — 36% two handed — 15% Study: How do users hold their phone

Slide 83

Slide 83

The 49% of users who use just one hand typically hold their phone in a variety of positions. Study: How do users hold their phone

Slide 84

Slide 84

People can read content best at the center of the screen and often scroll content to bring the part they’re reading to the middle of the screen if they can. People are better at tapping at the center of the screen, so touch targets there can be smaller. Article: Design for Fingers, Touch, and People

Slide 85

Slide 85

Source: Touch Gesture Reference Guide

Slide 86

Slide 86

Slide 87

Slide 87

Slide 88

Slide 88

Slide 89

Slide 89

codepen.io/lisilinhart/full/XWWZzYK

Slide 90

Slide 90

codepen.io/lisilinhart/full/XWWZzYK

Slide 91

Slide 91

codepen.io/lisilinhart/full/XWWZzYK

Slide 92

Slide 92

codepen.io/lisilinhart/full/XWWZzYK

Slide 93

Slide 93

codepen.io/lisilinhart/full/gOOeONB

Slide 94

Slide 94

codepen.io/lisilinhart/full/gOOeONB

Slide 95

Slide 95

codepen.io/lisilinhart/full/gOOeONB

Slide 96

Slide 96

REQUESTANIMATIONFRAME FRAME FRAME FRAME FRAME we continuously want to update the screen and get as many frames as possible FRAME

Slide 97

Slide 97

REQUESTANIMATIONFRAME FRAME FRAME rAF(update) FRAME rAF(update) FRAME rAF(update) FRAME rAF(update) so we update once before each new frame

Slide 98

Slide 98

REQUESTANIMATIONFRAME touchmove FRAME FRAME rAF(update) FRAME rAF(update) FRAME rAF(update) FRAME rAF(update)

Slide 99

Slide 99

REQUESTANIMATIONFRAME touchmove FRAME touchmove FRAME rAF(update) FRAME rAF(update) FRAME rAF(update) FRAME rAF(update)

Slide 100

Slide 100

REQUESTANIMATIONFRAME touchmove touchmove FRAME touchmove touchmove touchmove FRAME FRAME FRAME rAF(update) rAF(update) rAF(update) we update the next frame only with the latest value FRAME rAF(update)

Slide 101

Slide 101

codepen.io/lisilinhart/full/gOOeONB

Slide 102

Slide 102

codepen.io/lisilinhart/pen/gOOeONB

Slide 103

Slide 103

codepen.io/lisilinhart/pen/gOOeONB

Slide 104

Slide 104

Animation Mobile TLDR; Touch

Slide 105

Slide 105

bit.ly/pwa-static bit.ly/pwa-animated

Slide 106

Slide 106

Users prefer animated interface, when they’re done in the right way. Animation shouldn’t delay or annoy the user.

Slide 107

Slide 107

Combing touch gestures with animation, can allow the user to become accustomed to shortcuts through gestures. These shortcuts allow the user to navigate more quickly in an application (expert user).

Slide 108

Slide 108

A lot of animation processing happens subconciously, which is why well done animations are often not noticed by the user.

Slide 109

Slide 109

When the design and UX aspects, which are common in native applications are used in PWAs, users also perceive them more as a an “App” rather than a mobile website.

Slide 110

Slide 110

WHAT TO AVOID? missing touch feedback small touch targets ❌ 👇 gestures that aren’t understandable animations that aren’t consistent with the touch movement

Slide 111

Slide 111

WHAT TO AVOID? hard cuts between screens that are very different ❌🗺 missing transitions when information space updates missing explanation of relationships between interface elements

Slide 112

Slide 112

WHAT TO AVOID? empty screens ❌⏰ missing loading animations missing skeleton screens long waiting times

Slide 113

Slide 113

WHAT TO AVOID? no feedback on touch events ❌🎮 blue flashes long, annoying animations not considering touch areas

Slide 114

Slide 114

“Users should only notice your animation if you need to attract their attention in that moment. Otherwise, micro-interactions and other transitions should be so seamless, users don’t even notice that there is animation” Heather Daggett - Animation At Work

Slide 115

Slide 115

Lecturing @ LISILINHART.INFO Twitter @LISI_LINHART Blog