7 Stupid Things Programmers Do That Drive Users Crazy

Ben Stegner 16-11-2017

Programmers (hopefully) do their best when coding applications, but nobody is perfect The 10 Worst Programming Mistakes in History In its storied past, coding wrought destruction as well. Instances of a little bit of bad code caused disaster on a major level. The following are 10 of the worst programming mistakes in history. Read More . And that’s definitely evident when you look at some of today’s websites, desktop programs, and smartphone apps.


Whether by accident, due to management requirements, or because of a lack of understanding 10 Most Common Programming and Coding Mistakes Coding mistakes can lead to so many problems. These tips will help you avoid programming mistakes and keep your code meaningful. Read More of what users really need, programmers often end up creating annoying interfaces for users. Let’s take a look at some of the stupid quirks that baffle, infuriate, and make us laugh.

1. Unhelpful Error Messages

There’s perhaps no element with more potential to confuse, anger, or otherwise elicit a strange emotional response than the error message. We’ve looked at some of the most ridiculous error messages in Windows The 12 Most Ridiculous Windows Errors of All Time You probably see plenty of boring Windows error messages every day. Come enjoy some ridiculous ones, just for laughs. Read More , but these aren’t limited to just that platform.

You’ll find all kinds of examples of poor error messages; let’s look at a few common types. Many of these examples come from Microsoft’s extensive page on the do’s and don’ts of creating error messages, but apply to messages everywhere.

Too Much Technical Information

In this kind of error message, the dialogue provides technical details that confuse the user. If an error message sound like it was written by a robot, the average user has no idea what any it means — so they’re not going to read it. Thus, they have no starting point for fixing the problem The 5 Most Common Windows Errors and How to Fix Them Don't let a Blue Screen of Death ruin your Windows experience. We've collected causes and solutions for the most common Windows errors so you can fix them when they pop up. Read More .

stupid things programmers do that drive users crazy


A secondary type of this error occurs when programmers use the end-user dialog box to report programming errors. Errors that contain information about memory violations or variable problems are completely useless to the user and will only confuse them further.

stupid things programmers do that drive users crazy

Blaming the User

Another common mistake of error messages is making the user feel at fault. Even if they actually did perform an unwanted action, they shouldn’t feel bad because they made a mistake. Using harsh language is a bad idea and will frustrate the user more than they already are.

stupid things programmers do that drive users crazy


Being Too Vague

Why create an error message if you aren’t going to describe the issue properly? When a user hears the error sound and sees An unknown error occurred, what are they supposed to do? If you provide no information about why the error happened, they’re going to click OK and pretend nothing happened.

stupid things programmers do that drive users crazy

Windows 10 infamously featured this type with its Something happened error when updating to a new version 6 Common Windows Upgrade Issues & How to Fix Them Upgrading Windows 10 can cause a number of complications. We show you what to watch out for and how to prevent or fix issues. Read More .

Unnecessary Errors

Thanks to popup ads Let's Put A Stop To Pop-Up Browser Ads Once And For All! Pop-ups can catch you off guard, and if you're not careful they can create problems. Learn how to avoid them and how to handle them if they do come up. Read More , most users are conditioned to getting rid of dialogue boxes as fast as they possibly can. While error messages are sometimes necessary, using them constantly means the user is more likely to ignore them. So triggering error messages for non-problems is not smart.


In the below example, if a user explicitly cancels a backup operation, they don’t need to see an error letting them know this. They requested the action, so while it might be an error from the software’s point of view, the user doesn’t need to see a dialogue.

stupid things programmers do that drive users crazy

Ridiculous Errors

Sometimes errors are so stupid that users will scoff at and/or ignore them. Here’s a great example:

stupid things programmers do that drive users crazy
Image Credit: Zusch Login


Is anybody going to take a message like this seriously? We’re told this has an unspecified flaw, but only a potential one. If there’s a major problem, warn the user of it. And if there’s no problem, don’t throw an error message.

2. Atrocious Forms and Selection Boxes

Many users utilize the Tab key to quickly move between boxes when filling in their information. You’d think this would be universal (First Name > Last Name > Street > City > etc.) but sometimes programmers make it way harder than need be. Pressing Tab could jump you from First name to ZIP, then down to Submit. When you’re on mental auto-pilot entering your info, this is a huge pain.

stupid things programmers do that drive users crazy
Image Credit: BadForms [Broken URL Removed]
Or how about selection boxes? Whether a programmer chooses a dropdown list, selection box, or ask the user to enter a value depends on the type of input you expect. In most dropdown boxes, ordering alphabetically makes the most sense so the list is easy to browse. But how about here, where the list of floors is in ABC order instead of numerical order? What a huge pain to browse through.

