Website McBroken answers the universal question of every human being on the planet: “Is the McDonald’s ice cream machine broken?”
More specifically, the site’s map informs you of the working or broken status of all McDonald’s ice cream machines near you (and every McDonald’s location in the US). Green map markers indicate the location’s machine is working while red markers mean a broken machine.
McBroken also provides a statistical overview of McFlurry makers in big cities like New York, Dallas, Philadelphia, Houston, San Antonio, San Jose, Phoenix, Chicago, Washington, Los Angeles, San Diego, San Francisco, Boston, and Seattle, in order, along with an overall broken percentage of all the machines in the U.S. (9.13% at the time of writing).
So how does McBroken do it for every person’s nearest McDonald’s at any given second to ensure you get your McDonald’s ice cream cone? Let’s take a look.
First, a bit of background. The site was created by software engineer Rashiq Zahid. In October 2020, Zahid announced via Twitter that he “reverse engineered mcdonald’s internal ordering api. . . to figure out which locations have a broken ice cream machine.”
His method? He “plac[es] an order for a mcsundae every minute at every mcdonald’s location in the US.” This can total up to $18,752 each time.
The response was immediate. Twitter users thanked Zahid for his soft-service and some said he deserved a Nobel Peace Prize (check out his Nobel Prize competition here).
So why is McBroken such an innovative idea? The $1 vanilla soft-serve ice cream at McDonald’s (along with all McFlurries, McShakes, and other treats) is almost universally popular. Yet, as shown by this McDonalds ice cream machine meme, everyone knows successfully getting ice cream cones McDonalds is a gamble. The ice cream machine always seems to be broken. And when it happened to Zahid in July 2020, he started working on McBroken. So let’s explore how the API works.
We’ll start with the basics: what is an API? API stands for “Application Programming Interface.” They give applications the ability to exchange data and functionality with other applications. Any time a website or application you’re using pulls information from another source, it’s likely doing so via that source’s API.
For example, when you use a travel aggregator to find a flight, the service is getting those results by using the providers’ APIs. While website pages are limited by their purpose of displaying information to us humans, our applications can skip past that limitation and get immense amounts of data quickly from a source’s API.
In McBroken’s case, Zahid first identified how McDonald’s communicates with their online ordering mobile app. It refuses orders for any items that are unavailable at a specific location. So, if a customer can’t add ice cream to their cart, it’s because the app reads that the location’s ice cream machine is broken from the API.
To know which locations’ ice cream machines were working vs. broken, Zahid must periodically order ice cream at every North America McDonald’s location, which he does automatically using a bot. Based on which locations accept his orders, he can identify those with working ice cream machines, which he shares on McBroken.
Applications can levy the power of companies such as McDonald’s thanks to their APIs. Other tasks made possible with APIs include signing in with your Google account on non-Google sites, and, of course, maps.
Luckily, if you want to make your own map, like the one below, you don’t need to use an API yourself.
View McBroken Los Angeles in a full screen map
If you have any location data, here’s how to make an interactive map by simply copying and pasting from the spreadsheet tool of your choice (Excel, Google Sheets, etc.)
- Open your spreadsheet
- Select (Ctrl+A or Cmd+A) and copy (Ctrl+C or Cmd+C) your data
- Open your web browser and navigate to batchgeo.com
- Click on the location data box with the example data in it, then paste (Ctrl+V or Cmd+V) your own data
- Check to make sure you have the proper location data columns available by clicking “Validate and Set Options”
- Select the proper location column from each drop-down
- Click “Make Map” and watch as the geocoder performs its process
You can customize your marker colors to match your map’s content (in our case, green for “Working” machines and red for “Broken.” Plus, you have your choice of the shape of your markers along with six different map styles for the ultimate customization.
Find out more about making your own Google map here.