How EXACTLY The Conspiracy Collection “broke the internet” — (simply) explained by a software engineer

Cup of Code
8 min readNov 26, 2019

--

This publication is for all of you who are either developers that are curious about web development, or end-users that want to know why a website sometimes doesn’t work!

I analyzed a real incident that happened on November 1st, 2019: A makeup collection was launched and broke several websites because of traffic overload. Here I teach some basic concepts in web development and explain quotes from the last episode of Shane and Jeffree’s series (https://youtu.be/OTCOoVApM_U), that was aired on November 22nd.

Jeffree Star x Shane Dawson

Want to know what website traffic is? How does your browser reach a website? What does it mean to “break the internet”? Keep on reading!

What happened? Who are these people?

Jeffree Star and Shane Dawson are two American YouTubers with millions of subscribers across social media platforms.
They created a series on YouTube documenting the year-long process of creating the Shane x Jeffree Conspiracy Collection.

However, the highly anticipated collaboration proved to be in such high demand that it broke several cosmetic websites in the process.
I’m here to explain what exactly does it mean to “break a website” and talk about things we saw in the last episode from a more professional perspective.

Jeffree and Shane broke the internet!

What is website traffic?

Web traffic is the amount of data sent and received by visitors to a website. This term does not include the traffic generated by bots. Bot traffic is called “fake traffic” and is generated by a third party. There is a cool video Shane Dawson made about fake traffic.

What happens when there is too much traffic?

When there is more traffic than the website’s servers can handle

Too much web traffic can dramatically slow down or prevent all access to a website. This is caused by more file requests going to the server than it can handle and may be an intentional attack on the site or simply caused by over-popularity (we won’t talk about website attacks in this article, although it is a very interesting field!). Large-scale websites with numerous servers can often cope with the traffic required, but we all saw it’s not always maintainable. A sudden traffic load may also hang your server or may result in a shutdown of your services.

Explaining some screenshots:

  • “I’m just gonna keep refreshing”:
“I’m just gonna keep refreshing” is not always the right solution!

Just so you’ll know, continuing to refresh just creates more requests from your browser. Creating more requests when there are already too many of them just makes the problem worse!
Refreshing the page is a good solution when the problem isn’t traffic overload, but a wrong loading (broken links, broken pictures, a half load of the page, etc).

  • “It broke the front end, it broke the back end”:

“We’re on hour two and thousands of people are being checked out per minute. There was so much traffic it broke the front end, it broke the back end, everything is fucked. Ya’ll broke the internet. We’re doing everything in our power but it is not on the Jeffree Star Cosmetics team. ” — Jeffree Star

For those of you who don’t know —
Frontend is mostly the web browser and everything the user sees and interacts with on the website.
Backend, also referred to as the “server-side”, is basically everything that happens behind the scenes. It is all about how the website works; it’s more like an indirect service provider for frontend development.

When there is a problem in the program, we call it a bug. It’s hard to determine whether a bug is in the front or in the back without checking. A given problem could be either (or even both!) — depending on what exactly happened: Let’s say that you can’t add an item to your cart. It is a frontend bug if, for example, the “Add” button doesn’t lead to anywhere, or is disabled for no reason. It could also be a backend problem if your order (your cart) doesn’t get to the server (AKA isn’t saved anywhere).

  • HTTP errors:
Error 500 — internal server error

Most of the time when a website doesn’t upload we get the error status code. Popular status codes are:

200 — OK: This is by far the most common returned status code. It means, simply, that the request was received and understood and is being processed.

404 — page not found: The resource doesn’t exist anymore, or maybe changed location. A good example of that could be when you’re on Facebook and trying to reach an image or a comment after they were deleted.

500 — Internal Server Error: This is the one we see in the above screenshot. This is a very general HTTP status code that means something has gone wrong on the website’s server, but the server could not be more specific on what the exact problem is. It is a good indicator that the problem is not you, it is them (and by that I mean a backend problem, and most likely there is nothing that you, as a user, can do about it).

Error 502 — Bad Gateway

502 — Bad Gateway: It means that one server on the internet received an invalid response from another server. The more local server, that your browser is requesting from, can’t get a response from beauty bay’s server.

When the server is down — there is no one receiving visitors!
  • “Requests that might not get through”:

“There will be a couple of requests that might not get through” — Someone from the technical team

Most likely the requests are waiting in some sort of queue, and this queue has limited space. If there was no preparation for THAT amount of clients — the requests (orders) that exceeded the size of the queue are just thrown away.

When there are more requests than the queue can handle it creates an overflow and those requests get lost
  • “Some items never appeared on the website”:

Three-and-a-half hours into the launch, Shopify remained broken. Dawson and Star soon realized that 6–8 items from the collection never appeared on the Shane tab on the website, including the Mini Controversy Palette.

Just a theory — not a fact: *wink-wink ;)* but really, I can’t know what happened with the given information I found online, I just share here a possible reason for this problem: There is something called web cache. When you enter a website URL there is a whole system that brings you the page you requested. The internet page you desire is a file located in a faraway server, and it takes time and effort to get it to you. This file gets to you through other (closer) servers.

This is what happens when you request a website page

So let’s say you asked for “www.google.com”. I assure you that you are not the only one in your environment asking for google’s website recently. So, instead of going and getting the page that the server (or even your browser) just got recently, it is saved in a local cache and provides you quicker access.

Why am I telling you this? A possible cause for seeing only part of the collection on the website could be that someone asked for the page when not all the items where uploaded and when your browser asked for the page (even after they were) — you got the page cached in the server, and if you would’ve sent a request to the original server you could have gotten the updated page.

  • “If they do …, all items would appear”:

Star explained that they were working to fix the issue, telling fans that if they searched the word “Shane” on the website, all items would appear.

In continuation of my theory, the suggested solution solves the problem, because searching the word “Shane” on the website causes a request of a different page, which requires the browser to update the cache and by that to reach the updated page.

  • “Despite the issues, the website has slowly been coming back to life”:

Despite the issues, the website has slowly been coming back to life with Star confirming that every unit of the Conspiracy Palette was officially sold.

It could be because they managed to deal with the traffic overload, but another possible reason is that people gave up, and the website got to a traffic amount the servers can handle.

“What they’re suggesting is we can boot some people off the site”

It was suggested in the video that they disconnect clients from the site in order to reduce the traffic and get a chance to access the backend and try to solve the problems.

To conclude:

Initially, I decided to write about this subject from pure curiosity. I was excited that it combined my fields of interest and I wanted to learn more about what happened there. As I dived in I realized that this could be a great peek into tech for young women, who are the dominant audience of this makeup collection, to the world of software development, and I loved it! I don’t think that enough girls are considering this as a career option and I would like to change it.

Wow, software development is pretty cool!

I hope you enjoyed reading this article and found it useful. I would love to hear your thoughts, here in the comments or in a private message:
LinkedIn: www.linkedin.com/in/ifat-neumann
Facebook: https://www.facebook.com/cupofcodebyifat/
Email: cupofcodebyifat@gmail.com

resources:

https://www.altpress.com/news/jeffree-star-shane-dawson-conspiracy-collection/
https://www.youtube.com/watch?v=OTCOoVApM_U
https://en.wikipedia.org/wiki/Web_traffic
http://www.differencebetween.net/technology/difference-between-frontend-and-backend/

--

--

Cup of Code

I write about things that interest me as a software engineer, and I find interest in various subjects :) || Come visit at www.cupofcode.blog