Animation – campus

Vad är det?

Ofta ses animation som enbart något dekorativt, som en fin detalj att implementera i sin gränssnittsdesign, men det är att underskatta metoden, för det kan vara så mycket mer när det används med syftet att höja användarupplevelsen. De bästa animationerna har syfte och finess och har placerats i gränssnittet av en användarcentrerad anledning. Det är ett verktyg som man använder sig av för att förhindra abrupta ändringar i användargränssnitt, locka användarens uppmärksamhet och för att indikera korrelation mellan objekt eller händelser. Detta gör att användargränssnitt blir lättare att förstå och det blir mer likt verkliga livet när saker inte bara dyker upp ur tomma intet, samt att man får en känsla att det flyter på.

Animation är en metod där man kombinerar bilder med varandra för att få dem att se ut som att de rör sig på ett mjukt sätt. Alla typer av animationer är helt enkelt bilder som är ihopsatta för att “lura” ögat. Beroende på hur många bilder per sekund blir de olika mjuka, men för att en människa ska uppfatta animationen som flytande krävs åtminstone 24 bilder per sekund.

När används det?

När en användare använder sig utav en virtuell miljö som till exempel ett textdokument, en bild eller olika typer av kartor så bör användaren kunna scrolla i den här miljön, rotera den eller zooma in. I informationsgrafik som i till exempel kartor är detta väldigt användbart för användaren för att kunna zooma in eller titta runt på olika platser på denna karta. Animation kan användas när en användare öppnar eller stänger ett program,  även när man går från en sida till en annan, till exempel på en webbplats.

Ett annat bra sätt att använda animationer är att använda det för att få fram ett viktigt budskap till användaren. Alltså att överanvända animationer kan skapa förvirring och därför kan det vara bra att spara detta till att få användarens uppmärksamhet när det behövs som mest.

Rikta uppmärksamhet

När något rör på sig, särskilt om något gör en stor rörelse, är det väldigt svårt att inte titta på det. Man kan fånga användarens uppmärksamhet på flera sätt, både på bra och dåliga. Ett exempel på bra rörelser för att rikta uppmärksamhet är kodningsverktyget CodePen, som när man inte sparat sin kod, skakar på spara-ikonen för att påminna användaren om att inte glömma bort att spara sitt arbete. Ett exempel som är relativt är animerade reklambanners som rör på sig och blinkar, vilka fångar uppmärksamhet och är svåra att missa. Kanske bra för företaget som står för reklamen, men kan uppfattas störande för användaren. 

Feedback

Feedback används för att indikera att användarens handling har utlöst ett gensvar, som att knappar ser intryckt ut när man klickar på den eller att en textruta skakar när fältet är inkorrekt ifyllt.

Show/Hide

Med animation kan man hjälpa användaren genom att berätta för dem var något kommer ifrån samt vart det tar vägen. Innehållet i en shoppingvagn på en näthandel kan glida ut från sidan av skärmen när man klickar på vagnen, och glida tillbaka om man stänger ner det fönstret. En meny kan visas om man håller muspekaren över den, och försvinna om man tar bort muspekaren. Rörelsen hjälper till att skapa en mental bild av var föremål är någonstans, även när de inte visas i bild.

En extra fördel med detta är att det många gånger kan spara på användarens kognitiva belastning, alltså att man inte behöver processa för många saker samtidigt. När en kund shoppar på din näthandel kanske den inte behöver se hela innehållet av sin shoppingvagn hela tiden – för att få användaren att behålla sitt fokus på att hitta produkter att köpa, kan innehållet av shoppingvagnen visas om så användaren önskar det, exempelvis genom att klicka på vagnen så att innehållet “glider” fram.

Hur används det?

Saker att tänka på:

  • Om användaren måste vänta på att animationen ska spelas ut innan denne kan fortsätta använda applikationen så bör man korta ner denna eller ta bort den helt och hållet.
  • En animering skall vara underhållande, estetiskt väl utbyggd och så vidare, så vi som användare kan resonera i designen. MEN det är viktigt att det inte är för mycket saker som rör på sig, för det kan skapa förvirring och kognitiv överbelastning.
  • Det är viktigt att en animering är ett komplement till gränssnittet så att det blir lättare för användaren att förstå hur hen ska gå tillväga för att uppnå en viss uppgift. 
  • När man animerar någonting är det också bra att få objektet som rör på sig att efterlikna någonting som rör på sig i verkligheten, till exempel att objektet saktar ner innan det stannar helt hellre än att det rör på sig i samma hastighet tills den stannar tvärt. 
  • Animerar man en grupp objekt i ett gränssnitt som hör ihop, så är det viktigt att man inte har ett för långt intervall mellan animationerna då detta skapar en känsla att dessa inte rör sig som en enhet. 
  • Något annat som är viktigt att tänka på när man skapar en animation är att man försäkrar sig att animationen fungerar på flera olika plattformar. Bara för en animation fungerar bra på en dator så är det inte säkert att den fungerar bra på en mobiltelefon.
  • Den optimala hastigheten för animationer ligger på mellan 200 och 500ms. Hastigheten behöver anpassas beroende på hur stort objektet är och hur lång sträcka den ska färdas. Mindre skärmar skapar kortare sträckor vilket gör att de behöver en längre animations-tid.

Egna Exempel

Vi har skapat en prototyp med några egna exempel med typer av animationer man kan skapa i Axure, denna ser ni här: https://dnspql.axshare.com

