Når den udkommer til efteråret iOS 7, vil vi få en masse nye funktioner i vores Apple-enheder. Ud over et fuldstændigt nydesignet, nogle gange endda kontroversielt udseende, tilbyder Apple os et helt nyt paradigme for brugernydelse. Det ser ud til, at Apple ønsker at forberede sit mobilsystem til det næste årti med dette drastiske skridt.
Blandt nyhederne er den såkaldte parallakseeffekt. Hvis jeg skal citere Wikipedia, parallakse (fra græsk παράλλαξις (parallakse) der betyder "ændring") er den vinkel, der er overspændt af rette linjer trukket fra to forskellige steder i rummet til det observerede punkt. Parallax omtales også som den tilsyneladende forskel i positionen af et punkt i forhold til baggrunden, når den ses fra to forskellige steder. Jo længere det observerede objekt er fra observationspunkterne, jo mindre er parallaksen. De fleste af jer får sikkert gåsehud ved mindet om skoleborde og kedelige fysiktimer.
I praksis betyder det ganske enkelt, at med lidt smart programmering bliver displayet til noget mere. Pludselig er det ikke bare en todimensionel overflade med matricer af ikoner og andre elementer i brugermiljøet, men et glaspanel, hvorigennem brugeren er i stand til at se den tredimensionelle verden, mens han filmer enheden.
Perspektiv og parallakse
Det grundlæggende princip for, hvordan man skaber en funktionel parallakseeffekt på en todimensional skærm, er ret enkel. Fordi lys passerer gennem øjet til et enkelt punkt, måtte hjernen lære at genkende størrelsen af objekter i forhold til vinklen mellem deres kanter. Resultatet er, at tættere objekter ser store ud, mens fjerne objekter fremstår som små.
Dette er det grundlæggende i perspektivopfattelse, som jeg er sikker på, at hver enkelt af jer har hørt om på et tidspunkt. Parallax, i denne iOS-sammenhæng, er den tilsyneladende bevægelse mellem disse objekter, når du bevæger dig rundt om dem. For eksempel, når du kører bil, bevæger tættere genstande (træer ved vejkanten) sig hurtigere end fjernere (bakker i det fjerne), selvom de alle står stille. Alt skifter plads forskelligt med samme hastighed.
Sammen med flere andre fysiktricks spiller perspektiv og parallakse en meget vigtig rolle i vores opfattelse af verden omkring os, hvilket gør os i stand til at sortere og forstå de forskellige visuelle fornemmelser, som vores øjne fanger. Derudover fotografer med sans for perspektiv de kan lide at lege.
Fra raketter til telefoner
I iOS er parallakseeffekten fuldstændig simuleret af selve operativsystemet, med lidt hjælp fra teknologi, der oprindeligt er udviklet til løfteraketter. Inde i de nyeste iOS-enheder er vibrerende gyroskoper, enheder mindre end et menneskehår, der svinger med en given frekvens, når de udsættes for en elektrisk ladning.
Så snart du begynder at bevæge enheden langs en af de tre akser, begynder hele mekanismen at modstå ændringen i orientering på grund af Newtons første lov, eller inertiloven. Dette fænomen gør det muligt for hardwaren at måle hastigheden og retningen, som enheden roteres.
Læg hertil et accelerometer, der kan registrere enhedens orientering, og vi får et ideelt samspil af sensorer til meget præcist at detektere de nødvendige data for at skabe parallakseeffekten. Ved hjælp af dem kan iOS nemt beregne den relative bevægelse af individuelle lag i brugermiljøet.
Parallax for alle
Problemet med parallakse og illusionen om dybde kan løses på en ligetil måde takket være matematik. Det eneste, softwaren behøver at vide, er at organisere indholdet i et sæt fly og derefter flytte dem afhængigt af deres opfattede afstand fra øjnene. Resultatet bliver en realistisk gengivelse af dybden.
Hvis du har set WWDC 2013 Nebo iOS 7 introduktionsvideo, blev parallakseeffekten tydeligt vist på hovedikonskærmen. Når man flytter iPhone, ser de ud til at svæve over baggrunden, hvilket skaber et kunstigt indtryk af plads. Et andet eksempel er den subtile bevægelse af åbne faner i Safari.
De nøjagtige detaljer er dog indhyllet i mystik indtil videre. Kun én ting er klar - Apple har til hensigt at væve parallakse på tværs af hele systemet. Det kan trods alt være årsagen til, at iOS 7 ikke bliver understøttet på iPhone 3GS og første generation af iPad, da ingen af enhederne har et gyroskop. Det kan forventes, at Apple vil frigive en API, så tredjepartsudviklere også kan drage fordel af den tredje dimension, alt sammen uden det store strømforbrug.
Geni eller glitter?
Mens de fleste af iOS 7s visuelle effekter kan beskrives udførligt stedfortræder, kræver parallakse sin egen erfaring. Du kan se snesevis af videoer, uanset om de er officielle eller på anden måde, men evaluer absolut ikke parallakseeffekten uden at prøve det selv. Ellers vil du have det indtryk, at dette kun er en "øje"-effekt.
Men når du først har fået fingrene i en iOS 7-enhed, vil du se en anden dimension bag skærmen. Det er noget, der er meget svært at beskrive med ord. Displayet er ikke længere kun et lærred, hvorpå applikationer, der viser efterligninger af rigtige materialer, gengives. Disse erstattes af visuelle effekter, der vil være syntetiske og realistiske på samme tid.
Mere end sandsynligt, når udviklere begynder at bruge parallakseeffekten, vil apps blive overvældet af den, da alle forsøger at finde den rigtige måde at bruge den på. Situationen vil dog stabilisere sig inden længe, ligesom med tidligere iOS-versioner. Men samtidig vil helt nye applikationer se dagens lys, hvis muligheder vi kun kan drømme om i dag.
Spørgsmålet er, hvis de frigiver API'et til tredjepartsudviklere, vil det ikke hurtigt blive brugt af konkurrenterne... ?! Det ville være en skam! :(
Paralax live tapet blev frigivet til Android et par dage efter introduktionen af ios7. Kontrolcenter efter omkring en uge tror jeg.
Paralax Live wallpaper blev udgivet lang tid før iOS 7 :-) Da jeg havde en LG Optimus 3D, var jeg ked af, at den kun brugte 3D i visse ting, så jeg satte et levende tapet, der simulerede en 3D-effekt :-) Under Parallax Barrier, den skjuler også teknologien, som LG Optimus 3D og HTC EVO 3D havde og nu endda et par nye tv'er. Den oprindelige producent af denne teknologi til 3D uden briller var BMW i indbyggede computere, så chaufføren kunne se navigation og passageren en film. Ellers i iOS 7 vises denne effekt ret ofte - på skrivebordet, i Safari, på det låste skrivebord, når du bruger panoramabilleder, og også når lydstyrken er reduceret. Det irriterer mig bare, at de sletter relativt fede funktioner i individuelle betaer. Det gennemsigtige tastatur i beskeder er væk, den gennemsigtige meddelelseslinje er væk...
API'et for tredjepartsudviklere har ikke meget effekt på dette. Konkurrerende systemer kan ikke bruge denne API, så det eneste, der er tilbage at gøre, er at lave reverse engineering alligevel. Og det giver ikke meget mening med en så veldokumenteret* effekt.
*nu tror jeg ikke du finder den nøjagtige kode fra iOS nogen steder, men parallakse er ligesom perspektiv et ret velkendt og undersøgt fænomen.
Som udvikler bundet af NDA kan jeg ikke sige, at iOS 7 inkluderer Motion Effects API. Og jeg kan ikke sige, at jeg brugte det umiddelbart efter udgivelsen af den første beta, og at det er fantastisk.
:D
Under alle omstændigheder havde udviklerne altid adgang til accelerometeret og gyroskopet, derfor er det der. Fordelen her er, at Apple ... ahem ... simpelthen kan forbinde effekterne til hver UIView, som kan have en hvilken som helst parameter (størrelse, position osv.) variabel baseret på enhedens rotation og bevægelse.
Den fulde API for disse effekter er blevet frigivet for længe siden... Det er hvad jeg ville sige, hvis jeg kunne tale om det :)
Jeg kan huske, at i nogle iOS6-betaer ændrede lydstyrkeskyderen refleksioner afhængigt af enhedens hældning, og der var intet i den skarpe version.
Jeg har haft iOS 7 beta i et par måneder nu, men hvis jeg husker rigtigt, er denne effekt normalt til stede i iOS 6.1 skarp version. Men jeg kan tage fejl, jeg kan virkelig ikke verificere det nogen steder, jeg har iOS 7 overalt.
Beklager at skrive en hel artikel om en bevægende baggrund - da det er agurkesæson.
Det er mere tydeligt, at man ikke ved, hvad det handler om, at det ikke bare er en almindelig bevægende baggrund.
Dejlig artikel fuld af specifik information.
Fantastisk artikel. Jeg har længe ventet på noget om parallakse, da Apple brugte det. Det kan give en masse nye muligheder.
Fin artikel
Det ser allerede smukt ud fra videoen, og jeg kan ikke forestille mig, hvor fantastisk det vil være, når jeg har det på min iPhone. Pragt!
Faktum er, at Android har haft det længe, i form af en applikation, og det generer ikke nogen meget.
Det virker ikke på iPhone 4...
Jeg er bange for, hvad lommelygten vil sige om det, dette er en god portion ekstra beregninger.
Hvad kan være kedeligt i fysiktimerne?
Fysik er jo en af de mest interessante videnskaber!!!
Artiklen er meget interessant, men nogle ting er ikke præcist forklaret. Først og fremmest er parallakse snarere vinklen mellem linjestykkerne, der forbinder to forskellige observationspunkter og objektet, mens den altid er mindre end den rette vinkel (Wiki er ret upræcis på dette - for vinklen af to rette linjer er det svært at angive, hvad vinklen er). Og så til Newtons lov: Hvis vi begynder at bevæge telefonen, giver vi den en acceleration. Imidlertid diskuterer inertiloven slet ikke acceleration. Princippet, som denne funktion er baseret på, kommer snarere fra egenskaberne ved ikke-inertielle referencerammer, som Newton også beskæftigede sig med, men ikke som en del af sin første bevægelseslov.
"Og så til Newtons lov: Hvis vi begynder at bevæge telefonen, giver vi den en acceleration. Imidlertid diskuterer inertiloven slet ikke acceleration."
Jeg forstår ikke, hvordan dette argument beviser, at det ikke er en inertilov.
Så vidt jeg husker, fungerer gyroskopet efter princippet om at ændre momentum, som genererer kraft. Og det afhænger af inertimomentet. Så efter min mening er det både inertiloven og kraftloven for et roterende system.
Forveksle ikke accelerometeret med gyroskopet. Accelerometeret registrerer genstandens acceleration på grund af inerti. Gyroskopet er et svinghjul placeret i en tre-akset rotor, på grund af hvilket dette svinghjul ikke ændrer sin position i forhold til jorden under enhver rotation af hele enheden.
Nederste linje – accelerometeret opfatter bevægelse, mens gyroskopet opfatter position (rotation). ;)
Tak for heads up, men jeg forveksler virkelig ikke de to. Parallax har intet at gøre med accelerometeret, det styrer gyroskopet.
Gyroskopet du beskriver er faktisk ikke i iPhonen. Der er et mekanisk gitter, der deformeres ved rotation, så intet der roterer af sig selv (sådan fungerer et gyroskop klassisk, f.eks. beskrevet på Wikipedia).
Denne deformation er dog virkelig forårsaget af rotationsinerti, så... på en eller anden måde forstår jeg ikke, hvor du har fået ideen fra, at du forveksler accelerometeret med gyroskopet (der var slet ikke nævnt accelerometeret).
Jeg antyder ikke, at parallakse har noget med accelerometer at gøre ;). Gyroskopet fungerer ikke efter princippet om momentumændring - det vil betyde, at det kun reagerer på acceleration (p=m*v). En ændring i momentum vil derfor (under forudsætning af konstant masse) betyde en ændring i hastighed - acceleration. Gyroskopet reagerer dog også på en ændring i position under ensartet retlinet bevægelse. Imidlertid påføres inerti på svinghjulets krop (uanset om det er repræsenteret af et klassisk tungt hjul eller et gitter).
Ellers er jeg selvfølgelig enig med dig i, at Martin Hájeks udtalelse om den første lov om bevægelse er noget tandløs. Selvom størrelsen af accelerationen ikke fremgår direkte af denne lov, besvarer den i det væsentlige spørgsmålet: hvorfor kan accelerationen detekteres selv inden for inertieneferenceramme...
Afslutningsvis vil jeg gerne bemærke, at fysik er smukt, og jeg blev aldrig træt af det :D
"Ikke desto mindre reagerer gyroskopet også på en ændring i position under ensartet retlinet bevægelse."
Det forstår jeg slet ikke :) Hvordan kan noget reagere på bevægelse med Eq. primær bevægelse? Ville det ikke modsige ligheden af alle inerti referencerammer?
Men det er allerede over midnat :D Så tænk måske ikke over det mere.
Bortset fra, at hvis det er nogen steder i iOS 7, er det kun på startskærmen. Jeg har ikke rigtig bemærket det andre steder. Så jeg ville ikke se det sort med batteriforbruget. Når alt kommer til alt, er udholdenheden af iOS 7 sammenlignet med iOS 6 næsten den samme, hvis ikke bedre (beta5)
Så for eksempel i Safari-faner.
selv på låseskærmen bevæger det animerede tapet sig ved hjælp af denne "teknologi" eller hvad man nu kalder det
Fantastisk artikel!
Aero-appen er nu gratis
Indeholder ovennævnte effekt :)