Dunia Penuh API

Tadinya sih mau ngasih judul World of API, tapi kok keminggris banget yah? :p Ya wis, akhirnya pakai judul Dunia Penuh API saja, mayan juga ada kesan dikit dramatis hehehehehehe.

*bletakk*

OK, ok. Saya ga ngomongin kebakaran. API di sini adalah akronim dari Application Programming Interface.

Apa itu API?

Detilnya sih bisa dibaca di sini, tapi secara garis besar API adalah sebuah kumpulan instruksi dan standar pemrograman, protokol, data yang digunakan supaya sebuah aplikasi dapat berkomunikasi dengan aplikasi lainnya. API memungkinkan pertukaran data/informasi antar program. Misalnya saja mengambil data nilai tukar mata uang asing dari Google/situs bank untuk menghitung data-data di spreadsheet kamu yang akan kamu gunakan untuk menyusun itenerary liburan ke luar negeri. Atau saya menggunakan API yang disediakan oleh Instagram yang memungkinkan saya untuk mencari foto-foto dengan tag Danbo, kemudian memilahnya dan mengemasnya menjadi sebuah aplikasi Firefox OS (haduh, lupa euy belum upload ke Market Place).

Analoginya, API itu adalah kepingan lego yang masing-masing punya fungsi khusus dan terbatas yang merupakan hasil penyederhanaan dari proses kompleks di belakangnya. Kepingan-kepingan lego ini nanti dapat kita susun sesuai kemauan kita ingin membangun apa.

Di era Internet of Things ini, peran API menjadi sangat-sangat penting. API menentukan bagaimana para developer membuat aplikasi.

Kok bisa?

Karena app era sekarang ga bisa lepas dengan web services, cloud, dan komunikasi dengan app lainnya. Contoh lagi, untuk otentikasi pengguna sebuah aplikasi kita tidak perlu repot-repot membuat akun dan mengisi segala detil informasi diri yang disyaratkan. Cukup gunakan akun Facebook atau Twitter atau Google+/Gmail yang telah kita miliki.

API membuat pengembangan sebuah aplikasi menjadi jauh lebih efisien. Dengan banyaknya API, kreatifitas untuk membuat solusi dari permasalahan-permasalahan yang ada ataupun sekedar mewujudkan ide-ide gila bisa terbilang nyaris tak terbatas.

Contoh API Twitter untuk streaming tweet

Nah, sudut pandangnya sekarang bukan bikin sistem, app lagi. Tapi bikin service, layanan, fungsi yang nantinya dapat dipakai oleh service/layanan/fungsi lainnya menjadi sebuah mashup (bukan mahzab yah).

Next: Dunia (Telco) Penuh API

Reservasi Restoran via Facebook

Pengguna Facebook udah bisa beli-beli hadiah dan maen game tanpa meninggalkan halaman raja jejaring sosial ini. Nah kini mereka juga bisa melakukan reservasi restoran. Facebook dan OpenTable baru saja mengumumkan kerjasamanya.

OpenTable adalah sebuah perusahaan yang menyediakan layanan reservasi restoran secara online. Saat ini OpenTable melayani reservasi untuk sekitar 28,000 restoran di Amerika Serikat dan beberaka kota besar internasional lainnya.

OpenTable sendiri sih sudah punya mobile app untuk iOS, Androd, Windows Phone, Blackberry bahkan untuk Kindle Fire. Tapi kerjasamanya dengan Facebook akan membuat OpenMobile jauh lebih “accessible”. Maksudnya, dari berbagai macam studi kita semua tahu kalau Facebook sudah menjadi part of the lifestyle generasi mobile sekarang ini. Satu sisi mereka ga perlu meninggalkan view Facebook mereka untuk reservasi restoran (atau bahkan install mobile app tersendiri), OpenTable juga akan mendapatkan keuntungan dengan efek viral raja social networking ini.

Di sisi lain, Facebook makin menunjukkan taringnya untuk dominan di mobile services diluar dari layanan jejaring sosialnya sendiri.

Nah ini saya iseng-iseng nyobain ‘reservasi’ restoran somewhere di Santa Clara, CA sana :P

opentable_01_thumb
go visit your restaurant FB Page
opentable_02_thumb
choose your date and time

 

10% Transaksi Starbucks dari Mobile Device lho…

IMG_8982

Satu cup Americano coffee di Starbucks harganya sekitar Rp 20ribu. Di bandara kayanya lebih mahal lagi. Kopinya jauh lebih nendang dibanding bikinan The Coffee Bean & Tea Leaf. Masih lebih nendang kopi tubruk di kampung sih :P