Hur man “loopar” bilder med animationseffekten “fade”

Börja med att skapa en dynamic panel.
Placera ut den där du vill ha den och gör den så stor som du vill ha den. I det här exemplet kommer det fungera som en banner som loopar olika bilder med effekten fade.
Dubbelklicka på panelen så att den är i redigeringsläge.
Skapa så många states som du har bilder. I det här exemplet arbetar vi med tre bilder, och därav tre states.
Dra in bilderna i Axure och skala ner/upp dom så att bilderna blir så som du vill. Det som kommer att visas i den färdiga produkten sedan är det som är inom panelen – se den streckade rektangeln.
Välj nästa state och gör samma sak med fler bilder på state 2 och 3.
Se till så att det ligger en bild i varje state som syns här.
Nu ska vi ställa in en interaktion för när sidan laddas, alltså när den öppnas från början. Ha inget markerat och välj Interactions, och sedan Page loaded.
Vi vill manipulera den dynamiska panelen vi skapade och dess states, därför går vi in på Set Panel State.
Välj den panel vi skapat, i det här fallet heter den enbart ‘Dynamic Panel’, men har du fler dynamiska paneler, döper man med fördel dessa så att de är lättare att skilja åt.
Vi vill som tidigare nämnt loopa bilderna, därför använder vi ‘Next’ på state, som gör att den byter till nästa state. Här bockar vi även i ‘Wrap from last to first’, vilket gör att bilderna loopar. ‘Repeat every x ms” för att bestämma hur ofta skiftningarna ska göras. “Delay first state change by x ms”, för att välja hur lång tid det ska ta innan bilderna börjar loopa från att man laddar in sidan.Animeringseffekten vi väljer är ‘Fade’ vilket gör att bilderna tonar in och ut mellan skiftningarna.

Klar!

Slide in & Wait: Simulering av löpande skrift

I det här exemplet har vi börjat med att skapa en knapp.
Efter det skapar vi en textruta och skriver in det som ska vara där till slut. Därefter lägger vi in en box över texten (på bilden är boxen inte över texten, men den flyttas ner och täcker texten så rutan blir helt vit).
Sedan klickar vi på knappen som skapades i steg 1 och väljer Interactions. Vi vill att processen ska starta när man klickar på knappen, och därmed väljer vi interaktionen Click or Tap. Det som ska hända är att den vita rutan ska tas bort i en animering så att bokstäverna syns, en efter en, alltså vi vill vi välja den vita rutan som target, som i det här fallet kallas för ‘mask1’. Den vita rutan ska döljas, därför tar vi ‘Hide’. Eftersom man skriver från vänster till höger vill vi att rutan försvinner åt höger – ‘Slide Right’, och beroende på hur snabbt man vill att den ska bort väljer man olika tider i fältet till höger om slide right – x ms. 2,5 sekund i det här fallet.
I exemplet vi gör ska 4 fält fyllas i, och eftersom man inte kan fylla i flera fält på exakt samma gång, behöver det finnas en fördröjning mellan varje animation. Med hjälp av interaktionen ‘Wait’ kan vi bestämma hur lång tid det ska gå mellan varje. Här får man testa sig fram, och det är avgörande vad sammanhanget är, men 1,5 sekund känner vi passar bra här.

Klar!

Mobil bubbelmeny

Man börjar med att skapa en första knapp-ikon (grund knapp). Högerklicka och gör denna till en dynamisk panel. Dubbelklicka på panelen och skapa ytterligare ett “panel state” (tillstånd) genom att klicka på duplicate state (döp gärna tillstånden till exempelvis “Default” och “Active”.
Gå in på Active och justera ikonen (knappen ska vara i ett intryckt tillstånd, så exempelvis utan skugga och i detta fallet grön färg).
Dags att skapa knapparna som ploppar ut ur grund knappen. Hämta ett papper eller skapa ett dokument och skriv ner X och Y värdet för samtliga knappar och lägg även en extra på grund knappen bara för att få start X och Y värdet.
När du har alla värden så ska du lägga in knapparna under din grund knapp (default/active) och de ska även ligga under grund knappen i Outline listan, så att de inte syns samt (går även att gömma knapparna med “hide”).
Nu ska vi lägga in en hotspot på den dynamiska panelen default. Lägg till en interaction för “Click or  tap” och “Set Panel state” till “Active”. Utöver det så ska du antingen lägga till ytterligare “show hide” och med “show” på alla extraknappar som ska poppa ut (om du dolt dessa innan). Lägg även till en “Move” “To” för varje knapp och här plockar du fram X och Y koordinaterna som skrev ned innan och matar in siffrorna här (se bild ovan). På move har vi valt att lägga till en animation inne på “ANIMATE” som heter “Ease in Out Cubic” med 300ms.
Kopiera default hotspotten och klistra in den i “Active” panelen. Här vill vi att de utpoppade knapparna ska åka in igen när vi klickar på ikonen samt att grund knappen ändrar tillstånd till “Default”. På “Interaction” ändras “Set Panel State” till “Active” läget. Ändra var och en av knapparnas  “Move” “To” och skriver in X och Y koordinater så att de lägger sig under grund knappen igen. Om du har du dolt knapparna tidigare så får du slänga in en “Wait” på interactions med 300ms. Denna måste ligga innan “Show/Hide” som som ska ändras från “Show” till “Hide” (detta för att animationen ska synas innan knapparna döljs).

Klar!