Inilah mengapa Nova Launcher berfungsi lebih baik di ponsel Google Pixel

Google menambahkan API yang memungkinkan peluncur pihak ketiga seperti Nova Launcher menampilkan animasi transisi yang lebih lancar. Hanya ponsel Pixel yang memilikinya sekarang.

Di masa lalu, aplikasi peluncur pihak ketiga sering kali memberikan pengalaman yang lebih unggul dibandingkan peluncur bawaan yang terdapat di sebagian besar ponsel Android. Namun, dengan perombakan layar aplikasi terkini dan pengenalan gerakan di Android 9 Pie, peluncur pihak ketiga dirugikan karena pengalaman baru ini diintegrasikan ke dalam stok aplikasi peluncur. Seiring waktu, Google telah mencoba membuat pengalaman peluncur pihak ketiga tidak terlalu buruk saat menggunakan isyarat, dan mereka sebenarnya mulai berhasil dalam hal ini baru-baru ini.

Jika Anda telah menggunakan rilis beta Nova Launcher terbaru di ponsel Google Pixel dalam beberapa bulan terakhir, Anda mungkin memperhatikan animasi yang lancar saat menggunakan navigasi gerakan. Sayangnya, Anda tidak akan melihat animasi yang sama saat menggunakan Nova Launcher di perangkat lain, setidaknya untuk saat ini. Untuk memahami alasannya, pertama-tama kami perlu menjelaskan secara singkat apa yang membedakan peluncur pihak ketiga seperti Nova Launcher dari peluncur stok seperti Google Pixel Launcher.

Google pertama kali memperkenalkan navigasi gerakan di Android 9 Pie. Untuk membuat isyarat terasa selancar mungkin, Google perlu membuat transisi aplikasi terlihat mulus. Mereka juga ingin membiarkan pengguna mengakses seluruh daftar aplikasi mereka dari layar aplikasi terbaru. Untuk melakukan kedua hal ini, Google memutuskan untuk memindahkan kode yang menangani layar aplikasi terbaru dari Android SystemUI hingga Launcher3, aplikasi peluncur sumber terbuka Android yang menjadi asal sebagian besar peluncur stok OEM. Jadi, itu Langkah cepat komponen lahir, dan karena sifatnya yang istimewa, Android hanya mengizinkan aplikasi peluncur yang sudah diinstal sebelumnya untuk ditetapkan sebagai penyedia aplikasi terbaru. Ini bisa jadi ditimpa dengan akses root jika peluncur pihak ketiga mendukungnya, namun bagi sebagian besar pengguna, ini berarti aplikasi peluncur pihak ketiga akan selalu mengandalkan peluncur bawaan untuk menangani gerakan dan layar aplikasi terbaru. Hasilnya, seperti yang mungkin dialami sebagian besar dari Anda, bisa jadi sedikit tersendat-sendat, dengan transisi yang tidak terlihat lancar dan mulus. Kecuali Anda menggunakan ponsel Google Pixel.

Di sebagian besar ponsel Google Pixel, terdapat API yang dapat digunakan peluncur pihak ketiga untuk membuat transisi dari aplikasi kembali ke layar beranda terlihat jauh lebih asli. Beberapa aplikasi peluncur pihak ketiga menyukainya Peluncur Niagara dan Nova Launcher yang disebutkan di atas memanfaatkan API ini, meskipun Nova Launcher hanya menyertakannya di dalamnya v7 yang sedang dikembangkan. Saat API ini digunakan, aplikasi peluncur pihak ketiga menerima maksud dan panggilan balik dari QuickStep setiap kali pengguna melakukan gerakan menggesek untuk pulang. Peluncur pihak ketiga kemudian dapat memberi petunjuk kepada sistem isyarat cara menganimasikan jendela saat jendela diperkecil menjadi ikon aplikasi.

Berikut ini contoh tampilannya di Niagara Launcher, milik pengembang peluncur 8bitpit:

Dan berikut perbandingan yang menunjukkan seperti apa animasinya Ponsel ASUS ROG 5 Dan Google Piksel 4, keduanya menjalankan Nova Launcher v7.0.25 (rilis beta terbaru pada saat publikasi) dan Android 11:

\r\n https://www.youtube.com/watch? v=equ-8yDw_Lakukan\r\n

Sekarang Anda mungkin bertanya-tanya: Apakah API ini eksklusif untuk ponsel Google Pixel? Jawabannya adalah tidak, tidak. API adalah bagian dari Launcher3/QuickStep dan dapat ditemukan di AOSP, artinya terbuka untuk aplikasi peluncur OEM apa pun. Sedangkan API berkomitmen untuk Launcher3 secara internal tanggal 21 Juli 2020 sepertinya begitu digabungkan ke dalam cabang master AOSP dengan rilis Android R QPR1 pada bulan Desember.

