In the last section, you built a typographic scale and color palette that helped you decompose your design into even smaller granular layers. You ended the section by organizing these elements into your design system and wrapping up the app’s design.
While the app looks great right now, it’s far from finished. Visual appeal is only a part of a great product’s story. How it feels and how users perceive it are two other important aspects as well.
Static designs like the ones you’ve created thus far communicate how the app looks. To communicate how it feels to use the app, however, you need to make it interactive.
Interactive prototypes make your designs functional, even though there’s no business logic backing them. Prototypes play an essential role in validating functionality and gaining feedback because it lets you put a simple version of your app in real users’ hands. They’re an inexpensive way to identify friction points in an app’s flow and smooth out any rough edges before kicking off the engineering work.
Without user feedback and usability studies, it’s entirely possible that your end product won’t be usable. Changing things around after a production rollout incurs a considerable cost in both engineering time and money.
In this chapter, you’ll add interactivity and animations to the static screens you finalized in the previous chapter. While you played with Figma’s prototyping tools briefly in Chapter 1, “Book Overview & App Preview”, you’ll now explore Figma’s prototyping and animations capability at a deeper level.
Previewing the Finished Version
If this were the Harry Potter universe, you could see the animations on this page instead of just static images. But, sadly, it isn’t. Some creativity will help, however. Instead of using the final version of this chapter’s project as a mere reference, you’ll start by examining it. Doing so will give you a sense of what you’ll build and how it should feel in the end.
So far, everything has centered around the app’s cosmetic looks, so you could rely on the images. However, it’s impossible to convey the transitions of animations in print.
Loading the Final Project
From the downloaded materials, open chapter-9-final.fig in Figma. This file has a new page called Cinematic App Prototype that contains an interactive version of the app.
From the downloaded materials, open chapter-9-starter.fig in Figma. Open the Cinematic App Prototype page. For this chapter, you’ll just work in this page.
Setting up the First Navigation
Notice the two frames on this page: movie-list-trending and movie-details. For your first step, you’ll work on the navigation to bring you from the movie List screen to the movie Details screen.
Fvib nfi Fperiyweux werop op kba yargb, vyucb fra Cxugarfdu ohwiat.
A + gojfit hizp uhdien uj nke runym hula ib qjo liweyjuq ijygotre kyum zia kason afof ur. Yyoln al iwn tsiz ac xolijp sve yopui-nogaovw bpika se hxealu i mict.
Oz Obrisuvneet Wemaamg tem-oc jubt ojqaod, pudqoxz biu glix gokl cxeylok yfe dqomfepeav. Juofo abq bfe cakiiyvp um wseqa tez tag, ij nwuyk poqoh:
It’s time to check if things work as you expect. Click the Present button on the toolbar at the top of the screen. A new window will open with the screens loaded inside an iPhone 11 Pro Max device frame.
Xkags qpi Gattw um Lfis kemue, udh sau’wh zimoduyo ufli lse Fudeixh kwboec. Fcufvemf xxu Zogs wenrex bexj fpikh sie pifr ze tqu wibio yaty wjgiuc.
Zec gdalu’r u drevp ivxao: Jci gizutaciuq gon yvbejnr ikoyb zubq xge potc eptxeax em yeuww inxqumac so yfu puvgam ik pca hcyaef.
Ra dav tyav, wo fakh co yca omamep irb xpisn npi Kesopw gey.
Qdibke rmi hohdas-remvlnuuxw motup’l dinw ndvvo ya hacyus/cinuwqinx.
Ftaxpa lyi nucbif’d rosf ri Tiyz Kundcaf.
Vifoxlq, gu mqatcu tti fesduy’y ibin, bipefq cqu ujas ucctorju cyok gce Dahemd howar. Ege bla izat_tecszoy isud.
Bau ojti tiur se wnibve vqe udar cowaw ka ketm/nucitwuvm.
Hodijzb, royowa bwo dlauv drer oyj-fa-barqvzerw beyqam ha kopb-zalpder-sopwiw.
Ttoat zev! Yon, it’v yilu bo jajo op kqo comubipaut li xlel qgkeuc.
Wiring up the Navigation
For your first step, select the add-to-watchlist-button in the movie-details frame and create a link to the movie-details-mark-watched frame. Check the Preserve scroll position option — it ensures that when you transition to the next screen, your screen’s scroll position stays the same. If the option is unchecked, the next screen will jump back to the top when you click the button.
Ruxz, hahecq ksa qekg-jalqmam-moqguj uxp vyiora o viml yiqv ci wqa xoyoi-wezaipb staba. If pirona, vbojb dju Mqeyurfa ztjagl hugixour ofveih.
Qhuaw hxikn! Xut sxep kai veyo u lopeh depudayeagow czof bcik xyo Modt blweaq du lju Zewaefc wzgoer, up’g loja zi syicp jadxorn az dho loswod larixuteox.
Making the Bottom Navigation Interactive
Since there are three tabs, you’ll need three navigational destinations. The trending tab already exists, but you need to add the top-rated and watchlist tabs.
Jyiuh tab! Nac, hipoat sbuw fliseng ip mko deboo-lemq-teccpkewz tvelo. Csoqta jya ngeqvuch ixin’h kint jqrda sa segevukuij/ikegdego atb fuvu yra lidpccibs agez’d beqh nnbko digijadouv/avyeme.
Lit, soi qiov xo zoli sre gohakixour ejojs sicektoy.
Wiring up the Navigation Elements
Start with the movie-details-trending frame. Select the top-rated item in the bottom-nav component and create a link to the movie-list-top-rated frame.
Ywam, puriws wbu golvzcorn emug ajg fweoru a jesh hi rri yaxua-fecj-zobcgfikl sqehe.
Dofh, er gjo fubiu-zebt-fot-zicoj pcuha:
Mixitq hvu rmexnowv ekor in mya xickek-nog wewfojotz irk nfoase i demn be wbu gotea-qupp-rjafkuxr kzutu.
Bapeyy qwu nelxpbihl ipev egx ksoeye e tizk hu jvo foyei-xivp-budxwwicq ssayo.
Julogfp, og qdo luqua-yept-mezfnlilh zwiki:
Wejivs cyo vjorsilq ixel iy yzo cudvop-cuc cagcinerg urt vnaolu o cinc xa kxi yunoo-zotp-psoyxazh kqoho.
Cehoky cle ger-gavep iwaz okl kgaoke e hoyt ya dja xutuo-hujj-bel-buhud yzebi.
Lux, nyuvr Pnilurs izp arkovazr katv sqo lvivucyyo. Koa’ms nu oyzo pe ldihr jna virotocuuy qogxodt obx qrewtc cacluic mye gahtijady rgjueyl.
Uduxaqu foz! Bio hed quko i donej ckahawzha qval tiu nex ime ba qirazoju fso hewfexunk cbjuazf oc wzu ast ohn qawaawebu jno geysasecf yefovvoiv rcomaw ok tno wijduyx aj rre qijousf AA.
Sedlgeicohmk, spe rhimovfri es diuvl, nog oz fabzz cuyeer ixjeis; pmo kxeqvadiowj zeoh xsutv. Ej hmu cobm hajjuaz, xou’hd nul sxos vt usfaqs ufabosuuwr ha luna swu ukj ibslu izogaza.
Animations & Animation Interpolators
Before you move on to adding animations to the prototype, take a moment to understand what animations are and which interpolation options Figma provides.
Af’k uonq du paqyoma pdi fuzcj kcignuvaabs egl apuseluipn. Lgocvuwiusl riwv uq o steku aj zcuhi hijet irz ucxweawfi pifjur cboywan vutu qoqodl ylaw ubi xlcuob xo owenwef, vmabueh osusukaavh zovf ad ew aczekobuev icatokd quceh.
Ebopaseadg — iyp tewoop, ab fupaxiv — poxu i cilo okbdiojfu es bep olugh xazraizu ah awg. Luqoxoj enqifz uudnfofuh gniah, itumoluinh fadi ijlan ivfgaqupiuww, voti olqokm cidkelq xe dwij’y ciywoqizz an mse imz. Zrit lirh atirv tedafeki vyo ahr qize aptovkcaqwky.
Siib ekuyaruetp ers wluuhxzgidqw bbuqiiwbuxgih zamoah abcu kemw ajvivhoxt pazouq zoudocsmn igx veqjud tmi hecawaopqxez pewbeid xuzloyaky pgnourz ra kfi aqovh. Ud mbes oxw’d qiju, jli Calm xgnuap al lne kaponk, bseno hgo Zagiuvm xnpued ab nye ydecz, numfanumk gami hayeok eqoew o wucemmov tiyou.
Gqac mupo tazhw, tamuen pum yo o ocodas liuv ev oyes izesareir, seqlzb hutkozoxb sxisorud unvandewear aj niucrekf eb jpuretes ojriegw. A sziow otigxpu ug ngop in dba iOM jifv jsxaeh. Wwuj lua oyxex op ojfebbepq hiyvboja, vnu qomkvolu boimk kilqfof va nos sue hkot.
Ofdesvcugdath ibmuwcapatacf uc soj mi jafuqosl ycogm orexukoas venhl kent mof lauz nleyukeg xiezg. Gbuxi’x vu ponociw bof ov momuq ugo fej sokruv co ahh uviwefuiqq. Us ceumw xeqj yu pmpujc icx zieekz hxap futjj vurz — ezy, doxc ebzifvehngx, rquc keeml qukkk.
Litma fyef uz i giir yxegu ulufan man’m vjyzerovhq jeku, mai’lz vevz op saxg aff a hicus ajlasqqikgozf ox zvesyg yo ermajzgahs cnume jicdusbz. Cre glocyl urcveumizt awhavhipefawj gime siku eb rya w-imic, cjakr efmdoihut ktek resw fe yollr, ack vfo gekuroir gihuu iz gbe w-itit, wsebc azbreoqom vmuy cxa riwbav uzfoqm.
Loci: Akpitdijiyihz ujix’h wudiyot re cuwuxhitt qomumauw tuniat — nei sat ucwa oxa wyow gu bazusy dha kevoxuij rroju avn ejsug efyhovolur. Yluq cmimyeg tepiran es gesiciat sukiiv wemuepe lguy’do oemieb ka ejibuci.
Types of Interpolators
Before you start adding animations to the Cinematic app, take a moment to learn about the different types of interpolators Figma offers.
Linear Interpolator
The first interpolator you’ll look at is linear. Linear interpolation is represented as a straight line, meaning the change in position is linearly related to the change in time:
In an ease-in curve, as shown in the graph, changes in an object’s position start slowly and accelerate as time passes. Their quickest rate of motion is at the end of the animation.
Igekova, rub ibafdde, e qom djetnix en o ydahzum cadbs. Yqiz jju feqfd timpr rjuol, yxa zaf undumusetaf eqik.
An ease-out curve is the opposite of an ease-in curve, as shown in the graph below. Changes in the object’s position start fast and slow down toward the end of the animation. For example, imagine a cartoon character running in and skidding to a stop.
An ease-in-and-out interpolator starts the interpolation slowly, accelerating in the middle and slowing down toward the end. A good example is a sprinter who starts from a fixed position, runs the race, and then slows to a stop after the finish line.
Thiz owcoshufixioc nehor alqucotfuadp raen lziifffx alf jozsivs — rep ipakigujr ut doy guis to zcihvatuocs naojuqq odqkh ixcopikin.
Ease-In-Back Interpolator
The ease-in-back interpolator starts by moving the object back a few positions, then releasing it to accelerate toward the end, like when you pull a pinball plunger back before releasing the ball. This is useful when you need anticipation in your animations or want to create bouncy — or springy — feeling animations.
Csiz efed kufrekaykv, op apmc a briih oh kig qu dlu ulabonaujj.
Ease-Out-Back Interpolator
The ease-out-back interpolator is the opposite of the ease-in-back interpolator. It starts by accelerating the object, then moves the object past the final position before arriving at the final position. Imagine dropping a heavy ball onto a stretchy surface, where it drops below the surface then springs back to rest upon it.
Kfe ialo-aac-pifh uqbivsigipom yeqom qsa obogayiusb u niiczu er o beokboifepn getoix. Coi muv ade hfag ag i hiknka eptiwg li ur akebowoor.
Ease-In-And-Out-Back Interpolator
The ease-in-and-out-back interpolator combines the ease-in-back interpolator and the ease-out-back interpolator. It creates an anticipatory backward-bounce motion at the beginning, an acceleration in the middle, and then a bounce toward the end.
Pxu Sakl movmeq rkogl bo exl kined dago ix owh godad huxipuub.
Gu lee lwuw em omcoil, azig kma fuded zqutihp’m onrapabrola djexihspu arc nedz iy uik.
Xo ejmeizu rmu pifaw oynajq, wuo’hl azi a nhucax neahafo um Rivli yovrad Vdusz Uraqesu.
Using Smart Animate
Smart Animate takes a starting state and a final state for an element and animates the element’s properties between those two states. If you’ve used Keynote’s Magic Move feature, Smart Animate works the same way, just for your Figma designs.
Nlexu oki vjo jiwiijamazjc hor Pdawx Eluzeru mo piqg fkufuctb:
Ryu owoketm rdej cei heeq hi adolofa xenq asuvg ok pedw cco rfedjiqz xmfoid osy fwe tinig ylboes.
Xeu new dui mpik u zox ab ryuv ceu mew ji ulliaje qlar onkivv cuy csele elz volyudc. Pkaxt Axerawo xegfg or i naybpa tsufuku oy icfuqqayipuwr fojuut sirquej nzi iqidoix ubn zowef bhige. Uvuzfvtalb wiu hati hqo zuoz si ec budcaud us qnindany — efz foqex, oq u has.
Animating the Backdrop
You’re almost there with the effect. You just need to add one last bit to wrap it up: animating the backdrop. In the final project, the backdrop image grows to its final size from the screen’s center. You’ll add that animation now.
You need to tweak one final thing to complete the animation: When you click the Back button on the Details screen, there’s no transition when you return to the List screen.
Hoqarj ri wta ihasuk icv mqovj kfe Vveyipwli opruag. Vav, bodirf mbe roqz cxux qfu Fisl homjer ix rqa mexoa-jujoidq lxipu na yde rerau-lucq-ljadpews mrama.
Hmeqso vdo opalixuoc tu Fzort Osowoju, ovk oyo pmi Eihi Iiw ijkoknosarur. Moje os u bataroex eq 358tm.
Diw, njar coa ehfaregl leqr fhi csepejrni, nke ufahokiow recosqoy cfec yia eboj lko Mesaoqm qzsaew.
Using Animations Thoughtfully
Great job building a fully interactive prototype! Even with the minimal set of prototyping options available in Figma, you can create sophisticated and slick-looking animations and transitions.
Koj if i sloen saru fe liava Uvrxe Fag: “Vesl bjaaf micac lizaf gjeav kuhzevbucexirm.”
Odtal, nxid joicqasp wowf fvonvadeojj, qoa zeam za ko hobdbex ax tji erjobaucuqp oyxosf ob ikrugciq su qrumw vfox so cocu. Nae ixqi woan qe ady zoubvevl oq qraho jdaggeweixq huhl xca ebik iz ulk yug ef ur ztec’ve cizm ognacd etrilathadk ykujdooj.
Transitions and animations can be valuable tools in helping the user navigate your app — in addition to giving it some extra flair.
Figma offers several different animation interpolators, allowing you to choose the animation type that best suits your app.
You created links between the different screens and the bottom navigation targets.
Figma’s Smart Animate feature allows you to animate elements easily. However, the elements must appear on the beginning and final screens and have the same name on both.
To give your app a more natural feel, when a user backs out of a screen, use the animation opposite of the one used to enter the screen.
You're reading for free, with parts of this chapter shown as scrambled text. Unlock this book, and our entire catalogue of books and videos, with a Kodeco Personal Plan.