2 poin oleh GN⁺ 2025-09-03 | 1 komentar | Bagikan ke WhatsApp
  • Cara pemilihan waktu di aplikasi Alarm iPhone bukan desain melingkar
  • Dari tampilannya memang terlihat seperti antarmuka berputar, tetapi sebenarnya tersusun sebagai daftar panjang
  • Hal ini membuat pengguna merasa seolah-olah mereka menggulir tanpa ujung
  • Contoh ini mendapat perhatian dari pengembang dan desainer UX sebagai kasus ilusi UI
  • Pemahaman tentang cara implementasi nyatanya bisa menjadi referensi untuk pengembangan aplikasi

Struktur pemilih waktu di aplikasi Alarm iPhone

  • Pemilih untuk mengatur waktu di aplikasi Alarm iPhone secara tampilan terlihat seperti bentuk melingkar (roda putar)
  • Namun, pemilih tersebut sebenarnya diimplementasikan sebagai daftar yang sangat panjang dengan awal dan akhir yang tetap
  • Saat pengguna menggulir, hal ini menimbulkan ilusi seolah dapat terus diputar ke atas atau ke bawah
  • Pendekatan implementasi ini adalah desain untuk memberikan pengalaman pengguna serupa tanpa menerapkan antarmuka melingkar secara langsung
  • Pengembang merancang antarmuka pengguna agar terlihat seperti lingkaran dengan memanfaatkan daftar bergaya gulir tak terbatas

Perspektif pengembang dan perancangan UX

  • Dengan pendekatan ini, daftar sederhana saja dapat menggantikan antarmuka melingkar yang lebih kompleks
  • Pada kenyataannya, di kedua ujung daftar pengguna tidak berpindah ke arah sebaliknya, hanya saja jumlah item daftar sangat banyak sehingga pengguna sulit mencapai batasnya
  • Desain seperti ini memanfaatkan ilusi UI untuk menghadirkan pengalaman yang diharapkan pengguna
  • Ini menjadi contoh bahwa dalam pengembangan aplikasi, hanya dengan implementasi daftar pun manfaat dan kegunaan antarmuka melingkar dapat dicapai

Kesimpulan

  • Pemilih waktu di aplikasi Alarm iPhone memberi efek melingkar dengan cara memutar daftar panjang
  • Ini menunjukkan arah perancangan antarmuka yang intuitif sekaligus efisien bagi pengembang dan desainer UI/UX

