As we’re looking back at the year we’ve just said “good bye” to, some rather choice words are being used to describe 2020. In fact, the Twittersphere is abuzz with a recent challenge to sum up this year in one word, and we must say, contributions from official company accounts are really nailing it. Microsoft Edge summed up the year with “404,” IBM replied “01110011 01101011 01101001 01110000” (binary code for “skip”), and Zoom designated the year “Unstable.”
Speaking of stability, it’s hardly a surprise that 2020 has also experienced its fair share of bugs and crashes to complement its global pandemic (the biggest virus of all). While any list is subjective and can include countless application, software, and operating system errors, here are the five crashes (in chronological order) that will remain in our memory.
We should have known 2020 was trouble when the year kicked off with a “party like it’s 1999” bug. That’s right: the infamous Y2K bug came out of hibernation after being buried deep inside old code for twenty years.
As a refresher, the Y2K bug (also known as the Year 2000 problem) caused global fear in 1999. Due to hard-coded formatting and storage of calendar data, there was widespread concern that computers and networks would stop working at the turn of the millennium. To address the issue, companies could either solve it by recoding dates as four-digit years (approximately 20% of companies took this route), or they could put in the temporary fix called “windowing” that enabled dates from 00 to 20 to be referred to as the 2000s.
The quick-fix represented not only a faster and cheaper approach, but the underlying logic was that code from 1999 would certainly be upgraded and replaced by 2020. Unfortunately, we all know how that kind of logic can come back to bite you. Thus, our decade kicked off with a new variety of Y2K bugs, now affectionately referred to as Y2K20 bugs.
Most notable was the rejection of credit cards and prepaid parking cards at parking meters in New York City, which caused a massive challenge for city workers who had to reconfigure by hand the software in each of the 14,000 meters. For gamers, the Y2K20 bug impacted professional wrestling video game WWE 2K20, causing crashes when players used the Creations menu to create custom characters, belts, or arenas or when they started 2K Originals DLCs. Once the problem was recognized, many players performed a workaround by setting back system clocks to anytime before 2020. If only.
In hindsight, this software failure looks like another harbinger of what was to come, but who could have guessed in February that airline travel would become taboo in 2020?
Alas, on February 16, London’s Heathrow Airport, the seventh-busiest airport in the world, was plagued by technical problems that affected more than 100 flights. The software failure impacted both departure boards and check-in systems, which made electronic tickets challenging to use. For an airport that serves as a hub for connecting flights, the impact on travelers and air traffic was not insignificant.
What made this disruption even more frustrating was that, only six months prior, British Airways had experienced a similar challenge and had needed to cancel over 100 flights and delay about 200 more due to system failures with both online check-ins and flight departures.
Updates to operating systems can sometimes elicit groans, cheers, or a mix of both. However, there was no denying the collective thumbs-down on Apple’s iOS 13.4.1 release in April. It didn’t take long for a serious bug to be discovered that could crash any Apple device (iPhone, iPads, Apple Watch, Macs) running the update.
The crash initiated when a user received a notification in the Mail or Messages app with a specific set of characters in the Sindhi language. The character-linked bug crashed the entire device and required some users to reboot or go into DFU mode. This text bug was the first of its kind in a couple years, with the last occurring in iOS 11 due to a Telugu (Indian language) character bug.
The biggest crashes of the year happened (twice!) at the exact same time for numerous popular consumer apps. The culprit in both instances? Facebook’s software development kit (SDK).
The first occurrence on May 6 impacted iOS users attempting to open apps such as Spotify, Pinterest, TikTok, Venmo, Tinder, and Doordash. Instead of listening to music, sending money, or ordering food, these users instead encountered an immediate app crash.
GitHub developers were quick to recognize that Facebook SDKs were the common link across these crashing apps. Since deep integration with Facebook’s SDK is encouraged in order to benefit from functions such as seamless login, share functionality, and advertising insights, that means a bug in Facebook’s API has the ability to crash consumer apps because the initial SDK can’t authenticate.
Adding insult to injury, a repeat performance occurred on July 10 when these same popular apps once again crashed upon login. Facebook admitted that a code change to the Facebook SDK caused the iOS app crashes… again.
These app disruptions demonstrate not only the importance of defensive coding, but they also illustrate why it’s imperative to select an error monitoring solution that can scale to manage spikes in crash reporting. For example, what did a free tool like Crashlytics do during the SDK incidents? Its error reporting was completely disabled during both outages. Even worse, the reporting remained disabled for 40 hours afterwards in May. Crashlytics customers didn’t have data to understand what happened during the mishaps, nor could they see errors for days.
For eSport fans, one of the worst examples of bug crashes came at the Apex Legends Global Series 2020 (ALGS) tournament in September. Prior to the event, the game client had a reputation for crashing, which led a handful of professional players to voice on social media that bug fixes should be made prior to the event. One player even suggested that ALGS be delayed, fearing the bugs would impact the outcome of the tournament.
And they were right: “In what had to be one of the most unfortunate streaks of bugs in esports, all of [Team Liquid’s] matches except for one had at least one player disconnect — and in the final, two of the three team members disconnected, unsurprisingly bringing the team’s progress to a grinding halt.” In this case, bugs killed the competition. Literally.
2021 goals: Stability in everything we do
If the history of bugs tells us anything, it’s that crashes have occurred for years and will continue to happen for many more. The good news is that we can learn from errors, and the best lessons come from a complete understanding of your software and application stability. Being able to answer the question “Is it time to build new features or fix bugs?” is the difference between maintaining happy users and earning a spot on this infamous crash list.
How are you planning to achieve your stability goals next year? To ensure the one word used to describe 2021 is not “Unstable,” now is the perfect time to make it your new year’s resolution to take control of your application stability.