A Pokemon Go case study on scale
The game that has one of the highest number of active users(an estimated 26 million in the US) and broke the download record in the Apple app store for most number of downloads in it’s opening week. It’s also the reason Nintendo’s(part owner of Niantic Inc) stock went up by 25%. You’d have to live under a really big rock to not have known about Pokemon Go. The game allows users to explore the real world catching Pokemon and even have Pokemon battles with each other. It uses 3D and AR technologies and the servers run advanced geospatial querying and indexing techniques.
There’s a lot one can learn by knowing about the challenges faced by the dev team in handling so many users and running the product at scale.
Apart from the sheer number of users, one of the core reasons for the scale problems faced by the Pokemon Go are spatial requests coming from third parties. These are requests coming outside the Pokemon Go game client and their terms of service. Here’s a graph released by the dev team right around the time of the Latin America launch. They claim here that they were able to proceed with it only after blocking scrapers. Observe the drop in spatial requests:
After launching the app in only 3 countries, the response has been tremendous. Pokemon Go’s case is unique. The app is awesome and fun to play, but the franchise has been around for several years now. It’s one of the main reasons that people rushed to play the game. There has been no official launch of the app in India. Yet, android users have downloaded the apk file from various websites and started playing. Iphone users have to employ a slightly different hack without jailbreaking their phone. But I’ll leave that for another time! Sadly, the Niantic team just geoblocked spatial requests from India. So, Indian users wouldn’t find any Pokemon when they use the app.
Amazon CTO Werner Vogels recently tweeted a photo of the Pokemon Go error page which cites server issues. He quickly dispelled speculation over his post by tweeting that it was not meant as a quip or joke, and that he genuinely wanted to offer help given his experience handling large scale software implementations.
Pokemon Go’s story should serve as a reminder to all startups who are about to launch their product – Never underestimate how your app could scale. Of course, not all of our apps will scale like theirs, but even they didn’t expect it. Several server-side technology experts have reiterated the importance of pre-release load testing and digital performance management. Cloud based models which don’t support rapid up- or downscaling wouldn’t be of much use in these cases. It’s better to be delay your release a bit than be sorry for it later by getting bad reviews on your app. One expert did point out an interesting fact – “User forgiveness is fickle and short-lived.”
Pravir Ramasundaram is our in-house content writer at ContractIQ. Keep coming back to read more from him on mobility & outsourcing.