Live data from Hacker News

Sanding UI

blog.jim-nielsen.com

351–360 of 414 posts

Re: Sanding UI

#351
Before I started in infosec I was a software tester for a year in the mid-90s. We called this kind of testing “monkey testing” and usually spent some time on it because it turned up lots of bugs, both code bugs and design/usability bugs. One time I delayed our product’s launch by a day because I found a crashing bug in the “about” dialog (missing handler for keyboard shortcut).

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.

Re: Sanding UI

#352
post #251

Earlier quoted context omitted.

> I agree that it's not agile, it's the environment that led to agile/scrum being adopted: not that it leads to better products, but that it gives management more control over every decision of how time is spent. essentially they can arbitrarily reduce the time/budget you have, and hire standard code monkeys, etc, to get something made. This is the exact opposite of agile. Direct from the Agile Manifesto: > Build pro…

may I refer you to Karl Marx? Communism is perfect, it's just been implemented wrong.

If somebody says “be agile; do A, B, and C for better software engineering”, and you do not A, not B, and not C then complain about how terrible agile is, the problem is not with agile. You did something different to agile and got different results, so why are you blaming agile for your own failure?

It is, in fact, possible to implement agile wrong – by doing the exact opposite of agile. This is not a rhetorical trick you are catching people out on.

Re: Sanding UI

#353

Earlier quoted context omitted.

I wonder what’s the most polished or “sanded” UI out there? Windows 2000. Everything newer has been slowly downhill.

I really wish we had something resembling a "native" UI toolkit, but for the web. Just throw together a couple s or es with absolutely zero additional JS/CSS, but have it actually look & work moderately decent, the way SwiftUI does. CSS is too powerful, OOB HTML is too basic/ugly.

We do have a native toolkit for the web. You put a down, the browser will render a button.

But then some people don't like the button: it's not animated enough for them, the corners aren't rounded enough, the button is too skeumorphic, or not skeumorphic enough, there is too much / not enough white space, etc etc. Everyone has a different idea of what the new button should look like, and we're immediately back to fragmentation.

There are financial incentives to seeming trendy and new, and that requires constant change. The standard may be sturdy and steady and not require three hundred npm packages, but it will never, by definition, look trendy or new.

Re: Sanding UI

#354
It has also become quite easy when sanding a UI to provide code to an LLM and describe something like a click deadzone and it can usually fix it immediately without you needing to investigate it. The missing piece is really just the glue between the browser, coding environment and LLM. I know a bunch of YC startups are working on this but nothing has really worked well for me. Please recommend anything you are using that does in fact provide this type of glue...

Re: Sanding UI

#355
post #307

Earlier quoted context omitted.

I really wish we had something resembling a "native" UI toolkit, but for the web. Just throw together a couple s or es with absolutely zero additional JS/CSS, but have it actually look & work moderately decent, the way SwiftUI does. CSS is too powerful, OOB HTML is too basic/ugly.

Bootstrap started as something like this, but it both evolved too quickly IMO, and for some reason a generic look on the web is considered bad (by who? marketing? designers? even users as they think lack of distinctive style means lack of developer skills?)

> Bootstrap started as something like this [...]

Exactly, and meanwhile relied on jQuery until the most recent major release (3 years ago).

Once you're starting with one framework (no matter how "lightweight"), you can't gradually introduce a different one that better fits your problem domain, you usually have to rip it out & redo at least some parts.

> [...] for some reason a generic look on the web is considered bad [...]

Yeah it is bad. I won't go into specifics but it's horribly bad, and the sheer amount of CSS frameworks out there is evidence enough.

But the main problem isn't even that it looks (&works) ugly, it is also lacking/incomplete as a basic UI toolkit. How long did we wait to have a standardised date picker? Color picker? Where's the progress bar? Context menu? Tab bar? Icons with labels, representing files/objects? Half the other stuff we've had figured out in the 1980s and considered absolutely necessary by 90s?

Fire up Borland Delphi Builder from the 90s and marvel at how easy it was to stitch together a simple UI that looks decent next to every other app that ran on your computer. JS is ~30 years old, and we've been building web apps even before that, there was plenty of time to match it - but we've spent it on churning through frameworks instead.

Re: Sanding UI

#356

It has also become quite easy when sanding a UI to provide code to an LLM and describe something like a click deadzone and it can usually fix it immediately without you needing to investigate it. The missing piece is really just the glue between the browser, coding environment and LLM. I know a bunch of YC startups are working on this but nothing has really worked well for me. Please recommend anything you are using…

I love using https://aider.chat/ When you say glue between the browser though not sure if you're looking for something to automatically watch your browser's behavior. For now you can just pass screenshots to aider through the clipboard

Re: Sanding UI

#357

I generally wrap my radios inside of the label for this reason. Is there a reason not to do that?

You can't style the label based on input state if you do that. If you instead order them like input + label, then you can style the label with selectors like input:checked + label.

you can, with the power of :has!

label:has(input:checked) { background-color: orange; }

Re: Sanding UI

#358

This is so lost in Agile. 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. […

You guys have QA?

Re: Sanding UI

#359
post #80

I wonder what’s the most polished or “sanded” UI out there? 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 l…

My biggest issue with mcmaster's website is that it doesn't provide any sort of navigation hierarchy - if you go into, say, the "rounded head screws" subcategory, there's no option to get back to the general "screws" category besides the browser's navigation buttons.

IMO the biggest issue used to be that it wouldn't tell you the shipping cost until after you ordered. A few years ago they fixed that, but it still only gives you a total cost and doesn't tell you how your ordered is split into different shipments.

Re: Sanding UI

#360
I don't understand why putting the inside the is so unpopular. It completely avoids these problems and you don't need to come up with a unique id to use with 'for'.
Post reply on HN