Edit: I’ve been finding so many software failures lately, I created @SoftwareFailed on Twitter to tweet and retweet the best failures!

Note: I’m a software developer. I create bugs. I once switched a production SQL database to Simple recovery mode and Truncated an important table causing a ton of work for my colleagues. The content of this post is aimed as much at me and the company I work for as the companies listed here. I think our industry has a real quality problem. I don’t entirely know what the solution is.

Over the last few years it feels like the quality of software and services across the industry is falling rather than climbing. Everything is always beta (both in name and quality). Things are shipped when marketing wants them to rather than when they’re ready because “we can easily patch them”. End users have basically become testers, but it’s ok, because this is Agile. We’ve started coding to expect failure and somehow with it decided that failure is normal and expected and we don’t need to put so much effort into avoiding it. Supporting millions of customers is complicated so we don’t bother. Why waste time reading bug reports from users when you can just send them into an endless maze of help links with no contact information?

I never used to be this grumpy. The last few years I’ve seen so many ridiculous errors in software and on websites that I just can’t help but feel a little embarassed about what we (as software devs) are unleashing on the world. I know we’re a young, inexperienced industry and that there aren’t enough skilled devs to go around but lately it feels like we’re really not even trying.

Here’s a collection of some screenshots I’ve taken just in the last month showing what I mean. Is it just me? Am I really unlucky? Or does this happen to everyone and it’s just me that likes to put effort into being vocal and annoyed by it?

It’s not unusual to see data that’s unescaped or badly encoded, but it’s not often you see things over-encoded. NPM package names appear to be HTML encoded twice! Let’s hope the first one wasn’t as it was saved into the database :/

If in doubt, encode it again!

While investigating an issue for a friend, I found a page on the ASUS site where the title shown in Google perfectly matched our problem. I clicked through and the page was blank, except for this form asking if it solved my problem.

Did this blank page solved you problem?

IKEA emailed me reminding me I hadn’t completed a survey that I had. I figured I hadn’t clicked save. I clicked to complete it again and was told I’d already filled it in.

Accusation of not completing a survey that was completed the day it was sent!

I got an email today from Coursera with an unreplaced replacement token in the subject.

Unreplaced token in email subject

Our company anti-virus for the second time in less than a month blocked access to most of the internet. Twitter was full of people having the same issue. I find this truly astonishing. Do they not install updates on a machine and give them a quick test before pushing out to the world? Large sites like the BBC and Google were blocked!

ESET antivirus killed half of the internet AGAIN

Not sure what to make of this message when shutting my Raspberry Pi down!

Succeeded to fail!

Tried to visit the HTC Vive website and got a MongoDB connection error spewed to the screen. Reported it on Twitter and quickly got a witty response; but it remained broken until the next day.

New product website down over the weekend, technical details on display

I tried setting up Ubuntu MATE on my Pi. I wrote their (Pi-specific) image to my SD card and this happened on first boot. Something wasn’t tested; whether it’s the image or some dependency being pulled from the web at first boot, I’m not sure.

Clean operating system image fails to start up

I was trying to download IIS Log Parser today but the download didn’t seem to work. I opened the dev tools to find “jQuery not defined” errors all over the place. Persisted across refreshes.

Microsoft website non-functional apparently due to missing jQuery

I tried to move my gas and electric to NPower. They sent me a welcome email and when I clicked the button in it I got a big scary SSL warning from my browser. It turned out to be a wildcard certificate (*.npower.com) but the emails links point to https://npower.com/. I reported this to at least 5 different people there, yet nobody seemed to take it seriously (or even understand it, as shown here). I certainly wouldn’t want to show my new customers browser warnings that say attackers may be trying to steal their information!

Security is overrated

One security issue on your site is bad enough; but come on, the live chat has a different certificate error!

If we don't have working SSL on our website, why would we have it on the Live Chat?

Yesterday I tried to checkout with Paypal and after logging in I got this message. It’s bad enough to get an error during payment for something, but this message is particularly useless. There’s no information to help me. No support phone number, no indication of whether I was charged or what I should do next.

Did you just charge my card or not?

Many years ago, Microsoft took a lot of flak for podcasts only working on Windows Phone in the US. Fast forward a few years and it seems Google want in. I see no good reason for this; they’re free audio files. All of the other Google Play Music services work in the UK, so really, what’s the reason for this?

Audio is country-specific...

Podomatic helpfully prefix your iTunes URL with “http://”. This happens even if you already have “https://” (which, by the way, is the correct protocol for an iTunes link - HTTP gets redirected automatically). The only solution is to manually edit the URL to be HTTP before saving, even though that’s wrong.

Are you sure you didn't mean HTTP?

This one is amazing. Someone signed up my email address to a service using the name “Pro_Hacking”. I reported it because I was concerned that maybe their service was not very secure and someone might end up with an account tied to my email. It’s hard to believe the support person was even reading the emails the number of times I explained “Pro_Hacking” is not my name, to get a response starting “Hello Pro-Hacking”!

Hello, Pro_Hacking!

The move of our gas and electric to NPower didn’t work out. It turns out that for some “mysterious technical reason” they are unable to take over supplies from the company that (physically) supply our gas. So we arranged to move to SWALEC. Weeks on, we’ve still had no code mailed to us and are therefore unable to log in to their website. The contact link on the only page we can access goes to an error page.

If you're frustrated we didn't do our job, here's an error page!

This website accused me of using an ad blocker and wouldn’t let me read this article. Quite clearly from the screenshot, I am not using an AdBlocker. I completely appreciate the need to monetise content (which is why I’ve been putting off installing an Ad Blocker) but if sites are going to add code like this it should fail-safe. Accusing me of stealing from your children when I’m innocent is just going to drive me away!

Website refuses to let me read articles because it claims I'm using an AdBlocker (if I am, it's not very effective)

I tried setting up VNC on my Pi. It’s behind a firewall so I entered a short password. I was told it was too short, so I added a few characters. I was told it was truncated to EIGHT characters.

Short passwords are not secure. Long passwords are too secure

When installing a Visual Studio update, it told me the Visual Studio Improvement Program was optional. I’m pretty sure I opted-out at install time; however this time it was both ticked and disabled (yet still sporting the “Optional” tag).

I think we have different definitions of the word Optional

Immediately after installing Visual Studio 2015 Update 2 (which claimed to fix a bunch of stability issues), I launched Visual Studio and it just crashed. I don’t believe I have any non-Microsoft extensions installed.

Update installed! *crash*

Every few weeks without me doing anything, my Moto 360 Android Wear watch will just randomly start draining it’s battery until it’s flat/rebooted. I reported this to Google once and was told “this is expected behaviour after updates”. I hadn’t had any updates, but even so, that would be stupid.

???

While preparing this post I went looking for a command line tool to optimise the images in this post. I came across this post and every time I tried to scroll down the page, it immediately jumped back up to the top. After about 40 seconds a full-page ad appeared, which appears to have been the cause. sigh.

That’s a lot of fail for just one month, and I’m sure there’s a lot more I didn’t have screenshots of. I can’t help but feel that as an industry we’re just not doing our best for our users. Even companies that have previously been known for exceptional quality and testing seem to have gone down the shitter. I’m no stranger to commercial pressures causing things to be shipped before they’re done, but surely there’s room for improvement?

Or maybe it’s the end users fault? Maybe we don’t complain enough when things are bad, so companies have little motivation to improve?