Dropbox luncurkan Datastore dan Drop-Ins API

dropbox_4-vflp1DQc7Sepertinya kalau kita ngomongin cloud storage, salah satu nama yang hampir pasti akan selalu kesebut adalah Dropbox. Nah baru-baru ini, Dropbox baru saja meluncurkan 2 API yang cukup powerdul yaitu Datastore API dan Drop-Ins API. 2 API ini makin menegaskan saja kalo Dropbox sekarang ga cuman bermain di segmen file storage biasa tapi menyentuh ke level aplikasi.

dropbox_datastore

Nah yang pertama, Datastore API.
API ini dapat menyimpan data terstruktur apa saja atau metadata dari sebuah aplikasi. Nah, hal ini membuat para developer dapat melindungi data pelanggan mereka bahkan saat mereka melakukan perubahan data secara offline sekalipun. Ini berguna banget buat layanan-layanan yang butuh sinkronisasi kaya to-do list, addressbook, atau layanan lain yang datanya diakses lintas device, lintas platform online maupun offline. SDK nya sudah ada untuk iOS, Android dan JavaScript.

dropbox_dropinsKemudian Drop-Ins API yang terdiri dari 2 segmen yaitu Chooser dan Saver yang memudahkan pengguna untuk mengakses file dari Dropbox atau menyimpan file ke dalam dropbox dari aplikasi lain. Chooser saat ini tersedia untuk iOS dan Android sementara Saver saat ini untuk webapps saja.

Jadi, para developer sekarang tidak perlu ribet. Karena 2 API tadi adalah salah satu upaya Dropbox membantu pengembang membuat aplikasi cross platform untuk membuat aplikasi dengan dropbox sebagai backend. Ada yang sudah mulai nyoba-nyoba API nya?

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

Mobile Apps = App{roach} S{trategy}

Pasca kelahiran iPhone tahun 2007, kata ‘mobile‘ menjadi satu kata yang wajib untuk diperhatikan di kalangan business. Dan dengan melonjaknya trend penjualan ‘smart mobile device‘ (ga hanya phone doang yah) 3 tahun terakhir ini, ‘mobile‘ bukan hanya wajib untuk diperhatikan tapi perusahaan-perusahaan harus mulai terjun ke dalamnya.

‘Mobile’ akan menjadi channel distribusi baru.
‘Mobile’ akan menjadi metode service baru.
‘Mobile’ akan menjadi bisnis baru.

Tapiiiiiii… ada tapinya neh. Sebelum mulai melangkah maju, ada hal-hal yang perlu diperhatikan. Ini semua menyangkut strategi. Hal ini yang saya rasa masih minus di sini. Karena kebanyakan orang, terutama mereka yang ada di level business decision maker yang masih bertindak berkacamata kuda dan masih fly high dengan euforia tren yang sedang ada. Masa sih segitunya? Oh ho ho ho, percaya deh. I’ve been talking to guys like this dan itu melelahkan.

Jadi mau kamu jadi orang marketingnya, jadi orang produknya, jadi orang teknis nya, strategi ini sangat penting. Karena bikin strategi ini tidak akan beranjak jauh dari mengenal secara dalam apa sih binis kita itu sebenarnya dan apa sih app yang tepat yang akan kita butuhkan nanti.

Iya dong, banyak aspek yang harus diperhatikan. Ga cuman asal “eh gue pingin A B C, siapin duit dan pilih ajah antara X/Y/Z untuk membuatnya”. Tetotttt, nah ini yang bakal bikin berantakan karena both parties are clueless actually.

Nah, saya mengutip diagram infografis dari Mutual Mobile untuk sedikit memberikan gambaran contoh bagaimana kita membuat strategi terkait pemanfaatan mobile technology tadi. Karena Mutual Mobile adalah perusahaan yang bergerak di pengembangan mobile web dan responsive design, point-point yang akan dibahas di sini lebih mengarah ke pendekatan bentuk mobile app nya nanti mau seperti apa.

Dan klien MutualMobile ini ga tanggung-tanggung lho. Ada Google, Cisco, Xerox, Samsung, Audi dan banyak lagi

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″]

Evernote – Hacked – Change Your Password

Finally, I could get up from my bed. But still there’s like tons of hammers knocking out my head. Arrghh..

Anyway, ada yang tau dan pakai Evernote? Masa ga tau sih? Kalo menurut saya, Evernote itu adalah salah satu must-have-app in your computer n specially mobile devices lho :)

IMG_7262Evernote itu adalah sebuah aplikasi yang fungsi utamanya untuk note-taking, catat mencatat dan archiving. Note nya tadi ga harus teks lho, bisa beruba full webpage atau potongan webpage ^_^, voice memo. Bisa juga berupa attachment file. Note-note tadi bisa kamu kelompokkan berdasarkan grup, tag, comments dan beberapa kombinasi lainnya. It will be saved on local storage but synced up to the cloud. Jadi berguna banget (paling ga buat saya). Bikin note di Mac, tapi pas mobile bisa view di iPhone/iPad atau via web browser.

Jangan kuatir, Evernote ini multiplatform. Kalian mau pake device OS X, iOS, Chrome OS, Android, Microsoft Windows, Windows Phone bahkan BlackBerry pun juga bisa.

Nah, terkait dengan Evernote di atas, ada masalah yang cukup penting minggu ini yang membuat Evernote mengeluatkan rilis baru aplikasi yang intinya sih berupa patch supaya para penggunanya segera melakukan update password mereka. 50juta user harus update passwordnya segera. Ck ck ck

Lho? Kenapa memangnya?

Mengutip berita dari blognya, Akhir Februari 2013 kemarin tim operasional Evernote menemukan ada kegiatan mencurigakan yang meneyerang jaringan mereka dan berusaha untuk mengakses bagian vital dari layanan mereka. Nah untuk melakukan pencegahan terhadapat kemungkinan-kemungkinan yang tidak diinginkan terutama terkait dengan data “catatan-catatan” para penggunanya, Evernote memutuskan supaya semua penggunanya (iya, yang 50 juta itu) untuk merubah passwordnya.

evernote-screenshot-2

Nah, buat kamu para pengguna Evernote sudahkah melakukan update app dan tentu saja update password? Do it ASAP.

Sebagai catatan juga terkait password, ini textbook banget sih terkait security 101

  • Avoid using simple passwords based on dictionary words
  • Never use the same password on multiple sites or services
  • Never click on ‘reset password’ requests in emails — instead go directly to the service

Referensi:
Security Notice: Service-wide Password Reset

evernote-screenshot-1

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: