Email sebagai platform

published at Menjadikan email sebagai first-class platform

Gue setiap hari cek email, dan bila ada yang bertanya aktivitas apa yang gue lakukan ketika bangun tidur, jawabannya adalah cek email.

Alamat email adalah identitas utama di internet, hampir semua setiap layanan yang ada di internet membutuhkan alamat *email *untuk bisa menggunakannya, dan juga untuk mengidentifikasi siapa kamu.

Di kantor yang sekarang, *project management *menggunakan Basecamp & Gitlab.

Thanks to them, gue bisa berinteraksi dengan aktivitas yang ada via email Ignore the inconsistent date time Tangkapan layar diatas adalah salah satu contoh dimana gue berinteraksi dengan Basecamp via Apple Mail. Selain Basecamp, di Gitlab (dan GitHub!) pun gue melakukan hal serupa, dan ini contoh bila di GitHub: Link Gue adalah fans berat *asynchronous communication, *gue rasa lumayan sulit ketika membuat keputusan dalam komunikasi yang singkronous kecuali bila benar-benar sudah dalam kondisi yang mantap.

Ambil contoh ketika lo lamar orang & langsung diterima di menit itu juga, bila orang yang lo lamar tersebut memang sudah benar-benar mantap lahir & batin, dan sudah memikirkan dari hal yang terkecil sampai yang terbesar.

Jika belum siap? Tinggal beri dia waktu, bukan?

Dan jika lo memaksa dia untuk memberikan keputusan pada saat itu juga—sedangkan dia belum mempersiapkan semuanya—keputusan diambil hanya karena dia memiliki tenggat waktu untuk mengambil keputusan, dan gue rasa tidak memikirkan banyak aspek karena 'kesempitan' yang ada.

Dalam konteks dunia pekerjaan, bagaimana bila ternyata ada sesuatu yang benar-benar urgent?

Meeting!

Walaupun gue kurang suka dengan meeting.

Dan gue selalu menghindari membuat meeting, jika sesuatu tersebut bisa dilakukan tanpa melakukan meeting.

Oke, sekarang mari kita kembali ke topik.

Aplikasi Web

Di zaman sekarang, siapa sih yang tidak menyediakan aplikasi web?

Iya, masih ada kok. Fuck to native-mobile-app-only application.

Platform web adalah platform terbuka, tidak dikendalikan oleh entitas manapun, dan cross-platform by design.

Masalah umum di platform web adalah terkait API, peperangan antar pengembang peramban sudah menjadi hal yang umum diikuti untuk pengembang web, karena antar peramban memiliki visi & misi yang berbeda-beda, namun pada dasarnya tetap untuk 1 tujuan: Membuat platform web menjadi lebih baik lagi, berikut terhadap penggunanya.

Namun tidak sedikit layanan-layanan yang dibuat untuk *platform web *hanya mendukung beberapa peramban saja. Seperti Skype Web yang hanya bisa digunakan di peramban keluarga Chromium.

Atau seperti Zoom Web yang tidak bisa menggunakan Safari ketika Join with Audio.

Dan masih banyak lagi kasus-kasus serupa yang males gue tulis semua.

Cross-platform disini menjadi terlanggar karena tidak cross browser, dan mungkin itu 2 domain yang berbeda.

Tapi intinya, sekarang aplikasi-aplikasi banyak dibuat untuk platform web, yang menurut pendapat pribadi gue karena satu: The Cloud.

Data-data disimpan di komputer orang lain cloud, di internet.

Sudah tidak disimpan di komputer lokal lagi.

Jika sebelumnya ketika kita membuat desain kita menyimpan berkas desain tersebut di perangkat kita sendiri (misal ketika pakai Adobe Illustrator), sekarang disimpan di cloud (misal ketika pakai Figma).

Yang mana, mungkin ini bagus.

Masalah penyimpanan terselesaikan: Pengguna tidak perlu melakukan instalasi, dan tidak perlu khawatir akan ruang penyimpanan yang dimiliki.

Dan juga, karena menggunakan pendekatan ini, membuat layanan yang kolaboratif bisa tercapai (dengan lebih mudah) karena sumber data yang ditunjuk berada di pihak ketiga.

Yang mana, mungkin ini bagus.

