Riding Waves – Making a Pokemon Go Map App

By |September 4th, 2016|

TLDR: Made a Pokémon Go Map app and received over 300,000 downloads in the first week

I was on vacation in Big Bear Lake, California for the 4th of July when the latest and greatest Pokémon game was released, Pokémon Go. Pokémon Go was the first official Nintendo licensed app for iPhone and Android, so it was a pretty big deal. It wound up having one of the best game launches of all time and receiving international press attention.


Deciding to make an app

On one of the first days, it occurred to me that if I wanted to take advantage of the hype of Pokémon Go, I’d have to do it now. The App Store search engines work by giving apps that have a lot of downloads, high usage, and ratings high search engine positioning for keyword searches. So, I knew if I wanted to get ranked for any Pokémon Go search terms, I’d have a small window of time before other apps were occupying that same space.

For the next couple days, I figured out what kind of app I would make and got to work. I read that the company that created Pokémon Go previously made a similar game where they got all the Gym and Pokéstop locations from. I looked into it to see if I could easily scrape that data to make it available in a map app. However, the data was not trivially easy to scrape so I rejected that idea since time was critical. I settled on making a map app that would crowd-source Pokémon Gym, Pokéstop, and Pokémon locations. I pre-loaded roughly 5,000 points of interest that I found on other locations around the internet.

There were a few delays: driving [...]

How Flappy Bird accidentally went viral

By |February 1st, 2014|

If you haven’t heard, the latest bird game to hit the top of the App Store is Flappy Bird.  I saw this game at #1 for numerous days in a row and had to figure out what was going on.  One guy even goes as far as to say that the developer is using bots to fuel all the downloads for the app.  He just doesn’t understand the mechanism that is fueling this extremely rapid growth.

Here is one of the latest charts showing Flappy Bird’s crazy growth. After months of nearly no downloads, it jumped and out of nowhere surged to the top of the App Store.

Flappy Bird number downloads


What Flappy Bird is NOT doing

Ad Spend – According to the developer, he has spent no money on any advertising for Flappy Bird.  Many of the top games in the App Store such as Candy Crush or Clash of Clans have a 5 or 6 figure daily advertising budget.

Cross-Promotion – Flappy Bird is doing no cross-promotion with other successful apps in the App Store.  One technique of driving growth for apps is to link to other companies apps and they link back to you in turn growing both of your user bases. Flappy Bird doesn’t do this.

Social Sharing Buttons – Flappy bird does not employ any sharing features within the app itself.

Marketing of any kind – According to the developer, he just got “lucky”.  Well, lucky is good and all but it doesn’t help other developers to figure out how they can replicate these techniques and make more money.

So why is Flappy Bird #1 in the App Store??

Alright, so to explain how Flappy Bird has had such unbelievable growth in the past few [...]

Why you should attend conferences

By |December 6th, 2013|

I just came back from San Francisco yesterday afternoon after attending a conference called AppNation at the Moscone Center. I live in Las Vegas so it takes a bit of work to get up there. With the cost and time involved with traveling, why even attend conferences?

appnation conference


This is probably the most important reason that I attend conferences. I recently heard Tony Hsieh speak in Downtown Las Vegas on what he believes to be one of the most important components to living in a city, collisions. His definition of a collision is whenever there is an interaction between people. He believes that by increasing the amount of collisions that occur on a daily basis, you can maximize fortuitous chance encounters. When 2 people come together that have formerly never interacted, there can be an exchange of ideas and thoughts that has a compounding effect that can really enhance a product someone is building or anything that someone is working on.  By attending a conference in your field, you are essentially increasing the chance of colliding with someone that works in the same problem domain as you everyday. They can share ideas & tips that can dramatically enhance your product or shorten your learning curve.

Idea Exchange + Compounding

Following the idea of collisions, the exchange of ideas with other people at conferences can have powerful compounding effects with your own ideas. While attending the conference, I heard an employee of Uber talking about how Uber is really a Supply & Demand marketplace. In my mind, I had previously just associated the company Uber with being a luxury car service. However, I have predefined definitions of supply and demand in my mind, so when I [...]

App Store Screenshots – Boosting Downloads

By |November 26th, 2013|

After releasing numerous apps to the App Store and having had some that have flopped and some that have crushed it, I have learned what works and what doesn’t in terms of App Store Screenshots. Here are a few strategies I use when creating screenshots. This is Part 3 of a set of 3 posts on how to improve your App Store presence. You can also check out part 1: how to write a download boosting app store description and part 2: how to make a killer app icon.

Why App Store Screenshots matter more than ever

Since the release of iOS 6, Apple has redesigned the app store search results so that instead of having results show up as a list, search results now show up 1 at a time and show the first screenshot. This has dramatically changed the way app discovery works and it is important to know that it is there and to take advantage of it.

iOS 5 App Store Screenshot          iOS 7 App Store Screenshot             
Since an entire screenshot shows up whenever someone searches for your app, this means your first App Store screenshot is more important than ever.

Strategy #1: Select your screenshots that highlight key features

This may seem like something simple, but have your App Store screenshots highlight the most impressive features in your app. If there is heavy competition for your app, highlight the features in your app that make it different.

Strategy #2 : Communicate anything that may not be immediately obvious

