SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Choose
Your
Animation
Adventure
Val Head • @vlh
Author of Designing Interface Animation
Design Advocate, Adobe
Choose
Your
Animation
Adventure
Val Head • @vlh
Author of Designing Interface Animation
Design Advocate, Adobe
You have encountered an interface that requires animation.
What would you like to use?
(1) CSS?
(2) JavaScript?
(3) SVG?
(4) …?
CSS
Key
Frames
Transitions
What CSS is great at:
• Well-defined state transitions
• Loading animations, looping animations
• Animations on :hover, :focus and similar
CSS
Pros:
• No external library needed
• Great potential for performance without much
effort
• Keyframes are reusable
• Can adjust properties in media queries for
responsive animation when needed
CSS
Cons:
• Access to limited events
• Defined entirely ahead of time
• Can’t separate transform properties*
CSS
CSS + JS = 🙌
CSSIn Summary
Where it shines:
• Animated interactions with defined states
• Simple interactive animations
Biggest Pro:
• Nearly effortless performance
• No additional requests
CSS is pretty great, but it might be 

time to move to JavaScript if:
• You’ll be chaining more than 3-ish animations in a
sequence
• The animation needs to change dynamically at runtime
• Need to animate transform properties separately
• Physics or other complex easing structures are required
VanillaCanvas Web GL
react
Libs
Web Animation
API
JS
What javascript is great at:
JS • Complex animated interactions
• Narrative or immersive animation
• Dynamic state transitions
requestAnimationFrame
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
Vanilla JS - requestAnimationFrame
JS function moveCat() {
. . .
currentValue = changeInValue * progress;
cat.style.transform ="translateX("+currentValue+"px)";
. . .
requestAnimationFrame(moveCat);
}
moveCat();
JS animation libraries
Comparing JavaScript animation libraries…
TweenMax.to( box, 1,

{opacity:0.5, x:800, ease:Power2.easeIn}

);
Velocity(box, 

{opacity: 0.5, translateX:"+=800"}, 

{duration: 1000, easing:"easeInQuad"});
anime({
targets: box,
opacity:0.5,
translateX: 800,

duration: 1000,
easing: 'easeInQuad'

});
~9 - 29kb ~14.4kb ~4.7kb
back to IE8* back to IE8 back to IE10
Docs + forums Docs + SO Docs
drawSVG, morphSVG, Draggable drop-in replacement for jQuery very lightweight
Some features and licensing 

requires $
MIT licenseMIT license
JavaScript
In Summary
Where it shines:
• Complex UI animation
• Animation with dynamic states
• Immersive animation
Biggest Pro:
• Lots of options for how to get it done
• Can animate DOM, SVG, canvas
SVG
What SVG is great at:
SVG • Animated illustrations
• Animated icons
• Infographics and dataviz
• Fluidly scaling, responsive animation
SMIL
• Tag-based animation within
SVG
• No IE or Edge support
• Being deprecated in Chrome
😕 🙂 😁
CSS
• Transitions and keyframe
animations can be applied to
SVG elements
• Limited number of properties
are exposed to CSS
• Transforms not supported in
IE or Edge
JS
• Can access/animate native
SVG properties
• Can do motion along path,
shape morphing and more just
like SMIL*
airbnb.design/lottie/
lottiefiles.com
github.com/airbnb/lottie-web
SVGIn Summary
Where it shines:
•Animated illustrations & infographics
•Shape morphing
•Motion along a path
Biggest Pro:
•Responsive by nature
•Potential for tiny file sizes
PERFORMANCE
size - transform: scale()
position - transform: translate()
rotation - transform: rotate()
opacity
compositepaintlayoutstyle
csstriggers.com
CSS JavaScript
• CSS is declarative 

(whole animation is known ahead of
time)
• CSS animations with transform &
opacity won’t be impacted by the
main thread
• JS is imperative 

