Motion Prototyping for Microsoft Teams
Below are a few interactive prototypes I created using FramerJS. This first prototype shows the motion transition for entering and exiting conversations on mobile. The goal of this prototype was to make the experience of drilling into conversations feel dynamic, immersive, and branded. You can test out this interactive prototype by clicking here.
A bit of context, the first screen with grey boxes represents a list of private conversations and as you click on items in the chat list the transition takes you to the selected chat conversation. When I was building this I surveyed how other applications like iMessage, Facebook Messenger, WhatsApp, and Slack handled this transition and what I found was they were all using some derivative of the default iOS and Android slide transition. I saw this as an opportunity to innovate and try something new. I wanted the motion to reflect the spacial relationship between list items and reinforce the mental model of the app. In short, I wanted the 'drill in' to actually feel like I'm physically diving into a chat rather than sliding from one view to the next. I also wanted the animation to be responsive in the sense that the chat expands based on its current position in the chat list. I also added a slight bounce when you return to the chat list, this allows a user to quickly orient themselves in the list by drawing emphasis to conversation they just exited.
The prototype above shows a series of paging animations triggered by the bottom navigation bar. I wanted to create a motion system that helped users understand the spacial relationship between core sections of the Microsoft Teams app. If I select a page that is spatially located to the right of my current view the animation should be intelligent enough to decide on a appropriate direction to perform a slide animation. In order to achieve this I had to develop a function that decides the direction of the slide animation based on where a user elects to navigate in relation to their current view. For instance, if a user is currently viewing ‘Activity’ and taps ‘Meetings’ the function recognizes that 'Meetings' is spatially located to the right of ‘Activity’ and thus triggers a right-to-left slide animation. If a user were to navigate back to ‘Activity’ from ‘Meetings’ the function would recognize that new user selection is spatially located to the left of the current view thus instantiating a left-to-right animation. To view this prototype click here.  

Other Projects

Building Cortana into Microsoft Teams
In this post I we'll look at how I rebuilt Cortana using Lottie from Airbnb as well as dive into integrating audio waveforms and animated icons.
Humanizing Messaging Experiences
In this post I dive deep into the creation of the typing indicator and 'like' animation for Microsoft Teams.
Carousel Feature within Ad Studio
Ad Studio's carousel feature allows you to select up to 10 images and deploy them as an ad unit to Facebook, Instagram, Snapchat, or Pinterest.
Smart Selector
Smart Selector is the world's most advanced layer selection algorithm for After Effects. Smart Selector's proprietary technology allows users to pinpoint and select layers densely nested within After Effects compositions
Halodrox - Drone Apocalypse
Halodrox is a indie mobile game I created in 2011 as a personal project. The game is a 9 level, accelerometer enabled, top-down shooter packed with Mario Kart style power ups and rapid fire action.
Trigger
Trigger is a After Effects script that automates a time remapping process used for layer marker based animation. Trigger allows users to quickly setup and retime complex user flows by triggering animation events called via layer markers.
Mercury
After Effects script for creating free-form liquid deformations for shapes, solids, text, and masks. Mercury allows you to turn any object into a liquid object with customizable liquid thickness and evolution settings
AET Automotive
AET Automotive is an industry leading social media marketing platform for automotive dealerships. As Co-Founder and CTO of the company I oversee all design and engineering initiatives.
Inventory Studio
Learn about the inventory ad product I engineered for AET Automotive's Marketing Suite of products
Creative Studio Pro
Creative Studio Pro is AET Automotive’s ad builder for fast, beautiful, automated, OEM-compliant creative.