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:

Instagram & 90 juta Active User

instagram

Buat pengguna iPhone (iOS) maupun Android tentu familiar dengan aplikasi yang bernama Instagram. Aplikasi berbagi foto (yang diakuisisi oleh Facebook 2012 lalu) ini melaporkan bahwa mereka mempunyai sekitar 90 juta pengguna aktif per-bulan. Sekitar 40 juta foto di-upload tiap harinya. Kurang lebih sekitar 8500 foto per detiknya.

Wow!

Statistik sederhana ini cukup menggembirakan buat Instagram setelah akhir 2012 kemarin mereka bermasalah dengan terms and condition mereka sendiri. Buat yang belum tahu, Instagram dalam aturannya menyatakan diri boleh menjual foto-foto yang telah diupload ke pihak ke-tiga tanpa harus memberi tahu atau bahkan memberikan kompensasi terhadap si pemilik foto tersebut. Hal ini cukup membuat heboh dan membuat ‘eksodus’ pengguna Instagram (apalagi pengguna yang terasuk kategori High Profile seperti NatGeo) ke layanan berbagi-foto lainnya.

Lumayan sih, EyeEm langsung naik daun. Flickr bahkan memberikan bonus 3 bulan FlickrPro gratis buat anggotanya.IMG_6935

Huru-hara ini langsung direspon oleh Kevin Systrom, co-founder Instagram, yang melakukan pembaruan ketentuan layanan Instagram (khususnya di bagian advertising) kembali ke semula. Detilnya bisa baca di postingan blog si Kevin.

Kalau September 2012 kemarin Instagram melaporkan mempunyai seiktar 100 juta pengguna yang terdaftar di sistemnya. Maka dengan angka 90 juta pengguna aktif/bulan ini berarti total pengguna Instagram itu sendiri ada berapa yah di databasenya?

Sepertinya cocok buat bahan ulasan Wikufest berikutnya, High Scalability :)

Socl, Social Networking ala Microsoft

Another social networking has been introduced.
Setelah sebelumnya digosipkan akan mengeluarkan merek smartphone sendiri, Microsoft kini malah meluncurkan situs social networking baru.

Namanya adalah Socl.

Situs ini masih dalam status beda, jadi penggunanya akan merangkap sebagai tester juga. Socl sendiri sebenarnya sudah diperkenalkan sejak Desember 2011 lalu. Hanya saja waktu itu untuk bisa menggunakannya, pengguna harus mendapatkan invitation dulu.

Trus apa bedanya? Dah kebanyakan layanan social networking yang beredar saat ini.

Microsoft tidak memposisikan Socl untuk menantang Facebook, Twitter, Tumbler, Pinterest atau layanan social-networking lainnya. Yah, menurut mereka sih begitu.

Microsoft sendiri menyatakan bawah Socl itu semacam mash-up dari kumpulan layanan social networking dan pencarian (search). Core Socl itu sendiri bisa dibilang ‘search’ sih. Jadi postingan/status kita pada intinya akan berupa sebuah “search”. Setiap postingan yang kita buat entah itu gambar, foto, video atau hasil pencarian lainnya yang ditampilkan akan dalam bentu kolase dan dilengkapi dengan link ke URL aslinya. Kemudian orang-orang dalam grup kita akan dapat memberikan komentar atau sharing postingan kita tersebut ke layanan social-networking lainnya. Pengguna juga dapat membuat postingan mereka sendiri berdasarkan postingan yang telah kita buat.

Fitur lain dari Socl adalah ‘parties’ yang memungkinkan user untuk ikutan menonton video online. Mungkin mirip-mirip Google Hangouts kali yah. Entahlah
Nah tertarik untuk mencoba Socl? Kamu cukup menggunakan akun Facebook atau Microsoft ID kamu untuk login ke Socl.

Instagram 2.5 for iPhone

Sudah tahu kan apa itu Instagram?
Sudah tahu juga kan kalau Instagram itu diakuisisi Facebook dengan nilai yang cukup spektakuler  April 2012 kemarin?

Nah buat para pengguna iPhone, Instagram baru saja mengeluarkan update. Dan update ini bisa dibilang update besar Instagram yang pertama pasca dibeli oleh Facebook.

Fitur-fitur apa sajakah yang ada di update versi 2.5 ini?

  • Sepintas sih tidak ada perbedaan dari tampilan antarmuka nya. Tapi ada tab baru bernama Explore menggantikan tab Popular sebelumnya. Perhatikan icon bintang dengan kompas pada gambar di atas ^_^
  • Bisa search user dan tags dari Explorer, ga harus ke menu search dulu
  • perbaikan di sistem komentar
  • autocomplete username untuk searching orang-orang yang telah kita follow
  • optimalisasi kecepatan proses
  • improvisasi tampilan
  • ada menu opsi untuk share likes photo yang kita lakukan ke Facebook (seperti 500px)
  • foto instagram kita yang muncul di timeline Facebook likes nya jadi terintegrasi satu sama lain. Thanks to Open Graph
  • shortcut ke Camera Roll. Buat kalian yang suka upload foto-foto yang sudah diambil sebelumnya dan tersimpan di Camera Roll, sekarang ga perlu tap 2x (tap kamera, tap camera roll) untuk ke sana. Sekarang tinggal tap icon Camera, tahan sebentar dan kamu akan langsung masuk ke Camera Roll.

And then last but not least, follow me @nurikidy on instagram or twitter ^_^

Goodbye, Beluga

BelugaMy friend @denisz used to ask me to install multi platform messaging/chat apps.
I remembered that one day he told me to try Beluga — i oftenly spell it wrong as ‘Belagu’ :P — on my iPhone
After few weeks trying, we found that Beluga is not good enough or at least not interesting for us anymore.
We now stick to Kik and WhatsApp.

