Live data from Hacker News

Bug Blindness

danluu.com

121–130 of 274 posts

Re: Bug Blindness

#121
post #65

Earlier quoted context omitted.

I think I can see where you're coming from - and it is true that there are cases of dogmatism as a defense for just sucking at UX - but I violently disagree here. Good UX I believe doesn't mean that the implementation details are hidden, but conveyed in a way that is human-readable. You do not hide the machine from the man, but translate between them in a way that makes neither of them invisible. This makes for bette…

> Good UX I believe doesn't mean that the implementation details are hidden, but conveyed in a way that is human-readable. You do not hide the machine from the man, but translate between them in a way that makes neither of them invisible. This is where skeuomorphism used to be king before computers ate the world. In the 90s everybody knew how a paper book worked, so document readers presented as books. Everyone knew…

Skeuomorphism didn't fail. It feel out of fashion with designers.

We should distinguish between skeuomorphic interaction design and skeuomorphic iconography. Attempts at skeuomorphic interaction design did fail badly, I'll give you that. Document readers that expect you to turn the page by pulling at the edge of the page, mimicking a page turn in a physical book, they're terrible.

But skeuomorphic iconography works: The more detail you add to an icon, the easier it is to form mental associations with what it does - and that goes even if you don't know the original object that it's based on. Sure, a lot of people have never seen the floppy disk that the traditional Save icon is based on, making the icon less intuitive now than when it was designed. But what would you replace it with? Any alternative you might suggest is just going to be less recognisable.

Re: Bug Blindness

#122
Responding to something from the linked Patreon post:

> Blackboard (as well as Epic and SharePoint) are classic examples of software where the user and the purchaser are different and the purchaser basically doesn’t care about the user, so you don’t expect the software to be good and it would be a bit of a surprised if the software didn’t deliver a bad user experience. But it was even more surprising to me that someone working on some of the most reviled software out there could think that the software was widely loved.

I worked briefly at Epic and the attitude there seemed to be more like "yes we know people hate Epic but they're wrong". :P People there didn't think Epic was widely liked!

(The explanations given were basically, 1. people hate Epic because their IT department configured it wrong, if they configured it in a more suitable manner they wouldn't have these problems, and, 2. it's not Epic per se that's the problem it's all EMR software, if you think Epic is bad you should see the competition, they're even worse. I'm not sure that second one is really such a good excuse, but, that was what I remember hearing.)

Re: Bug Blindness

#123
Just a general pitch - please everyone use LLMs more to fix bugs and polish software to make it better for users.

It feels like too much of the benefit from it has been optimising, rushing new features/markets, tripping over ourselves with new processes, vibe coding things just for ourselves. When maybe it could actually make things better for most people using software in their daily lives.

Re: Bug Blindness

#124

Bug: this blog has no max-width. Lines of text will grow infinitely long with width.

To say nothing of this bit of markup, which actually raises an exception in the browser: ` `

Curiously, this makes Firefox display the default favicon (instead of no favicon):

https://github.com/mozilla-firefox/firefox/raw/refs/heads/ma...

Re: Bug Blindness

#125
post #99

Earlier quoted context omitted.

> The world is fully of people who's intelligence What an example of a sentence a person *whose intelligence is lower than you might expect would write. I can only imagine this was intentional.

Could you clarify? Are you using the typo as this basis, or something else?

I'm not the same person, but probably. There are at least two errors in the quoted fragment, though personally I don't think either is especially indicative of a lack of intelligence.

Re: Bug Blindness

#126
> On the topic of Michael's comment, I think it's easy for programmers to not notice ads. Almost all programmers I know use an ad blocker and, in real life, their eyes seem to just skim over ads and not notice them.

How do you write this article and not notice that this should be the topmost example of people adapting to buggy software that doesn't at all work for its users without workaround cognitive hacks?

Re: Bug Blindness

#127
> Who else uses the Shift key to end the screensaver, because in case the event goes through to an actual program it's least likely to do have unintended effects?

Hahaha. Yup. That's me :) Not the screensaver in my case. I leave my desktop "suspended to memory" overnight, and when I come back in the morning / afternoon, to wake it up I press the Shift key.