1 komentar

 
GN⁺ 2025-09-03
Komentar Hacker News
  • Bug yang benar-benar menyebalkan (atau entah ini fitur) di aplikasi Alarm adalah pengaturan AM/PM baru diterapkan dengan benar kalau kita menunggu dial waktu memantul lalu berhenti. Kalau langsung swipe lalu tekan simpan, pengaturan sebelumnya tetap tertinggal, jadi alarm penting jam 7am bisa tetap tersetel sebagai 7pm dan akhirnya bikin telat masuk kerja
    • Rasanya sekarang bahkan coding menu saja sudah tidak becus. Misalnya di layar daftar utama aplikasi Pengingat macOS, saat memilih menu dropdown waktu, kalau melepas tombol mouse di atas waktu yang diinginkan lalu sedikit menggerakkan kursor ke atas atau bawah ketika animasi kilat masih berjalan, tiba-tiba waktu lain yang terpilih. Ini sama sekali tidak sesuai dengan perilaku yang konsisten di macOS sejak 1984. Sudah saya laporkan sebagai bug beberapa tahun lalu, tapi mungkin memang ada hal yang dianggap lebih penting
    • Setelah beberapa kali kena gara-gara bug ini, saya akhirnya beralih total ke format 24 jam di semua perangkat. Untuk antarmuka yang dipakai setiap hari, UI dial gulir vertikal di iOS menurut saya benar-benar buruk dari sisi kegunaan maupun estetika. Untungnya mereka menambahkan fitur bahwa mengetuk bagian tengah dial akan memunculkan keypad numerik. Cara memasukkan waktu lewat keypad itu dirancang sangat baik dan efisien
    • Saya kira cuma saya yang mengalami ini, ternyata tidak. Selama itu pula Apple tetap tidak bisa membuat alarm yang benar
    • Ini masalah terbesar yang saya rasakan setelah pindah dari Android ke iPhone. Yang lebih bikin kesal, kalau masalah seperti ini diceritakan ke developer atau programmer, responsnya selalu seperti, "memangnya kamu yang pakainya salah?", "apa sepenting itu?" lalu diabaikan begitu saja. (Ya pentinglah, saya juga tidak mau kesiangan, makanya percakapan seperti ini muncul!) Kita digaji lebih dari 100 ribu dolar per tahun tapi bug kecil seperti ini saja tidak bisa cepat diperbaiki, benar-benar bikin frustrasi. Tolong punya sedikit kebanggaan dan berani perbaiki bug sederhana. Meski begitu, dunia ini terus membuat UX makin rumit. Sambil mengagungkan kesederhanaan, UI alarm dan timer dibuat berbeda padahal hanya mirip secara visual, atau event kalender duplikat yang sebenarnya bisa dihapus dengan satu baris regex malah dibiarkan terlihat, atau kontak dengan nama sama tidak bisa ditemukan sehingga prosedur gabung manual disembunyikan, lalu setelah susah payah digabung justru muncul satu event ulang tahun tambahan yang bahkan tak bisa dihapus, dan seterusnya. (Ini pengalaman saya sendiri.) Menurut saya kita semua sedang membuat perangkat lunak jadi lebih buruk. Bukan AI yang merebut pekerjaan karena produktivitas naik, tetapi karena kita menurunkan standar kualitas terlalu rendah. Sekarang bahkan kalau sesuatu tidak ditulis dengan Perl atau Brainfuck saja sudah terasa mengagumkan
    • Itu sebabnya ada fitur alarm tidur/bangun. UI fitur ini benar-benar bagus. Kita bisa mengatur jadwal mingguan, dan saat menyesuaikan waktu alarm, UI jam melingkar juga menunjukkan secara visual berapa lama lagi kita bisa tidur
  • Bahkan 10 tahun lalu, aplikasi alarm smartphone yang bagus tampil seperti ini, lihat UI jam alarm Nokia N9. Ada juga diskusi Hacker News tentang ini
    • Aplikasi Google Clock juga menawarkan fitur serupa. Ada slider di layar utama, pemilih waktu melingkar (meski saya pribadi tidak suka), dan notifikasi toast yang memberi tahu sisa waktu hingga alarm berbunyi. Hanya opsi harian/nonaktif yang tidak ada
    • Aplikasi Clock di Android cukup bagus dan tampilannya mirip aplikasi alarm Nokia N9. Awal tahun ini saya pindah ke iPhone, dan berbagai masalah UI sangat mengganggu. Saya muak dengan dial putar yang lambat, dan sangat merindukan pesan konfirmasi seperti "alarm dalam x jam" yang ada di Android setelah menyetel alarm. Spinner angka terutama benar-benar buruk. Setiap kali harus terus mengatur usia anak di aplikasi Hilton, saya stres karena harus memutar dial angka. Saya tidak paham kenapa iOS punya reputasi sebagai sesuatu yang ajaib, menyenangkan, dan intuitif. Rasanya saya ingin kembali ke Pixel
    • Lucunya, layar pengaturan jadwal tidur di iOS yang diakses lewat aplikasi Health tampilannya sangat mirip dengan jam alarm Nokia N9
    • Smartphone yang benar-benar bagus itu penting. Sangat disayangkan Nokia menyerah berbisnis tepat setelah mengeluarkan produk terbaiknya
    • Banyak anak muda zaman sekarang bahkan tidak bisa membaca jarum jam, jadi kalau menargetkan pasar umum, hal seperti itu juga perlu dipertimbangkan
  • Setidaknya menit/detik seharusnya bisa diatur lewat daftar pendek agar bisa cepat kembali ke 00 sekaligus. Di aplikasi PalmOS bernama BigClock, mengetuk bagian atas tiap digit angka akan menaikkan 1, dan mengetuk bagian bawah akan menurunkan 1, sehingga input jadi sangat cepat dan bisa diprediksi. Tanpa umpan balik visual seperti pantulan scroll wheel pun memilih waktu yang diinginkan terasa mudah. BigClock intro 1, BigClock intro 2
    • Saya cuma ingin ada keyboard saja (keypad di layar juga boleh, keypad fisik juga tidak masalah). Paling banyak empat kali input lalu selesai
  • Aplikasi Clock di iOS benar-benar buruk. Sekarang karena AlarmKit hadir di iOS 26, saya sangat senang akhirnya bisa membuat aplikasi alarm kustom sendiri. Fitur yang sangat wajar seperti "tetap pertahankan alarm berulang, tapi matikan hanya untuk besok" selama ini tidak ada, begitu juga alarm yang terhubung dengan kalender
    • Kalau memakai fitur tidur, fungsi seperti "matikan hanya untuk besok" ini sebenarnya sudah bisa dipakai sejak beberapa tahun lalu alih-alih alarm biasa. Saat jadwal tidur diubah, akan ditanya apakah ingin mengubah seluruh jadwal atau mematikannya sekali saja
    • Fakta bahwa Apple membuka hak pembuatan aplikasi alarm secara langsung terasa seperti lubang besar untuk masalah keamanan
    • Jika memakai jadwal tidur, kita bisa melewati hanya alarm berikutnya, atau mendukung jam bangun berbeda tergantung hari. Semuanya bisa diatur langsung di tempat yang sama dengan alarm biasa
    • Menurut saya tidak terlalu buruk, malah cukup sederhana sehingga bisa dimengerti sebagai aplikasi bawaan
  • Saya penasaran apakah kode ini benar-benar tidak pernah disentuh lagi sejak ditulis, atau justru bertahan bahkan setelah penulisan ulang kode. iPhone lama dulu terkenal bermasalah karena zona waktu alarm kacau atau tidak berbunyi benar saat perubahan daylight saving time Bug alarm iPhone – masalah zona waktu/daylight saving time
    • Ini terpisah dari masalah zona waktu atau aplikasi Clock. Keterbatasan ini tampaknya berasal dari komponen UI level sistem bernama UIPickerView. Aplikasi saya juga punya "bug" serupa
    • Menurut saya ini hasil dari pertumbuhan alami. Awalnya mungkin hanya daftar AZ, tetapi lalu seseorang mencoba membuatnya terasa seperti berputar, dan di level UI solusi termudah adalah mengulang daftar berhingga beberapa kali, jadi cara itu terus dipertahankan. Misalnya, daftar berhingga di HTML sangat mudah dibuat, tetapi daftar tak hingga tervirtualisasi di JS mungkin harus dipindahkan ulang setiap kali framework berganti (misalnya pindah ke SwiftUI)
    • Membuat daftar melingkar tak hingga yang mendaur ulang beberapa komponen yang sama itu terlalu sulit, jadi kode brutal seperti (0..60).times(50).flatten() langsung menyelesaikan 99% masalah dengan 1% usaha. Kalau di QA masalahnya cuma muncul saat menggulir sampai ujung daftar, mungkin baru Product akan mengangkatnya sebagai isu. Siapa juga yang peduli
  • Ini cara hacking yang hebat untuk menghindari pengembangan widget kustom. Tepuk tangan untuk engineer acak itu
  • Cara seperti ini tersembunyi selama lebih dari 10 tahun. Mungkin layak dipikirkan solusi yang sesungguhnya
    • Menurut saya pragmatisme lebih baik daripada perfeksionisme
  • Salah satu hal yang menurut saya menarik adalah timer dan alarm punya implementasi terpisah yang berjauhan. Di alarm, menitnya berputar siklik, tetapi di timer tidak. Saya tidak tahu kenapa antarmuka yang mirip bisa diimplementasikan berbeda. Fakta bahwa ini bahkan bukan benar-benar melingkar juga aneh. Menurut saya ini hanya menambah kompleksitas kode tanpa perlu
  • Karena banyak orang di komentar sini tampak lelah dengan bug alarm iOS, saya ingin meninggalkan satu tip untuk orang serupa. Sharp menjual beberapa jam alarm yang murah tapi lumayan bagus. Dengan 5–12 dolar, Anda bisa bebas selamanya dari bug seperti ini. Bonus terbesarnya adalah perangkat pertama yang disentuh tangan di pagi hari bukan smartphone perusak otak. Secara pribadi model Sharp Twin Bell yang saya beli di Walmart adalah yang paling mahal, dan itu pun hanya 12,63 dolar
    • Saya memakai model yang sama. Fitur terbaiknya, yang tidak pernah saya rasakan di alarm digital lama, adalah kita harus menyetel alarm sendiri setiap malam. Alarm hanya punya sakelar on/off, dan setelah alarm mulai berbunyi kita harus mematikannya lalu baru bisa menyalakannya lagi setidaknya 12 jam kemudian (kalau tidak, bisa-bisa berbunyi lagi jam 8 malam). Jadi rutinitas mengecek jadwal lalu menyalakan sakelar alarm tiap malam menjadi kebiasaan, dan sekarang saya tidak lagi khawatir lupa menyetel alarm untuk hari libur atau jam bangun yang lebih awal. Dan suaranya benar-benar keras, jadi saya belum pernah lagi mendengar alarm lalu tidur kembali
  • Saya benar-benar tidak paham kenapa posisi tombol snooze dan stop di alarm dan timer dibalik. Di satu tempat tombol stop ada di tengah layar, di tempat lain ada di bawah. Kenapa hal seperti ini tidak distandardisasi sangat membingungkan
    • Saat setengah tertidur di pagi hari dan meraba-raba ponsel, ada tombol snooze oranye besar terang di tempat yang sudah familier sehingga mudah sekali tertekan. Untuk benar-benar bangun dan mematikan alarm, kita harus menekan tombol stop abu-abu yang posisinya berbeda, dan hanya itu yang benar-benar menghentikan alarm. Jika snooze dimatikan di pengaturan alarm, maka seperti timer kita bisa memakai tombol stop oranye besar di tengah. Tapi saya dengar desain ini akan dihapus di iOS 26 karena kedua tombol itu terlihat berbeda. Sangat disayangkan kalau hal terpenting pada alarm sekarang justru tampil cantik
    • Kawan, saya benar-benar ingin bilang terima kasih. Bertahun-tahun saya sangat tersiksa karena kurangnya detail kecil seperti ini