Welcome!

Linux Containers Authors: Elizabeth White, Liz McMillan, Vaibhaw Pandey, Pat Romanski, Yeshim Deniz

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.

@ThingsExpo Stories
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, 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.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things’). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing? IoT is not about the devices, it’s about the data consumed and generated. The devices are tools, mechanisms, conduits. In his session at Internet of Things at Cloud Expo | DXWor...