4 poin oleh GN⁺ 2023-10-15 | 3 komentar | Bagikan ke WhatsApp
  • 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

 
cosine20 2024-12-02

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.

 
budlebee 2023-10-17

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.

 
GN⁺ 2023-10-15
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

    • Rasanya seperti para desainer UI berkumpul mengadakan kontes serangan mikro GUI untuk menyiksa pengguna, lalu tren “N hari lalu” menang dan menyebar everywhere
      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
    • Yang lebih menarik, tiap situs punya kriteria pembulatan yang berbeda
      “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
    • Sekarang Oktober 2023, jadi video yang diunggah pada November 2021 tidak boleh muncul sebagai “1 tahun lalu”; seharusnya “hampir 2 tahun lalu
    • Meski tanggalnya sama, jika waktunya lebih malam, nilainya dibulatkan ke bawah
      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
    • Ketidakakuratan bisa dikurangi dengan memastikan angka pertama tidak menjadi 1 dan beralih ke satuan yang lebih kecil
      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

    • Ternyata YouTube memang punya tooltip juga
      Entah kenapa saya tidak tahu, dan itu cukup berguna
    • Itu bukan tidak waras, melainkan sekadar bodoh, atau paling baik pun tidak tahu apa-apa sampai tingkat inkompeten
    • Orang-orang yang melakukan hal seperti ini pada alat untuk pengembang itu inkompeten sampai tingkat kriminal
      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

    • Timestamp konyol pada notifikasi bahkan lebih buruk
      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
    • Salah satu kelebihan Thunderbird adalah masih menampilkan tanggal dan waktu yang tepat
      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...

    • Impian web di mana server hanya mengirim data dan klien memilih cara menampilkannya sudah benar-benar mati
      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
    • Saya tidak tahu seperti apa tampilan yang benar-benar dilihat pengguna rata-rata
      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

    • Saya anggota tim GitLab
      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...
    • Saya membuat skrip Greasemonkey yang mengganti label waktu Jira yang tidak berguna menjadi tanggal lengkap yang menyertakan hari dalam minggu
      Untuk perangkat lunak berbasis browser yang sering dipakai, saya sangat merekomendasikan menerapkan hal seperti ini
    • Dalam kasus yang sangat khusus, tanggal yang samar bisa berguna
      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
    • Saat menyampaikan waktu dalam waktu dekat kepada orang-orang di berbagai zona waktu, waktu relatif 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

    • Screenshot itu adalah salah satu alasan penting mengapa tanggal lengkap selalu diperlukan
    • Outlook webmail juga cukup buruk
      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
    • Timestamp git disesuaikan dengan zona waktu lokal masing-masing developer dan tidak diverifikasi, sehingga dalam pengembangan global ini bisa menjadi lebih sulit
      https://alesnosek.com/blog/2017/01/02/git-getting-the-timing...
    • Mengejutkan bahwa sepertinya tidak ada cara untuk mengatur gitg agar selalu menampilkan tanggal dan waktu lengkap
    • Cara tampilan dalam screenshot itu, jika ada regulator industri, layak menjadi kandidat pelanggaran profesi
  • 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

    • Di frontend, pendekatan yang berguna adalah merender waktu relatif di halaman, lalu menaruh timestamp aktual atau format tanggal di tooltip
      Orang yang ingin melihat lebih rinci tinggal mengarahkan mouse ke tanggal relatif tersebut
    • Dulu saya menaruh informasi waktu dan tanggal yang tepat di tooltip, dengan anggapan “pengguna yang membutuhkannya bisa menemukannya tanpa membebani UI”
      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
    • Kenapa tidak cukup menampilkan tanggal saja?
  • 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

    • Tahun harus ditulis 4 digit
      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 time dan atribut datetime
    https://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