by roosgit on 9/21/24, 7:36 PM with 400 comments
by remus on 9/22/24, 12:30 PM
I suspect this is why small teams with strong ownership can be so effective. If you feel ownership of a thing then you feel users' pain when they hit these little paper cuts, and it becomes a point of personal pride to fix these things and make the UX as smooth as possible.
by xyst on 9/22/24, 2:30 AM
You would think FAANG would have a half decent UI and UX with the amount of money they have. But anybody that has used Amazon.com or AWS, GCP, or even Azure would beg to differ.
Personally, off the top of my head. The most polished UI/UX has to be “mcmaster.com”. I can find anything I need in what seems like a couple minutes.
Compare this to big box stores like “Home Depot”, “Lowe’s”. I can spend 10-15 minutes just trying to find the right size of screw, board, or whatever using their bloated sites. On mobile it’s even worse.
by ddtaylor on 9/21/24, 11:07 PM
<label>
Foo
<input>
</label>
by aetherspawn on 9/22/24, 2:42 AM
Engineers should get the time to “sand” their products, but we just don’t. If QA doesn’t make a ticket for the space between, it’ll never get fixed.
The customer probably notices this kind of a thing but it’s a miracle if the customer bothers to report it, and another miracle if it eventually turns into a ticket, and another miracle if someone prioritises it enough to spend time fixing it.
[In fact most companies have such opaque issue boards that as a customer I get so frustrated when I find a small issue or bug and have to spend like 50 hours back and forth to prove it’s a bug and actually get a ticket put in the tracker.]
by pentagrama on 9/21/24, 11:39 PM
To the author I will add that that radio button is not following the convension of a dot for the selected state instead of a check. Users may think at first sight that multiple/no selection is possible.
by aaronkaplan on 9/23/24, 6:57 PM
Is UI construction inherently that complex, or have we just not found the right programming model yet? Is it unreasonable to wish that sometimes things would just look and work the way I intended on the first try?
by two_handfuls on 9/22/24, 3:36 AM
Or have a highlighted button but the enter key doesn't activate it.
Or there are three different menus all behind a different symbol (ellipsis, hamburger, kebab).
There is a lot of variance in quality. Those of you who polish your UI: you are appreciated. Truly.
by wmil on 9/23/24, 10:29 AM
by dexwiz on 9/21/24, 9:40 PM
It’s good to know those tests cases to start, but random testing quickly outpaces planned testing when trying to find small issues. Also planned testing is often happy path or expected errors. Sanding like this finds edge bugs much faster.
by DustinBrett on 9/22/24, 12:45 AM
by bbor on 9/21/24, 10:43 PM
It’s kind of a QA tactic in a sense
It's not kind of a QA tactic, this is literally the definition of QA. Specifically, this post is about ad-hoc functional testing. Kinda funny how this kind of testing used to dominate, but in the era of CI/CD, dedicated QA departments, and fancy webdriver suites, we've flipped too far the other way, and developers need to be reminded to QA their own stuff!I think we've all learned the hard way that nothing works until it's been fixed, no exceptions... no code comes off the dome flawless.
by webprofusion on 9/22/24, 8:48 AM
However, not every developer will craft a great UI just given time, I've seen some truly inspired monstrosities.
by efitz on 9/23/24, 4:44 AM
I also usually spent a few minutes in each UI page doing a test I called “spaz clicking” which, just like it sounds, consisted of just randomly clicking as fast as I could and moving the mouse around. Surprising how many bugs you’d find that way.
by youssefarizk on 9/22/24, 1:10 PM
I guess this is true if you're doing something in a not so saturated field, but understand that if you're in a saturated space, you probably do need the design to be natural os as to set yourself apart.
by mdavid626 on 9/22/24, 11:51 AM
by smokel on 9/22/24, 7:05 AM
I see many developers get caught up in rituals, and polishing (and monkey testing for that matter) seem to go against a reproducible approach, and are therefore frowned upon and even ignored. Still, it is a much more powerful technique to get something both working and user friendly.
Investing in developers to spot that something is 3 pixels off, or the basic idea that different users have different tastes, can be very productive.
by perfunctory on 9/22/24, 2:40 PM
by socialentp on 9/22/24, 1:21 AM
It’s where much of the beauty and craft of something is developed. It requires a craftsperson to not just “call it done and move on”, but instead to be intrinsically motivated to spend time with the creation intimately, rolling it around in your hands/brain. Guiding a vine here and there, plucking a leaf or two… until it ‘feels’ right.
by d_burfoot on 9/22/24, 2:03 PM
by ChrisMarshallNY on 9/22/24, 1:33 AM
TestFlight records how many sessions I run, on the release-ready app. I use TestFlight from very early on.
It always shows thousands of sessions for me. The next-highest tester is often only tens or hundreds.
But that number is dwarfed by how many sessions I run in the simulator.
It tends to result in apps that folks like using.
The biggest danger is that I get so familiar with the UI, that I don't understand its [lack of] discoverability for those unfamiliar with it. I can easily design inscrutable UI.
by bhy on 9/22/24, 5:55 AM
by ivanjermakov on 9/21/24, 10:15 PM
by pennomi on 9/22/24, 1:49 PM
by jamamp on 9/21/24, 9:34 PM
However, wouldn't putting the input inside of the label (before the label text) be a better solution than fiddling too much with CSS and flexbox? It's more foolproof to ensure clicks within the label activate the input, and eliminates the need for the "for" reference.
by dcre on 9/22/24, 12:03 AM
by tracker1 on 9/23/24, 6:23 PM
<label>
<input ... />
<span>Some text...</span>
</label>
When you do it this way, the label doesn't need to be mapped to the id for the input, it's implicit. Also, it allows easier adjustments to the characteristics of the checkbox/radio input via CSS.You do want an inner <span> if you want to stylize the input control as an inline-block depending on your needs. For general use, with the native controls, the inner span isn't necessary, I still prefer it by convention.
by thex10 on 9/22/24, 12:39 AM
by christophilus on 9/22/24, 1:27 AM
by wruza on 9/22/24, 2:33 PM
<radio>foobar</radio>
<radio mark=end>foobar</radio>
and allowing a mark pseudoelement to participate in alignment? Or at least forcing everyone to use the input-in-label variant? Nobody.But they split it, and now people without clear understanding how ui should work do it wrong by design and invent Monte Carlo methods to check if it works.
And it seems some crappy screenreaders don’t even recognize the proper form of it, adding salt to the cut.
by kmoser on 9/21/24, 10:29 PM
- If you think you've found all the bugs, look again.
- If you think you've just fixed a bug, test again.
- If you think your program is done, you're wrong.
by razodactyl on 9/22/24, 1:58 PM
by dclowd9901 on 9/22/24, 4:10 PM
by Sardtok on 9/22/24, 2:58 PM
I've come across the reverse scenario quite a few times, where the label isn't clickable, but this variant was new to me.
by dmd on 9/22/24, 1:10 AM
by AlienRobot on 9/21/24, 11:32 PM
by invaliduser on 9/22/24, 4:38 AM
It seemed a pretty big deal to me, specially because I always clicked on the gap, and got frustrated and angry at this. So I reported it to the UX team managing the design system, and to the developers implementing the design system, and nobody really cared. Some people even tried to convince me this behaviour was OK (because other design systems worked that way too, or because they were planning to refactor this on the far future so they didn't want to spend time on this).
I think the industry is now filled with people that just don't care, specially on big companies where, if it's not in a ticket, and if the ticket is not prioritized as critical, nobody cares. All they care about are metrics (test coverage, line count of a function, whatever). Pretty sad actually.
by dewey on 9/21/24, 10:06 PM
I once spent hours debugging this before I realized what was happening, my confusion coming from the fact that with the inspector open that wasn't the case (As there the scrollbar was always visible...).
by sdflhasjd on 9/21/24, 11:31 PM
by babyshake on 9/23/24, 6:55 AM
by djsamseng on 9/22/24, 3:27 PM
I’d take this with a grain of salt (pun intended). There’s a lot of bugs that you cannot reproduce without certain permissions or a particular environment. Let alone the race conditions or user setup. In my experience, most bugs would not have been uncovered using this brute force approach. A few tests using your understanding of the code and critical thinking goes a lot further in my opinion.
by defanor on 9/22/24, 6:18 AM
by throwaway14356 on 9/22/24, 4:25 AM
Drawing a box around the radio buttons is perhaps not modern but it may make the form more usable.
The title or description of the element should not be the same as the options.
The 4 times might belong in two or more groups. This is something to dwell on, make a few mockups then most likely it shouldn't be used. If it doesn't jump out as amazingly useful restore normality.
consider lining up the time so that the :'s sit in a line. Try put the PM in a collum too. Maybe there should be AM as well.
Keep doing useless experiments until you strike gold. It should be really hard to beat default form elements (unless it is iphone)
Your truly fantastic 1000 line text input should most likely be deleted.
the example animation probably has insufficient line height. The user shouldn't have to aim that much.
by ehnto on 9/22/24, 6:23 AM
by raminf on 9/22/24, 1:30 AM
Totally paid off.
Working on another app now. Sweating the details on the 'watercourse way.' That first experience is critical.
by someoneontenet on 9/21/24, 10:56 PM
by donatj on 9/22/24, 3:27 AM
by MBS680 on 9/26/24, 7:51 AM
by Retr0id on 9/21/24, 10:46 PM
by jbverschoor on 9/21/24, 11:06 PM
by wheresmycraisin on 9/22/24, 1:20 AM
by tikkun on 9/21/24, 10:29 PM
by jwr on 9/23/24, 4:01 AM
by gaborme on 9/22/24, 12:43 PM
by 4b11b4 on 9/22/24, 1:54 AM
Just recently have done quite naturally the same thing... Expand the clickable surface area of a region
by wordofx on 9/22/24, 2:50 AM
Bootstrap changing this in v4 is no excuse to not do it.
by timzaman on 9/22/24, 2:35 AM
by jeffreygoesto on 9/22/24, 7:18 AM
by anybodyhome on 9/22/24, 8:14 PM
by ants_everywhere on 9/22/24, 1:28 AM
This tends to produce experiences that are very smooth for a large group of people but fail really badly for anyone who is slightly different. Most Apple stuff feels like this to me, for example. It's like carving a polished stone path where any direction you step off the path is raw and jagged.
by psadri on 9/23/24, 4:14 PM
by quirino on 9/21/24, 10:13 PM
On Spotify the three little dots to do some action to a song have too small of a hitbox. Press even the slightest bit under the button and it will start playing the song. You'd never click there to play the song.
When you consider the scale of these apps, there must be so much combined annoyance.
by whalesalad on 9/23/24, 4:52 PM
by snegrus on 9/22/24, 5:40 PM
by ImHereToVote on 9/22/24, 11:30 AM
by fitsumbelay on 9/21/24, 10:05 PM
by paxcoder on 9/22/24, 9:44 AM
by VeejayRampay on 9/22/24, 6:56 PM