Welcome!

Linux Containers Authors: Yeshim Deniz, Zakia Bouachraoui, Pat Romanski, Liz McMillan, Elizabeth White

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Article

Pokémon Go: A Developer’s Perspective | @DevOpsSummit #APM #DevOps

Every app developer dreams of the kind of success that Pokémon Go is enjoying right now

Pokémon Go: A Developer's Perspective
By Anand Akela

Every app developer dreams of the kind of success that Pokémon Go is enjoying right now. A month ago, it was just a rumor. Just 24 hours after it was released, it was the number one top grossing app, even though it was free to download and play. Within a single week, Pokémon Go servers were slammed with traffic from 21 million players while they tried to fix production errors.

Today it has 3X more Android downloads than Tinder, nearly as many daily active users as Twitter and users spend twice as much time in the app as they do in the phenomenal Snapchat. Even Facebook can't hold up against the Pokémon onslaught. By any mobile app performance metrics you want to use, Pokémon Go has been a smashing success. It's also at the center of a media firestorm.

How did they do it? Why are so many people so upset about it? What lessons about better software performance can you take away from the whole experience? Here's your instant history of an app that tapped into far more demand than the developers could handle. It's both a best-case scenario and a cautionary tale.

The Birth of Pokémon
It's just a game for kids. Really, that's all it is, but that's exactly what people said when Nintendo released Pokémon 20 years ago. It's a game where you capture little monsters and make them fight each other - part insect collection and part sci-fi gladiator arena. Kids continued to love it as they grew up and then came the anime manga, the trading cards, the TV cartoons, the dolls and the movies. Now, the Pokémon franchise is worth over $46 billion.

In 2014, as an April Fool's Day prank, Nintendo teamed up with Google Maps to make Pokémon monsters appear in real places using augmented reality. The response was so enthusiastic that suddenly everyone got real serious about it.

Monsters Unleashed
Enter Niantic, an augmented reality game maker led by former Google Earth developers. It's best known for Ingress, a real-world/sci-fi mashup where gamers travel to real places using Google maps and fight for supremacy of "portals" in the app. A portal could be a business, a school, a park, etc. If it could be mapped, it became a battleground. Pokémon Go was built on the skeleton of Ingress and former portals became "gyms" for training monsters or "Pokestops."

Niantic CEO John Hanke said they started building the game based on a data set of public artwork that they chose from among geo-tagged photos inside Google Earth. "We basically defined the kinds of places that we wanted to be part of the game," Hanke said. "Things that were public artwork, that were historical sites, that were buildings with some unique architectural history or characteristic, or a unique local business. There are portals in Antarctica and the North Pole, and most points in between."

Tech Specs and Coding Languages
There's no official word about the code base of Pokémon Go, but the greatest probability is that the game was coded mostly in Java/libgdx because that's what Niantic used to create Ingress. Although the bulk of the game may be Java on the server side, many coders who have played it suspect that there has clearly been some work in Objective-C/Swift for the iOS version so that it runs as a native app.

The strongest piece of evidence to support this comes from the Niantic employment page, which reads: "Create the server infrastructure to support our hosted AR/Geo platform underpinning projects such as Pokémon Go using Java and Google Cloud." Niantic is also looking for coders with "Key Skills: Unity3D (Unity 3D), C# - You will work with a proven and experienced team of mobile and cloud developers to turn the entire world into a gameboard."

The database supporting the game is NoSQL running inside Google Cloud Services. That implies that the game is probably integrated with Cloud Bigtable or Cloud Datastore, perhaps using JSON or CSV for data handling. While many other apps interface with their se RESTful APIs, Pokémon Go seems to be relying on an RPC interface for its server interactions using Protocol Buffers.

Safety and Privacy
In terms of data safety, the iOS version initially asked customers for full access to their Google accounts. That means it could have gotten into user Gmail histories (which often contain passwords and other private information), classified information in Google Docs/Drive or very personal info from Google Calendar. Niantic had to issue an apology and said it never intended to collect all that private data, but industry watchdogs just have to take their word for it.

At one point, due to this privacy problem, their sign-up process was broken and the company had to turn away new signups. That can be particularly bad from a developer perspective because most apps lose 60 percent of their customers over the first month, and 96 percent after a year. New sign-ups are the only way to stay alive.

When the Servers Crashed
Pokémon Go started out with a great deal of talent, serious backing from major industry players and a built-in audience of brand fanatics. What could go wrong? A lot, it turns out. A few days after Pokémon Go's official release, Forbes posted an analysis that declared, "The launch has been an unmitigated disaster. The list of things that have gone wrong with the launch goes on and on. Players unable to login; players in the U.S. unable to download the game to begin with; game crashes; maps bereft of any and all Pokémon, gyms, etc. Everything from sign-in issues to overwhelmed servers have plagued the game's launch."

This is the perfect example of the danger of popularity. Normally, the last days leading up to pre-launch can be frantic. App developers have often used the days after launch to work out the kinks. That clearly couldn't happen under the crush of new user sign-up traffic that hit their servers. Others have made the same mistakes, though.

As for the production team at Pokémon Go, could they or should they have anticipated so much traffic? Yes, and Niantic's launch problems might have been catastrophic if it were another business critical application. The average cost of a critical application failure per hour is $500,000 to $1 million, according to a research by analyst firm IDC. It is even more important to get things right and deliver exceptional end user experience when applications are primarily consumed via a mobile App. Nearly a quarter of apps are only opened once.

Many enterprises are using AppDynamics to avoid such catastrophic situations and to minimize the negative impact on their brand reputation. With AppDynamics, they are empowered to have real-time insights into application performance, user performance and business performance so they can move faster in an increasingly sophisticated, software-driven world.

Where Pokémon Is Going
Pokemon Go brought reality to the concept of meshing the virtual with the real, so you should expect augmented reality to develop quickly now that it's finally become profitable. Expect a huge second mover advantage in the world of app development because you can be prepared to address the server traffic spikes, the user privacy issues and the public safety controversies.

The days of actual immersive virtual reality, complete with a 3D experience, might not be far off, but preparation is everything, especially with app developers, programmers, and IoT experts. The most important takeaway from the story of Pokémon Go is that companies of all sizes need to prioritize performance monitoring before errors start impacting customers. The best way to do that is to simulate heavy traffic and deploy tools like AppDynamics to filter out common errors and exceptions as soon as possible and long before the app hits production. In this case, the users kept coming, but not every app maker will be so lucky.

The post Pokémon Go: A Developer's Perspective appeared first on Application Performance Monitoring Blog | AppDynamics.

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.

IoT & Smart Cities Stories
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear these words all day every day... lofty goals but how do we make it real? Add to that, that simply put, people don't like change. But what if we could implement and utilize these enterprise tools in a fast and "Non-Disruptive" way, enabling us to glean insights about our business, identify and reduce exposure, risk and liability, and secure business continuity?
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | DXWorldEXPO 2018 New York, which will take place on November 11-13, 2018 in New York City, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...