About the App
What if you could make movies from still photos you’ve taken on your iPhone over time?
This is the primary goal of Live Canvas. With Apple’s Live Photo technology baked into the latest iPhone devices, a few seconds of video is captured with every photo you take.
Live Canvas will stitch Live Photos together to form a movie that you can then share on social media, iMessage, or simply save alongside your photos.
Any number of Live Photos can be used, and individual Live Photos can be trimmed and re-ordered to make your perfect movie montage.
The idea for Live Canvas came from the realization I was taking many photos of my son, but very few videos that would bring life and joy to looking back on his younger years.
Challenges
Building Live Canvas presented a few challenges. The biggest was speed. I did not want the app to pre-process videos and join them before playback. Although this would have made building the app easier, it would have caused long processing wait times and removed the ability to add, remove, and move new Live Photos into the movie.This would have reduced the enjoyment and utility of the app considerably.
By not pre-processing Live Photos, I had to build custom UI components for the video scrubber, and visually stepping over Live Photos. All existing open source scrubber components assume and expect a single video file.
One other major challenge was supporting both portrait and landscape oriented videos together. The app will choose the most appropriate orientation based on your selections, and dynamically insert matching background filler for the Live Photo currently playing, removing black bars.
Based on user research, and common sharing patterns through messaging apps, Live Canvas also supports exporting your Live Photos to a GIF. The interface remains consistent and familiar, but also includes the option to set direction, speed, and size settings for the GIFs you create. The video scrubber and trimmer custom component I built was also generic enough to support and step through GIF frames, helping with the visual consistency of the interface whether you’re sharing a video or GIF.
My Role
This is a personal side project, so I was involved at all stages of production.
- Product conceptualization
- Product design
- Product implementation
- Product testing & launch
Technologies
- Written in Swift 4.
- Support for all iPhone device class sizes.
- Extensive use of AVFoundation, and Photos frameworks.
- Third party Firebase, FLAnimatedImage, SwiftyStoreKit libraries also used.
- Eight custom UI components built for various interactions throughout the app.