Conform to this protocol: <UIViewControllerAnimatedTransitioning> Methods: - (void) animateTransition: - (NSTimeInterval) transitionDuration: - (void) animationEnded:
Don’t forget about interaction control! <UIViewControllerInteractiveTransitioning> Handle percent complete, cancellation, and finished transition… all driven by the user’s interaction with the product.
UICollectionView inserts and deletes (default fade is shallow)
This situation is particularly relevant. Items are coming in and out of your world… does the animation fit with your design theme?
Easiest customization is to set layout attributes and let iOS do the tweening: - (UICollectionViewLayoutAttributes*)initialLayoutAttributesForAppearingItemAtIndexPath: -(UICollectionViewLayoutAttributes*)finalLayoutAttributesForDisappearingItemAtIndexPath:
Example: Our new photo app. Design theme is “stacks of family pictures”
CollectionView animation: New pictures fall from above onto the stack. Deleting a picture makes it fall all the way off the bottom of the screen.
Add some physics with UIKit Dynamics and you’ve got a great experience with depth!
More pitfalls
Branding
Feature defense
We love the app. It would be cool if it auto-posted to Facebook, though.
And I’m all about Google Calendar integration. You planning that soon?
Oh, yeah. Definitely! You’re using the beta. In the full version we got all that.
Simplicity is hard.
What you don’t build is as important as what you build. Defend against bloat.
Feline.io has an awesome interactive tutorial when you open the app.
And Mice.me has a parallax video on the background of their mobile Website and it knows your location.
We’ve talked about this a dozen times. Those things are not relevant to our key value. Can we start designing OUR app and stop copying others?
App Cat took one for the team here.
Looking around for inspiration and keeping up to date is important.
But all that really matters – in the end – is delivering your key value in the form of a great experience.
You won’t find that anywhere except within your own amazing talent.
What we covered
• Prerequisites - Know your user - Understand key value - Have a design theme
What we covered • Process steps
- Make key value center & sacred - Use design theme to make depth - Design with someone else - Talk, design, prototype, play - Then finally build for keeps
What we covered
• Specific examples - Screen transitions - UICollectionView adds / deletes - Wait states & loading stuff