(browser only really aware of the
current frame)
• Hardware acceleration isn’t
automatic
SVG & Hardware Acceleration?
• Not all browsers support it
• Good performance in general without it though
Don’t be afraid to run your own tests
You have encountered an interface that requires animation.
What would you like to use?
(1) …?
Designing Interface Animation
designinginterfaceanimation.com
Thank you!
Newsletter: uianimationewsletter.com
Let’s chat on twitter: @vlh
Typeface: Brandon Text | Illustrations by Rachel Sager

Mais conteúdo relacionado

Mais procurados

Animations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fastAnimations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fastbrianskold
 
WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?Alexandr Skachkov
 
PG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridPG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridAlex Blom
 
Building JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSBuilding JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSSalesforce Developers
 
Single page applications
Single page applicationsSingle page applications
Single page applicationsPrafful Garg
 
[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming APICocoaHeads Tricity
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introductionAllen Wu
 
Retina Display - Supporting in Web Projects
Retina Display - Supporting in Web ProjectsRetina Display - Supporting in Web Projects
Retina Display - Supporting in Web ProjectsMark Riggan
 
Journey To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The MachineJourney To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The MachineIrfan Maulana
 
Sass - Getting Started with Sass!
Sass - Getting Started with Sass!Sass - Getting Started with Sass!
Sass - Getting Started with Sass!Eric Sembrat
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAmir Barylko
 
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million UsersAWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million UsersAmazon Web Services
 

Mais procurados (20)

Animations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fastAnimations on Fire - Making Web animations fast
Animations on Fire - Making Web animations fast
 
WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?WebAssembly vs JavaScript: What is faster?
WebAssembly vs JavaScript: What is faster?
 
PG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & HybridPG Day Us: Animations for Web & Hybrid
PG Day Us: Animations for Web & Hybrid
 
Building JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJSBuilding JavaScript Apps for Force.com with EmberJS
Building JavaScript Apps for Force.com with EmberJS
 
Psd 2 Drupal
Psd 2 DrupalPsd 2 Drupal
Psd 2 Drupal
 
Start using less css
Start using less cssStart using less css
Start using less css
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API[CocoaHeads Tricity] Michał Zygar - Consuming API
[CocoaHeads Tricity] Michał Zygar - Consuming API
 
Html5
Html5Html5
Html5
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introduction
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
Retina Display - Supporting in Web Projects
Retina Display - Supporting in Web ProjectsRetina Display - Supporting in Web Projects
Retina Display - Supporting in Web Projects
 
Mean stack
Mean stackMean stack
Mean stack
 
Journey To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The MachineJourney To The Front End World - Part3 - The Machine
Journey To The Front End World - Part3 - The Machine
 
Sass - Getting Started with Sass!
Sass - Getting Started with Sass!Sass - Getting Started with Sass!
Sass - Getting Started with Sass!
 
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Auckland 2014 | Scaling on AWS for the First 10 Million Users
 
Intro to EmberJS
Intro to EmberJSIntro to EmberJS
Intro to EmberJS
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
 
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million UsersAWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
AWS Summit Sydney 2014 | Scaling on AWS for the First 10 Million Users
 

Semelhante a Choosing your animation adventure - Generate NYC 2018

JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
Core Animation
Core AnimationCore Animation
Core AnimationBob McCune
 
Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryAndrea Verlicchi
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]David Wesst
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdfBe Problem Solver
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
Demystifying Angular Animations
Demystifying Angular AnimationsDemystifying Angular Animations
Demystifying Angular AnimationsGil Fink
 
Responsive images, an html 5.1 standard
Responsive images, an html 5.1 standardResponsive images, an html 5.1 standard
Responsive images, an html 5.1 standardAndrea Verlicchi
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilityDennis Lembree
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
 
Software Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElementSoftware Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElementMarian Rusnak
 
HTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwordsHTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwordsMo Jangda
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Pascal Rettig
 

Semelhante a Choosing your animation adventure - Generate NYC 2018 (20)

JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Core Animation
Core AnimationCore Animation
Core Animation
 
Fastest css3 animations
Fastest css3 animations Fastest css3 animations
Fastest css3 animations
 
Css3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQueryCss3 transitions and animations + graceful degradation with jQuery
Css3 transitions and animations + graceful degradation with jQuery
 
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
CSS and CSS3
CSS and CSS3CSS and CSS3
CSS and CSS3
 
Iagc2
Iagc2Iagc2
Iagc2
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf6 Methods to use page scroll animation.pdf
6 Methods to use page scroll animation.pdf
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Demystifying Angular Animations
Demystifying Angular AnimationsDemystifying Angular Animations
Demystifying Angular Animations
 
Responsive images, an html 5.1 standard
Responsive images, an html 5.1 standardResponsive images, an html 5.1 standard
Responsive images, an html 5.1 standard
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader Accessibility
 
First review presentation
First review presentationFirst review presentation
First review presentation
 
Svcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobileSvcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobile
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
 
Software Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElementSoftware Transition from Flash to HTML5 - WebElement
Software Transition from Flash to HTML5 - WebElement
 
HTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwordsHTML5, CSS3, and other fancy buzzwords
HTML5, CSS3, and other fancy buzzwords
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
 

Mais de Val Head

UX in Motion
UX in MotionUX in Motion
UX in MotionVal Head
 
The Ins and Outs of Easing
The Ins and Outs of EasingThe Ins and Outs of Easing
The Ins and Outs of EasingVal Head
 
Animation in design systems and process - Val Head
Animation in design systems and process - Val HeadAnimation in design systems and process - Val Head
Animation in design systems and process - Val HeadVal Head
 
The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016Val Head
 
The UX of Great Animation
The UX of Great AnimationThe UX of Great Animation
The UX of Great AnimationVal Head
 
Designing Meaningful Animation
Designing Meaningful AnimationDesigning Meaningful Animation
Designing Meaningful AnimationVal Head
 
Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015Val Head
 
Web Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYCWeb Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYCVal Head
 
Motion Design with CSS
Motion Design with CSS Motion Design with CSS
Motion Design with CSS Val Head
 
Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)Val Head
 

Mais de Val Head (10)

UX in Motion
UX in MotionUX in Motion
UX in Motion
 
The Ins and Outs of Easing
The Ins and Outs of EasingThe Ins and Outs of Easing
The Ins and Outs of Easing
 
Animation in design systems and process - Val Head
Animation in design systems and process - Val HeadAnimation in design systems and process - Val Head
Animation in design systems and process - Val Head
 
The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016The Ins and Outs of Easing - dotCSS 2016
The Ins and Outs of Easing - dotCSS 2016
 
The UX of Great Animation
The UX of Great AnimationThe UX of Great Animation
The UX of Great Animation
 
Designing Meaningful Animation
Designing Meaningful AnimationDesigning Meaningful Animation
Designing Meaningful Animation
 
Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015Designing Meaningful Animation - AIGA Design Camp 2015
Designing Meaningful Animation - AIGA Design Camp 2015
 
Web Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYCWeb Designer to Motion Designer - Generate NYC
Web Designer to Motion Designer - Generate NYC
 
Motion Design with CSS
Motion Design with CSS Motion Design with CSS
Motion Design with CSS
 
Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)Putting Your UIs In Motion On The Web (Animation & UX)
Putting Your UIs In Motion On The Web (Animation & UX)
 

Último

General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxmarckustrevion
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Associazione Digital Days
 
Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppNadaMohammed714321
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxNitish292041
 
guest bathroom white and bluesssssssssss
guest bathroom white and bluesssssssssssguest bathroom white and bluesssssssssss
guest bathroom white and bluesssssssssssNadaMohammed714321
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyChristopher Totten
 
Pearl Disrtrict urban analyusis study pptx
Pearl Disrtrict urban analyusis study pptxPearl Disrtrict urban analyusis study pptx
Pearl Disrtrict urban analyusis study pptxDanielTamiru4
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks CharlottePulte
 