There are times when you have a feature in your app that is hard to describe just by an organic screenshot from [...]

How to Make a Killer App Icon

By |October 29th, 2013|

Over the past few years in the App Store, I’ve had apps that have varied from extremely poor performance to chart topping performance with millions of downloads. One of the key factor’s to an app’s success is the app icon. There are several attributes that I have found generally lead to more downloads. I will also show you how to find the best icon designers in the world. This is the Part 2 of a 3 part series on how to optimize your app store presence. You can also check out how to write a good App Store description.

Icon Styles

I believe the best way to learn is by example, so I will start this post by showing you some of the best icons in the App Store.


Candy-Crush App icon   Clash-of-clans    Game-of-war

These 3 icons are from some of the highest grossing games in the App Store. As of this posting, Candy Crush is #1, Clash of Clans is #2, and Game of War is #4.

An interesting thing to note about Candy Crush and Clash of Clans is that they both have an icon border and have a 3 dimensional component where the subject of the icon overlaps the border. This really causes the icon to pop out and get more attention. The other important thing to notice is that the subject of the icon is huge and occupies most of the icon.

What is interesting about Clash of Clans and Game of War is that [...]

App Descriptions – 5 Secrets to Boosting Downloads

By |October 21st, 2013|

If you’re reading this, you’ve probably discovered that writing a good App Description can be hard!

There are really 3 things you want your app store description to do:

  1. Convert
  2. Convert
  3. Convert

This post will explain the 5 secrets on how to write an app description that actually converts!

This is the first of 3 posts that I will be writing on the App Store that will cover your App Store presence and how to get people to actually download your app after seeing it in the store.

First of all, I wanted to say that I am going to be presenting the 5 secrets of an app description that I have personally found that actually lead to more users downloading an app. I will be teaching by example of apps that have all received millions of downloads or have been ranked in the top charts.

1.  Social Proof

One of the best ways to persuade new users to download your app is to tell them about all the other people currently using it. Hearing about others using it makes it psychologically much easier to believe that the app is really good.

Here are some good examples of what I am talking about:

“Over 3,000,000 people trust Private Photo Vault to keep their photos hidden.

Top 100 Photography App in USA, Korea, Japan, Taiwan, India, Italy, Finland, UK, South Africa, Egypt, Mexico, Malaysia, Australia, Hong Kong, France, Ireland, Germany and many more countries.”

Private Photo Vault

App Description

 “#1 Top Paid App on the App Store

Downloaded and used by millions including Starbucks, ABCFamily, UFC, A-list celebrities, teachers, bloggers (fashion, fitness, food) and Instagrammers ALL around the world.”



If you are just launching your app, you won’t really have the ability to list [...]

iOS 6 UIPasteboard setImages and setImage

By |October 11th, 2012|

The iOS6 sdk has some changes to it. Along with these changes come changes to the UIPasteboard. One thing is the UIPasteboard now handles most images as NSData.

Here is my solution to accessing and setting images in the UIPasteBoard.

Accessing Images:

for (NSObject* obj in [UIPasteboard generalPasteboard].images) {
if ([obj isKindOfClass:[NSData class]]) {
UIImage* img = [[UIImage alloc] initWithData:(NSData*)obj];
} else if ([obj isKindOfClass:[UIImage class]]) {
UIImage* img = (UIImage*)obj;

I saw in a comment that setImages: is not functional, here is a fix:

Setting Images:

for (UIImage* img in myImagesArray) {
NSData* imageData = UIImageJPEGRepresentation(img, 1);
NSMutableDictionary *item = [NSMutableDictionary dictionary];
[item setValue:imageData forKey:(NSString*)kUTTypeJPEG];
[[UIPasteboard generalPasteboard] addItems:[NSArray arrayWithObject:item]];

Three20 iOS 6 Rotation

By |September 21st, 2012|

Today, I was working on updating one of my apps for the iPhone 5 and after dealing with iOS 6. I realized my view controllers weren’t rotating. All that was required was simply adding this line after the TTNavigator had been setup.

[[[UIApplication sharedApplication] keyWindow] setRootViewController:[[TTNavigator navigator] rootViewController]];

This is due to the changes in the ViewController rotation API in iOS 6. A rootviewcontroller must be set for the main window of the application.

1st Place Startup Weekend SLO

By |March 1st, 2012|

Several weeks ago, I attended Startup Weekend here at Cal Poly and I worked on a project called Haberdash.

Haberdash is a clothing recommendation engine that makes clothing recommendations after  building up a profile on a user. It is essentially the equivalent of Pandora but for clothing.

My job was to build the iPhone app over the weekend and it wound up looking pretty good during our final presentation.

We had an excellent team at Startup Weekend and wound up winning 1st place.

Here is a video showing what was created by the end of the weekend:

iPhone App Showcase

By |April 24th, 2011|

Several weeks ago, I sent in an application to Apple for Cocoa Dev Camp after receiving an e-mail from my school about it. As part of my application, I mentioned that I am currently an iPhone developer and attached the source to one of my projects.

I still haven’t heard back yet regarding whether or not I was accepted to Cocoa Dev Camp, but I was asked to participate in an iPhone App Showcase that will be held at my school this upcoming Tuesday.

I am pretty excited and  will take some photos and make sure to show post them.