Android 12 kan bruke maskinlæring for å fikse tilbakebevegelsesproblemet

Google jobber med å bruke maskinlæringsmodeller for å forutsi når brukeren ønsker å gjøre en sveipebevegelse tilbake i Android 12.

Google ga ut den første forhåndsvisningen for utviklere av Android 12 den andre dagen, og vi har gravd i koden for å finne alt som er nytt. En av de mest spennende endringene vi har sett er en overhaling av hvordan Android oppdager tilbake sveipebevegelser. Hvis implementert, vil Android 12 bruke maskinlæringsmodeller for å forutsi når brukeren har tenkt å bruke tilbakebevegelsen.

Med lanseringen av Android 10, Google introdusert dets fullskjerms navigasjonssystem. Androids bevegelsesnavigasjonssystem plasserer en pille nederst på skjermen som du kan samhandle med for å bytte mellom apper, åpne grensesnittet for nylige apper eller gå til startskjermen. Tilbake-knappen ble i mellomtiden erstattet med en sveipebevegelse innover som kan utløses fra venstre eller høyre side av skjermen. Det har blitt sølt mye blekk problemet med Androids ryggbevegelse, men til Googles ære har de det

gjorde opplevelsen konsekvent på tvers av økosystemet og har leverte APIer for utviklere for å sikre kompatibilitet med gesten. Mens mange apper har gått bort fra å bruke en Navigasjonsskuff, er det fortsatt mange apper der bakbevegelsen kan komme i konflikt med brukergrensesnittet i appen. For å løse dette problemet tester Google en ny maskinlæringsbasert tilnærming for gjenkjenning av bakbevegelser i Android 12.

Hvordan Androids bakbevegelse fungerer for øyeblikket er som følger. Et usynlig triggerområde eksisterer nesten hele tiden på begge sider av skjermen. Dette triggerområdet strekker seg mellom 18dp-40dp i bredden fra sidene av skjermen avhengig av den brukerdefinerte ryggfølsomhetsinnstillingen. Brukeren kan utløse en ryggbevegelse ved ganske enkelt å plassere en finger hvor som helst innenfor innsatsen og deretter flytte fingeren innover forbi en minimumsavstand. Google brukte varmekart for telefonskjermer når de utformet de bakre bevegelsesinnsatsene, og de slo seg til ro gjenkjenningsområder som brukerne føler er ergonomiske og enhåndsvennlige.

Bevegelsesnavigering i Android 10+. Kilde: Google.

Problemet med denne tilnærmingen, som Google selv innrømmer, er at noen brukere fortsatt sveiper for å åpne navigasjonsskuffer, noe som er i konflikt med bakbevegelsen. Hver app er utformet forskjellig, men utløserområdet for bakbevegelser sier fortsatt det samme. Denne enstørre tilnærmingen til ryggbevegelsen spiller dermed ikke pent med hvordan enkelte apper er utformet, så det er derfor Google eksperimenterer med maskinlæring for å erstatte den nåværende modellen.

Mens vi undersøkte endringene som Google gjorde dobbelttrykk tilbake-bevegelsen i Android 12, XDA anerkjent utvikler Quinny899 oppdaget tilstedeværelsen av en ny TensorFlow Lite-modell og vokabfil kalt "backgesture". Sistnevnte inneholder en liste over 43 000 pakkenavn for både populære og obskure Android-apper, inkludert 2 av Quinny899's egne apper. Vi tror denne listen inneholder appene som Google trente sin maskinlæringsmodell mot — dvs. de bestemte de hyppigste start- og sluttpunktene for bakbevegelsen på app-for-app-basis. Ved å grave dypere oppdaget vi at maskinlæringsmodellen refereres til i den oppdaterte EdgeBackGestureHandler-klassen i SystemUI for Android 12. Hvis et funksjonsflagg er aktivert, ser det ut til at Android 12 vil bruke ML-modellen til å forutsi om brukeren hadde tenkt å utføre en tilbakebevegelse eller om de bare ønsket å navigere i appen. Dataene som sendes til ML-modellen for inferencing inkluderer start- og sluttpunktene for gesten, om appen er på listen, og skjermens bredde i piksler. Alternativt, hvis funksjonsflagget er deaktivert, går Android 12 ganske enkelt tilbake til standardmetoden for tilbakesveiping (dvs. innlegg).

For øyeblikket er den ML-baserte tilbakebevegelsesprediksjonen deaktivert som standard i Android 12 Developer Preview 1. Det er mulig at Google kan skrinlegge denne tilnærmingen hvis den ender opp med å ikke være overlegen den eksisterende innsatsbaserte modellen. Vi vil imidlertid ikke vite det med sikkerhet før Google avduker Android 12 Beta om et par måneder, da det er den tiden Google vanligvis avslører sine større endringer til Android.

Takk til PNF Software for å gi oss en lisens til bruk JEB Dekompiler, et omvendt utviklingsverktøy av profesjonell kvalitet for Android-applikasjoner.