But, more on the subject, I kinda find it disappointing that the post doesn't try harder to analyze why this happens to the developers. The explanation doesn't feel satisfactory to me.

This was my experience working on a product that was virtually universally believed by its programmers to be of good if not excellent quality, while, in reality it was atrocious. Just to give you a taste of the quality: Jenkins landing page didn't work because it would take too long for it to load and various timeouts that happen when it fails to load would kick in and just mess it up so much it wouldn't have been useful anyways. Jenkins tests were generated from some horror-show templates written in YAML (some RHEL tool, forgot what it's called) and because there was no other way to test what the template generated other than to deploy the new test into the actual Jenkins server, the server was full of dysfunctional "orphan" (no longer tied to any template) tests that were never deleted. The only way to navigate to the test results of the job you were interested in where to memorize the way the templated name would expand into the URI components of the Jenkins job URL, have some other test results bookmarked, and then modify the URL of the bookmarked page to get the URL of the job you want.

The CI/CD team, however, decided to combat this situation by developing their own server which collected data from Jenkins and displayed a table with the most recent results for select jobs. Green and red being used to indicate whether the job succeeds or fails, the table was mostly red most of the time, with some jobs being continuously red for many months.

Initially, I was hired into CI/CD team, but when I remarked on the desperate state of events in CI/CD department... they wanted me fired, but the company was going through acquisition and they wanted a higher headcount, so, they kept me, but transferred into the least relevant department where I would be as useless as possible: the quality control!

My life as SDET (because QA is a curse word nowadays) exposed me plenty to the situation described by the author. The aspects that the author didn't touch on is that programmers working on such a product that I've experienced a lot are:

* Unwillingness to accept that a large proportions of the product is bad. People have this intuition that some parts might be bad. After all, that's why QA exists: they find a few things, things get fixed, and everyone moves on. And this is how it works in passable quality products. But the situation when everything is on fire and is going to hell in due course sounds alarmist to the people who are on fire and are going to hell in due course. After a certain amount of complaints, all further complaints are dismissed.

* Unwillingness to accept the existence of strategic mistakes. The QA simply is not allowed to voice their opinion on product or feature design. The only way a tester can initiate a fix is if they can create a test that illustrates the problem. Saying, for example, that "our error reporting is bad because it's useless to the customer and it cannot be meaningfully reported back to the developers" was dismissed as "nothing to do here" (but, actually, meaning: it's above your paygrade).

I don't believe either of these would've been fixed by "simply pointing out the bug", as the author claims. Our industry came to a particular way of doing things that are pathologically bad. The way QA works is OK-ish, when the product itself is of an OK-ish quality. When the product is really bad, the QA is powerless to initiate a fix. QA isn't trusted enough, and, usually, is perceived as a liability, and furthermore, stuffed with engineers nobody else wants. Unless this is changed, the pathologically bad products (like the Blackboard) will have no hope of ever improving (eventually, they will just die either under their own weight, or replaced by something else).

Re: Bug Blindness

#128
post #27

I think there are two opposite causes here: either an overly-aligned or completely unaligned mental model. For developers, bug-blindness tends to be because their mental model is so close to the system's model that both have the same blind spots, and the developer can't effectively think outside the system (the classic "QA walks into a bar, orders 0 beers, orders -1 beers, orders 0.999 beers" vs "customer walks into…

> On the other hand, a common way for regular people to interact with a system is they just... don't have a model. None at all. Like, they click a thing and see what it does, and if it doesn't do what they expect they shrug and click something else.

I suspect that's part of why fuzzing is so powerful.

Re: Bug Blindness

#129
post #64

Interesting topic, and funny that I personally consider the text width and font size of danluu’s blog to be a “bug”. It is well known that we can read faster with narrower text columns (remember newspaper columns when they were printed on paper). This is why I always read this particular blog with Apple’s Reader mode, which renders the text using larger font and narrower width.

I think this is intentional?

I use Firefox reader, but the same idea. I actually prefer it this way (except I don't like that the reader doesn't support Vi/Emacs navigation...)

For content that is just text, I prefer that the author keeps the styling to the minimum. It makes it easier to do it the way I want it client-side.

Post reply on HN