Judulnya syerem, programmer gitu. Programmer adalah orang yang merancang acara tv dari subuh sampai balik subuh lagi yang mentranformasikan barisan kode menjadi sebuah program yang bisa dipahami dan memudahkan hajat hidup manusia. Terus bagaimana mereka berempati? Bukankah programmer cuma hidup sama laptop doang, mereka aja jaring sosial sama orang lain, apalagi pas banyak deadline, kelihatan banget egoisnya, have no life nya. Ya begitulah, hectic nya seorang programmer, lha wong 2 minggu aja kudu jadi program yang kece, 2 MINGGU! Kapan punya hidup?
Ya kalau cuma memandang dari satu sisi ya, programmer itu kaya orang yang super egois dan nggak punya waktu selo, mereka betah seharian pacaran sama laptopnya. Soalnya laptop nggak pernah ngambek sih, nggak kaya kamu, iya kamu *nunjuk orang yang suka ngambek*. Sebenernya, dalam dunia persilatan programmer, ada istilah human computer interaction (HCI) atau bahasa arabnya dikenal dengan interaksi manusia dan komputer, yakni bagaimana cara program itu berinteraksi dengan komputer, misalnya saja bentuk interaksi tambah teman di BBM, kalau dulu harus ngetik, ini tinggal scan barcode aja, gampang kan? Itulah salah satu interaksi manusia komputer. Nah, dalam HCI tadi, ada istilah lagi, yakni UI dan UX. UX atau user experience, UX ini ibarat sebuah makanan adalah rasa. Bagaimana rasa makanan yang kita makan? Kalau enak ya kita makan lagi asal punya duit. Kalau enggak ya tanya sama empunya yang buat, kok bisa nggak enak gitu? Apakah anda jomblo kurang bumbu atau terburu-buru bikinnya? Sedangkan UI, adalah user interface, yakni ibarat makanan adalah tampilan luar a.k.a tampilan saat penyajiaan. Misal saja penyajian terong penyet, kalau ditaruh dibaskom ya nggak kece lah, mending ditaruh di piring ceper gitu. Sekarang paham kan apa bedanya UI sama UX? udah paham aja! Tapi aku enggak bahas UI sama UX, lain kali aja aku bahasnya, entar nggak cukup waktunya.
Nah, yang ingin aku bahas adalah UCD a.k.a user centered design. Apa itu UCD? UCD adalah sebuah model pendekatan yang
mempertimbangkan kebutuhan user(pengguna)
secara keseluruhan dalam proses pengembangan, dan bertujuan untuk memastikan
bahwa produk akhir dapat diterima secara baik. Dari definisi tersebut, dapat kita ambil hikmah ketahui bahwa dalam pengembangan sebuah produk, yang namanya pengguna adalah hal utama yang harus kita perhatikan. Sekeren apapun program di mata developer, sekece apapun program, dan serumit apa algoritmanya, tapi kalau pengguna enggak suka ya sama aja, Toh, endingnya yang pakai juga user kan? Apa mungkin kita bikin program cuma buat kita sendiri? Enggak lah! Kita juga harus berbagi.
Udah tahu to maksud judulnya tadi?
if (tahu) goto(nextStep);else return homepage;
Jadi, kalau bikin program, aspek pertama yang harus diperhatikan adalah pengguna, siapakah pengguna kita kelak? Apakah pengguna benar-benar butuh program kaya gini? Apakah pengguna nanti bisa tahu kalau aku naruh tombol disini? Apakah pengguna mau membukanya setiap saat? ..dst. Banyak banget pertimbangan yang muncul saat kita develop apps, ya asyiknya bikin aplikasi ya disitu gaes. Yang jelas, kita harus berempati dengan user, kita harus tahu kebutuhan user, harus tahu layout terbaik supaya user dengan mudah mengoperasikan program. Semua itu dapat kita penuhi apabila kita mau berempati dengan user. Kebanyakan developer muda (newbie) itu justru melupakan tujuan akhir program (front end user). Mereka kebanyakan terjebak dengan paradigma bahwa program yang baik adalah yang memiliki algoritma rumit, banyak fitur, serta bisa ini itu. So, start from now, stop thinking about that! Program yang baik itu program yang berguna bagi user, program yang tahu kebutuhan user. Nggak harus banyak fitur, yang penting simpel dan mengena. Yang penting user merasakan manfaat dan mau buka terus aplikasi yang kita bikin.
Siapa bilang programmer enggak bisa berempati? Justru programmer itu berempati mendalam banget, :) Nggak cuma program aja yang diperhatiin, kebutuhan pengguna juga diperhatiin banget kok, udah gitu semicolon aja diperhatiin, apalagi kamuuuu *kaaaaaammmmm aaar mandi*.
Hehe, udah ya, capek nulisnya, besok kita bahas aspek UCD ya.. dari usability sampai portability.. besok, iyaa besookkkkkk.....