Let’s alphabetically order the floor numbers from CrappyDesign

Another horrendous example of poor selection boxes is below. Instead of simply providing a text box for the user to type their phone number, here you must select from every possible combination. We don’t even want to think about how long this took to type out.

Please select your phone number from the drop down list: from ProgrammerHumor

3. Lack of Inline Validation

Here’s a terrible feeling most users know all too well. You’ve gone through the dozens of fields on a page when signing up for a service, applying for a job 5 Apps and Tools to Organize Your Job Search Every good job search needs a system. Whether it's an app, an Excel spreadsheet, or old-school paper and folders, these job search organization tools will make sure you get gainful employment. Read More , or similar. After you click Next, you’re greeted with an error that the email address fields don’t match or another such oversight.

The problem is that reloading the page removes all the data you entered! Now the user has to waste their time by going through and typing out all the same information again. If the programmer had simply implemented inline validation What Is JavaScript and How Does It Work? If you're learning web development, here's what you need to know about JavaScript and how it works with HTML and CSS. Read More — checking to make sure input is valid before the user submits it — your page could avoid this.

stupid things programmers do that drive users crazy

4. Bloating and Bogging Down Software

You can almost hear the users crying when a once-great piece of software becomes bloated with so many extra features that it’s a nightmare to use. A great example of this is iTunes The 5 Best iTunes Alternatives for Windows iTunes is bloated and slow. We show you five fantastic iTunes alternatives for Windows that let you play music and manage your iDevice. Read More . It’s an important program to install if you own an iPad or iPhone 5 Ways to Sync Music to Your iPhone Without iTunes Don't wrestle with iTunes to get music onto your iPhone, use one of these alternative methods and workarounds instead. Read More , and it’s thankfully slimmed down a bit in recent months. But for a long time, using it has been confusing and overbearing.

When you install iTunes, it also includes a ton of other Apple software like Bonjour, QuickTime, and Apple Software Update. Once installed, iTunes has so much to offer it would make your head spin. You can browse the store for music, movies, audiobooks How to Use Your Apple or iTunes Gift Card Have an Apple or App Store or iTunes gift card? Here's what you can buy, how to redeem them, and suggestions on what to pick up. Read More , and podcasts, check out Apple Music for streaming Getting Started With Apple Music — What You Need to Know After the purchase of Beats last year, Apple has finally unleashed its streaming music service upon the world. Read More , view apps on the iOS App Store, sync your device, and more.