Mungkin.

Email sebagai platform

Melihat layanan-layanan yang gue lakukan (selain khusus untuk komunikasi singkronous), gue rasa beberapa bisa menggunakan *email *sebagai platform.

Ambil contoh yang paling sederhana, Twitter.

Tanpa membuka Twitter, gue seharusnya bisa membalas DM; Membalas tweet, membuat *tweet *dan sebagainya via *email, *yang pastinya tidak baik untuk bisnis nya Twitter yang bergantung penuh dengan iklan :)

Atau, misalnya contoh begini.

Bila kita bisa menggunakan Slack untuk melakukan *deployment; *Mendapatkan report, dsb, mengapa tidak bisa menggunakan email juga?

Pada dasarnya hampir sama seperti Slack (ehm, Slack yang hampir sama dengan Email), namun tanpa perlu membuat akun Slack & mengakses/menginstall aplikasi Slack.

Contoh Workflow:

Selain itu yang lebih sederhana, misal, sesederhana *converter. *Gue kirim email ke convert@someapp.tld dengan judul "MP4 to WEBM" plus menyematkan *video *yang ingin gue kirim, lalu setelah beberapa detik (atau menit) gue mendapatkan apa yang ingin gue dapatkan.

Contoh kasus

Oke, mungkin tidak semua layanan bisa menjadikan *email *sebagai *platform, *namun bila aplikasi kamu hanyalah adalah tentang sistem informasi, gue rasa itu pasti bisa.

Gue fans berat RSS reader, dan gue pakai Readkit di laptop gue.

Alasannya: Dia dukung Instapaper, dan gue menggunakan Instapaper walau tidak premium.

Readkit hanya berada di Mac, dan untuk di Android, gue pakai Instapaper for Android dengan catatan gue tidak mendapatkan kabar akan tulisan baru yang diterbitkan & yang gue _subscribe _RSS feed nya.

...kecuali kebutuhan gue tersebut gue bagi menjadi dua, yang artinya, gue harus memasang aplikasi RSS Reader yang ada di Android.

Sekarang begini, anggap gue membuat aplikasi bernama Instaread yang mana gabungan dari 2 layanan tersebut (Readkit & Instapaper). Bedanya: Instaread tidak hanya berada di Mac, dan yang paling penting, email adalah platform utamanya.

Mari kita ambil contoh kasusnya:

Yang sederhananya, gue bahkan enggak perlu memasang 2 aplikasi tersebut di perangkat gue.

Weekend ini gue sedang bereksperimen dengan itu.

Begini contoh *workflow *nya:

Setiap pengguna, mendapatkan *email *unik, misal cf178bb@relay.something.tld yang bisa disimpan di kontak, dengan nama, misalnya, "News Feed".

Email tersebut hanya boleh diketahui oleh pengguna, karena bila ada email masuk ke alamat tersebut, *by default *akan mengirim versi "readable" (remember readability?) akan link yang masuk ke alamat email pengguna yang digunakan ketika mendaftar.

Lalu di level *email, *kita bisa membuat *filter: *Bila ada email masuk dari situ (cf178bb@...), berikan label "Read later", lalu skip inbox.

Dan kita bisa melakukan "snoozing" ketika kita tidak ada waktu untuk membacanya pada saat itu juga. POC menggunakan Apple Mail — Read Later untuk halaman ini Dan ini contoh di *mobile *menggunakan Gmail™ OK for now we don't use TLS yet Sebagai POC, ini udah mantap dengan *workflow *gue.

Mengapa email?

Banyak banget keuntungannya, tapi akan gue highlight yang menjadi favorit gue:

Mungkin tidak semua aplikasi/layanan yang cocok dengan yang telah gue bahas disini, namun sebagai contoh-contoh (yang mungkin belum & bisa diimplementasikan):

Topup starbucks/insert-any-brand-here balance

Dalam konteks starbucks, untuk mengisi saldo, hal yang harus gue lakuin adalah:

  1. Login (dan tunggu sistem mengirim OTP ke email gue)
  2. Ketik manual kode OTP tersebut
  3. Klik tombol Topup
  4. Pilih saldo (100k, 200k, 500k, other)
  5. Check I agree with the ToS
  6. Klik tombol Confirm Payment
  7. Muncul popup, klik Continue
  8. Pilih daftar ATM/Bank Transfer
  9. Gue pilih BCA
  10. Muncul instruksi, klik tombol Set Account Number (VA)
  11. Muncul account number (VA) beserta tombol Please Complete Payment

