Practical hacks for delightful interactions
summary
A live photo viewer implements a shared‑element “third element” transition that runs smoothly even on a $50 Android and a four‑year iPhone. It wires Animated + useNativeDriver for 60fps fire‑and‑forget animations, uses InteractionManager and early-start touch work to hide setup latency, and finally abuses a scroll view as gesture recognizer to get main‑thread touch responsiveness today. Limitations: native driver lacks flex/position/image‑resize support so heavy precomputed math is required, and driving gestures on the native thread shows noticeable iOS latency. Libraries to watch: react-native-interactable and react-native-gesture-handler.
AI-written summary · about
chapters (42)
- 0:00Introduction
- 0:52Live Demo
- 1:05Close Button
- 1:17Beautiful UI
- 1:44Third Element Transition
- 2:00Horizontal Scroll View
- 2:14General Hacks
- 2:47Animating
- 3:00React Native Thread
- 3:18UI Thread
- 3:33JavaScript
- 4:07Delegate
- 4:33Native Driver
- 4:48Native Driver Limitations
- 5:03React Native Threads
- 6:37Squish View
- 6:58Shared Transition
- 7:56The Great Finger
- 8:13Touch Events
- 8:45Example
- 9:25How does it work
- 10:01If only
- 10:14What does the client expect
- 10:43Response time
- 11:05Touchend
- 11:46Smoothing Touchend
- 12:18Latency
- 12:34Android
- 12:58Initial Perception Delay
- 13:50Interaction Manager
- 15:30React Native Interactable
- 16:07React Native Gesture Handler
- 17:08React Native Hacks
- 17:56Animated Scroll View
- 19:02Behavior
- 19:19Paging
- 19:32Scroll view
- 19:47Follow through
- 20:26Summary
- 20:42The 3 hacks
- 21:36Should we feel bad
- 21:50Own your hacks
related talks
28mReact Native Touch & Gesture
21mMicrointeractions: The Little Big Things
22mCan it be done in React Native
30mMicrointeractions & Animations in React Native: Help users understand the UI
30mLiving in an async world of React Native
27mDeclarative future of gestures and animations in React Native
27mMoving Beyond Animations to User Interactions at 60 FPS in React Native
29mIt all starts with navigation