That’s not even mentioning how much space iTunes takes up on your system, its slow and confusing interface, and the nightmares that come with syncing music (including having it randomly deleted Apple Music Deleted Your Library? Tips for When Music Disappears Apple Music deleted your library? Songs you thought were safe in iCloud gone missing? Here's what you can do to recover and safeguard your collection. Read More ). iTunes tries to do ten things instead of doing one or two really well.

So if you only have it installed to occasionally back up your iPhone, you probably cringe whenever it’s time to open iTunes, wait forever, and then see what they’ve crammed in lately. Likewise, a user who wants to use iTunes to listen to music doesn’t care about all the other nonsense.

5. Ignoring Operating System Design Standards

Every major operating system (OS) has a set of standards developers should follow when creating apps for it. You expect an Android app to look different Exploring Android L: What Exactly Is Material Design? You may have heard about Android L and Material Design, but what exactly is this new design philosophy and how will it affect Android and other Google products? Read More from an iOS app, for example. And these change over time! Compare popular Android apps from 2012 and now. Following guidelines, even if your app isn’t the most visually stunning, makes it at least presentable. But when you go against these, it drives users crazy.

For instance, take the Back button on Android. Tapping it is supposed to move you back one screen. So if you’re viewing an email in Gmail, tapping Back should return to your inbox. If your app ignores this and makes Back close the app, it goes contrary to everything Android users know. Equally annoying are Android apps that force iOS design patterns on users.

Forcing your users to learn some weird quirk of your app instead of doing what you should isn’t innovative, it’s frustrating. Whether you’re making a native Windows 10 app or iOS app, take a look at what the standard is and follow it.

6. Burying Options Inside Stacks of Menus

Menus are an unfortunate necessity in most programs. Unless your program is extremely simple and displays everything on one row of icons, it probably has menus for less-used features and options. And while you don’t need to have super obscure features of, say, Microsoft Word 10 Hidden Features of Microsoft Word That'll Make Your Life Easier Microsoft Word wouldn't be the tool it is without its productive features. Here are several features that can help you every day. Read More in plain sight, hiding oft-used tools makes for a lot of wasted time navigating.

If it takes a user six clicks to navigate to the tool they need, that’s going to get on their nerves quickly. Keyboard shortcuts can help with this Windows Keyboard Shortcuts 101: The Ultimate Guide Keyboard shortcuts can save you hours of time. Master the universal Windows keyboard shortcuts, keyboard tricks for specific programs, and a few other tips to speed up your work. Read More , but the most convenient ones (Ctrl + S) are usually reserved for the biggest features (Save). Pressing Ctrl + Shift + Alt + 9 + K isn’t much fun either.

stupid things programmers do that drive users crazy

This also goes for websites. If you can only get to a specific page by following a trail of links from other pages, that’s bad design and makes it hard for the user to get back to where they were.

7. Making Changes for No Reason

Muscle memory and familiarity go a long way when using an app or OS. It’s one of the reasons why switching ecosystems is so tough Apple vs. Android: Buy the Ecosystem, Not the Gadget You love your Android phone and want to buy a tablet. Everyone tells you the iPad is the best tablet, and it really is the best; but you should still buy an Android tablet. Read More . So developers can throw everyone off when they make a change to something that didn’t really need changed.

Remember when Windows 8 launched? People freaked out because they couldn’t figure out how to shut down their computers. Microsoft took the simplest task that had been in a fine location for over a decade and turned it into something people had to look up online How To Shut Down Windows 8 Windows 8 brings the biggest changes to the familiar Windows interface since Windows 95. The Shut Down option isn’t where you’d expect to find it – in fact, the entire classic Start menu and Start... Read More . Yet this happens on a smaller scale, too.

Every new version of Android, iOS, or Windows 10 makes small changes to the names of menus. What was once Settings > About phone > Build number on Android is now Settings > System > About phone > Build number. It’s a small change, but when writing about these menus The 14 Best Android Developer Options Worth Tweaking Here are the best and most useful developer options in Android, including disabling absolute volume and much more. Read More , you never know what version of Android people are using. Thus you have to describe every possible combination to reduce confusion.

Sometimes change is necessary. But change just for the sake of change is confusing and forces users to adjust to a new paradigm for seemingly no reason.

What UI Elements Do You Hate Most?

We’ve looked at seven super frustrating user problems that arise from stupid choices that programmers make. Whether from deadlines, incompetence, or laziness, these are the quirks we put up with but mutter about under our breath. At least we can have some fun with them.

Want to avoid making these mistakes in your own apps? Check out our tips for writing cleaner and better code 10 Tips for Writing Cleaner & Better Code Writing clean code looks easier than it actually is, but the benefits are worth it. Here's how you can start writing cleaner code today. Read More .

What are your most-hated quirks in apps? Do you have any interesting examples of the categories we discussed? Share with us in the comments, and feel free to rage!

Image Credit: Feverpitch/Depositphotos

Related topics: App Development, Web Development.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. mike
    December 14, 2017 at 10:17 pm

    I hate to say it, but unfortunately this is also a failing of the "quality control" or testing department. I know for a fact that, I and a couple of other testers would say, "You know Mr. Programmer, that this doesn't conform to the Microsoft GUI standards book?" We also brought up a number of the issues noted here as well.

    Most people don't realize that the "death rate" for new projects and software was really, really high for many years. Many were started and died before getting out of development.

    Now too few testers and others ever cracked open the standards book, so many of these "features" errrr... issues were not caught and often if they were brought up i.e. logged in the bug database the bugs were dismissed, (for what ever rationalization, too hard, we forgot, to expensive etc. ) or buried in the "We'll get to that in the next version." box. I know Microsoft users heard this often from MS tech support; before MS dumped support on the hapless PC makers. The 8 bit 16 bit issue that caused all the year 2000 issues was a "We'll get to this later." issue. Everyone thought that before this issue became a problem, someone would have created a replacement. So much for short-term management thinking.

    But to be fair. Up until recently, most of the computer software industry was filled with poorly trained people who were willing to step up to the challenge. There was little training and there were few if any references or training; so if you could find the "on" button you were hired. The whole industry was "ad hoc" and moving at high speed until the late 80's. Yes, some people had "CS" degrees, but most of them had trouble finding their cheeks with both hands and often they were in management roles. They were intellectually smart, but not real world smart. So given the lack of trained people, lack of training in real world software development, and the light speed pace; I think they did well.

    However, as time unwinds, these excused wear thin, there is little or no reason that many of these issues should be dogging the software industry today. The industry has enough of a track record now, enough trained and experienced people, and other resources that we shouldn't be "re-inventing the wheel" again and again.

  2. Job
    November 19, 2017 at 10:04 pm

    I just checked Google sign-up page and they do have inline validation page. Why did you use it as an example ?

    • Ben Stegner
      November 20, 2017 at 3:32 pm

      I used the screenshot of Google's page to show what inline validation looks like in case readers weren't aware. It would be hard to show a lack of inline validation in a screenshot.

      • Cari Job
        November 20, 2017 at 4:08 pm

        I misunderstood it due to the fact that all your other screenshots examples show things not to do.

  3. RitZ
    November 18, 2017 at 2:14 pm

    As a back-end web developer I can tell you that it certainly isn't always the programmer's fault or responsibility even. As someone that strives to something good I can't always do it because my schedule doesn't permit it. Junior programmers are most likely going to do the validation and if they are told to do the whole form validation in 1 hour from scratch without any re-usable code, then there is no room for granular/better validations. There are many factors affecting performance like how good the lead & QA is and the priorities of the manager, company greediness and so forth. Sure there are some developers that are given ample time but do poorly, but again other factors mentioned there for mediate that.
    Generally, I have found that there is an inverse relationship between nice UI and time to code. The more helpful/smart you want a UI to be, the more time it costs. The more time it costs, the less likely it is going to be implemented if it's not deemed necessary by company policies or client being a pain in the ass with cost cutting.
    There was someone saying if you can't code number validation with dashes you can't call yourself a programmer, to which I would say that you are not thinking like an actual programmer because it's clearly dependent on context. It's simple to code a regex or other validation for a standard number format for the USA, but you also have to consider if the site is multi-national. Such a validation can easily spiral into validation hell when you start to validate for specific formats in each country, which is why it's a common practice to remove specific formats. Again this is dependent on company policies and client's wish because validation per country would certainly take a more time to implement. Once in a while though we do get client's that specifically ask for maximum user friendly functionalities and don't mind paying for it. Those are among the challenging and satisfying projects to work on for programmers that like to code.

  4. dragonmouth
    November 16, 2017 at 7:50 pm

    That's right. Blame things on poor, defenseless programmers! Programmers only write the programs. Software designers and/or systems analysts are responsible for designing program flow, UI and how a program functions. Problems 1-3 could be laid at the programmer's feet. Problems 4-7 are the responsibility of the designer.

    The biggest cause for the existence of these problems is the failure of quality control and user acceptance processes. Before the user (the target group for the program/project) even is shown the product, the development team should have tested the programs, found the glitches and eliminated them. Once the development team is done with their testing and before the program/project goes into production, the program/project should be tested by the prospective users. What is clear and understandable to the developers may be vague and strange to the users. Any problems should be ironed out during the pre-production meetings between developers and users. Applications with problems #1,2,3,5 and 6 should not be accepted by the user for implementation. Developers generally do not make changes to programs (problems #4 & 7) without either request or approval from the user.

    The above works for in-house software developers and small software houses with relatively few customers/users. All that goes out the window when a large software developer with millions of users is involved. (Microsoft, Oracle, Apple, Symantec,IBM, etc.) Face to face user/developer meetings are not possible. Then there is the arrogance of "WE know what's best for the users." That leads to bloat and changes for seemingly no reason.

  5. Slynk
    November 16, 2017 at 6:06 pm

    Uhhh, programmers don't design ui... Hate to break it to you. In fact when we bring up poor ui, we're ignored. Especially when working as a contractor for another company that has 0 experience with ux design yet thinks they can build an intuitive, unique experience. People really have no clue how these things are built do they...

    Blame companies for refusing to hire ux/ui designers, graphics designers, and qa people. Gotta cheap out wherever possible. Oh and it's the product manager that is responsible for ensuring the product is acceptable for users, not the programmer.

    • dragonmouth
      November 16, 2017 at 6:48 pm

      "programmers don't design ui"
      Oh, really?! Does it just spring full-blown out of the thin air?

      If you want to be factually correct, programmers do not design programs either. They just code them. Both UI and program design is the job of software designers or system analysts, depending on how responsibilities are assigned in a particular shop.

      • Amber
        November 17, 2017 at 2:19 pm

        Dude, chill. He never said programmers design programs, either. You're just proving his point while being aggressive for no reason.

  6. Neil
    November 16, 2017 at 4:38 pm

    Low contrast colour schemes, e.g. the submit button is light grey text on a slightly darker grey background with the page background also light grey.

    • Ben Stegner
      November 16, 2017 at 4:52 pm

      This is a great one too. If you have to squint to see it, you need to change your color scheme.

  7. ashok
    November 16, 2017 at 4:19 pm

    These are still fine...
    i wish some developer writes an article on how annoyingly stupid the user requests are.. that would be super funny !!

    • Ben Stegner
      November 16, 2017 at 4:52 pm

      We have an article sort of like that here: //

      It's not user requests for programmers, but requests to tech support. Still pretty funny!

      • dragonmouth
        November 16, 2017 at 8:39 pm

        The ten things may be funny, silly and/or annoying but they are relatively
        inexpensive. It is when users demand changes against the advice of analysts and programmers that things can get rather expensive and frustrating.

        I worked as an application programmer for the IT department of a county
        government. Our team was in charge of software needs of two large user departments. One department was no problem. The other was constantly
        bombarding us with requests for changes, some minor and some that would have required major revisions to the entire software system.They were a pain from the word go.

        Our team developed a one-of software system designed specifically for their needs. After about 10 years of using the system, they decided that it did not suit their needs and nothing we could develop would either. After
        receiving about seven responses to their Request For a Proposal, the
        department management purchased, against our team's advice, a system developed by a software house. Our team had to implement the system into production.

        As soon as the departmental employees started using the system, the doodoo hit the fan. It did not have the same look & feel. It did not have the same functionality. Basically, the new system was not like the old system. To make a long story short, we had to write a slew of new programs to make the new system look and work like the old system which the department management declared as supposedly outdated. Even with all the programs we wrote and all the changes we made, the new system was never as usable and as adapted to the user's needs as the old one.

        Between the purchase price of the new system and the time our team spent on making it work like the old one, the bottom line came to a couple of million dollars.

        Programmers may make mistakes and omissions in their coding and the result can be frustrating or annoying but when users make a mistake by insisting on having their way, it can cost millions.

  8. Brent Crossland
    November 16, 2017 at 2:20 pm

    Lazy web developers are annoying! Seriously, your web form can't parse 123-456-7890? You have to throw an error that says "numbers only"? Or how about recognizing that 12345-6789 is a nine digit zip code and only storing the five digit code if that's all you want. No, it's easier to flag that as 'invalid input' and make the user re-enter it.

    • Ben Stegner
      November 16, 2017 at 4:51 pm

      Yes I agree. I hate lazy forms like this -- or how about when you enter your email address followed by a space and get an error that it's invalid? You really can't trim spaces?

    • dragonmouth
      November 16, 2017 at 5:00 pm

      Obviously you are a user. How many years of programming experience do you have? Lots of things that seem simple and straight forward to users are really not easy to code.

      • Hildy J
        November 16, 2017 at 8:42 pm

        I am a user who has close to 50 years of experience as a programmer, systems analyst, and project manager. I can understand that some errors are arcane and the error messages will be arcane as well but many of these examples stem from laziness on the part of the programmer.

        I have never personally encountered a drop down phone list but I have seen a drop down zipcode list, which was insane, and even drop down years or ages lists are stupid. If you can't parse and validate a phone number (or zipcode or year or age) you aren't competent enough to call yourself a programmer.

        • dragonmouth
          November 16, 2017 at 9:25 pm

          "I have seen a drop down zipcode list, which was insane, and even drop down years or ages lists are stupid."
          Didn't the user test and approve all these features prior to accepting the application for implementation? Parsing errors should have been caught a) during developer testing and/or b) user testing.

          To implement an application without the user's approval is irresponsible and the person who OK'd the implementation should be fired.

          I do not have your amount of experience (only 36 years) but I know that unless it is a very small shop, a programmer is only a minor cog in the IT machine. Many of the "stupid things" should have been caught during testing and before implementation.

          "many of these examples stem from laziness on the part of the programmer."
          The programmer is not the 'judge, jury and the executioner'. (S)he's not the one working directly with the user. Isn't it the project manager or system analyst that interfaces with the user? In most shops I've seen that's the way it is.

        • Digicrest
          November 16, 2017 at 11:21 pm

          If you can write hello world you're a programmer.

          It's not some reserved title.

          I have a friend who has been the lead developer for a software house for 4 years and I guarantee if I asked him to parse 4 different entry formats he would struggle, fail or use someone else's code.

          I'm not saying it's a particularly difficult task, just that you can't say "if you're unable to do X you're not a programmer", because you can bet your ass he can do Y and Z better than you.