Walau buat sebagian orang mungkin Rp 20ribu itu adalah receh, tapi harganya kalo dipikir-pikir bikin nendang dompet juga lho. Kalo kamu maniak kopi dan menghabiskan jatah 2-3 cup (kopi Starbucks) tiap harinya ya tinggal berhitung deh.

But it’s become a lifestyle already, specially in big city like Jakarta. What can i say?

Tahu ngga kalau Starbucks adalah brand nomor 4 terbesar di Facebook maupun di Twitter menurut socialbakers.com. Total fans hampir 35 juta dan follower @Starbucks di angka 4 juta lebih.

Nah terkait dengan recehan kopi di atas, ada satu hal yang mo saya sampaikan. Kalo di foto si Danbo dan Kevin pamer Starbucks card (semacam BCA Flazz, saya dapatnya 2 bulan lalu waktu Starbucks ultah). Tapi sejak November 2012 kemarin sebenarnya Starbucks sudah memperkenalkan metode pembayaran baru yaitu menggunakan Square Wallet, sebuah platform mobile payment system. Jadi cukup scan QR Code atau tap NFC dari ponsel ajah. App nya juga ada. Dan strategy ini bisa dibilang menuai sukses sekarang.

Menurut laporan dari Wall Street Journal, pebelian via mobile device ini menyumbang 10% dari total transaksi warung kopi internasional ini di Amerika. Angka yang jauh melebihi harapan.

Ga lama lagi, Starbucks juga akan meluncurkan layanan wireless charging untuk beberapa lokasi di Silicon Valey. Wah  rombongan Mozilla Summit 2013 yang Oktober nanti akan ke Santa Clara bisa nyobain fasilitas nge-charge smart device-nya w-i-r-e-l-e-s-s-l-y. Hmm, tapi harus punya Powermat dulu yah?

Omong-omong, harga kopi di RM Putri City Plaza juga mayan nendang tuh. Mending nyeduh ndiri kopi ka*** api dan sejenisnya *sigh*

Instagram: Photos of You

ig-photosofyou-01aTau ngga kalo Instagram baru ajah meluncurkan fitur baru?
Seperti halnya Facebook, kita sekarang bisa tag foto di Instagram. Tapi kita cuman bisa nge-tag foto-foto milik kita sendiri yah, bukan foto-foto orang yang kita-follow.

Kalau sebelumnya kan kita pake cara ala twitter dengan @mentioned orang yang ingin kita “tag”. Cuman cara ini dianggap ga efektif buat tracking karena ga ada menu khusus untuk ngelihat siapa sih yang udah mentioned kita. FItur baru ini diharapkan dapat membantu membangun koleksi foto-foto dimana kita di-tag di dalamnya, kemudian dari koleksi tadi kita dapat pilih sendiri mana yang akan muncul di profile dan mana yang ngga. Jadi kita menjadi kurator foto-foto kita sendiri “sumbangan” dari orang-orang lain :)

Itu benefit buat kita sebagai pelanggan. Kalo dari sisi Instagram sih jelas akan meningkatkan trafik kunjungan ke Instagram dengan adanya notifikasi tagging tadi. Ini adalah potensi bisnis buat… iklan. Yak, tidak hanya tagging username, brand/merek juga bisa di tag di sini.

Trus, gimana cara taggingnya?
Nah berikut ini saya bikin contoh sederhana ya Instagram versi iOS

ig-photosofyou-02 ig-photosofyou-02
  • Pilih menu profile dari icon pojok kanan bawah, nanti menu Photos of You akan muncul setelah kamu update Intagram ke versi terakhir.
  • Pilih satu foto dari gallery kamu. Dalam hal ini saya pilih foto Danbo yang lagi manyun karena hujan di kordinat 2:1
ig-photosofyou-04 ig-photosofyou-05
  • Tap di icon “” yang ada di pojok kanan foto (sederet dengan tombol liked dan comment itu lho)
  • Menu baru akan muncul, pilih saja Add People
ig-photosofyou-06 ig-photosofyou-07
  • Nah, tinggal search dan pilih deh username yang pingin kamu tag.
ig-photosofyou-08 ig-photosofyou-09

Korea Utara: Sori ye, ga ada akses data 3G lagi

DSC_0123_sophieinnorthkorea

image couryesy of sophieinnorthkorea

Tahu ngga kalau jaringan 3G “tidak ada” di Korea Utara? Sebenarnya bukan tidak ada sama sekali sih. Operator 3G di sana adalah Koryolink, satu-satunya. Tapi fasilitas 3G tidak boleh dinikmati oleh penduduk negara komunis ini.

What?! Yup, that’s true.

Tapi sekitar januari 2013 kemarin, pemerintah Korea Utara membolehkan turis menggunakan layanan ini (*) pada akhirnya. Nice kan? :)

