Bug Blindness
65 points by davidmckenna 3 hours ago | 26 comments

encomiast 2 hours ago
I had to give up when the first example of a "bug" that the author could see, which others are blind to, was search results.

"In some cases, people sent me their actual search results. In every such case, the search results did not contain a good result that I could see"

Software that does not meet expectations, especially in a field like search, which is basically a long running war between SEO and search engines, is not a 'bug'. That's like saying there is 'bug blindness' in the publishing industry because when I pick up a random book, it sucks, even though others think it's fine. Sure, maybe something is wrong, could even be improved, but lets save the word 'bug' for something more specific.

reply
aesthesia 48 minutes ago
Later in the article he uses "quality blindness" instead, which is probably a better description of most of the issues he talks about.
reply
sgentle 11 minutes ago
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 a bar, asks where the bathroom is, bar immediately bursts into flames").

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. The horror of seeing a non-software person using a software system is realising that they usually cannot tell the difference between expected and unexpected behaviour, because they don't really form expectations in the first place. The computer is more genie than machine.

You can see this in the article: "Google Docs added some kind of delay such that the typing you do into the title box right after you open the doc gets overwritten". That's a developer forming a model of the system. The lay alternative is to simply learn that sometimes when you type in a box, the text appears. Other times, it doesn't. If it doesn't, you try again.

You don't need to understand the system if you abandon the assumption that the system was designed to be understood. And, in practice, the widespread plagues of shitty engineering, anti-features, and lack of respect for the user often combine to make that model the more information-theoretically optimal one.

In that sense, the very thing that makes us miserable is our perverse need to treat Google Docs as an engineered product rather than a cross between a djinn and a symbiotic fungus.

reply
sidewndr46 2 hours ago
This is rather interesting to read. But it reinforces something I've seen in my career. The majority of users of software I've helped build, they use it in ways that are mind bending to me. Workflows I would never think of, that somehow do what they need.

The second one is most software contains bugs. Users that expect to get things done simply choose workflows to avoid the worst consequence of those bugs very quickly.

reply
asimilator 2 hours ago
> The second one is most software contains bugs. Users that expect to get things done simply choose workflows to avoid the worst consequence of those bugs very quickly.

I feel like a substantial source of everyday irritation are bugs like this in bad software. It’s frustrating that devs just don’t care.

You could make software that doesn’t require your users to work around its shortcomings.

reply
sublinear 17 minutes ago
> You could make software that doesn’t require your users to work around its shortcomings.

If the users are missing the mark so bad that they're wiping their asses with suede, I'd argue the documentation and examples are at fault.

reply
moyix 14 minutes ago
Parts of this reminded me pleasantly of one of my favorite John Regehr posts, "Operant Conditioning by Software Bugs" https://blog.regehr.org/archives/861
reply
jakevoytko 4 minutes ago
This reminds me of my first job, where we did a lot of 3d modeling and mobile robotics research. When we were trying to reproduce motion bugs, a coworker of mine would track down our manager and put him at the controls. More times than not, the bug would surface and it'd trip our logging and we tracked it down.

I asked him why he does this. His explanation was really built on this operant conditioning idea: "we use this stuff for 8 hours a day and we train ourselves to avoid all of its little pitfalls. So I get the most available person who hasn't used it all day, which is our manager. He uses it differently than we do because he doesn't avoid all of its little problems. But if we have a really tricky problem, I get our manager's manager. I don't know if you've ever seen him try to use an xbox controller, but he has the spatial reasoning abilities of a goldfish. He's never failed to reproduce a really hard bug. If I ever needed an Einstein-level bug reproduction, I'd track down the head of the department and put him in front of it, but it's never come to that.

reply
nicoburns 2 hours ago
Blackboard is definitely a really strong contender for the worst software I've ever had to use. When I was in uni, I went so far as to write an alternative that scraped the content from blackboard and published it on a site that I could actually browse sensibly.

They were paying exorbitant amounts of money for the license too.

reply
bsder 33 minutes ago
Applications like Blackboard exist because of the genre of "Checkboxware."

A University must comply with Laws and Regulations X, Y, Z, P, D and Q and a host of other regulations the University never heard of and Blackboard went through the process to "comply" with those checkboxes. So, if you deploy Blackboard, you tick all the checkboxes automatically.

The fact that Blackboard was a garbage content management system and a terrible grade recording system was irrelevant--because the "better" systems wouldn't check the boxes.

