&
Andrew Baker
Senior Experience Developer - Karsh Hagan
03.11.2015
digital strategy and creative concepting
user experience design
visual design mockups
front-end development
1) Intro to UI animation
Animation design principles
Importance of animation and interactivity on the web
How to design & build web animation in usable, intuitive user interfaces
2) Using CSS3 to bring your websites to life
What to know about CSS3 animation (basic principles, browser support, graceful degradation)
Intro to CSS3 transition syntax & CSS3 key-frame animation syntax
Using Modernizr to ensure your CSS3 code falls back for old browsers
Examples of CSS3 live in action
3) Student Engagement Live Coding
We will use codepen.io and each student will get the opportunity to build their own unique web animation example
At its most basic definition, animation is simply a visualization of change
The "illusion of life' animation principles
Created by Walt Disney Studios in the 1930's
"Illusion of Life" book cover
Moving elements attract your user's attention
Intuitive animation gives users feedback based on their interactions
SUBTLETY and CONSISTENCY are key to making your UI comfortable and realistic
iPhone's camera shortcut from the lock-screen
Weight
Depth
Balance
Animation to show content detail
Revealing and hiding content
Transitions to other content
Animation adds an additional layer of information
Portfolio website
Homepage section click expands project detail
Javascript, HTML5 history allows for page creation and indexing
vitosalvatore's portfolio attention to detail
'my profile' page transition to about page seems fluid and intuitive
notice the animation sequence (fade old content, slide new panel in, fade in and scale up new content)
flavinsky.com 'about' profile content animates onto screen
(the good)
Scrolling animations to draw user attention to important information
showcases product detail and technical components
"Pencil" by 53 website
(the bad)
Arrow link undergoes a fast 'bounce' animation effect from the bottom left corner of the page
Places unnecessary importance on this element and distracts the user from reading the main content on the page
"Festival of Marketing" - back to top link animation
(the ugly)
'parallax' effect offers no detail or function.
scrolling image materialization animation covers up the important categories of work that the agency does
unnecessary 'loading' style animation on team photos
"Muffi" - digital agency portfolio website
'Hamburger' icons for main site navigation have brought a lot of controversy in the UX/UI community
contextual navigation mimics touch UI.
draggable grid transforms in 3d space to show context and allow for project navigation
Wild - agency website has a unique contextual navigation model
Use reveal animations only for content that is not imperative to the general understanding of your page content
simplicity of animation style can make content consumption easier and more enjoyable
forbetter.coffee is a playful animated site with tips for making great cups of coffee
Transitions from one state to another
Define by:
* only property and duration are required
.btn {
background: #000000;
-webkit-transition: background .3s ease 0s;
transition: background .3s ease 0s;
}
.btn:hover {
background: #333333;
}.btn {
background: #000000;
transition-property: background;
transition-duration: .3s;
transition-timing-function: ease;
}
.btn:hover {
background: #333333;
}shorthand
full breakdown
Cubic-bezier gives a unique sense of motion from animation start to finish
:hover
class changes (Triggered via javascript)
page load
media queries
device orientation
'Can I Use' - an essential tool for building progressively enhanced websites
Transitioning top, left, bottom, right requires browser
re-paints, sub pixel rendering, and causes composite issues
Small javascript library detects HTML5 and CSS3 feature support
The script adds classes to the <html> element on load
nav {
transform: translateY(-300px);
transition: transform .3s ease-in;
}
.no-csstransforms nav {
transition: top .3s ease-in;
}CSS fallbacks with modernizr
Adding or removing a CSS class to an element
Most commonly triggered in these instances
Ability to define stages in between initial and final state
CSS3 Key-frame animation
CSS3 transitions
Define animation in keyframe code,
then reference it on element
[animation-name] [animation-duration] [animation-timing-function] [animation-delay] [animation-iteration-count] [animation-direction] [animation-fill-mode] [animation-play-state]
.btn {
animation: bobble 3s ease-in infinite;
}
@keyframes bobble {
0% {
opacity: 1;
transform: rotate(20deg);
}
50% {
opacity: 0;
transform: rotate(-60deg);
}
100% {
opacity: 1;
transform: rotate(0deg);
}
}shorthand
full breakdown
'Can I Use' - an essential tool for building progressively enhanced websites
Wonderful Colorado via Karsh Hagan
karshhagan.com
Brussels and Muscles via Be Colorado
Mystyle by American Crew