Awareness API
Membuat aplikasi yang pengertian dan cerdas
Kali ini saya akan membahas tentang salah satu teknologi baru lagi yang di keluarkan saat berlangsungnya acara rutin developer Google, yaitu Google I/O 2016. Jadi pada beberapa waktu lalu, paman Sidiq Permana membahas tentang hal ini di acara Bekraf Developer Day. Saya tidak datang pada acara tersebut, sehingga saya penasaran dengan materi ini. Lalu saya menbaca di slide yang ia bagikan halaman Google Drive. Setelah melihat slidenya, saya merasa tertarik dengan hal ini dan karena itulah saya ingin membahasnya sedikit pada kesempatan kali ini.
Menurut pemahaman saya, Awareness API adalah suatu framework yang memungkinkan kita sebagai developer untuk membuat aplikasi yang context aware, yaitu aplikasi yang dapat mengerti kebutuhan user, dengan memberikan rekomendasi ataupun informasi lainnya yang berguna untuk menunjang aktivitas user sesuai dengan kondisi ataupun kebutuhannya. Dan menurut teman saya yang tidak mau disebutkan namanya (Pratama Budiman) Awareness API itu adalah hub app — user agar app itu dapat menyesuaikan kebutuhan user. Saya akan membahas sedikit tentang Awareness API ini, tapi sebelumnya kita harus tahu terlebih dahulu apa itu context.
Apa itu context ?
Menurut kamus Cambridge, context adalah situasi di mana sesuatu yang ada atau terjadi, dan yang dapat membantu menjelaskannya. Itu hasil terjemahan dari Google Translate hehehe, aslinya :
context is the situation within which something exists or happens, and that can help explain it
Sudah lupakan, intinya context adalah informasi yang dapat digunakan untuk mengkarakterisasi situasi entitas dalam hal ini bisa orang, tempat, benda fisik atau komputasi. Dan tentunya sebuah aplikasi harus menyadari context user sehingga dapat merespon dengan tepat dan mengantisipasi kebutuhan mereka. Maka dengan Awareness API ini kita dapat membuat hal ini menjadi mungkin. Saat ini mobile telah lepas landas, hampir sebagian besar orang sudah beralih menggunakan smartphone. Dan salah satu pengguna aktif smartphone di dunia adalah negeri kita tercinta ini, Indonesia. Tentunya ini menjadi suatu tantangan bagi kita developer lokal, bagaimana kita bisa bersaing dengan orang — orang dari luar sana yang juga sama — sama membidik negeri kita sebagai target pasar mereka. Karena itu jangan hanya aplikasinya saja yang harus aware, tapi kita sendiri sebagai developer juga harus lebih aware tentang user kita.
Lalu, contohnya ?
- Misalnya, setiap orang punya kebiasaan di pagi hari. Ketika pagi biasanya saya selalu mengaktifkan alarm agar saya bisa bangun di pagi hari, lalu bagaimana jika saya lupa untuk mengaktifkan alarm ? di situ lah peran context awareness yang bisa mengaktifkan alarm otomatis padahal kita tidak mengaktifkannya sebelumnya.
- Lalu misal kita mau melakukan meeting dengan client pada jam 12 siang, dengan context awareness, aplikasi dapat melakukan pengingat sebelum jam 12 siang serta memberikan rute tercepat menuju lokasi meeting tanpa kita set sebelumnya.
- Atau contoh berikutnya ketika kita sedang sarapan atau menonton TV di rumah sebelum pergi ke kantor atau sekolah, aplikasi dengan context awareness dapat mengingatkan kita untuk segera berangkat 5 menit lagi agar tidak terkena macet dan memerintahkan kita untuk membaya payung untuk agar tidak terkena hujan tanpa kita perintahkan sebelumnya.
Berikut pertanyaan — pertanyaan yang akan muncul :
- Berarti dengan begitu kita membutuhkan banyak api untuk satu aplikasi saja ?
- Lalu dengan begitu pasti akan menggunakan banyak daya, dan tentunya pasti akan berat pada ponsel kita ?
- Tetap saja, pasti data yang didapatkan tidak akan akurat ?
Berikut ini adalah fitur — fitur dari Awareness API yang dapat menjawab pertanyaan — pertanyaan tersebut :
Many signals, one API
Dukungan native untuk menggabungkan dan bekerja dengan 7 sinyal termasuk waktu, lokasi, tempat, beacon, headphone, aktivitas dan cuaca.
Smart battery savings
konsumsi daya dan penggunaan memori secara otomatis dioptimalkan untuk memaksimalkan masa pakai baterai dan kapasitas memori pada perangkat pengguna.
High quality data
Sinyal dari beberapa sumber yang diproses dengan cerdas, dan dikombinasikan untuk akurasi dan efisiensi maksimum.
Pertanyaan lain ? silahkan tulis di komentar, saya akan bahas sebisa saya (masih noobs mas, maklum sok tau).
Saat ini Awareness API ini sudah tersedia dua API, yaitu :
- Fence API
Bereaksi terhadap perubahan lingkungan pengguna. Fence API memungkinkan kita menggabungkan beberapa sinyal untuk membuat fences. Ketika kondisi fences terpenuhi, aplikasi kita akan menerima callback sehingga kita dapat melibatkan pengguna kita dan membuat mereka merasa senang, bahkan saat di background processing.
2. Snapshot API
Dapatkan rincian instan tentang lingkungan pengguna saat ini, dengan mengakses 7 sinyal dari satu API sederhana. Dapatkan kinerja baterai yang lebih baik dan penggunaan memori dengan Snapshot API intelligent caching dan cross-app optimizations.
Untuk informasi lebih lanjut tentang Awareness API ini, bisa kalian lihat di video di bawah ini :
Nah sekian pembahasan saya tentang Awareness API atau Context Awareness, semoga bisa menjadi bacaan kalian sebelum mencoba mengimplementasikannya ke dalam project — project kalian. Untuk codelabs tentang context awareness ini bisa kalian akses di halaman codelabs.