Twitter Space: MotionScape - building a free, open-source Mac app
Outline
The hosts of this show were Stefan and Amos und you can listen to the recording here.
Introduction and welcome
- We mentioned the release tweet, the download link, and that people should check it out and have a look at the open-source repo
- Why shoud people star the repo?
- Because it allows us to keep working on it
- As luckily our employer Stream is kind enough to let us work on it
What was the starting point?
- Amos created a (= many) tutorial(s) around animations
- Spring animation tutorial on Stream Developers YouTube
- Problem: How to test animation easings before actually using them in SwiftUI
- Solution (but only for web):
- We both thought that it was cool and fun to play around to get them right
- Stefan created a little example with some controls that set parameters
- Amos said: I always wanted to do that and create an app for that after seeing an example from CodePen.
- We both said: let’s do it
How did we approach it?
- We asked ourselves what we want from it?
- Clear that we wanted to open-source it
- Make it fun and free
- Not bloated, but just put in a few examples and maybe even explanations
- There’s only a limited number of different animations so we decided to start with the bare minimum
- created a list of things we wanted to have in our MVP that we thought to be “releasable”
- cut out the unnecessary things for later versions (not everything has to be in, if we want everything perfect we wouldn’t ever ship it)
- Include a few examples, add parameters to play around within a very simple UI
- Use basic UI components where possible
- go for functionality instead of fancy design (Example: drag-and-drop the dots of easing-graphs
- List of features to include:
- Spring animation support
- Easings/interpolations support
- Preview: what you see is what you get
- Ability to copy animation code snippets for SwiftUI
What did the development process look like?
- Amos created most of the animations and prepared them for inclusion in the app
- Stefan created the skeleton of the Mac app (which was completely new, but not really)
- we integrated and shared and improved from there
- There are still more animation examples ready for future versions
What did the release process look like?
- We tested between the two of us
- then we included people from our team (via TestFlight)
- then we got scared because a very similar app got released: Couverture
- then we released
What are the plans for the future?
- move the entire process to Github (Issues, Boards, etc.)
- get feedback from the community and see what they would like/contribute
- more animation examples for sure
- improve UX for a better ability to work with the app (Example: Timing curves - the ability to adjust control points with the control handles of the graph)
Kindly share and like this to support us and the project:
Listener Requested Links
SwiftUI Animation Links
- SwiftUI Animation on Udemy: https://www.udemy.com/course/swiftui-animation-foundations/
- Book (old buy mighty): https://useyourloaf.com/blog/ios-core-animation-advanced-techniques/
- Mark’s SwiftUI animations book: https://www.bigmountainstudio.com/animations-15
- Learn Core Animation with Kite: https://kiteapp.co/
- MotionScape: https://apps.apple.com/us/app/motionscape-animation-studio/id1616840951
- 100 Days of SwiftUI (Day 32 - 34): https://www.hackingwithswift.com/100/swiftui/32
- SwiftUILab: https://swiftui-lab.com/category/animations/
SwiftUI Animation Inspiration
- Stream SwiftUI Spring animations: https://github.com/GetStream/swiftui-spring-animations
- SwiftUI animation library: https://github.com/amosgyamfi/swiftui-animation-library
- MotionScape: https://github.com/GetStream/motionscape-app
- Stream SwiftUI animations: https://github.com/GetStream/stream-swiftui-animations
Animation Theory and Principles
- Free animation handbook: https://www.designbetter.co/animation-handbook
- Material Motion: https://material.io/design/motion/the-motion-system.html
- The 12 Principles of UX in Motion: https://medium.com/ux-in-motion/creating-usability-with-motion-the-ux-in-motion-manifesto-a87a4584ddc
- NNGroup animation research: https://www.nngroup.com/articles/animation-purpose-ux/