(*) asal mereka membeli SIM Card dari Koryolink seharga USD67 dan mendaftarkan IMEI handsetnya di pabean/bea cukai. Koryolink juga menyewakan rental handset yang counternya ada di airport Pyongyang. Trus, SIM card ini ga bisa dipake untuk akses internet dan nelpon lokal.

WTF?! Yup, that’s true :)

Tapi sepertinya kebijakan ini berubah. Akses data sepertinya diperbolehkan karena bulan februari kemarin mulai instagra dan facebook mulai dialiri postingan dari Korea Utara. Berikut ini contoh artikel-artikel tentang kiriman foto-foto dari balik tembok negara komunis ini.

Horeeeee.

Yak, horenya udahan dulu yah.
Lho kenapa?

Belum nyampe sebulan, pemerintah Korut menutup akses data 3G buat para turis. Jadi no more instagram, facebook, twitter from North Korea. Buat nelpon internasional sih masih bisa. Tapi tanpa akses data? We can say bye bye 3G.

Why?
Yah sudah dipastikan isu politik sih. And because i do hate politics, this is the end of this post :)

ini ada postingan bagus dari anaknya Eric Schmidt (itu loh, bosnya Google) mengenai kunjuangannya ke Korut
It might not get weirder than this

DM dan Stiker di Path 3.0

Halo halo halo. Ada yang pakai Path?
Apaan tuh Path?

Ummm, Path adalah layanan sosial media yang didirkan oleh Shawn Fanning dan Dave Morin tahun 2010. Path sendiri layanan lebih ke arah photo sharing dan messaging yang fokusnya ke mobile device. Saat ini Path tersedia untuk perangkat-perangkat iOS, Android.

Nah, Path baru saja ada updatean versi 3.0 baru-baru ini. Ada 2 fitur penting yang ditambahkan di Ptah 3.0 ini. Yang pertama adalah chatting/private message/DM kalo istilah di twitter antar user. Kalau sebelumnya user cuman bisa mengomentari status user lain tapi semua orang dalam friendlistnya dapat melihat komentar tersebut. Kalo sekarang kaya chatting/pm/dm-an biasa saja. Isi chatnya bisa memasukkan attachment voice, data lokasi bahkan sticker seperti layaknya layanan messaging Line.

path30_7280 path30_7281
path30_7282

Yang agak mengganggu terkait fitur chat/pm ini adalah, kamu bisa kirim pm ke siapa saja. Atau  katakanlah ke orang-orang yang ada di friendlistnya orang-orang yang ada di friendlist kamu. Eh, mbulet yah? Yah pokoknya ga terbatas hanya kepada orang-orang yang ada di friendlist kamu saja. Could friends of your friends.

Nah loh?! Trus mana privasinya? Padahal Path dikenal salah satunya karena itu. Friendlist ajah dibatasin maksimal cuman 150 orang saja.

Fitur kedua adalah adanya “Shop”. Saat ini sih jualan sticker – yup mirip seperti Line – dan photo filter. Satu set sticker harganya IDR 19 ribu. Sementara itu filter foto harganya rata-rata di kisaran IDR 9,500.

Nah buat kamu yang pake Path entah itu di perangkat iOS ataupun Android ayo segera update Pathnya ke versi 3.0. Abis itu pada perang stiker deh :)

path30_7293 path30_7289
path30_7290 path30_7294

[video5 src=”https://pathakacdn-a.akamaihd.net/web-assets/images/messaging/messaging.mp4″ width=”450″ height=”320″]

SongPop Behind The Scene

Ada yang tahu SongPop?

Mestinya sih banyak yang pada tahu yah :)
Jadi Song Pop itu adalah game tebak lagu di Facebook buatan FreshPlanet. Selain di Facebook, SongPop juga bikin mobile app-nya untuk iOS dan Android.

songpop-3

Cara mainnya sih gampang. Pilih lawan kamu dari friendlist facebook, pilih genre musik, nanti akan ada 5 lagu yang harus kamu dengerin selama beberapa detik dan tebak judul lagu atau nama penyanyinya.

 

Sederhana kan?  Yoi, kesederhanaan ini yang justru membuat sukses game-game di jejaring sosial.

Nah, kali ini kita ga akan membahas gimana cara bermain SongPop yang baik dan benar sesuai dengan tangga lagu billboard. Kali ini mari kita ngomongin mengenai isi dapur FreshPlanet, bagaimana mereka running SongPop ini.

Menurut data dari AppData (eh berima :P) SongPop FacebookApp mempunyai lebih dari 11,3 juta monthly active users (MAU). Daily active users (DAU) sendiri dah di atas angka 2 juta, dan game ini baru diluncurkan sekitar Mei 2012 kemarin. Belum ada setahun dan belum termasuk yang dari iOS ataupun Android Client. Nah silakan berhitung deh.

