Saturday, June 8, 2013

Inefficiency of Mobile App

Kenapa sih kalo browsing internet atau kalo jalanin aplikasi yang perlu koneksi internet handphone boros batere?
Apa sih sebabnya?

"Pembahasan ini merupakan tafsiran penulis dari penelitian dari Lab AT & T dan Univeritas Michigan, untuk artikel asli bisa dilihat di sini"

Karakteristik  Mobile Device dan Selular Network

Seperti yang kita tau semua mobile device (laptop, handphone, tablet,etc) sumber powernya itu berasal dari batere. Batere punya kapasitas terbatas. Untuk mengoptimalkan penggunaan batere ini jaringan selular punya mekanisme untuk meng-hybernate-kan transmisisi saat ga diperlukan. Dari segi network juga begitu  radio resource tidak selalu dipegang terus oleh 1 user(mobile device) setelah selesai mengirim data (contoh, kirim whatsapp message ke temen) resource akan dilepas. Jadi tidak selamanya selalu siap kirim data ke server.
Network 3G kita kenal ada 3 state yang menggambarkan status penggunaan resource (batere dan radio resource) seperti terlihat pada gambar 2 Idle saat device “hibernate”, full power saat user perlu kecepatan transfer data tinggi dan efeknya konsumsi batere juga tinggi. Half power  ada diantara idle dan full power namun dalam pembahasan ini half power tidak dibahas.


Ketidak-ideal-an Selular Network

Idealnya transisi antar state ini terjadi seketika tanpa ada waktu transisi, contoh saat kita mau browsing lewat handphone pertama kali pasti terasa lama loading awal pertama dibanding loading-loading berikutnya. Ini disebabkan oleh delay transisi dari idle ke full power. Delay ini mengakibatkan terganggunya user experience misal proses browsing jadi lebih lama.

Untuk mengurangi efek dari delay ini dibuat lah tail time. Tail time ini waktu yang harus ditunggu device sebelum hibernate, dengan ada tail time ini diharapkan transisi state karena “delay antar paket" yang besar berkurang berkurang karena device menunggu lebih lama.

“ Delay antar Paket “


  1. Saat dikirim dari server delay antar paket kecil,  saat akan diterima paket antara paket 3 dan 2 delay antar paketnya besar.
  2. Handphone bisa jadi sudah hibernate saat paket 3 sampai karena mengira transmisi sudah selesai.
  3. Dengan mengunakan tail time besar handphone menunggu lebih lama sehingga saat paket 3 sampai device masih belum idle
Namun efeknya adalah konsumsi power yang besar karena device berada dalam kondisi full power lebih lama.

Inefficiency of mobile application


Sesuai dengan judul kita kan membahas tentang mengapa applikasi mobile sangat menguras batere.  Ternyata penyebabnya kebanyakan adalah short burst yang berulang-ulang sehingga device selalu berada dalam keadaan full power atau menyebabkan device sering mengalami transisi state  bisa dilihat digambar dibawah ini.

Warna coklat menunjukan waktu yang dibutuhkan untuk menyalakan transmis atau delay  time, warna biru tua adalah saat device benar-benar menerima data dari server idealnya kita mau hanya ada warna biru tua ini saja. Warna biru muda adalah kondisi saat device menunggu sebelum meng-hibernate-kan transmisi atau bisa dibilang warna biru muda ini bagian energy yang terbuang karena tidak ada transmisi sama sekali namun masih dalam keadaan full power.

Penyebab short burst:

  1. Di aplikasi google search  penyebab short burstnya itu search suggestion, setiap kita ketik satu huruf kita diberi feedback suggestion dari server google.
  2. Beberapa news app, tidak melakukan prefetching(meload banyak konten di awal) sehingga setiap user men-scroll halaman akan mentrigger request meload berita yang ada dibagian yang di-scroll dari server.
  3. Applikasi yang memasang iklan di aplikasinya, kadang setiap beberapa saat applikasi itu meload iklan untuk ditampilkan.
  4. Applikasi messenger, di aplikasi messanger untuk mengetahui status teman kita aplikasi kita sebenarnya menge-ping  teman kita, ping kadang dilakukan periodik.
Kesimpulannya, alangkah baiknya application developer mengurangi short burst untuk aplikasi mobile.




No comments:

Post a Comment