Color Theory Explained for Noobs- Think360 Studio
Color Theory Explained for Noobs- Think360 StudioColor Theory Explained for Noobs- Think360 Studio
Color Theory Explained for Noobs- Think360 StudioThink360 Studio
 
Niintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxNiintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxKevinYaelJimnezSanti
 
How to Empower the future of UX Design with Gen AI
How to Empower the future of UX Design with Gen AIHow to Empower the future of UX Design with Gen AI
How to Empower the future of UX Design with Gen AIyuj
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...Rishabh Aryan
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic global solution
 
Karim apartment ideas 02 ppppppppppppppp
Karim apartment ideas 02 pppppppppppppppKarim apartment ideas 02 ppppppppppppppp
Karim apartment ideas 02 pppppppppppppppNadaMohammed714321
 
10 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 202410 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 2024digital learning point
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Rndexperts
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfneelspinoy
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioRMG Project Studio
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine CharlottePulte
 

Último (20)

General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptx
 
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
Giulio Michelon, Founder di @Belka – “Oltre le Stime: Sviluppare una Mentalit...
 
Karim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 pppppppppppppppKarim apartment ideas 01 ppppppppppppppp
Karim apartment ideas 01 ppppppppppppppp
 
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptxUnit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
Unit1_Syllbwbnwnwneneneneneneentation_Sem2.pptx
 
guest bathroom white and bluesssssssssss
guest bathroom white and bluesssssssssssguest bathroom white and bluesssssssssss
guest bathroom white and bluesssssssssss
 
The spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenologyThe spirit of digital place - game worlds and architectural phenomenology
The spirit of digital place - game worlds and architectural phenomenology
 
Pearl Disrtrict urban analyusis study pptx
Pearl Disrtrict urban analyusis study pptxPearl Disrtrict urban analyusis study pptx
Pearl Disrtrict urban analyusis study pptx
 
Map of St. Louis Parks
Map of St. Louis Parks                              Map of St. Louis Parks
Map of St. Louis Parks
 
Color Theory Explained for Noobs- Think360 Studio
Color Theory Explained for Noobs- Think360 StudioColor Theory Explained for Noobs- Think360 Studio
Color Theory Explained for Noobs- Think360 Studio
 
Niintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptxNiintendo Wii Presentation Template.pptx
Niintendo Wii Presentation Template.pptx
 
How to Empower the future of UX Design with Gen AI
How to Empower the future of UX Design with Gen AIHow to Empower the future of UX Design with Gen AI
How to Empower the future of UX Design with Gen AI
 
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
DAKSHIN BIHAR GRAMIN BANK: REDEFINING THE DIGITAL BANKING EXPERIENCE WITH A U...
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing services
 
Karim apartment ideas 02 ppppppppppppppp
Karim apartment ideas 02 pppppppppppppppKarim apartment ideas 02 ppppppppppppppp
Karim apartment ideas 02 ppppppppppppppp
 
10 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 202410 Best WordPress Plugins to make the website effective in 2024
10 Best WordPress Plugins to make the website effective in 2024
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
 
Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025Top 10 Modern Web Design Trends for 2025
Top 10 Modern Web Design Trends for 2025
 
group_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdfgroup_15_empirya_p1projectIndustrial.pdf
group_15_empirya_p1projectIndustrial.pdf
 
Interior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project StudioInterior Design for Office a cura di RMG Project Studio
Interior Design for Office a cura di RMG Project Studio
 
Piece by Piece Magazine
Piece by Piece Magazine                      Piece by Piece Magazine
Piece by Piece Magazine
 