(I say this as someone who, as a lecturer, had to manage the account logins, mailing list, and Subversion source control system for an entire class. I only ever put grades that needed to be "secure" into Blackboard. I did all that because I HATED Blackboard that badly, but it was a LOT of work. And I probably wouldn't have passed any significant security audit; although my accessibility ratings should have been excellent since everything was plain text and plain HTML)

reply
theandrewbailey 2 hours ago
Bug: this blog has no max-width. Lines of text will grow infinitely long with width.
reply
Conlectus 2 hours ago
For what it’s worth, the author would not consider this a bug. He does it (as I understand) because he distrusts the research on the impact of line length on readability.
reply
andrekandre 21 minutes ago

  > he distrusts the research on the impact of line length on readability.
whats the reason for that?
reply
lo_zamoyski 34 minutes ago
Which brings us to one of the earlier claims

"I easily observe hundreds to thousands of bugs per week"

which should be rewritten as

"I easily observe hundreds to thousands of things that I consider to be bugs per week"

which is to say that the "bug" is in the eye of the beholder. It seems the author stretches the definition of "bug" to include cases where something functions, but in a manner that is open to improvement or not to his taste.

reply
encomiast 2 hours ago
To say nothing of this bit of markup, which actually raises an exception in the browser:

`<link rel="icon" href="data:;base64,=">`

reply
kmoser 31 minutes ago
I had this same discussion on another HN thread a while back. I prefer lines to run as long as possible; I find it difficult/distracting to move my eyes to the beginning of the next line every few seconds. I'm sure I'm in the minority, but I have to believe I'm not the only one out there who feels this way.

Rather than having the website author wrap lines at a width that works for the average user or use case (which may only be optimum for a percentage of users or use cases, which may not include me), the user can simply make their browser whatever width they prefer the lines to wrap at. This way, everybody gets to choose what works for them.

reply
PieUser 17 minutes ago
Thank god for Reading Mode in browsers...
reply
skydhash 22 minutes ago
> Bug: this blog has no max-width. Lines of text will grow infinitely long with width

Are you maximizing your browser’s windows?

reply
transcriptase 48 minutes ago
My absolute favorite bug is the one where the “cancel your Amazon Music subscription” is seemingly the only one of what must be tens of thousands of UI elements in the Amazon app that simply loads a blank white screen no matter what.

What are the odds!

reply
megagpt3 4 minutes ago
If a website won't let you cancel, call your bank to force them to block the payment. This will cost the website $20 and a ding on their credit report. Be aware the website will ban you, so you'll need to make a new account.
reply
nlawalker 11 minutes ago
Sounds like credit card sites. Most everything is pretty creaky; “redeem rewards” is broken or offline for maintenance; “pay bill” is greased lightning all the way through.
reply
kmoser 40 minutes ago
> At times, I've tried to see if I can get a job somewhere where I just fix quality issues all day. This has never panned out, due to some combination of this not being a very high priority and it also not being a normal role that companies have a role for.

I'm pretty sure dedicated QA roles are a thing at many companies.

reply
scottg489 37 minutes ago
Isn't the classic QA role typically about finding bugs not necessarily fixing them?
reply
aljgz 56 minutes ago
Did I write this?

I choose tools I use, configure them, report bugs, and occasionally contribute fixes. But when I can't, I work around them, yet never get used to the workaround.

"Habitual mitigation" does not happen in me, and it's partly intentional.

I have created bad software in the past, but when I saw how people work with it, I could not be proud. Learned to look at software like a user, and don't want to unlearn that.

I believe (or maybe I hope) software will be democratized and people will start to demand good software.

reply
spiderfarmer 42 minutes ago
Is there also a thing called Readability blindness?
reply
ChrisMarshallNY 2 hours ago
I’m really anal about the Quality of my own software, and tend to be hard on others’ software (doesn’t make me too popular).

> I've had multiple jobs where directors/VPs/execs/etc. sometimes ask me to evaluate something when they want an actual opinion from someone who is relatively likely to notice issues (and fix them or drive fixes for them if necessary).

I’ve had the experience where I need to be asked, and even then, if my opinion isn’t “ist güt,” it’s often ignored.

When someone makes a proposal, I tend to immediately see the potential issues, and used to point them out, and suggest workarounds or mitigation strategies, without being asked.

Not the happy path. I get accused of being “negative,” my suggestion is shitcanned, and I’m shunned.

I’ve learned to just keep my mouth shut, and if the situation calls for it, start quietly preparing for when the wheels fall off.

I have also learned to never say “I told you so,” as that is a petty and vindictive statement. Doesn’t help at all.

reply
sorrybloke 6 minutes ago
[dead]
reply