Creating dynamic swipe interactions with InVision Studio

Nitin Sampathi
5 min readMar 20, 2018

--

An app interaction I prototyped with InVision Studio—check it out on dribbble

First, a disclaimer: InVision is a company that ships product updates often, so the images this article may not reflect the current state of the app.

InVision recently released their new design tool, InVision Studio. You can sign up for early access here—they’re inviting new users every week!

I found that it was pretty easy to make swipe-able interactions used in the apartment rental app prototype showcased above. When the user swipes across the device, we can animate the screen from one Artboard to another.

You’ll feel comfortable with Studio because it’s very similar to Sketch, and many other design tools out there. But, it brings a few new and unique improvements to the prototyping process, specifically when creating user interactions.

Interactions

An interaction can be added to either an Artboard or a layer. Your user could interact with the prototype by tapping on the device (Artboard) or a specific UI element (layer).

The menu to create these interactions is located at the bottom of the Inspector when an Artboard or layer is selected. Just click the + button and you’ve added an interaction! It is also helpful to know that you can have multiple interactions at a time for different behavior on, for example, a click versus a double-click.

Interactions are made up of 3 components, an event, a screen, and a transition. Technically it’s 4, the fourth being the element the interaction is being applied to (Artboard or layer).

The event can either be a cursor event or touch event. They generally work the same, you can perform clicks and taps with your cursor and your finger. Although, you can’t hover with your finger as you can with your mouse. Touch events are also unique in that they allow you to listen to swipes, which allows for a pretty dynamic interaction.

The screen option in an interaction is the screen you’d like to animate to. Think of these as keyframes, where the Artboard/layer selected is the first keyframe and the Artboard set as the screen option is the ending keyframe.

Lastly, transitions dictate how you’d like to animate to that Artboard. All the typical animations such as sliding, pushing, and fading are there. But selecting motion as your transition method allows you to have much more control of the animation.

Motion

Once you’re listening to a swipe event and have the transition set to motion, you just need to link which layers you’d like to animate on each corresponding Artboard.

Click the pencil icon to open up the Motion Transition screen.

On the left you have your Artboards, but just the ones involved in this interaction (The Artboard that either has the interaction or the layer with the interaction and the Artboard you’re animating to). Below the work area you have a few controls that let you loop the animation, pause it, change the playback speed, and jump back and forth between the Artboards. On the right you have your inspector, which looks the same for the most part except the addition of a graph with adjustable bezier handles that controls the speed over time of the animation.

In order to animate a layer from one state in the first Artboard to the second state in the second Artboard, they need to be linked. If they have the same layer name, you can click the Auto Link Layers button in the top right. You can also select both layers on each Artboard manually, and then click Link Layers.

You can control the speed at which the animation executes with the Animation section in the Inspector. Either pick from preset curves or create your own by grabbing and moving the bezier handles. Although the duration field for this animation is editable, it will not affect the time of this interaction because we’re using a swipe event. Instead, the interaction isn’t following any time, it is animating based on the position of the user’s touch input across the device. A swipe up event means the animation will finish at the end of the swipe, not based on any predetermined time.

Recap

To recap, you just need to do three things to create a dynamic, swipe-able interaction

  1. While having two Artbaords, select one or select a layer on one of the Artbaords
  2. Add an interaction to the Artboard or layer with the options: touch event as a swipe up/down/left/right; another artboard as a screen to animate to, and a transition set to motion.
  3. Click the ‘pencil’ icon in the interaction and link all the layers you want to connect

This method is great for swipe-able menus like iOS’s control panel or app on-boarding. This interaction also has snapping, so if you’ve swiped far enough, it will automatically animate to the next Artboard. So, with just a few clicks, adjusting a few properties, and manipulating an animation curve, you can make really dynamic interactions without having to touch any code.

--

--