Pelatihan Android bertema “Building for Billions on Android” di Kantor Google Indonesia
Kamis 11 Agustus 2016 tim KMKLabs diundang untuk menghadiri acara pelatihan android yang diadakan oleh Google Indonesia. Pelatihan tersebut bertema “Building for Billions on Android” dan diselenggarakan di kantor Google Indonesia sendiri. Banyak developer Indonesia yang diundang untuk mengikuti acara pelatihan tersebut, dari komunitas, pekerja dan pemilik aplikasi berbasis Android. Pemateri dari pelatihan ini sendiri adalah Ankur Kotwal salah satu developer google yang tinggal di Australia.
Selain untuk menyajikan materi untuk para developer yang hadir, pelatihan ini juga bertujuan untuk memberikan kesempatan kepada para developer Indonesia untuk mengajukan pertanyaan, menceritakan kendala apa saja yang dialami saat proses development dan memberikan usulan atau ide baru tentang android development. Pelatihan ini hanya menghabiskan dua sesi, sesi pertama adalah penyajian materi sekaligus pertanyaan, kendala dan usulan dari para developer Indonesia. Sesi kedua adalah makan makan sekaligus melanjutkan pertanyaan, kendala dan usulan yang belum sempat ditanyakan atau dibahas saat sesi pertama.
I. Materi
Materi “Building for Billions on Android” membahas tentang beberapa hal yang harus diperhatikan saat membuat aplikasi Android apalagi untuk jutaan user. Berikut adalah hal-hal yang harus diperhatikan :
1. Connectivity
Connectivity merupakan salah satu hal yang harus diperhatikan saat membuat aplikasi android, mengingat kebanyakan aplikasi saat ini menggunakan internet sebagai komponen utama untuk menampilkan, mengirim data dan aktifitas-aktifitas aplikasi lainnya. Beberapa hal yang bisa kita lakukan untuk menjaga connectivity tetap bagus adalah :
- Optimasi Jaringan Internet
optimasi jaringan internet dapat dilakukan dengan cara Menentukan perioritas untuk pengambilan data, dimana pengambilan text didahulukan sebelum pengambilan media seperti gambar. Menghilangkan duplikasi request data juga bisa dilakukan untuk mengoptimasi jaringan internet. Dan mengatur perlakuan aplikasi sesuai dengan tingkat koneksi juga bisa dilakukan untuk mengoptimasi jaringan internet.
- Optimasi gambar
optimasi gambar dapat dilakukan dengan cara mengubah format gambar kedalam format WebP dan memperhatikan ukuran gambar yang dinamis.
- Menjaga Aplikasi Agar Tetap Digunakan Saat Offline
Menggunakan cache untuk data-data dan media sangat diperlukan agar aplikasi tetap bisa digunakan saat offline. Untuk Media berupa gambar bisa memakai library yang sudah ada untuk melakukan cache. Salah satu library itu adalah Picasso. Jangan lupa untuk test aplikasi dengan menggunakan mode airplane. Apabila aplikasi tidak bisa digunakan maka anda perlu memperhatikan proses cachenya lagi.
2. Device Capability
Perhatikan kapabilitas device pengguna. dengan cara :
- Perhatikan Ukuran Layar
Buat aplikasi untuk device yang berukuran kecil dan sedang. Optimasi resource-resource yang ldpi dan mdpi, dan test menggunakan konfigurasi emulator.
- Menggunakan Memori Seefisien Mungkin
Mencari tau memori yang tersedia dan hindari proses yang memakan waktu sangat lama. Jangan lupa untuk memantau memori yang dipakai oleh aplikasi dengan menggunakan tool dari android studio.
3. Data Cost
Untuk memantau sebarapa banyak pemakaian data yang digunakan oleh aplikasi bisa menggunakan tool dari android studio.
4. Battery Consumption
Hilangkan pemakaian background proses yang tidak perlu apalagi proses wakeup dari background proses. Jadwalkan request ke server di satu waktu bersamaan request lainnya. Gunakan GCMNetworkManager untuk melakukan proses request di background yang berkala.
5. Content
Beberapa hal yang perlu diperhatikan untuk content adalah :
- Kecepatan dan responsible dari UI
Feedback di setiap view yang bisa di tap. Buat tampilan seinteraktif mungkin. Pertimbangkan launch screen
- Tampilan yang terbaik
Gunakan material design, dan gunakan design support library.
- User’s locale
Perhatikan bahasa di setiap user, sediakan bahasa yang sesuai bahasa user. Juga sediakan Font yang sesuai dengan user.
6. Commerce
Disini yang perlu diperhatikan adalah bagaimana cara kita untuk menghasilkan uang dari aplikasi kita. Bisa dengan cara pasang iklan, in-app purchase, subscription, atau app berbayar. Perhatikan juga untuk harga sesuai dengan lokasi user.
Diatas adalah hal hal yang perlu diperhatikan untuk membuat aplikasi berbasis Android. Sumber dan detail dari materi dapat dilihat di Building for Billions Framework dan Building for Billions Playbook
II. Tanya dan Jawab
Di sela-sela materi peserta dapat bertanya tentang yang berkaitan dengan tema ataupun yang sedikit berkaitan. Bahkan pemateri juga mengajukan pertanyaan kepada peserta. Berikut adalah beberapa pertanyaan dan jawaban yang saya catat :
Pertanyaan(Peserta) 1: Kenapa WebP sangat dianjurkan, padahal cara memakainya sangatlah ribet.
jawaban(Pemateri) 1: Karena WebP bisa mengurangi ukuran dari gambar, dan untuk pemakaian webP sebenarnya tidaklah ribet, karena sudah disediakan di dalam Android library itu sendiri.
Pertanyaan(Pemateri) 2: Apakah ada yang sudah memakai library cache untuk media? dan apa nama library tersebut?
Jawaban(Peserta) 2: Banyak yang sudah memakai, dan kebanyakan yang dipakai adalah Picasso.
Pertanyaan(Pemateri) 3: Siapa diantara kalian yang aplikasinya masih berjalan sempurna meskipun pada saat koneksi internet mati?
Jawaban(Peserta) 3: Kebanyakan dari aplikasi kami tidak berjalan sempurna saat koneksi mati, karena ada beberapa data yang tidak memakai cache. dan juga kebanyakan aplikasi kami sangat membutuhkan koneksi internet.
Pertanyaan(Peserta) 4: Bagaimana cara kami untuk tahu dimana letak kesalahan code kami ketika kami mendapatkan error out of memory yang informasinya tidak di code kami?
Jawaban(Pemateri) 4: Anda harus cermat memonitor penggunaan memori di setiap activity di aplikasi menggunakan tool yang sudah ada di android studio.
Pertanyaan(Peserta) 5: Kenapa google tidak selalu menyediakan library untuk fitur yang sebenarnya sudah diimplementasi oleh google? Karena kadang bos kami menginginkan tampilan yang sama serperti salah satu aplikasi dari google padahal google tidak menyediakan librarynya.
Jawaban(Pemateri) 6: Google tidak selalu membuat librarynya untuk setiap fiturnya karena beberapa alasan, beberapa diantaranya adalah google membutuhkan respon dari user dulu tentang fitur baru yang ada di aplikasinya, apabila respons dari user bagus maka google menerbitkan librarynya. Juga google memberikan peluang untuk para developer untuk berkreasi sendiri tanpa selalu menunggu library dari google. Dan google berpikir agar tidak semua aplikasi di android sama, agar setiap aplikasi memiliki ciri khas sendiri dan user tidak jenuh dengan itu.
Diatas adalah rangkaian yang ada pada sesi pertama, sesi kedua kami makan-makan dan mengajukan pertanyaan-pertanyaan ringan yang belum sempat dibahas pada sesi pertama.