- Label tanggal relatif di UI web terlihat seperti bahasa manusia, tetapi sering tidak selaras dengan cara pengguna benar-benar memahami tanggal
- Bagi manusia, “yesterday” berarti hari sebelum hari ini dari pukul 00.00 hingga 23.59, bukan sekadar “kurang dari 24 jam”
- Jika tiap implementasi memakai patokan berbeda, bahkan di dalam layanan yang sama tampilan “yesterday” bisa berubah-ubah sehingga keandalan tampilan tanggal menurun
- Cara menampilkan berapa hari yang lalu hanya dengan angka panjang seperti “12 days ago” terasa jauh dari cara manusia secara alami merasakan waktu
- “last week/month/year” juga luas cakupannya dan ambigu, jadi untuk item yang lebih lama dari kemarin lebih jelas jika ditampilkan dengan tanggal yang konkret
Mengapa label tanggal relatif membingungkan
- Ungkapan seperti “yesterday”, “2 days ago”, “a week ago” terlihat seperti ekspresi waktu yang manusiawi, tetapi dalam menilai tanggal sebenarnya tidak cukup presisi
- Khususnya “yesterday” punya makna yang jelas sesuai harapan pengguna
- berarti hari sebelum hari ini
- merujuk pada rentang 00.00 hingga 23.59 pada hari sebelumnya
- berbeda dari rumus perhitungan “kurang dari 24 jam”
- Implementasi komputer bisa menghitung “yesterday” dengan cara berbeda-beda, dan jika tampilannya tidak konsisten bahkan dalam layanan yang sama, pengguna akan makin kurang percaya pada informasi tanggal
Untuk item lama, lebih baik tampilkan tanggal
- Ungkapan seperti “12 days ago” tidak terlalu cocok dengan satuan waktu yang biasanya dipikirkan orang
- “last week”, “last month”, “last year” juga memiliki cakupan luas sehingga tetap ambigu
- Untuk item yang lebih lama dari kemarin, lebih mudah dibaca dan lebih mudah dipercaya jika menampilkan tanggal tertentu alih-alih ekspresi relatif
3 komentar
GitHub sungguhan juga begitu, YouTube juga begitu, saya sangat tidak suka penulisan seperti beberapa bulan lalu atau beberapa tahun lalu. Seperti juga disebutkan di komentar HN di bawah, "1 tahun lalu" padahal sebenarnya bisa berarti 1 tahun setengah yang lalu, jadi terlalu ambigu.
Saya sangat setuju dengan ini. Dari sisi pembuat, kalau ditampilkan sebagai beberapa hari yang lalu memang jadi tidak perlu memikirkan format tanggal yang berbeda-beda di tiap negara, seperti apakah memakai YY.MM.DD atau mmddyyyy dan sebagainya, tapi saya pribadi lebih suka tanggal ditampilkan daripada beberapa hari yang lalu.
Komentar Hacker News
Khususnya, tampilan waktu relatif menjadi terlalu tidak akurat
Di YouTube, “1 tahun lalu” bisa berarti apa saja dari 365 hari lalu sampai 729 hari lalu
Untuk mengetahui mana yang lebih baru dari dua video yang sama-sama ditampilkan sebagai “1 tahun lalu”, harus benar-benar membuka videonya, pergi ke bagian deskripsi, lalu melihat tanggalnya
Saya tidak mau menghitung tanggal di kepala, jadi tampilkan saja timestamp yang tepat
Jangan membuang informasi dalam rentang besar seperti “1 tahun lalu”; tampilkan waktu sebenarnya
“1 tahun lalu” di YouTube bisa berarti 365–729 hari lalu, tetapi di sebagian situs itu berarti 183–548 hari lalu dengan pembulatan ke satuan tahun terdekat, dan di situs lain lagi, hingga 11 bulan dibulatkan dalam satuan bulan lalu 350–548 hari lalu diperlakukan sebagai “1 tahun lalu”
Di tempat lain lagi, dengan kriteria seperti “dalam tahun kalender sebelumnya”, rentangnya bisa dari 1–365 hari lalu hingga 364–729 hari lalu
Video yang diunggah pada 14 Oktober 2021 mungkin sudah 2 tahun lalu, tetapi jika diunggah pada waktu yang lebih malam hari itu, masih bisa ditampilkan sebagai 1 tahun lalu
Misalnya, tampilkan hingga 120 detik lalu, hingga 120 menit lalu, hingga 48 jam lalu, hingga sekitar 61 hari lalu, lalu setelah itu hingga 24 bulan lalu
Tanggal relatif dalam daftar umumnya masih bisa ditoleransi, tetapi masalah tidak diperbarui jauh lebih menyebalkan, dan membatasinya hanya sampai “kemarin” tidak akan menyelesaikannya
Saya ingin merekomendasikan ini dengan lebih kuat
Untungnya, timestamp sering terlihat sebagai tooltip
Misalnya saat melihat versi paket npm, muncul sesuatu seperti “version 5.3.27 was released ‘about a year ago’”; ini waras tidak sih?
Ketika mencoba memahami urutan rilis paket-paket lama untuk menyusun kombinasi pin paket yang kompatibel, 20 paket berurutan semuanya ditampilkan sebagai “sekitar 1 tahun lalu”, sehingga harus membuka tooltip satu per satu untuk memastikan apakah itu versi terbaru
Desain seperti ini sudah melewati batas, dan tampak seperti jenis orang yang sama dengan mereka yang membuat ORM yang memetakan nama tabel tunggal-jamak tidak beraturan
Entah kenapa saya tidak tahu, dan itu cukup berguna
Yang mengejutkan adalah bukan hanya orang-orang seperti itu masih dipekerjakan, tetapi cara bodoh ini sudah menyebar everywhere dari npm hingga GitHub dan CircleCI
Lebih jauh lagi, saya ingin menyingkirkan timestamp relatif yang dibulatkan seperti ini sama sekali
Aplikasi iOS Mail khususnya sangat menjengkelkan
Saat dibuka, tertulis “baru saja diperbarui”, tetapi ketika ditarik untuk refresh, email belum dibaca yang diterima 2 jam lalu tiba-tiba muncul
Tampilkan saja waktu tepat kapan diperbarui
Kalau tidak melihatnya dalam satu jam, ia langsung menjadi tidak akurat dan yang terlihat hanya “1 jam lalu” atau “2 jam lalu”
Bisa saja kita benar-benar perlu tahu persis kapan suatu notifikasi masuk, tetapi sama sekali tidak ada cara untuk memeriksanya
Tampilkan saja jamnya; saya bisa membaca jam
Jika hari ini, hanya jam yang ditampilkan; selain itu, tanggal dan waktu lengkap ditampilkan
Jika menggunakan waktu absolut, browser dapat menampilkannya sesuai format preferensi pengguna
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ti...
Desainer web ingin situs memiliki tampilan tertentu hingga tingkat piksel, dan kontrol tampilan di sisi klien mengganggu itu
Masih bisa dilakukan, tetapi situs web tidak akan dirancang untuk tujuan seperti itu atau secara aktif membantu
Pada contoh, output iOS/Safari terlihat seperti tidak ada tag
Yang paling merepotkan dari tampilan tanggal yang samar terutama adalah saat hari dalam minggu menjadi informasi terpenting
Misalnya saat melihat riwayat GitLab, mengetahui apakah sesuatu digabung pada hari Jumat jauh lebih berguna daripada “minggu lalu” atau “2 hari lalu”
Untuk riwayat chat juga, jika mendekati batas pergantian bulan, bisa jadi penting apakah percakapan terjadi sebelum atau sesudah awal bulan
Dalam kasus lain pun, secara pribadi tanggal yang tepat lebih baik daripada apakah itu 4 minggu lalu atau 2 bulan lalu, dan memberikan tanggal yang tepat juga tidak mengurangi informasi
Sulit membayangkan situasi ketika tanggal yang samar lebih berguna daripada tanggal yang tepat
Di GitLab, jika mengubah pengaturan, Anda bisa memakai waktu absolut alih-alih waktu relatif
Contoh: October 14, 2023 11:51AM
https://docs.gitlab.com/ee/user/profile/preferences.html#sho...
Untuk perangkat lunak berbasis browser yang sering dipakai, saya sangat merekomendasikan menerapkan hal seperti ini
Ada aplikasi yang mengambil informasi dari database lain, memformat ulangnya, lalu menampilkannya kepada pengguna; biaya pembaruannya besar dan memakan waktu lama, jadi pengguna harus menjalankannya secara manual saat diperlukan
Dalam kasus ini, waktu persis pembaruan terakhir tidak terlalu penting; yang penting adalah seberapa lama data itu sudah tidak diperbarui, yakni seberapa besar kemungkinan data itu sudah menyimpang dari sumber aslinya
Sebagian informasi perlu di-refresh meski baru beberapa jam berlalu, tetapi sebagian informasi lain tetap baik-baik saja meski sudah lebih dari 4–5 hari, sehingga tidak perlu melakukan pembaruan yang bisa memakan waktu hingga 10 menit
Untuk tujuan ini, menampilkan perkiraan usia data lebih berguna daripada waktu pembaruan terakhir, dan pengguna tidak perlu menghitungnya dengan membandingkan dengan waktu saat ini
Namun ini kasus yang jarang, dan dalam kebanyakan kasus tanggal relatif yang samar kurang berguna
Misalnya “berakhir sekitar 4–5 jam setelah komentar ini”, “sudah diperbaiki dan mulai menjalankan eksekusi berikutnya sekitar 15 jam setelah komentar ini”
Aplikasi terburuk yang saya pakai dalam menampilkan timestamp secara keliru adalah gitg
Lihat screenshot ini
https://ubunlog.com/wp-content/uploads/2018/06/git-gui-gitg....
Beberapa commit ditampilkan sebagai “3 hari lalu”, yang hanya sedikit lebih baik daripada tidak ada informasi sama sekali
Kita tidak tahu apakah itu pagi atau sore, apakah semuanya terkumpul dalam satu jam atau tersebar sepanjang hari
Saat saya gagal mencatat jam kerja untuk klien dan harus menghitungnya seminggu kemudian, informasi seperti ini penting, sehingga saya harus mengklik commit satu per satu dan memeriksa timestamp di sisi lain layar
Bukan hanya menampilkan “beberapa hari lalu”, tetapi juga mencoba menampilkan item yang menurutnya penting di bagian paling atas
Akibatnya dua daftar yang sebagian isinya duplikat tercampur, dan kengeriannya jadi dua kali lipat
https://alesnosek.com/blog/2017/01/02/git-getting-the-timing...
Tampilkan saja keduanya
“1 jam lalu (15:47)”
“minggu lalu (MON 12 SEP 9:20)”
“2 tahun lalu (WED 14 APR 2021 11:47)”
Format tanggalnya terserah selera
Orang yang ingin melihat lebih rinci tinggal mengarahkan mouse ke tanggal relatif tersebut
Beberapa tahun kemudian, wawancara pengguna mengungkap bahwa garis bawah ala hyperlink saja tidak membuat pengguna berpikir “saya harus mengarahkan mouse ke sini”, jadi banyak yang saya kembalikan
Sekarang emoji dan layar beresolusi tinggi sudah umum, saya penasaran apakah memberi petunjuk tooltip dengan ikon tanda tanya atau kaca pembesar yang mencolok sudah cukup bagi pengguna yang lebih tua atau kurang mahir
Tahun juga harus disertakan
Terlalu sering forum web hanya menampilkan tanggal komentar seperti “5 Jul”, lalu baru belakangan saya sadar komentar itu ternyata berasal dari beberapa tahun lalu
Sekarang saya tidak lagi memercayai tanggal tanpa tahun, dan kalau tahun tidak terlihat sejak awal, saya akan mencari cara untuk menemukannya
Ada forum yang saya kunjungi beberapa kali seminggu dan umurnya sudah 20–30 tahun, jadi tanggalnya ditulis seperti 08/11/02, 09/03/04, dan itu sangat membingungkan
“1 tahun lalu” mungkin tidak cukup akurat, tetapi “11 bulan lalu” biasanya cukup
Saat mengimplementasikan fungsi seperti ini, saya cenderung menghindari angka 1
Misalnya menampilkan “6 hari lalu” alih-alih “1 minggu lalu”
Jika disimpan di tempat seperti Google atau web.archive.org, kecuali labelnya dihitung di sisi klien, waktu relatifnya bisa menjadi berdasarkan tanggal pengindeksan
Di arsip, JavaScript juga kemungkinan besar tidak bekerja dengan benar
Selain itu, agar tanggal ditampilkan dengan lebih aksesibel, patut juga mempertimbangkan penggunaan tag
timedan atributdatetimehttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/ti...
Saat ini di browser belum jauh berbeda dari tag
span, tetapi tidak ada ruginya membuat halaman web lebih kompatibel dengan masa depan