Choosing your animation adventure - Generate NYC 2018

  • 1. Choose Your Animation Adventure Val Head • @vlh Author of Designing Interface Animation Design Advocate, Adobe
  • 2. Choose Your Animation Adventure Val Head • @vlh Author of Designing Interface Animation Design Advocate, Adobe
  • 3.
  • 4. You have encountered an interface that requires animation. What would you like to use? (1) CSS? (2) JavaScript? (3) SVG? (4) …?
  • 5.
  • 7. What CSS is great at: • Well-defined state transitions • Loading animations, looping animations • Animations on :hover, :focus and similar CSS
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Pros: • No external library needed • Great potential for performance without much effort • Keyframes are reusable • Can adjust properties in media queries for responsive animation when needed CSS
  • 14. Cons: • Access to limited events • Defined entirely ahead of time • Can’t separate transform properties* CSS
  • 15. CSS + JS = 🙌
  • 16.
  • 17.
  • 18. CSSIn Summary Where it shines: • Animated interactions with defined states • Simple interactive animations Biggest Pro: • Nearly effortless performance • No additional requests
  • 19. CSS is pretty great, but it might be 
 time to move to JavaScript if: • You’ll be chaining more than 3-ish animations in a sequence • The animation needs to change dynamically at runtime • Need to animate transform properties separately • Physics or other complex easing structures are required
  • 21. What javascript is great at: JS • Complex animated interactions • Narrative or immersive animation • Dynamic state transitions
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 28. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 29. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 30. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 31. Vanilla JS - requestAnimationFrame JS function moveCat() { . . . currentValue = changeInValue * progress; cat.style.transform ="translateX("+currentValue+"px)"; . . . requestAnimationFrame(moveCat); } moveCat();
  • 32.
  • 35.
  • 36. TweenMax.to( box, 1,
 {opacity:0.5, x:800, ease:Power2.easeIn}
 ); Velocity(box, 
 {opacity: 0.5, translateX:"+=800"}, 
 {duration: 1000, easing:"easeInQuad"}); anime({ targets: box, opacity:0.5, translateX: 800,
 duration: 1000, easing: 'easeInQuad'
 });
  • 37.
  • 38. ~9 - 29kb ~14.4kb ~4.7kb back to IE8* back to IE8 back to IE10 Docs + forums Docs + SO Docs drawSVG, morphSVG, Draggable drop-in replacement for jQuery very lightweight Some features and licensing 
 requires $ MIT licenseMIT license
  • 39. JavaScript In Summary Where it shines: • Complex UI animation • Animation with dynamic states • Immersive animation Biggest Pro: • Lots of options for how to get it done • Can animate DOM, SVG, canvas
  • 40. SVG
  • 41.
  • 42.
  • 43. What SVG is great at: SVG • Animated illustrations • Animated icons • Infographics and dataviz • Fluidly scaling, responsive animation
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. SMIL • Tag-based animation within SVG • No IE or Edge support • Being deprecated in Chrome 😕 🙂 😁 CSS • Transitions and keyframe animations can be applied to SVG elements • Limited number of properties are exposed to CSS • Transforms not supported in IE or Edge JS • Can access/animate native SVG properties • Can do motion along path, shape morphing and more just like SMIL*
  • 50.
  • 54. SVGIn Summary Where it shines: •Animated illustrations & infographics •Shape morphing •Motion along a path Biggest Pro: •Responsive by nature •Potential for tiny file sizes
  • 56. size - transform: scale() position - transform: translate() rotation - transform: rotate() opacity
  • 59.
  • 60.
  • 61. CSS JavaScript • CSS is declarative 
 (whole animation is known ahead of time) • CSS animations with transform & opacity won’t be impacted by the main thread • JS is imperative 
 (browser only really aware of the current frame) • Hardware acceleration isn’t automatic
  • 62. SVG & Hardware Acceleration? • Not all browsers support it • Good performance in general without it though
  • 63. Don’t be afraid to run your own tests
  • 64.
  • 65. You have encountered an interface that requires animation. What would you like to use? (1) …?
  • 67. Thank you! Newsletter: uianimationewsletter.com Let’s chat on twitter: @vlh Typeface: Brandon Text | Illustrations by Rachel Sager