Dengan email, mungkin gue bisa mengirim email ke alamat yang sudah disediakan dengan judul "TOPUP 100k BCA", dan akan dibalas dengan sedikit instruksi beserta dengan nomor VA nya.

Bila sudah ditransfer sama gue, kirim email konfirmasi ke gue bila ingin.

Kalau ada gagal, kirim email gagal. Entah itu gagal karena salah format, nominal saldo topup tidak tersedia, bank tidak terdaftar, dsb.

Hemat 10 langkah!

Silahkan ganti balance tersebut dengan pulsa, token listrik, tagihan lain, dsb.

Transfer duit via Jenius/insert-any-brand-here

Pokoknya hampir sama deh upacara-upacara nya, dan mungkin bisa disederhanakan dengan mengirim email seperti ini: "SEND 100k $cashtag/account-number" atau "SEND 100k BCA insert-bca-acc-num-here"

Biaya

Akan selalu ada biaya yang harus dibayar terkait keputusan.

Kebanyakan kita menggunakan layanan pihak ketiga untuk mengirim (transaction) *email *seperti Sendgrid, Mailgun, Postmark, dsb untuk mendapatkan fitur-fitur seperti isu "Trust" biar ga masuk ke spam, segmentasi pengguna, status pengiriman, dan yang paling jelas: Analitik.

Jika melihat kebutuhan disini (khususnya kebutuhan gue) sepertinya tidak perlu, dan tantangannya hanya di "deliverability", apakah email tersebut berhasil terkirim atau tidak, yang pastinya kita tau caranya (berikut dengan solusinya) tanpa harus menggunakan layanan pihak ketiga ;)

Iklan

Tadi gue udah bahas seputar PoC, benar?

Buat sekalian eksplor-eksplor, di akhir pekan*, *gue lanjut ngembangin aplikasi tersebut sebagai pengganti Instapaper + RSS Reader yang sudah gue gunakan.

Layanannya sederhana: Mengirim tulisan yang ingin gue baca nanti ke email, dan mendapatkan pemberitahuan (tergantung konfigurasi RSS nya) akan tulisan baru dari RSS Feed yang gue *subscribe *dengan cara mengirim email.

Fitur-fitur tambahan yang sudah gue rencanakan antara lain:

Dan pastinya Open Source

Teknis

Jika tertarik berkontribusi untuk hal teknis, kita akan berhadapan dengan:

Tertarik mencoba?

Mumpung lagi long weekend, sepertinya gue punya banyak waktu untuk fokus ngembangin ini karena weekday ku penuh dengan meeting dan coding huhu.

Anyway. Bila tertarik untuk menggunakan, bisa kirim aku *email *ke halofariz+9de8147@gmail.com. Semua *email *yang masuk kesitu, akan ada di *inbox *gue dengan _label _Read later app dan akan gue balas satu-satu (yang tentu saja dengan cara copas) setelah aplikasi ini sudah dirilis ke GitHub karena gue ga tertarik bikin milis-milis-an.

Penutup

Biasanya, layanan membuat aplikasi sendiri adalah untuk keperluan** analitik. **

Fingerprinting.

Optimasi penjualan.

Menyebar promo dan iklan—dengan relevan.

Padahal yang ingin gue lakukan disini adalah menyimpan link yang ingin gue baca nanti dan mendapatkan tulisan baru dari RSS feed yang udah gue subscribe.

Ingin melakukan topup saldo ke starbucks card gue yang udah jelas nominalnya berapa dan dari akun bank apa.

Ingin mengirim uang dari rekening gue ke rekening temen yang udah jelas gue punya nomor rekeningnya beserta bank yang dia gunakan dan nominal saldo yang ingin gue kirim.

Dan mengapa gue harus meng-install aplikasi lagi bila yang gue butuhkan hanyalah email client yang ringan itu?

Sebagai penutup, tulisan ini pada dasarnya hanyalah iklan.

Terima kasih, selamat berakhir pekan!