That time when I was an IDIOT and what I’ve learned from it

This article is kind of embarrassing to write, but it will shine a light on how things really happen when a new product is brought to life.

Elon Musk’s SpaceX Grasshopper rocket explodes in mid-air after an engine sensor failed

Alright, I am not Elon Musk and I’m not building rockets here, but hey, if this guy fails, I can use it as a (lame?) excuse for my own mistakes, right?

Some time ago, we finally launch the Social Connect plugin and it was an immediate hit. The first day alone we sold almost 100 copies, and in the following days, we were about to seel much more. It was a 7-day pre-launch campaign targeting only people that knew us already, our newsletter readers. The very first buyers were our old users, the ones that liked and trusted our products. You just don’t want to lose their respect.

I was expecting small errors and the almost impossible to avoid plugin conflicts. WordPress is a complex beast that can take so many forms and cater for so many uses. You simply can’t test everything.

AND YET, I WASN’T EXPECTING THIS!

It was Monday morning and the very last day of the pre-launch campaign when I realized we have a major problem. Up until then we only had two reported issues, so things were looking great. Almost at the same time, I’ve received two separate emails. One was from a client, and the other one was an automated message generated by one of my own servers.

The automated message was a warning saying that the Social Connect Demo Site was taking to much space. It had increased at an alarming rate in the last days. The one from the client was saying that the plugin is adding to many images in his Media Library. ALARM!

Now, if you are not familiar with the Social Connect plugin, you must know that it’s a social login with some smart features. One of them is that it takes the user’s social media image and shows it on your website. It was our main selling point and the key to our launch success. AND IT WAS VERY MUCH BROKEN!

I immediately discovered that the plugin had a serious bug: it was saving the user social image on each page load. And this was not all, it was saving those images in the Media Library, showing each image not once, but four times! Confusing, I know and stupid, I admit. Don’t ask me how this was possible because I can’t give you any rational answer. We tested and improved this plugin for more than a month before releasing it, and yet, we missed the bug completely.

The situation was bad and I knew that implementing and testing a proper fix would require some time. On the other hand, the plugin could create some nasty issues with its users’ Media Libraries, adding a lot of unwanted images.

I HAD TO DO SOMETHING.

The next thing I did wasn’t an easy one. I wrote an email to all plugin’s buyers, telling them to immediately stop using it until we fix the error.  I’ve sent it not once, but three times, just to make sure that they all read it. IT WAS EMBARRASSING, to say the least.

I thought that I will immediately start to see angry emails and refunds requests.

And yet, this didn’t happen. In fact, I was surprised to get some emails of encouragement and support. Only one of the many buyers decided to ask for its money back. THAT WAS AMAZING!

In just a few days my team was able to implement a very effective fix for the bug: we would save images only once, we won’t  pollute the Media Library with them, and we would delete images older than 7 days with a cron job. The exact things we should have done in the first place. Additionally, we also added a separate cron job to delete the old unwanted images saved by the bugged version.

I was happy and eager to release the fixe.

BUT THINGS WERE ABOUT TO GO WRONG. AGAIN!

I’ve also made a short video explaining how to manually delete the old images, just in case some users didn’t want to wait for the automatic job to do it. I wanted everything to go right this time. There was no room for error. Not anymore. Right?

I wrote an email explaining everything. The email was kind of long, with details about the bug and how we fixed it. It was dedicated to the plugin users only, so they will understand what it was all about, and appreciate the details. That was my plan.

I carefully configured everything in my ActiveCampaign account (I manage my emails through them) so that the message will be immediately sent to the Social Connect users. I was eager to put an end to the embarrassing situation. It was past lunchtime, so I was hungry.  I hit SEND and felt relieved. It was all over.

BUT WAIT, I DID IT AGAIN?

Immediately after sending the email I started to get the usual auto-responders. Some of the members of our newsletter have auto-responders in place, so every time we send a mass-message we get them. But something was not right. I was getting ALL the usual auto-responders. This was not supposed to happen since the message was destined to just the Social Connect buyers.

There was, of course, another mistake: I sent that very detailed email about the plugin’s bug and its fix to ALL our newsletter members. All of them, not just the actual plugin users. They would have no clue what this was all about, leaving room for all sorts of confusions.

Another email was due, apologizing and explaining things a little bit. I wrote it and send it at once.

It was the final act of a small tragedy. There was only one possible conclusion: I WAS AN IDIOT.

LESSONS TO BE LEARNED (BY ME)

I guess that if you made it so far, you would like to read some kind of learnings from such a long story.

Lesson number 1:

For me, the main lesson here is clear: be honest and recognize your mistakes. Sending that embarrassing email to my clients and asking them to stop using the plugin at once was the best thing I could do at that moment. Hiding the error would have been a major mistake. And guess what! As it turns out, it didn’t lead to an Inbox full of rage, but instead got us support and encouragement. I can only be grateful for that.

Lesson number 2:

NEVER send a mass email when you’re hungry!

PS. Social Connect is now working fine, and we are already planning to add some cool new features. And test them vigorously.

5 thoughts on “That time when I was an IDIOT and what I’ve learned from it

  1. And to think that I felt bad bad sending out an email to my data base today with one small typo :), which reminds me to point out that you too have a typo in this blog ‘BROCKEN’ (haha) – We all human and not infallible….keep on flying – great story!!

Leave a Comment