Salah satu tugas yang sangat berat untuk pemrogram (progammer) atau pengembang aplikasi adalah membuat aplikasi yang sederhana. Umumnya, untuk berjalan dengan baik, aplikasi memerlukan berbagai macam inputan dan pengolahan data. Kalau pengguna bisa dan mau capek mengikuti semua proses input dan alur program yang lain, kemungkinan kesalahan pada aplikasi bisa ditekan.

Realitanya, kebanyakan pengguna (termasuk saya) menginginkan proses yang efisien dan sesederhana mungkin. Kalau bisa proses manualnya dibuat seminimal mungkin tapi tetap memberikan hasil yang diharapkan secara valid. Tentu saja pengembang aplikasi harus bekerja lebih keras untuk mengikuti keinginan pengguna tersebut.

Terkadang pada sebuah perusahaan pengembang aplikasi bahkan memiliki personil khusus untuk membuat desain aplikasi yang mudah dan sederhana, istilah kerennya adalah UX (user experience) Designer. Tapi perjalanan tidak berhenti di situ, setelah UX Designer membuat rancangan yang ciamik, belum tentu pemrogram dapat mengimplementasikannya secara menyeluruh karena keterbatasan teknis.

Gambarannya seperti ini. Ketika bekerja dengan File Explorer, seringkali kita ingin menghapus beberapa berkas (file) sekaligus. Awalnya pemrogram hanya menyiapkan perintah untuk menghapus berkas satu persatu, sehingga jika pengguna ingin melakukan penghapusan beberapa juga harus dilakukan satu persatu. Demi memenuhi keinginan pengguna untuk menghapus beberapa file sekaligus, maka yang dilakukan pemrogram adalah:

  1. Menyiapkan antarmuka pemilihan banyak berkas
  2. Menyimpan identitas semua berkas yang terpilih pada variabel penampungan
  3. Membuat kondisi khusus perhitungan jumlah berkas terpilih dan total ukuran berkas jika ada lebih dari satu berkas yang dipilih
  4. Memberikan pilihan centang konfirmasi penghapusan untuk semua berkas terpilih yang hanya akan muncul ketika berkas yang dipilih lebih dari satu
  5. Baru terakhir menghapus semua berkas yang ada pada variabel penampungan

Jadi jangan heran ketika kita sebagai pengguna meminta aplikasi yang lebih sederhana malah proses pembuatan aplikasinya semakin lama. Jelas ada extra mile yang harus ditempuh oleh pengembang untuk membuat aplikasi yang sederhana. Semakin sederhana aplikasi, semakin banyak keruwetan proses yang harus disembunyikan dan diotomasi oleh pengembang.

Repotnya, ketika alasan “sederhana” ini malah digunakan oleh klien untuk meminta harga yang lebih murah. Seperti yang pernah saya pribadi alami beberapa tahun yang lalu,

  • Klien: Mas minta tolong dibuatkan aplikasi lomba & penjurian online yang sederhana aja, cuman peserta bisa upload dan juri bisa input nilai, udah gitu aja sederhana.
  • Aku: Oke, berarti website-nya sudah ada ya bu?
  • K: Belum, ya itu kan sekalian websitenya jadi satu aja biar nggak repot
  • A: terus file video ini kan besar, ini mau disimpan di mana? apakah peserta upload di youtube dulu tinggal input URL-nya?
  • K: oh ya jangan, repot itu nanti. Upload di aplikasinya aja, terus tersimpan di google drive kami. Nanti biar juri-nya lihat di google drive aja.
  • A: oke, semua jenis video bisa di-upload?
  • K: Jangan, hanya jenis MP4 aja. Bisa jadi cepet kan mas?
  • A: Baik ini kurang lebih biayanya 3 juta*, kalau pengen lebih cepet ada charge tambahan 1 juta, jadi total 4 juta.
  • K: lho kok mahal mas? kan cuman sederhana. Wong peserta cuman upload ke google drive, terus juri input nilai. Gitu aja kok.
  • A: itu kalau fiturnya seperti tadi memang sekitar segitu bu.
  • K: Kalau 700ribu aja bisa nggak? Kita maks budget-nya 1 juta udah all-in dengan hosting.
  • A: *tiba-tiba pengen izin ke kamar mandi terus nggak balik lagi*

NB: (1) saat itu belum ada google form (2) nominal harga hanya fiktif belaka, tapi nawarnya beneran kebangetan.