Google ønsker virkelig å fikse Androids emoji-problem

Android har et Emoji-problem, og Google tar en todelt tilnærming for å løse det med oppdaterbare systemfonter og EmojiCompat.

Elsk dem ❤ eller hat dem 🤬, emojis har blitt en stift uttrykksform i disse dager. Disse små små klattene legger følelser og intensjon til ord, og samtaler over internett ville vært ufullstendige uten dem. De er en stor sak selv for mellommenneskelige samtaler - hvorfor kaste bort tid på å si mye ord når emoji trikser? Så det kommer ikke som noen overraskelse at Google har tatt en titt på Android og regnet med at den har et emoji-problem, og med Android 12, prøver den å fikse det.

Android og dets emoji-problem

Emoji er en stor sak. Emoji-bruken er på et rekordhøyt nivå, og brukere på noen apper sender milliarder av emojis hver dag. Å fôre og holde tritt med disse endringene er Unicode-standard, og den mottar hyppige oppdateringer som legger til nye emojier. Disse nye emojiene sentrerer seg rundt nye brukstilfeller, trender og til og med variasjoner for å gjøre dem til bedre representanter for mangfold og inkludering.

I sin Android Dev Summit 2021-presentasjon, sier Google at 96 % av Android-brukere ikke ser de nyeste emojiene, i sterk kontrast til de 16 % av iOS-brukere som ikke kan se de nyeste emojiene. De 100 beste emojiene utgjør ~82 % av totale emoji-andeler. Men for 20 % av disse delingene sender avsenderen en emoji, men mottakeren ser bare en "tofu" eller den ødelagte bilde merket med en boks med X i, noe som betyr at telefonsystemet deres ikke har den relevante emojien til vise.

Problemene slutter ikke med tofus. I visse situasjoner angående nyere emojier og eldre Android-versjoner, ender emojiene som vises en formelisk representasjon, som krever at brukerne gjør litt mental gymnastikk for å forstå hva som egentlig skjer på.

Før Android 12, hver gang Unicode får nye emojier, måtte vi vente på en Android OS-oppgradering til nå telefonene våre for å få støtte for emojiene, før vi faktisk kan gjøre dem til en del av internett vårt lingo. Og vi vet alle hvor dårlig Androids oppdateringssituasjon faktisk er. Ja, det har blitt bedre. Men med mindre du har et flaggskip, er sjansen stor for at du fortsatt bruker noen få måneder før den siste oppdateringen når enheten din i en stabil utgivelse. Det er en god sjanse for at flere nye emojier har blitt lagt til i løpet av denne tidsforsinkelsen, noe som holder deg utenfor sløyfen på gjeldende språk.

Det er tydelig at det er et problem her, og det må finnes en løsning. Google satte seg et mål om å gjøre hver emoji tilgjengelig for alle Android-brukere i alle apper, og den tar en todelt tilnærming for å oppnå dette.

Løsning 1 av 2: Oppdaterbare systemfonter (Android 12 og nyere)

Fra og med Android S (Android 12), har Google introdusert oppdaterbare systemfonter, og den første fonten de vil oppdatere er emoji-fonten.

Vi har snakket om Oppdaterbare systemfonter tidligere, nesten et år siden faktisk. I Android 11 og eldre er alle fonter på Android lagret i systempartisjonen, og mer spesifikt, under /system/fonts katalog. Spesielt Emojis er tilstede i filen som kalles NotoColorEmoji.ttf. Systempartisjonen er skrivebeskyttet, og oppdatering av en fil i partisjonen krever en systemoppdatering mens partisjonen ikke er montert. Så de eneste måtene å få nye fonter og nye emojier er å vente på en offisiell OTA-oppdatering eller installer det selv uoffisielt gjennom root.

Med Android 12 og oppdaterbare systemfonter, skriftfiler lagres/data/fonts/files, og tilgjengelig for lesing for alle apper, men kan bare skrives av system_server og i det. På denne måten kan Google skyve ut oppdaterte skriftfiler, og apper kan lese dem for den mest oppdaterte informasjonen uavhengig av når var siste Android-systemoppdatering på telefonen. Som apputvikler og til og med som bruker trenger du aldri å tenke på emoji-støtte igjen på en Android 12+-enhet.

Løsning 2 av 2: EmojiCompat med AppCompat 1.4 (Android 4.4. til Android 11)

Android 12 ble nettopp lansert for noen uker siden i stallgrenen, og det kommer til å ta en stund før du ser spredning over Android-økosystemet. Så du trenger en løsning som fungerer på Android 11 og eldre. Den løsningen er EmojiCompat støttebibliotek.

AppCompat 1.4 inkorporerer EmojiCompat, som betyr at alle apper som bruker AppCompat 1.4 vil automatisk støtte moderne emojier. Som apputvikler trenger du bare å integrere/bumpe AppCompat-versjonen din til 1.4, og du vil vise oppdaterte emojier til brukere selv på Android 4.4, uten at noen trenger ytterligere innsats.

Det er imidlertid en liten hake. Haken er at dette er en GMS-kjerneorientert endring som krever at Google Play-tjenester fungerer. Dette er ikke en endring til AOSP for eldre Android-versjoner på den måten som den første løsningen er, og det kan egentlig ikke være det heller på grunn av måten tid og fysikk fungerer på.

Android Emoji Policy for Android 12

I tillegg til disse høydepunktene har Google også lagt til en Android Emoji Policy for apper som kjører på Android 12 og nyere. Disse appene må overholde den nyeste Unicode-versjonen innen 4 måneder etter offentlig tilgjengelighet, og de må gjøre det på en av disse tre måtene:

  • Hvis AppCompat allerede er i bruk, sørg for at emoji er aktivert.
  • Bruk et eksisterende EmojiCompat-bibliotek på tvers av alle overflater i appen. Dette bør fungere med tilpassede visninger som direkte bruker StaticLayout.
  • Oppdater håndtering og font/bilder for emoji basert på den nyeste versjonen av Unicode.

Hvis min forståelse er riktig, er det siste alternativet bare å be utviklere om å samle emojier i appen deres. Uansett må utviklerne sørge for at de oppfyller disse kravene før februar 2022.

Google har ressurser for apputviklere for å fikse emoji-problemene deres, og vi anbefaler at du sjekker dem ut:

  • Android Developer Summit 2021: Vise ALLE emojiene i appen din (og hvorfor det betyr noe)
  • Android-utviklerdokumentasjon: Støtt moderne emojier
  • Programretningslinjer for utviklere: Kunngjøring 27. oktober 2021 – retningslinjer for Android-emoji

Android 12L og Unicode 14

Android 12L det var lansert i går kommer med Unicode 14-støtte (via 9to5Google). Unicode 14.0 inkluderer følgende nye emoji:

  • Smeltende ansikt
  • Ansikt med åpne øyne og hånd over munnen
  • Ansikt med tittende øye
  • Hilsende ansikt
  • Stiplet linje ansikt
  • Ansikt med diagonal munn
  • Ansikt som holder tilbake tårer
  • Høyre hånd
  • Venstre hånd
  • Håndflate ned hånd
  • Håndflaten opp
  • Hånd med pekefinger og tommel krysset
  • Indeks som peker på fremviseren
  • Hjertehender
  • Bitende leppe
  • Person med krone
  • Gravid mann
  • Gravid person
  • Troll
  • Korall
  • Lotus
  • Tomt rede
  • Hekker med egg
  • Bønner
  • Helle væske
  • Krukke
  • Lekeplass Slide
  • Hjul
  • Ringbøye
  • Hamsa
  • Speilball
  • Lite batteri
  • Krykke
  • Røntgen
  • Bobler
  • ID-kort
  • Tungt likhetstegn

I tillegg inkluderer utgivelsen variasjoner og hudtoner av disse nye emojiene, noe som bringer totalen til 112 nye design.

Lang historie kort, Androids emoji-problemer bør snart være en saga blott.