‹ BackHN Continuity

Thread

Why don't more developers “use the platform”?

297 points · 314 comments · vinhnx

  1. slopinthebag · · focus · HN ↗
    since the author brought up the native <dialog>, developers chose custom implementations of dialogs because they want better accessibility, better focus management, better mobile and touch screen reader support, and more flexibility. adobe's implementation is far more robust and flexible compared to the native dialog, and it's hard to justify "use the platform" when it results in a strictly worse end result.
    1. uhoh-itsmaciek · · focus · HN ↗
      Yeah, that was kind of ignored in the article and it's definitely an issue for some platform features. Date pickers are another one where it's easy to outgrow the native implementation.
      1. DangitBobby · · focus · HN ↗
        I was excited about the native date picker and tried to use it once, only to discover that you couldn't (can't still, I assume) disable dates other than by setting min and max. Every native browser widget I've tried to use doesn't implement the features my clients expect, so I don't use them. People want a better web platform and the only way to get it is JavaScript.
        1. otherme123 · · focus · HN ↗
          But also custom date pickers are the most broken thing you can find everywhere. Browse with a combination of browser/phone the developer didn't test, and you can't pick even the most basic single date. The most blatant are the fancy range pickers, instead of two date picker boxes: I have been pushed to a desktop browser because the mobile renders half of it off-screen, or don't hold open after tapping the start date, or works by dragging but breaks on single taps...
          1. Joker_vD · · focus · HN ↗
            Yep. I've also seen a datetime picker (in a log viewing tool) where adjusting time from keyboard is nigh impossible: you have "12:30:00", with the cursor right after the "30", and want to make it "35", so you press [Backspace] — nope, deleting a digit would make an invalid time, so the component undoes it. You press "5", but inserting yet another digit would also make an invalid time, so the component undoes it. You have to text-select the zero, and then press "5" to overwrite it... and you have to do it digit-by-digit, because you can't replace two digits at once with a single key press. Amazing.

            It's a lose-lose situation, honestly.

          2. DangitBobby · · focus · HN ↗
            They are notoriously difficult to get right. That makes it especially disappointing that the native one doesn't meet the needs of practically any use case I have for them.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.