Nah, gimana sih caranya si FreshPlanet ini handle trafik game yang sebesar itu?
Di Wikufest 2013 kemarin ada adik kelas yang bertanya ke saya gimana caranya bikin layanan sosial media yang proper. Tapi karena saya belum tahu konsepnya dan cuman dapat info kalau dia ingin doing everything all in, saya cuman mengajukan pertanyaan dasar terkait infrastruktur dulu. Dan sepertinya pertanyaan saya tadi cukup membuatnya berhitung dengan serius :) *baru soal foto doang sih, belum ke yang lain-lain :P*

google-app-engine-logo

Oke, kembali ke laptop.
FreshPlanet infrastrukturnya menggunakan Google App Engine (GAE) dan Google Cloud Storage. Di tahun 2013 ini, ga jaman harus bangun infrastruktur sendiri untuk semua hal. Buat yang ikutan kelas CloudComputingnya si Dondy harusnya dah dapat gambaran yah.

Nah GAE ini sudah bukan kategori IaaS tapi lebih ke arah PaaS. Dengan memanfaatkan GAE ini, FreshPlanet mampu membuat Song Pop untuk dapat autoscale (baca: auto) hingga 60 juta user, 1 juta DAU, 17TB/hari delivery content (tentu saja lagu dan gambar), 10,000+ query/detik. Song Pop sendiri dihandle oleh “cuman” 6 orang, dan cuman 1 saja yang kerja fulltime ngurusin backend-nya.

songpop_gae_gc

Mengutip wawancara Zafir Khan dari GoogleAppEngine dengan Olivier Michon dan Alexis Hanicotte dari FreshPlanet ada beberapa tips yang mereka terapkan untuk optimalisasi dan tentunya skalabilitas si Song Pop itu sendiri. Diantaranya:

IMG_7213Denormalisasi: data user Song Pop tersebar di bermacam model, tapi tetap koleksinya di pool di satu tempat untuk mengurangi read latency.
Caching: Masih nyambung soal denormalisasi, data lawan main kita akan di cache. Jadi sistem ga akan selalu melakukan “query” ke user data cuman buat tau lawan main kita itu sapa ajah. Analoginya, query sekali, cache, query lagi kalo ada trigger cachenya tadi sudah obsolete/expired. FreshPlanet menggunakan Memcache untuk 2 hal di atas. Memcache itu fitur di GAE kok, dan orang-orang FreshPlanet menggunakan Python API-nya GAE buat kebutuhan ini. Hayo hayo pada belajar Python sana. It’s a fun languange.
Strategi: Iyah, bikin aplikasi itu harus ada strateginya. Apalagi kalau aplikasinya tadi bukan sekedar one-time asal jadi doang. Memilih GAE, beli premier support dari Google untuk kebutuhan GAE-nya tadi adalah salah satu strategi FreshPlanet untuk SongPop. Ceritanya saat DAU Song Pop mencapai angka 1 juta, query Datastore (yang digunakan untuk mencari lawan main secara acak) mulai lemot dan banyak timeoutnya. Untuk beresin ini, FreshPlanet menentukan deadline dan aktivitas fallback sistemnya, kemudian dengan bantuan Premier support melakukan tracing dan identifikasi yang bikin lemot query Datastore tadi apa. Dan seperti disebutkan di wawancara tersebut, masalahnya ternyata karena Datastore bergantung ke berbagai macam properti. Walaupun sudah di-index, tetap saja jumlah kebanyakan. Solusi yang muncul akhirnya ada opsi mau nambah sebuah composite index yang berisi semua properti yang dibutuhkan atau menggabungkan properti-properti tadi jadi satu.
Content Delivery: masih hosting static content dan ‘dynamic content’ atau apps di satu server yang sama? Satu mountpoint, LUN, directory yang sama? Nah coba baca-baca soal CDN (Content Delivery Network) deh :) Song Pop menggunakan Google Cloud Storage untuk serving lagu dan gambar dengan lebih dimanapun si user tadi berada. Jadi kalau kita main di Indonesia, sample lagu-nya ga harus kita download langsung dari server di Amerika sana misalnya :)

Detilnya wawancaranya bisa dibaca sendiri di sini deh. Walau jika dibaca keseluruhan hampir ga ada detil teknis howto-nya, tapi konsep yang disinggung di sini seru banget.

So… GAE bisa dicoba-coba gratis lho :) SDK-nya juga bisa didownload n insall di komputer masing-masing.

Dan… sekarang saatnya mengganti huruf P di PHP itu dengan Python :)

Tambahan referensi: