Bug Blindness

(danluu.com)

287 points | by davidmckenna 11 hours ago

56 comments

  • hakesson 2 minutes ago
    I've had to live with shipping software with really poor quality that had loads of small bugs. My Product Manager forced me to. However, at the end, the customers seemed happy, and I have to admit that I was partially wrong.

    The QA guys flushed out the big bugs and many of the small ones. Without any proof, I imagine something like 99% of the customers would hit only a few bugs, that they are used to compensate for (reloading pages etc), leading to a view of the product as having good quality. I was wrong: the sw quality is poor, but the percieved quality is good. I would of course prefer to do sw of much better quality.

  • sgentle 9 hours 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.

    • DrewADesign 8 hours ago
      > 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.

      This is completely lost on most developers, which is why interface and UX designers exist. Developers, especially in FOSS projects, often love to condescendingly assert that users are just not reading the docs, or are not smart enough to understand the software. They’re smart enough— they just don’t want to have to learn about technical implementation details for the same reason most developers are perfectly content to use personal bookkeeping apps instead of learning the best ways to organize that data and making the spreadsheets manually. Most non-technologists get no dopamine hit from solving technical problems, have no need for the requisite knowledge needed to confidently do that, and are often just trying to make the computer do what it must so they can get back to doing what they’re actually passionate and knowledgeable about. When a competing product has an interface built for people without that mental model, it would have to be pretty fucking expensive to not be a no-brainier for most nontechnical users.

      • atmavatar 8 hours ago
        > They’re smart enough

        I worked at a small company that had a policy of putting devs on front-line support in a rotation, both because it was too small to have dedicated support staff and because the owners wanted devs to understand how users interacted with the system better.

        I can assure you that while some users merely think differently than devs, there is cohort of users who are absolutely not smart enough. It's impossible to do any amount of front-line support without collecting some horror stories.

        • Groxx 7 hours ago
          One of my favorites is spending nearly 10 minutes trying to get someone to read a single word on their screen correctly, in a dialog box that was blocking them, containing fewer than 10 words, so I could find the cause of their problem. After nearly 30 minutes to figure out that they had a popup blocking them, and not "the computer doesn't work".

          What eventually worked was getting them to spell it to me backwards. That strategy has worked out quite well in other cases too - I suspect because it avoids some of people's built-in autocorrect and dyslexia (autoincorrect).

          (I honestly mostly enjoy tech support, and I've done it for many years, sometimes professionally. But some people do seem like lost causes, and are not just having a bad day)

          • JimDabell 4 hours ago
            I have experienced this in person with a developer who was failing to debug something. An error message was popping up on screen and he was reflexively clicking it away faster than anybody could read it. Even after being told “an error message is popping up, don’t dismiss it”, even after being told “[do the thing that triggers the bug] and then completely stop without doing anything else”, and a whole bunch of other ways of phrasing it, he was unable to understand that the error message contained useful information that we needed to see. I’m not even sure he was consciously aware it existed or that he was doing it. After many failed attempts at getting him to stop I literally had to take the mouse away from him and do it myself. I was shocked that apparently nothing anybody could say would stop him from dismissing the error message without even looking at it.
            • OJFord 4 hours ago
              That's even worse than the "I'm getting an error when I ..." type! ("...ok... What's the error?")
          • leonidasrup 43 minutes ago
            "Dyslexia, also known as word blindness, is a learning disability that affects either reading, writing, or speaking".

            It's quite common, it affects 3–7% of the population; however, up to 20% of the general population may have some degree of symptoms.

            https://en.wikipedia.org/wiki/Dyslexia

            For example, some celebrities with dyslexia:

            Jennifer Aniston

            Steven Spielberg

            Whoopi Goldberg

            Henry Winkler

            https://www.webmd.com/children/ss/slideshow-celebrities-dysl...

            The following is a list of some notable people who have dyslexia.

            https://en.wikipedia.org/wiki/List_of_people_with_dyslexia

          • jiggawatts 7 hours ago
            The flip side of this is the pleasant surprise of working with a near-retirement age grandma who assures you that she "isn't technical" and "doesn't know how to use a computer", but will studiously write down every keyboard shortcut on little post-it notes and add it to their collection like they're porcelain cats she found at the Sunday markets. I've watched some of these people operate a computer in a manner reminiscent of watching an F1 driver at work, the screen just a blur as their fingers dance over the keyboard.
            • Groxx 7 hours ago
              Absolutely, the ones that are clearly trying more than make up for the rest imo, and some are stunning. There are a lot of them. And many of the rest are just having a bad brain day and need help rubber-ducking to see the thing right in front of them - we've all been there, many times.
            • the__alchemist 5 hours ago
              This sounds like "Smart person who has little technical experience and might have cognitive decline from age". The world is fully of people who's intelligence is legitimately lower than you might expect.
              • brabel 4 hours ago
                > 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.

                • the__alchemist 3 hours ago
                  Could you clarify? Are you using the typo as this basis, or something else?
                  • mkl 3 hours ago
                    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.
                  • brabel 3 hours ago
                    There were 2 typos in that sentence (the one I didn’t mention is “fully” instead of “full”). Talking about intelligence in such a sloppy manner sounded like a joke to me.
          • jsrcout 3 hours ago
            I was always soooo tempted to say "pretend I can't see whatever you're looking at right now..."
        • eru 3 hours ago
          > I worked at a small company that had a policy of putting devs on front-line support in a rotation, both because it was too small to have dedicated support staff and because the owners wanted devs to understand how users interacted with the system better.

          In the 2010s Mathworks, the company that makes Matlab, had a policy that everyone started in frontline support. Including developers. (They probably still have this policy, I don't know.)

          It shaped attitudes and cultures quite a bit.

          • Xymist 6 minutes ago
            The shaping isn't necessarily productive, though. My company has a policy wherein a the dev team are on a rota to assist the support team (and by extension clients) with technical queries. The net effect has been to make me hate customers with a passion usually reserved for opposing political regimes and childhood bullies.
        • Jach 6 hours ago
          There's a selection effect here in that smart-enough users won't bother contacting support if they work around an issue on their own, or if something is actually a non-issue for 99%+ of the user base. The ratio of usage and support contacts can be monitored. I fear a lot of devs develop unproductive mental models of the user purely from a minority sample.
        • IsTom 1 hour ago
          I wish it was just users. I once had to explain to a PM on client's side for 10 minutes that no, the software can't split $1.00 into three exactly equal invoices and we need to put that remaining $0.01 somewhere. In the end it seemed like he's given up without understanding the nature of the problem and escalated to have someone higher up to tell us to add it to the last invoice.
      • hypfer 6 hours ago
        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 better experiences, as reality gets bound by.. well.. reality. So you don't get these weird failure modes that live in the gap between the narrative (e.g. "everything just works") and reality (e.g. "networks are always black magic").

        This is also important for the user, because by having _a_ mental model (even if it is very low-res), they gain the ability to diagnose issues themselves and not be completely helpless once the magic box breaks down. They might not know exactly what to do, but the direction is very clear.

        Agency is important. A lot more important than convenience. And fake convenience through frontloading short-term rewards for long-term systemic instability.

        • swiftcoder 6 hours ago
          > 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 how a tape deck worked, so audio apps presented as tape decks. Floppy disk as save icon, etc

          Unfortunately, the passage of time is inexorable, and by the late 2000s we had a lot of users who had never actually seen a tape deck/floppy disk. And the whole skeuomorphic project came crashing down.

          • munch117 3 hours ago
            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.

            • asddubs 1 hour ago
              I've seen an SD card icon used for a save icon before. I think conveniently the shape is similar enough to a floppy that you find it while scanning for it as well
            • thaumasiotes 2 hours ago
              > 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.

              Obviously you replace it with the three stacked cylinders that symbolize a hard drive. ;D

          • andyroid 4 hours ago
            Did it though? Most people young today probably never pressed a physical play/pause/stop button in their lives. Still, they get it. Some icons outlive their era, some don’t.

            > In the 90s everybody knew how a paper book worked

            I hope that’s still the case!

            • asddubs 1 hour ago
              I guess even with the physical buttons you had to just learn that triangle means play and twin towers means pause
            • thaumasiotes 2 hours ago
              > Did it though? Most people young today probably never pressed a physical play/pause/stop button in their lives.

              It's hard to call this an example of "skeuomorphism". Those icons were introduced on physical buttons with a certain meaning that everybody had to learn. They have exactly the same meaning on software buttons; the interaction that people have with them now is the same interaction that everybody has always had with them.

              This isn't a case of the software appealing to a visual metaphor that made non-metaphorical sense before the software. It was just as much of a metaphor originally as it is now. You might as well call the word "edit" a skeuomorphism in modern software because past software also had "edit" menus.

        • nasretdinov 5 hours ago
          That's one of the things that surprised me (in a positive way) about Mac OS X when I first got to use it -- it actually does indeed do lots of things in an _understandable_ and genuinely simple way. It's also clear how much work went into making the system behave in this way, it certainly wasn't an accident.

          In the era of web apps and Electronification of anything I believe most of this is sadly gone, but in the older Mac OS X models you could clearly understand and see the logic behind the software and I believe it worked well for non-technical people from what I observed.

      • recursivecaveat 6 hours ago
        Nobody reads the docs. This will be even more true soon as LLM generated docs become more popular. I once read a user report "would be nice if I could move large Xs to uncover Y", filed a bug report myself to add the feature, and then realized that feature was already added and documented months ago, by me! I just updated it with an unobtrusive prompt/instruction to the UI when relevant. I definitely get lazy sometimes, but if you don't take the extra step to make sure a feature is easily discoverable and understandable in the UI, you're wasting almost all of its potential benefit.
      • mcbishop 8 hours ago
        I love the UX-design book: Don't Make Me Think.
        • nextaccountic 3 hours ago
          There's an idea in this book, that when using a mouse, smaller buttons are harder to click because you need to stop the cursor inside its hitbox, but moving the cursor to the edge of the screen is easy because it's effectively a huge button whose height is infinite (or infinite width for lateral edges). And hitting a corner is even easier because it effectively has both infinite width and height!

          This means that if there is an actual, finite button on a corner, the easiest way to click it is to position the cursor on the very corner, rather than attempting to position the cursor in the middle. But this is ruined if this button has padding. So for example, the start button on windows at the bottom left corner had padding in earlier versions of windows like windows 98, but the actual hitbox of the button shouldn't have padding, so that it's easier to click.

          This is all to say that I use Firefox maximized, without a titlebar or menubar, so that the "back" button is at the top left corner of the screen, and the hamburguer button is at the top right corner. But those buttons have padding! If I actually move the mouse to the very corner before clicking, I miss the button

          That shit is infuriating

          • stevoski 3 hours ago
            > There's an idea in this book, that when using a mouse, smaller buttons are harder to click

            That would be Fitt’s law, which - if you can believe it - dates back to 1954!

            https://en.wikipedia.org/wiki/Fitts%27s_law

          • tim1994 1 hour ago
            Padding is typically part of the hitbox, margin is not. What you are describing sounds like margin to me. Especially for Firefox since their UI is made with web tech.

            But besides being overly pedantic I agree with your general point. If their is a small gap between hitbox and edge of the screen it is very annoying.

            But the worst thing IMO is Windows 11 windows which you can grab by the titlebar but not the content area. However often there is no visual indication of where the titlebar starts/stops.

          • mrob 1 hour ago
            >so that the "back" button is at the top left corner of the screen

            "Back" is used so frequently that I consider any mouse lacking a side button for "back" to be incomplete. You don't need to put a high value on your time for upgrading your mouse to pay for itself within its service life.

        • code_biologist 7 hours ago
          Steve Krug's other book, Rocket Surgery Made Easy, got me into usability tests with real users, and how to get it in place in a corporate environment. It's shocking to watch real users use software.
    • codeflo 4 hours ago
      It's still a wild logical leap to me that we went from this observation, that maybe the bottom half of users never learn how the software works, to the idea that we should build software that is actively learning-hostile. In the old era, we established consistent UI patterns: this kind of button does X, this kind of button behaves like Y, here are the tools to solve your problem. Maybe not everyone learned the patterns, but those that did became wildly productive. Now: who cares if buttons are recognizable as such, your bottom half of users tap all over the place anyway, so design for them exclusively. It's good to enable more people, but we also lost something in the process.
      • raincole 1 hour ago
        The root problem is so-called startup/growth hacker culture: you start from zero user. There are a lot of potential users out there. Far more than your current users. So, the best way to grow your business is not to retain your current users, but to grab new users.

        In this scenario, you only need to cater to the most clueless users. There is no need to make an app learnable as you don't even intent to keep the users long enough for them to actually learn how your app works.

      • Terr_ 3 hours ago
        I cynically ascribe that to a change in the market/ecosystem, from "personal computer as democratized means of production" to the (more profitable) "device we control to sell content and subscriptions to you".
    • nkrisc 1 hour ago
      In my UX jobs where we did actual UX research with participants in the office the UX research team would go around before each session and find any available developers to come with and sit behind the one way mirror to watch.

      You could always tell when it was someone’s first time watching a real user attempt to use our website.

    • normie3000 3 hours ago
      > "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"

      GitHub also introduced this feature recently in the New Issue GUI.

    • lelanthran 6 hours ago
      > "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".

      Well, Jira does that too in many of its input widgets: anything you type while the page is loading is cleared after the page is loaded.

      At this point users have been conditioned to accept this sort of react crap.

    • eru 3 hours ago
      > 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.

    • junior44660 3 hours ago
      > You don't need to understand the system if you abandon the assumption that the system was designed to be understood.

      This applies to software engineers too. Especially now there's claude to help them complete the tickets without understanding the system.

    • ChannelFence 8 hours ago
      the people without a model are also the easiest users to lose, they won't file a bug or explain what broke. they'll just click twice, decide the product is unreliable and use something else. then the team sees no bug report and assumes everything is fine.
      • 3eb7988a1663 6 hours ago
        Why should I file a bug? So it can be ignored until a PM eventually declares bankruptcy and wipes the tracker clean?

        There are some well reported bugs in Microsoft/Google/Apple that have persisted for years. Nobody cares.

  • bariumbitmap 15 minutes ago
    One of the things I love about reading a bug report for a bug I've experienced is the feeling of solidarity it gives, a sort of "wow, me too, I thought I was the only one". I immediately recognized this issue, for example:

    > when opening a new Google Doc, I used to immediately put the title I wanted into the doc. At some point, maybe ten years ago or so, 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, so I now have this habit where, after opening a Google Doc, I do something else and then I change the title.

    I seriously doubt Google is going to do anything about this behavior, though.

  • encomiast 10 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.

    • prmph 7 hours ago
      At what point does search quality degrade to the point where is becomes a bug?

      A bug is when actual behavior does not match stated or intended behavior. If the search bears little connection to what was searched for, then it is a bug, as far as the user is concerned.

      Or maybe you mean to say we should reserve the word bug for deviations that are unintentional?

      • remus 5 hours ago
        For me the idea that poor quality search results are a bug muddies the idea of what a bug is. It's like saying the colour of the paint in my living room is buggy because I don't like it. It might be an ugly colour that I don't like, but it is what it is. A bug would be if the colour doesn't match what was shown on the tin.

        > If the search bears little connection to what was searched for, then it is a bug, as far as the user is concerned.

        A bad product perhaps, but not a bug.

        • prmph 30 minutes ago
          So if I search for A, and I get results for B instead (where B has only the slightest connection to A), it is not a bug?

          What about if B has no connection to A whatsoever? Still not a bug? If it is not, then we may have discovered a software domain (the first for me I should say) where bugs are not possible. Should a be a nice market to launch products for, then.

      • gavinsyancey 5 hours ago
        The trouble is, there are three different "versions" of "the search didn't work," only one of which I would say is definitely a bug:

        - The thing the user searched for doesn't exist, so it wasn't found. This is not a bug.

        - The user did a good job of searching, using relevant keywords etc, but the relevant thing (which exists) didn't come up. This is a bug.

        - "Search didn't read my mind" -- if search is a core competency this is a bug, but otherwise I would consider it a deficiency or a missing feature.

      • chrisjj 40 minutes ago
        > At what point does search quality degrade to the point where is becomes a bug?

        It depends entirely on the commitment made by the service, so e.g. my desktop file search program results has bugs whereas Google's has none.

    • rotis 31 minutes ago
      Later on he gives an example of Blackboard software that was very disliked. So I don't see what was unique in his perspective either. To me this article is not very focused and feels mostly like rambling. The core idea that we get accustomed to bugs/quality in software we use is sound. Just the article needs streamlining or better a complete rewrite.
    • aesthesia 10 hours ago
      Later in the article he uses "quality blindness" instead, which is probably a better description of most of the issues he talks about.
    • ramraj07 5 hours ago
      Dan isn't necessarily Bertrand Russell so ill give him a pass for not using the perfect word in every place.

      But this article is in my opinion one of the best attempts at explaining a fundamental problem in software product work that has never (in my experience) been laid out this well. I will implore you to finish it.

    • chrisjj 47 minutes ago
      > 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'.

      While bug has various definitions, not meeting reasonable expectations is common to all.

      > That's like saying there is 'bug blindness' in the publishing industry because when I pick up a random book, it sucks

      No, because there's no reasonable expectation that a random book won"t suck.

  • Sniffnoy 3 hours ago
    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.)

  • meling 6 hours ago
    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.
    • chrisjj 21 minutes ago
      > It is well known that we can read faster with narrower text

      Speak for yourself.

      Font size is client setting, and there's where lies any bug.

    • watermelon0 6 hours ago
      There is no CSS configuration for text/font on the website, so it's using browser defaults.

      Seems like reader mode is needed due to bad defaults.

      • lelanthran 6 hours ago
        That's a cop out in this specific instance: he knows the defaults are a bug, he can change it with maybe 2x lines of CSS, but he is blind to the fact that it's a bug.

        After all, he is complaining about the defaults in other software, but he is blind to the defaults he presents the user.

        • lmm 4 hours ago
          There is no way to specify a good size in CSS - a size that looks good on current computers will be too big on old computers, and a size that looks good on old computers looks too small on current ones. Browsers and users are the ones who can fix this.
          • Tepix 1 hour ago
            I think your knowledge of CSS might be outdated. What's wrong with the following CSS snippet for example?

                body {
                  max-width: 70ch; /* Limits the text column to a comfortable reading width */
                  margin: 0 auto;  /* Centers the text column on large screens */
                  padding: 1.5rem; /* Prevents text from touching the edges on small/mobile screens */
                  line-height: 1.6; /* Gives the lines room to breathe */
                }
            
            
            As for font size, you can use

                font-size: 1rem;
            
            to respect the browser's default font size.
            • lmm 23 minutes ago
              > What's wrong with the following CSS snippet for example?

              It doesn't achieve a reasonable readable font size which was presumably the goal. Your padding won't be the right size for all screens either. (And personally I hate excessive line height).

              > respect the browser's default font size

              The browser's defaults are also bad. But they shouldn't be. The browser is in a position to actually fix this; the webdev isn't.

            • mrob 1 hour ago
              >What's wrong with the following CSS snippet

              The problem is you're imposing your own idiosyncratic preferences on strangers. Your "improvements" cost valuable screen space. I paid good money for my screen space and I don't appreciate designers unilaterally wasting it because they personally think it looks better. The decision of how much (if any) space to spend on padding should be made by the user.

    • crabbone 3 hours ago
      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.

  • bambax 4 hours ago
    Our brain is geared towards efficient signal processing, and is actively working to delete signals it deems "unnecessary". It wants us to notice only the new and the unexpected; that's why after a short while you don't notice the same smell or the same recurrent noise. They are just ignored as "already detected / not new".

    The reason for this may be evolutionary (although we don't know what traits were the most effective to help us survive in the wild); but there is a very practical reason to ignore signals, which is that there's so may of them: if we did process every data sent from every sensor and thought about odors, light, temperature, noise, etc. then we would be overwhelmed and could not do anything else.

    That's also why we usually don't "see" things or people: we identify them. We don't see faces, we simply identify Alice or Bob. Which in turn explains why most people can't draw: the concept of Alice can't be drawn; to draw Alice we need to actually follow the features of her face. Being an artist means being able to unlearn (or disable) that identification process.

    And I think the reason most people don't see bugs is similar: they're not interested, all they want is to get something done. If there's a simple workaround that makes the thing work, then that's good enough; all the rest is irrelevant. This is not bias or benevolence: this is efficiency.

  • ghastmaster 6 hours ago
    >I thought this had something to do with how I use computers but, over time, I've realized that it's mostly that people are hitting the same bugs and don't notice.

    I suspect I know why they do not notice. See below.

    >it works well, etc., but when I open up the thing and try it, it's in a state where the thing only works if you do quite a few non-intuitive workarounds.

    I suspect most people are so inept at navigating UI because even a good UI is not intuitive to them. A bad UI is equally not intuitive. They do not know it is a bug because everything is a bug to them.

    I can use a novel UI and figure out where to find what I need to do very quickly. In my experience with lay people, they can use the software for a decade longer than me and still not understand some of the capabilities and navigate to utilize them as I can within a few minutes or small amount of research.

    Shoutout to https://grumpy.website/. Love it.

    • bryanrasmussen 6 hours ago
      >I suspect most people are so inept at navigating UI because even a good UI is not intuitive to them. A bad UI is equally not intuitive. They do not know it is a bug because everything is a bug to them.

      This seems a weird thing to believe given that we know there are such things as black UI patterns designed to keep users from doing things they might want to do, but which the company might not want they do yet still are obliged to provide the possibility of doing.

      As a general rule I think I am pretty good with finding out things about software, for example in pretty much every company I've worked at I'm one of the only devs who learns Jira's query language, and how to make my own dashboards to organize things, but I do at times experience UIs that I either must believe are malicious or buggy, and I stand by that interpretation no matter how they people who work at the company like to claim it is working as intended.

      But I have also experienced some times when I think the way this UI works must be a bug, because otherwise the people who designed it must be incompetent idiots and also, given laws about accessibility requirements, potentially on the hook for some monetary payments in court soon.

      My interpretation has been that I am often to quick to think things are bugs and not worthwhile using because I am familiar with how buggy things can be and still "work" somewhat, and also that normal uneducated users will try to soldier through things I just give up on because they don't realize that a thing should not be working the way it does, they think it is them that are wrong - as evidently you do as well. I think it is frankly a strange viewpoint to have in the world of software development, which world I assume you are a part of?

      • ghastmaster 5 hours ago
        >I just give up on because they don't realize that a thing should not be working the way it does, they think it is them that are wrong - as evidently you do as well. I think it is frankly a strange viewpoint to have in the world of software development, which world I assume you are a part of?

        I agree with, "They think it is them that are wrong", essentially. The end users that I deal with at the consumer level usually think they messed up when something does not do what they thought it was going to do.

        >as evidently you do as well. I think it is frankly a strange viewpoint to have in the world of software development

        Can you elaborate on this statement? I do not know whether you are agreeing with me and implying we are both strange or you are implying that I think that way and that is strange. Either way, I am not a developer, yet. I dabble in things.

        • bryanrasmussen 29 minutes ago
          I think, knowing that dark ui patterns exist - which I called black ui patterns by mistake earlier, I unfortunately very tired the last few days - and given the assumption I made that you knew something about how often bugs can actually come about, that thinking the users are to blame is very weird.

          The users who don't know how often bugs occur and so forth always think that it is them to blame, but people who know about bugs and how things are made should probably think otherwise, but it seemed the way you phrased your initial post that you are in agreement that it is the fault of the users for whom the UI is always nonsensical and who never put in the necessary amount of effort to understand the UI.

  • socalgal2 9 hours ago
    I'm with danluu on this, at least as far as the headline, and not actual details.

    I run into 10 to 20 software bugs a day (feels like more). If it wasn't for the all the private data I'd leak I sometimes wish I could just put my phone and computer on screen capture for a week, with input data (keyboard/mouse/touchpad/screen) and then come back and post the 100 bugs I hit that week.

    I've run into the MacOS one mentioned, getting a black screen on opening the lid. I've also run into iOS Camera app failing to open the camera. I've run into the iOS keyboard only using 80% of the width of the phone (all the keys smaller). No idea how to fix that. Closing the keyboard and re-opening does not. And killing the app, whatever app, is out because I'm in the middle of filling out a form and don't want to have to start over. I've had the phone's screen freeze quite often recently, no response to any finger presses. Locking and unlocking the phone recovers. This one is new (started happening 1-2 weeks ago)

    Common/not-common. Any app that uses the phone camera to scan things (checks/ids) almost always fails in one way or another. Doesn't recognize the thing or times out like the only way they tested was in perfect conditions in their office and never tried with real users.

    • bryanrasmussen 24 minutes ago
      >I've run into the MacOS one mentioned, getting a black screen on opening the lid.

      this is similar to what happens to me, if the screen goes dark to save battery and I move it to start back up too quickly, like within a couple of seconds, it will crash and restart.

      So sometimes I see it is going to go dark and I move to stop it but it goes dark a microsecond before I touch the touchpad and then everything needs to start up again.

    • saagarjha 3 hours ago
      > I've run into the iOS keyboard only using 80% of the width of the phone (all the keys smaller).

      Are you sure you're not triggering the compact width keyboard?

    • m463 7 hours ago
      > I've also run into iOS Camera app failing to open the camera.

      wow, you just reminded me.

      From time to time I bring up the camera app, and I just get a blurry screen. I have to lock the phone and unlock it, maybe quitting the camera app before I get the camera app coming up showing what the camera sees.

      I just worked around it and got on with my life and didn't yak-shave (search for a solution or file a bug)

      • socalgal2 5 hours ago
        It shouldn't have that bug in the first place. It's not about yak-shaving
  • dusted 4 hours ago
    I also think it's due to normalization of deviance, people are just used to it..

    - You can't build a model, because everything will be changed with the next update, so, even if not consciously, people won't do it, why bother learning something that's not going to be of any use next time you use the application.

    - because you basically don't know how anything works, it's a coin toss whether it's actually not working, or you're just "using it wrong".

    - most things won't do the thing you expect of them consistently, so you don't expect anything of them.

    Last night, I uploaaded some documents to my insurance company => modal:

    - Title: "Files successfully uploaded"

    - Text: "An unknown error occurred"

    - Button: "Ok"

    Thank you.

  • javascriptmick 2 hours ago
    I once asked my brother in law (a mechanic) to help me look over and buy a new secondhand car. The car we ended up buying had good fundamentals, low cost, good brand, big trunk, high top speed.

    After owning it for a while, I came to learn that it was not a great car. Things constantly broke and the repairs cost me more overall than the cost of the car. A complete disaster.

    I came to realise that to a mechanic, little problems like an old fuel pump or poorly maintained engine were "easy" problems to fix. To my brother in law, what mattered was the low price and the fundamentals. Repairs, to him, were easy. To me (not a mechanic) they were expensive and inconvenient.

    I think, for a developer, problems with software are a bit like this. Little things that are easy to fix can be overlooked because the grand design of the system is very clever or it has some advantage over other software like handling a particular file format, or processing a high volume of transactions.

    Personally, I find it very difficult to sit down and expend the attention and effort to really look at and test my own software. I think because every little issue that I see becomes another job, another hassle, another delay in releasing. Maybe thats my "Bug Blindness", not sure if it's the same.

    • lukan 2 hours ago
      That is the reason why too many nerds recommended Linux as a "easy" windows alternative. What for us is easy to fix and often not even worth thinking about it, is impossible for a normal person.
      • dcminter 1 hour ago
        Maybe? I think you may be underestimating how many papercuts of the same kind are there on Windows and on Macs. They're just harder to see when you're used to them.
        • lukan 43 minutes ago
          Having giving support with windows and linux - I don't think so.

          Recently things got way better with hardware support - but just making a printer work, used to be a unsolvable problem for my dad for example, who has a electro engineering background (but doesn't speak english, and error messages in linux are very seldom localized). In windows he put in the CD that came with the printer and it worked.

  • sidewndr46 11 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.

    • asimilator 10 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.

      • sublinear 9 hours 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.

  • nicoburns 10 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.

    • bsder 10 hours 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)

      • jdm2212 6 hours ago
        It's not really regulation-driven. It's just what happens when the people buying software and the people using it are different. This is the standard problem of enterprise software is marketed to the IT department (which cares about cost, box-checking, vendor relationships, lock-in risk, bureaucratic turf wars, headcount preservation, SLAs, etc) with little or no regard for responsiveness to end user needs.

        It is definitely true though that enterprise software for nonprofits (like education) sucks even harder than usual, because nonprofit IT departments don't even have the profit motive to align IT department and end user interests.

        • miki123211 4 hours ago
          This goes even deeper than that.

          Users don't choose their university by how good that university's software is (just as we don't choose apartment complexes and power companies this way). This gives university IT no incentive to deploy software that doesn't suck.

          Banks and cellphones also used to work this way, until they suddenly didn't, which was quite a shock to the existing players in the market.

  • theandrewbailey 10 hours ago
    Bug: this blog has no max-width. Lines of text will grow infinitely long with width.
    • Conlectus 10 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.
      • andrekandre 9 hours ago

          > he distrusts the research on the impact of line length on readability.
        
        whats the reason for that?
      • Cider9986 7 hours ago
        It's less readable for me, never heard of any research. Whatever, there's reader mode.
      • lo_zamoyski 10 hours 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.

    • chrisjj 7 minutes ago
      [delayed]
    • encomiast 10 hours ago
      To say nothing of this bit of markup, which actually raises an exception in the browser:

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

    • nottorp 5 hours ago
      Someone always complains about that when a danluu link is posted.

      Every time I have to go back to the article (usually after having already read most of it) and notice "yes, it's using the whole browser window".

      I think you can obtain the common experience of one sentence per screen and lots of scrolling by pressing ctrl/cmd and plus a couple times.

    • kmoser 10 hours 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.

      • socalgal2 9 hours ago
        > I find it difficult/distracting to move my eyes to the beginning of the next line every few seconds.

        You must find it difficult to read books, magazines, newspapers, as all of them have short lines

        • mrob 1 hour ago
          The bad text formatting in printed works (including the bizarre decision to sacrifice useful vertical position cues ("ragged right") to imitate the technique medieval scribes used to reassure their patrons they weren't wasting valuable parchment ("full justification")) is a big reason why I avoid them whenever possible.
        • lmm 4 hours ago
          I am in the same boat as GP, and I wonder if it's one of the reasons I migrated hard to ebooks and online magazines/newspapers as soon as that became possible and never looked back.
      • hibbelig 4 hours ago
        Making the browser windows narrow is a bad suggestion. Because most websites have some sort of navigation bar on the left and another bar on the right, so we need a wide enough window to get enough of the main text (width).

        There are very few websites without those columns.

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

      Are you maximizing your browser’s windows?

      • theandrewbailey 1 hour ago
        No. I keep my browser to about half of my 27" 4k monitor.
      • frabcus 4 hours ago
        I do - I much prefer using computers with only one window visible. And use all the keyboard shortcuts (tab, window and desktop switching) to rapidly change what the thing it shows is.

        I reckon there's something interesting about human variety in focus and/or visual processing this tells!

        • layer8 2 hours ago
          I, on the other hand, use the keyboard shortcuts to adjust the browser width to achieve the desired line width and line start, because even when the web page takes care to set these, it varies from site to site and rarely is what I want. (For sites I visit often, I use window manager automation to auto-adjust the browser window size.)
    • Terr_ 9 hours ago
      I don't see that as a code-bug but a difference in implied requirements. Namely, the expectation about which person can/should choose the width of the lines everyone had to read.

      Let's flip it around: Suppose someone put in code/markup to prevent any viewer from picking a larger or smaller font-size. Would that be "just fixing a bug", or would some of us be pissed that the author has dictated something in a way which infringes on our autonomy and disrespects our superior-knowledge about what constitutes our good reading experience?

  • moyix 9 hours 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
    • jakevoytko 9 hours 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.

      • bentcorner 8 hours ago
        Reminds me of watching my wife use her computer. I'd help her with something and realize all the little things more regular computer users just put up with. Incorrect focus, focus stealing, windows popping up behind current windows, unclear window styling, invisible scrollbars, moving page elements, unclear instructions, the list goes on and on and on.
      • jay_kyburz 9 hours ago
        Unreal Engine is like this. You stab your toe about a thousand times for the first few months. Eventually you lean to stop pushing the buttons that crash.
  • weinzierl 1 hour ago
    That is something that should be obvious to any developer who worked with a real QA-team or person. They just have a different mindset.

    The problem with contemporary software development is not only that often the majority of QA work is shifted left (meaning to the existing devs) but also that the developer mindset is contagious. Have QA-people, who are usually in the minority, work too long and too closely to the devs and they become blind.

    I worked in V-model teams where the only communication between the development team and QA-team was supposed to be the spec. I still think that is the best way to develop software that works.

  • elharo 26 minutes ago
    I also see bugs others, especially developers, are blind too. I've wasted I'm not sure how many hours reporting bugs to unresponsive companies and teams. Often the problem is not only that the developers cannot see or believe the bugs, but that there is no channel for reporting them. Even many open source projects resist receiving and addressing bug reports submitted by users. Commercial companies actively shield developers from users to the point where 9-figure customers have to escalate to a VP (who they can actually talk to because they're a hundred-million dollar customer) to get action on a serious bug affecting them, instead of just emailing the SWE 3 who's ultimately going to make the one line fix after the message gets passed down through many layers of emergency meetings.

    When I worked at Google, it was at least possible to report bugs internally with some hope they would be addressed. Sometimes you could even fix them yourself, given enough time and the relevant skills. Bug bankruptcy was still a thing. Teams would simply throw away all the SWE-years that had gone into documenting and reporting issues in their systems. But there was some possibility you'd get action, at least if you were a squeaky enough wheel and used the right back channels. But now that I'm outside the plex, there's basically no mechanism to report issues unless you're a tech vlogger with a large following inside Google or a >= $100,000,000 customer. Most other companies are much the same. They're not just blind to bugs. They're deliberately putting bags over their heads to keep from seeing what users are telling them.

  • gmm1990 4 hours ago
    It’s interesting the author ponders what they might be missing now. it seems like it’s the deterioration of the writing due to llms. I’ve liked some of the authors posts in the past. And might look in more detail at the differences between the old posts and new ones because it could be a great example for what to watch out for when using llms for writing and maybe coding.

    There weren’t any concrete examples of bugs besides the Google Docs issue. Like what was so bad about blackboard (I also remember thinking it was terrible). There was a link to a great article about search but again no specific example here. There are a lot of words but not a ton of new information. Maybe I’m just bias against llms, this could have been written entirely without then for all I know.

  • wodenokoto 6 hours ago
    >And, sometimes, the issues are severe, to the point where one might even say the thing actually doesn't work.

    >I find this last category a bit mysterious, as when I look up discussions on how the thing got into this state ...

    I'm currently on the dev side of such a product and can tell you one way it can end up like this.

    Leadership decides a new feature is required, but refuses to commit to writing what they want. Through a bunch of meetings and calls developers have learned a number of vague requirements to the product, many which are conflicting, just as many are unclear if they are long term features or needed immediately.

    The result is something that implements - to the letter, but not the spirit - of what the developers can agree on from this vague mountain of requirements.

    The feature is returned to leadership in the hopes that having something tangible will make it clear what leadership actually wants.

    However, leadership returns with a "Looks great, can you add?" and they sign off and we begin the next sprint.

    • simon84 3 hours ago
      While I agree on the fact, this is the typical case where you need a business analyst in between to 'translate' that requirement and confront the leadership if it is unclear.

      If you mean that leadership IS the business analyst, then you are in trouble :D

  • amadeuspagel 3 hours ago
    > Almost nobody objected to my characterization of Google and Bing search results, but people told me that I was wrong about Kagi.

    Paying for a product makes you defensive, especially if there are free alternatives.

  • transcriptase 10 hours 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!

    • nlawalker 9 hours 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.
      • AlotOfReading 8 hours ago
        I've noticed exactly the opposite with other kinds of lenders. Refinancing and renegotiation is optimized to the hilt, but the payments system seems to have an SLA of zero 9s.
    • megagpt3 9 hours 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.
      • transcriptase 8 hours ago
        Which is exactly why Amazon can get away with it. I’m not going to get permabanned from what is essentially a utility in the western world in 2026 by going nuclear with a credit card chargeback.
  • arjie 5 hours ago
    Fun post. Enjoyed it.

    Haha it’s just that the things these devices enable for us are so valuable. But life is full of suboptimal things just because that’s how it is. Some other constraint causes it.

    I was at Oren’s Hummus years ago with a friend and I remember thinking that there was this heat lamp outside by the window that was very close to the glass. We were halfway through our meal when we heard a loud snap and a large crack formed in the glass. Error in process, my failure to report it, and costly consequence. Bug, eh?

    It’s just that the world is full of detail and things are full of interactions. And complexity is something we’re all constantly grappling with.

    Every time I do the 5 finger gesture to bring up launchpad (I think that’s what it’s called) on a Mac the text field doesn’t focus fast enough for the text. Every time I type then backspace backspace backspace and type again. That’s just life. Somewhere someone shipped something that does this. It didn’t use to be this way but it is now. I can’t really change it so I just live with it.

    The world of software is complexity upon complexity created from the fact that the virtual world admits arbitrary amount of interaction at much lower cost than the physical world. Yep, the world is full of bugs. But you really have to care a lot to stop them and no one really wants to pay you to do that.

  • gieksosz 6 hours ago
    Unnecessarily long post. It could have been 4x shorter and conveyed the same message better.
    • ghastmaster 5 hours ago
      I usually agree with this sentiment. I have a general disdain for elaborations and novelization. Get to the point! Give me the necessary facts and make it concise!

      In this case for some reason, I disagree. This post is engaging for me. I sometimes elaborate on how I came to a conclusion because that journey is equally as fascinating as the conclusion itself. While reading this authors post I was happy to see what seems like a very thorough thought process.

      It was actually refreshing for me to see someone write at such length and find myself engaged.

      It worked for me.

      Now, putting my self in your shoes, as I have regularly had the same opinion, I have more empathy and understanding for how people consume and enjoy writing.

      The world is fascinating.

      • nottorp 5 hours ago
        If you think a bit, you'll notice that it's long but it's not padded for content length. It does not repeat the same thing 100 times with different wording. Every "bug" he talks about is somewhat different.
    • zhivota 3 hours ago
      He would have written a shorter post, but he didn't have the time.
  • XRG 5 hours ago
    From the article: “For well over a decade, the reliability data that exists (and I think this is backed up by the anecdotal experience that mechanics who work on Volvos have) is that Volvo reliability is mediocre to poor, but of course Volvo forums are full of people who insist that Volvos are among the most reliable cars and that the data are all wrong.”

    The author mentions one explanation, which is that most people driving a Volvo won’t experience a breakdown (and then generalize from that). Another one is of a very different kind known as post-purchase cognitive dissonance (https://en.wikipedia.org/wiki/Cognitive_dissonance#Consumer_...).

  • gregates 3 hours ago
    > 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?

  • frabcus 3 hours ago
    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.

  • kid64 7 hours ago
    > I get that people who are fans of things tend to be blind to the thing's faults.

    Wow, there's Obsidian, Kagi, and Apple in a nutshell.

  • theginger 3 hours ago
    What I see a lot is working with developers who believe the goal is to write software that can complete the task. They demo it, release it and watch it immediately fall apart with first contact with the user.

    What they should be doing is having a goal of software that cannot fail to complete the task.

  • ksec 5 hours ago
    I do think a lot of these are not Bug Blindness, but a bar for acceptable quality standards.

    A low bar means people walk past without realising it, a medium bar may take notice but it doesn't bother them and tends to get throw out within min or seconds. A high bar gets insane irritation that some may even call OCD.

    And unfortunately, these spectrum follows an S curve. If you have a high bar, you are likely in the single digit percentage monitory. And the same is across all things not just software.

    • crabbone 3 hours ago
      I've met with this attitude before. It's when developers interpret the function of QA to exclusively search for the situations where the expected functionality and actual don't match. They would reject anything coming from QA saying that the expected functionality is wrong.

      So... do we restrict the meaning of the word "bug" only to the mismatched (developers') expectations, or do we extend it to cover bad expectations too? I'm in the later camp, because I'm not aware of even a single company that has any department or a process that would systematically address the existence of bad expectations. And, if anyone should be given the power to act on it, the QA seems to be the most likely candidate.

      • sakjur 1 hour ago
        > So... do we restrict the meaning of the word "bug" only to the mismatched (developers') expectations, or do we extend it to cover bad expectations too?

        Good thoughts and framing, thank you for that. I think I'm in the former camp, because I think fixing bad expectations is a matter of thoughtful redesign that should follow a slightly different process to fixing bad implementations (what I would call a bug). Not every issue in a program is a bug, and that has nothing to do with the importance or urgency to fix the issue.

        Assuming a rigid product organization, I think developers _should_ ask testers to escalate "works according to spec" even if the spec is unreasonable. Otherwise developers might be torn between QA, UX, and architects fighting about how something should or shouldn't work. At least for me, finding myself in such a position is a recipe for excessive meetings and losing focus on other equally important matters.

  • necovek 5 hours ago
    I find the ad blindness and bug blindness similar but on opposite ends: I also notice bugs easily, but I also notice ads (instead of skimming — when ad blockers do not work or apply), yet I consciously make an effort to not be tricked and sometimes explicitly decide to not buy the product if the ad is obnoxious or really abuses the psychological findings for business' gain.
  • danjc 5 hours ago
    This hits. Ive had an annoying issue with Codex VS Code extension for weeks if not months when queuing up a follow up. Often it just disappears, I think it's just a UI glitch is actually queued but I can't click steer if the UI doesn't update and I find myself automatically going CMD+A, CMD+C before sending a follow up message.
  • ludicrousdispla 4 hours ago
    I think at least half of the software developers out there simply don't test their code in the final product (or at all). And why would they when their revision is being reviewed in a pull request?
  • aghhelmut 4 hours ago
    Reading the first part of the article I thought it was about real bugs and I was like "Wow we are surrounded by hundreds to thousands of bugs a week, but are blind to them somehow".
  • ChrisMarshallNY 10 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.

    • CrimsonRain 5 hours ago
      I feel for you and I'm similar too. However, there's a fine line between what you are describing and "perfect is the enemy of the good". I've seen some who claim to be like you but in practice they are a net negative to everything because they can never agree to anything until it is perfect even when the perfect solution is beyond the capabilities and/or out of project scope/budget and/or take too long to implement ignoring business needs.
      • ChrisMarshallNY 3 hours ago
        Yup. Seen that, too.

        But there’s a lot of room between “perfect,” and the "quality" of most of today’s tech, and I worked for a company that routinely shipped gear that had a very high level of Quality.

        I’ve watched people use “Perfect is the enemy of good” to justify shipping absolute garbage.

        We can do better. Much better.

    • thelastgallon 8 hours ago
      > 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.

      Absolutely right. People come up with some of the most idiotic ideas, but you aren't supposed to point out the obvious flaws. These 'ideas' create a lot of jobs and success stories. The purpose of a system is what it does. Everyone wants to build an empire and they need more and more headcount, which means incredibly shitty ideas, and tons of people working on them. Everyone claims success and moves on to the next shitty idea next year for more success. Thats why, even if AI can make developers more productive, it doesn't really matter, the vast majority of projects in bigcorp are bad ideas. If your bad ideas go faster, doesn't mean it increases revenue or profit. It only helps the people involved to claim more 'success'. Now, with AI.

  • coder-pm 6 hours ago
    Hah in the AI era I noticed the agents are worse than the average person at noticing bugs. Agents use their own scale to decide if something is a success even if the output is broken. Agents are bug-blind to their own work. The consequence is that spotting bugs is now the key reviewer skill. The human’s job shifts to catching what the agent is blind to in its own work.
  • omoikane 7 hours ago
    > humans have a high ability to ignore negatives in things they're a fan of, including (and often especially) their own work

    I thought this is due to the "backfire effect", because humans perceive criticisms of things they like as threats.

    https://theoatmeal.com/comics/believe

    • Sniffnoy 7 hours ago
      That's not what the term "backfire effect" refers to. The term "backfire effect" refers specifically to one specific consequence of this; namely, it refers to the idea that presenting evidence against something can make people more likely to believe it. (And my understanding is that in later studies this "backfire effect" appears to not actually exist after all, as Wikipedia appears to back up: https://en.wikipedia.org/wiki/Belief_perseverance )

      I'm not sure what the term is for what you're referring to, although it's certainly a real and known effect.

  • janpeuker 1 hour ago
    I agree quality blindness is curable. Many communities (e.g. Japanese, Swiss, Yemeni, Peruvian etc) have shown attention to detail is just a learning and, most importantly, social status process. Bugs are just the opposite of caring, and caring is at odds with hustle culture. I think Apple is a great example here - used to be meticulous and now every day the amount of tiny defects is just infuriating (just now I realised, for example, that Photos can't scroll with a mouse).
  • __MatrixMan__ 8 hours ago
    I feel cursed with the opposite of this. I can't seem to go 12 hours without finding a bug in software which it's not my job to test. It's all so awful. I waste a lot of time trying to figure out how to report these bugs, because they offend me.

    Just once I'd like to believe, for a little while, that this industry has produced something worth being proud of.

  • aljgz 10 hours 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.

  • kmoser 10 hours 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.

    • scottg489 10 hours ago
      Isn't the classic QA role typically about finding bugs not necessarily fixing them?
  • qsera 6 hours ago
    > Bug Blindness

    This is why I find that it is better to wait a couple of months before actually do the final test before shipping your own software.

  • spiderfarmer 10 hours ago
    Is there also a thing called Readability blindness?
  • goyozi 5 hours ago
    An interesting version of this is when a team basically internalizes some issues in the software they work on and it turns into something they accept as a fact of life or even turn into a joke. „X failed again? Don’t bother, it’s been a shitshow for years.” What?!

    A few years ago I started leading a team working on a product that had a lot of „legacy” quirks like that. It took me a good while to set a strong quality bar, both mentally and technically. I would frequently point out where the mindset was wrong, prioritize certain fixes over project work, fix a lot of issues myself, fight with other teams to fix their stuff, run silly contests such as „who solves the most support tickets this month gets a prize” and sometimes even „stop the world” for a few days until we got something in order.

    Some people might be prone to think their team will never have the time to do that (and some may be right) but in my experience quality pays back. Often fixing a small bug takes about as long as discussing if it’s important, properly filing it in JIRA and then communicating to the outside world it’s not the priority. And eventually you reach a point where you have way more calm and focus than before because nothing is burning.

  • jose_zap 6 hours ago
    That’s how perception works. We only see what we want to see, and discard or explain away the rest.
  • alanuhoo 4 hours ago
    Is that why your blog is plain white text on a black background, so it's less buggy?
  • bschwindHN 5 hours ago
    Some developers treat their software like a baby when they test it or show it to others. Tapping cleanly and slowly, giving animations time to finish, scrolling slow and smooth, etc.

    I like to beat the shit out of my software when testing. Constant erratic scrolling and zooming, multi-touch shenanigans, pressing multiple buttons as fast as I can, using back gestures and the browser back button (if it's a web app), changing the window size and orientation frantically, and just all kinds of rough usage.

    If your software can't cope with these things then you're doing a disservice to your users.

  • youngtaff 3 hours ago
    What does the author have a against a text size that’s readable?
    • munch117 3 hours ago
      The page does not set a text size. You are complaining about your own browser's defaults.
      • TulliusCicero 2 hours ago
        Browser defaults suck, then.

        This is classic "works fine on my machine".

        • munch117 1 hour ago
          The default for paragraph layout does suck indeed. But at least the font you should be able to customize.
  • raverbashing 4 hours ago
    Does having a website with no set-width and unusable without reader mode counts as bug blindness?
    • mrob 1 hour ago
      No. Designers shouldn't force their own preferences on third parties. Everybody likes different text presentation, so websites should stick to the defaults and let readers configure their browsers as they prefer.
      • raverbashing 1 hour ago
        > Designers shouldn't force their own preferences on third parties.

        Fallback to the default is a design choice, even if it doesn't look like it

    • stavros 2 hours ago
      I'd say it does, since it doesn't work well.
  • bediger4000 8 hours ago
    Great post. Pins the tail on the donkey. As a lifelong Unix and Linux user, when I was forced to use Windows at work, this kind of thing struck me profoundly. Windows users just didn't notice how crippling the whole experience was. They'd write it off as "user error" when Word autocapitalized strings weven if auto caps was turned off, things like that, similar to "natural running motion".
    • socalgal2 8 hours ago
      Same for Linux and MacOS users. Fans are blind to their own OSes problems because they've become blind to its issues or gotten used to the workarounds. I use all 3, I run into issues on all 3 all the time.
      • bediger4000 8 hours ago
        Sure, but they're not the standard business operating system that the world economy depends on. We in the USA let Microsoft have a monopoly essentially because of this.
  • m3kw9 8 hours ago
    A bit of perfectionism helps with esp UI bugs. A little flash, slight unusual pause, trying different ways to break the code..
  • syngrog66 9 hours ago
    Long ago I realized I had the ability to see race conditions in source code, at least more easily/accurately than others on average. It was helpful when reviewing the code of others, esp more junior. And I once briefly considered getting a custom T-shirt made with the words "I see race conditions." (in the spirit of the famous scene from The Sixth Sense with "I see dead people.") and wearing it to the office during formal code review meetings. But a friend talked me out of it when he pointed out it might get misinterpreted as being something racist rather than having to do with threading and concurrency.

    The whole "I see bugs where others do not" reminded me of that same phenomenon.

    • yyny 2 hours ago
      "infinite looping, deadlocks, race conditions, memory leaks... these are the words I use to describe my ex-girlfriend"
  • crabbone 3 hours ago
    > 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).

  • paganel 4 hours ago
    > so the non-LLM options here are some posts that are much sloppier than my normal posts (in a human slop kind of way), or almost no posts.

    I'm a little confused, but as far as I understand this is a LLM-written post, isn't it? That would explain the very big length of it. Or maybe I've understood things wrong, in which case my excuses to the writer (which, in that case, could reasonably be called a writer).

    • mrob 1 hour ago
      The author uses LLMs for research but writes the articles by hand:

      "with LLMs, it's so much easier to look at data and figure things out, but the time it takes to write something up hasn't fundamentally changed"

  • Hl1b 2 hours ago
    [dead]
  • sorrybloke 9 hours ago
    [dead]