So, why i write about this little whale 2am in the morning?

Some of you may be dont know that Beluga has been bought by Facebook around March 2011.

I think because of Facebook chat only alowing one-to-one chat only, they need a system that will enable the Facebook users to do group chat. And by acquiring Beluga system, the social network giant is getting serious with the idea.

Unlike its past acquisitions, Facebook has acquired both the product and the team of Beluga. Well, there are only 3 ex-Google persons in Beluga team :P

But today the story has changed.

Beluga app will be shutted down. The little white whale will swim to the sunset.

Acording to Beluga blog,

“Starting November 11, you’ll no longer be able to use Beluga to send messages,
but you can still get to your old messages on the Beluga app and website.
If you want, you can also download an archive of your pods.

On December 15, the Beluga service will shut down completely,
and you’ll no longer be able to access your old pods or messages.”

Is Beluga that bad so Facebook want to kill it? Nope.

I think because Facebook has launched the Facebook Messenger App (based on Beluga tech of course, last update is Oct 26, 2011). The Facebook Messenger App is available for iOS, Android and Blackberry in 22 languanges ;)

That is why they need no whale anymore.

And these are the Facebook Messenger features:

  • Send messages instantly to other friends who have Messenger
  • Chat with friends who are on Facebook
  • Get free push notifications for incoming messages
  • Add location and photos to messages
  • Reach friends via text message if they don’t have Messenger yet
  • Access sent and received messages on both Messenger and Facebook
  • Create group conversations for making plans on the go
  • Add more friends to group conversations at any time
  • Control alert and location settings for each conversation

Bloody Messi! He made hattrick within 15 minutes!

Beluga is now friends with Facebook (http://belugapods.com/fb)
Beluga is swimming into the sunset… (http://belugapods.com/shutdown)

In|Web-Stagram

Buat pengguna iPhone, iPad, iPod Touch rasanya pasti pada kenal dengan aplikasi yang namanya instagram.

Belum tahu? Waduh…

Instagram itu adalah layanan berbagi foto -gratis- yang didesain untuk perangkat iOS seperti tersebut di atas. Ga cuman berbagi foto saja, aplikasi Instagram ini menyediakan berbagai macam filter foto menarik dan fungsi tilt-shift yang bisa kamu gunakan untuk mengolah foto-foto yang ingin di-upload. Foto-foto tersebut dapat berasal dar jepretan aplikasi instagram sendiri maupun dari aplikasi lain, misalnya Camera app dari iOS.  Atau bahkan dari koleksi foto yang ada di Camera Roll/Picture Library kamu.

Instagram memiliki konsep social networking di dalamnya dan juga berintegrasi dengan media social networking terkenal yang ada saat ini. Jadi di dalam Instagram kamu bisa mem-follow orang lain maupun sebaliknya di follow oleh orang lain. Selain itu, foto kamu juga dapat tampil d Facebook, Twitter, Foursquare, Posterous, Tumblr hingga Flickr.

Jadi, tidak heran jika Dan Frommer dari Business Insider menuliskan kalo Instagram adalah aplikasi startup iPhone paling Hot di tahun 2010. Per Mei 2011, dengan hanya 4 orang pegawai, Instagram melayani sekitar 4 juta pengguna.

Ok, setelah pembahasan tentang In-Stagram, sekarang apakah Web-Stagram itu?

Instagram saat ini adalah murni iOS app, walaupun Burbn, Inc (perusahaan yang membuat Instagram) sudah membuka API nya, saya sendiri masih belum melihat ada aplikasi Instagram yang dijalankan di platform lain seperti Android atau Symbian misalnya. Atau Blackberry. Selain itu, yang berasa kurang (paling ngga saya ngerasa begitu) adalah “tidak ada”nya web interface dari instagram ini.

Ok, ada http://instagram.com/ tapi itu cuman landing page saja yang hanya berisi keterangan umum mengenai aplikasi dan link ke iTunes Store.

Ada http://instagr.am/ yang berfungsi untuk preview satu foto kita yang kita share ke social networking sites (twitter atau facebook misalnya). Mengambil contoh foursquare atau facebook, Instagram tidak/belum memiliki web interface di mana kita bisa melihat foto-foto yang sudah kita upload lengkap dengan komentarnya, maupun melihat foto-foto orang-orang yang ada dalam jejaring sosial kita di instagram.

Karena banyak yang merasa dan (mungkin juga) butuh fitur ini, maka kemudian muncul layanan Webstagram. Aplikasi web buatan @jmworks dan @lumines02 pada dasarnya berusaha menyimulasikan fungsi-fungsi yang ada di iOS app minus fungsi upload. Webstagram (melalui Instagram API) akan “mengambil” data foto, feeds, komentar dan lain sebagainya kemudian merangkainya menjadi satu ke dalam sebuah interface web.

Jadi memudahkan para pengguna Instagram untuk browsing maupun saling berkomentar.Webstagram juga memiliki fitur unik seperti My Liked yang berisi history/daftar foto yang kita suka, Hot yang berisi tag paling sering digunakan di instagram -semacam trending topics di twitter- serta hot instagramers (kayanya yg follower paling banyak, seleb Instagram lah :D ), dan ada juga Photo of The Day.

Nah, buat kamu Instagramer yang belum mencoba layanan ini, tinggal bukan browser kamu dan akses ke webstagram.com. Cukup gunakan login Instagram kamu untuk mengaksesnya.

Resources:

http://www.businessinsider.com/instagram-2010-11
http://en.wikipedia.org/wiki/Instagram
http://instagr.am/about/faq/
http://www.businessinsider.com/webstagram-instagram-web-interface-2011-6