API yang membuat Nova Launcher dan Niagara Launcher terasa lebih asli di ponsel Google Pixel.

Kevin Barry, pengembang Nova Launcher dan salah satu orang pertama yang menemukan API ini, memberi tahu kami bahwa dia mencurigai adanya bagian dari API tersebut Alasan mengapa OEM tidak menggunakan API ini di cabang Launcher3 mereka adalah karena API ini agak terlambat dalam rilis Android 11 siklus. Dibutuhkan sedikit usaha untuk menggabungkan perubahan besar AOSP, dan pembaruan Android R QPR1 pasti berisi banyak perubahan tersebut. Di tahun-tahun yang lalu, kami menyebut penurunan kode ini sebagai "rilis pemeliharaan", tetapi Google tidak melakukannya lagi setelah penolakan dari OEM (atau begitulah yang pernah saya dengar). Inilah sebabnya LineageOS, custom ROM Android yang populer, menyebut rilis terbarunya "LineageOS 18.1" daripada "LineageOS 18" untuk menandakan bahwa ROM didasarkan pada basis kode Android 11 terbaru, bukan rilis awal Android 11.

Perlu juga dicatat bahwa API ini hanya dapat diakses di ponsel Google Pixel setelahnya Penurunan Fitur Piksel Desember, yang bertepatan dengan rilis publik Android R QPR1. Dan meskipun Pixel 2 mendapatkannya pembaruan terakhir pada bulan Desember, pembaruan tersebut tidak menyertakan basis kode Android R QPR1, itulah sebabnya pemilik Pixel 2 yang menjalankan Nova Launcher v7 tidak memiliki pengalaman yang sama seperti Pixel lainnya. (Pemilik Pixel 2 dapat melakukan sideload versi terbaru dari Pixel Launcher yang memiliki API dari perangkat Pixel yang lebih baru, namun laporan pengguna menunjukkan animasinya masih bermasalah meskipun berfungsi sesekali. Sebagai pengingat, Pixel Launcher dibuat di atas Launcher3 sama seperti kebanyakan peluncur bawaan, namun ia juga mencakup beberapa fitur eksklusif Pixel.)

Jadi apa yang diperlukan agar API ini dapat ditambahkan ke perangkat Android lainnya? Sayangnya, tidak ada jawaban yang mudah untuk hal tersebut, karena kita tidak tahu persis bagaimana setiap OEM mengembangkan aplikasi peluncurnya. Mengingat caranya erat Google mengontrol navigasi gerakan layar penuh, kami menduga sebagian besar OEM tidak banyak mengubah kode yang terkait dengan isyarat dan/atau QuickStep. Kecuali jika OEM berusaha keras untuk mengembalikan penerapan, memecahkan kode, atau menolak memperbarui Launcher3, maka kita akan melihat API ini ditambahkan ke peluncur OEM setiap kali mereka melakukan rebase di atasnya mendatang Android 12 melepaskan. Faktanya, salah satu OEM yang kami ajak bicara, ASUS, memberi tahu kami bahwa mereka berencana menghadirkan API ini dalam pembaruan Android 12 mereka. Kami tidak tahu apakah Google telah mengkomunikasikan perubahan ini kepada OEM, namun kami berharap lebih banyak OEM yang memperhatikan perubahan ini dan memutuskan untuk memasukkan API ke dalam cabang Launcher3 mereka untuk meningkatkan pengalaman menggunakan pihak ketiga peluncur.

Namun, pekerjaannya tidak akan berakhir di situ. Bahkan setelah menyertakan API ini, masih banyak pekerjaan yang perlu dilakukan untuk mencapai keseimbangan antara peluncur pihak ketiga dan peluncur OEM. Misalnya, beberapa perangkat OEM berkedip ketika pengguna mengetuk layar sebelum animasi ke layar beranda muncul. Terkadang, aplikasi peluncur sistem muncul alih-alih aplikasi peluncur pihak ketiga yang dipilih (saya sudah mengalami hal ini beberapa kali). Animasi transisi yang ditingkatkan memang bagus, tetapi tidak ada seorang pun yang ingin menangani bug baik di aplikasi peluncur atau layar aplikasi terbaru, jadi kode isyarat masih memerlukan pembersihan dan/atau standarisasi.

Terima kasih kepada Kevin Barry dan Peter Huber atas bantuan mereka dalam artikel ini!