case study - Hitcents.com

Transcription

case study - Hitcents.com
by Macy Mills
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Concept Design
President of Hitcents, Chris Mills, was sitting in his living room playing Draw Something to pass the time. As he was
taking his turn, he saw the word “battery” as one of his options to draw for his opponent. He looked down and saw
some batteries sitting on the coffee table. That’s when the idea hit: “What if I could just take a picture of the object
instead of drawing it?” Chris realized that he is not an experienced artist, and he wanted a way to make the same
type of game just as creative, but even more personable. He then went to his wife and asked her what she thought
of the concept. After she agreed that it would be pretty cool, he took it to his business partners and family: brother,
Clinton Mills, CEO of Hitcents, and father, Ed Mills, CFO of Hitcents. The rest is (hopefully) history!
We decided to create this case study to share the challenges that we faced when developing PictureTHIS! We are
an app development company with experience in different app designs. Below are the different sections you may
be interested in, pertaining to app development. Feel free to jump to a theme, or read the whole thing to see how
we created PictureTHIS from start to finish!
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Concept Research
“Clients come to us all the time with app ideas, but never research if there is an app out there that already does
what they are wanting it to do,” explained Chris Mills. There are so many apps today that it is important for people
to research the market before running with (what they believe to be) a great idea. Hitcents knew that research had
to be done on the concept. After searching in depth on the Apple app store and Google Play for similar apps, none
could be found. “The moral that we want others to understand is that you have to do your research to find out if your
idea already exists as a different app,” Chris said.
Another issue with app ideas is that a lot of apps are made for a niche market that only work for a certain amount
of people. Hitcents knew that to reach maximum success an app would have to be created that would work for the
majority of the population. So that brought the question up: why would people use this app? This is a question
that all app developers should consider when making an app, whether it be a utility or a game. Hitcents wanted to
combine humor, competition, teamwork, and replay-ability, as well as other aspects to create an app that people
would want to use.
Once Hitcents determined that the app idea met all criteria (original, intriguing, far reaching, usable, etc.), concept
development began. A flow chart was created on how the experience would work. Chris said it was important to
work on concept development before spending any time on the design of PictureTHIS and recommends this for
other app developers.
Figure 1
This is the original concept
flowchart created by Chris
Mills at the foundation of
PictureTHIS!
PictureThis
Buy Letters
Live Games
PictureThis
Splash Screen
Finds a live
player
Logged In
Main Menu
Facebook
Email
Find Random
Opponent
Picture/Word
Guess
Start New Game
Settings
See Who’s Playing
Conclusion
Meet the Developers
Store
Not Logged In
Enter Email
Address
Found
Email
Correct
Give Up
Splash Screen
Splash Screen
Show Word
Invite Someone to
Play
Invite to
Download
Post on Wall
Login Screen
Facebook
Facebook
Authentication
Account Settings:
Log Out
Edit Name
Change Password
Settings:
Sound: On/Off
Accounts Settings
Word Selection
Picture
Email
Email:
Email Address
User Name
Play Button
New Email Address
Send
Generated
Password to
email
Take
Picture
Picture
Library
Existing Email Address
Email Login:
Password
Forgot Password
Login Button
Email forgot
password
Play the game!
http://picturethis.hitcents.com
Pick from
FB
Format Picture
Rotate, crop, edit,
add arrows, etc
Send
Picture
Back to
Main Menu
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
App Challenges
Hitcents knew that the only way to be successful with this idea was to tap into the growing market of smart phones
and their capabilities. An app needed to be created, and it needed to be done fast. Developers and designers had
to overcome challenges that were brought to them in a timely fashion. Overall, PictureTHIS took three and a half
months to be developed. Listed below are challenges that the game presented to the PictureTHIS team and how
those challenges were addressed:
Humor
Building Teamwork
PictureTHIS was created on the theme of humor.
Friends and family can share humorous photos with
each other, and this is a big part of the fun of the
game. If a player unlocks the ‘CreateTHIS!’ feature,
they can create their own words for their friends to
guess. This makes the game very customizable;
inside jokes can be incorporated into the game, or
memorable experiences can be revisited.
Although competition is a measurable feature on
PictureTHIS, team work is even more important. The
points collected in the game are given to both players, whether they are guessing or taking the picture.
While people can still see individual scores for a
game, Chris says they “decided it was more important
to promote teamwork than competition.” The PictureTHIS team took measures to create incentives to build
players’ coin base. Players can use these coins to buy
more things from the store to make the game more
exciting, which should be the driving factor for players
of PictureTHIS!
Creating competition
At first, it was difficult for those working on the project
to figure out a way to create competition while still promoting team work. Developers had to come up with
a way that wouldn’t limit the game to the point where
people are purposely aiming for their opponent to get
the word incorrect. They needed a way that would create competition while still grouping scores together.
After multiple ideas, they settled on having separate
viewable scores that combine together to gain coins.
In between rounds, players can see how many points
they have contributed to the overall score and how
many points the other player has contributed. This
promotes friendly competition, but the most important
score is the overall score of the game because that is
how many coins you are actually receiving, ensuring
that players are helping and not harming each other in
the game.
Bringing You and Your Friends Together
Because PictureTHIS can be played between two
players on smart phones, no matter where they are,
it offers a way to bring people together. Users are
prompted in between rounds with the option to send
messages to one another. This grows the social gaming characteristic. “The important aspect of the game
was to be able to allow friends to share personal
experiences, no matter how far away they are from
each other” said Chris Mills. If the word option “beach”
comes up, and one is laying on the beach on vacation, it would be easy to snap a shot of it to send to
their very jealous friends who are stuck at home. Not
only are they playing the game, but also getting to see
what others are up to at any given time.
Content
Concept Design
App Challenges (continued)
the picture to guess what the word was. Another important process was pricing out the coin cost for each
unlocked feature. There was lots of testing pertaining
to how many coins you earned for each word, based
on time, length of the word, and difficulty. A formula
was created to combine all of those components to
reward players properly. Developers had to figure out
average scores per round and how many rounds were
played before players were unlocking the features.
Appropriate changes were made to ensure the features were challenging to collect, yet still attainable.
API Development
Including a random play option has been a continuing
controversy for our team. The risks and the benefits
had to be evaluated for this option. It is difficult to ensure that users won’t see inappropriate pictures when
they are playing a random opponent. But it is hard for
users to start playing the game if none of their friends
are playing yet. The team wanted to make sure that
users aren’t limited because there is not a random
play option. This feature is being developed now to be
added in an update, which includes a disclaimer for all
players that explains how each picture sent can not be
reviewed. Therefore, we can’t ensure that all pictures
will be appropriate for game play.
Data Storage
Creating Replay Ability
Cloud Computing
Chris realized that the “longevity of humor could be
short-lived,” and so they had “to give incentive to keep
playing.” Hitcents added a store to the game with features that could be unlocked. After players get a certain amount of coins, they can put them towards new
and creative ways to help them play the game, such
as creating their own words, pulling pictures from their
Facebook pages, or letting Google search the image
for them. This gives goals for players to reach so they
have the incentive to continue game play, even after
the humor and originality have worn off.
The PictureTHIS team had to come up with different
creative features that people would want to work for
to create longevity of the game. Chris explained that
“originally the ‘CreateTHIS!’ feature was only available
on the pro version of the game, but we knew that we
had to have more features to unlock, so we decided
to put it in the available features on the free version.” Other features include slowing down the timer,
revealing one extra letter every round, and getting an
additional word to choose from.
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Economy for Scoring
Play the game!
http://picturethis.hitcents.com
A lot of adjustments pertaining to the scoring were
made to the game in the creation process, and one
important change was how fast the clock ticked down.
At the birth of PictureTHIS, the possible coins you
could earn decreased so quickly due to time, that
through focus group testing Hitcents realized it had to
be changed. The quickness of the clock was stressing
some users out, and it was hard for them to focus on
Feature Unlocking
Badge System/Leader Board
Custom badges were created to represent peoples’
score thresholds to quickly identify how they rank
compared to their friends. Badges are given when a
player receives 25,000 points, 50,000 points, 100,000
points, etc. The leader board provides a way to see
how players and their friends rank in a chronological
order. On the leader board, the player not only sees
who they are playing currently and who they have
played in the past, but they can also see how they
rank compared to Facebook friends that they have
never played before. This gives them one click access
to play the people that they are not playing currently.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
How to Make Money on an App
“Discussing the development of a smart phone app is always fun, but at the end of the day it’s all about
business and how to make money. “ –Chris Mills
There are so many challenges that are overlooked when creating apps that it produces a lot of unsuccessful apps
on the market. The key to app success is to ensure that more money is made than spent. The important piece of
free apps is the money made from the ads. Hitcents actually began as an ad placement company in 1999, although
shortly after they focused their talents to other aspects of the internet market. With the recent success of their
multiple Draw A Stickman apps, Hitcents generated millions of ad impressions. With these past experiences, they
already had a taste of what needed to be done to make this a successful app. “We knew that ad revenue alone
would not be enough to satisfy our expenditure,” said Chris Mills, President of Hitcents, “So we needed more!”
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Pro vs. Free
A lot of times people think they are going to charge for an app and everyone is going to buy it. “The best idea is
to lure people in with a free app, and annoy them with the ads to the point that they want to buy the pro version,”
joked Chris. The idea for the pro version of PictureTHIS is to give buyers 15,000 free coins along with an adfree game, to entice them further.
Ads
“Deploying ads on a successful app is much harder than it sounds,” said Chris, “Things like CPM, CPC, CTR,
and ad rotations become very important to efficiently monopolize your audience.” Along with other items,
geographic location is a crucial part which is determined by the fill percentage by each ad network. “Not only
do you have to worry about backfilling your ads, but you also need to be able to update them without having to
push an app update,” said Chris. Hitcents likes the Apple iAd network, but it doesn’t support a large percentage
of the population geographically. With PictureTHIS, the team built their own ad priority system, which allows
them to update the backfill priority along with the ordering of the different ad networks without pushing an
update. “Selecting the right ad networks can take hundreds of hours,” Chris said, “and then after you select the
ad network that will pay the most, you have to make sure you will get paid.” For example, if you add a 15 minute
video that pays $25 CPM, but lose all of your users because of it, the highest paying ad wasn’t the best option
in that case. Another major factor when looking at ads is determining the ad sizes that will be used. Now, each
platform offers full screen ads, rich media movies, banners, and much more. There’s a fine line between how
intrusive the ads can be proportional to the revenue. All of these things have to be carefully reviewed, tested,
and implemented for a successful ad campaign. “With our experience in this market, we have gained a ton of
valuable information to help us successfully do this,” said Chris.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
How to Make Money on an App (continued)
In-App Purchases
In-App purchases make up a very new market that is not understood very well in today’s industry. “What was
important to us was to create an environment where users could earn every item by playing a lot,” explained Chris,
“but we wanted the early adopters to be able to unlock items via the coins they receive.” This was the best of both
worlds for the PictureTHIS team because users aren’t required to have to buy items to utilize all features in the
game, but it is still an option if they are interested.
Content
Concept Design
User Interface
Concept Research
Designers and developers joined as one in our quest to create the best game possible. The creative side from the
design process went hand in hand with the client side of the development process to start forming PictureTHIS!
App Challenges
Design
How to Make Money on an App
When Chris Mills went to Adam Diestelkamp, graphic designer for Hitcents, about PictureTHIS, Adam thought it
was pretty cool that he was going to be designing the graphics for an iPhone game. First, Adam went straight to
creating a logo as intriguing as PictureTHIS, incorporating the name PictureIT, one of the possible names towards
the beginning of the creation process. Once Chris and others approved the logo after the name PictureTHIS
had been settled on, two completely different user interfaces of the game were created. One concept was more
lighthearted and had a “gamey feel” to it. The other was a more realistic look. The PictureTHIS team went back and
forth with the two concepts. In the end, they went with the cartoony feel. Adam expressed how happy he was that
they did because the concept was more lighthearted, just like the game is lighthearted and goofy.
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
The PictureTHIS team wanted to make sure that the game was available on all devices including Apple products,
such as the iPhone and iPad, as well as Android devices. Creating an app that will work for all of these devices
can be challenging. One app has to be created for both the iPad and iPhone, including all generations of these
devices. Super large graphics needed to be created for the iPad and also graphics half that size, for the iPhone.
Hitcents used a third party script software to scale everything down. Adam discussed how difficult it was to cut
a full resolution graphic in half, and how he had to deal with half pixels and all different pixel sizes. In the end,
Photoshop wasn’t the only software used to create the final design. The iPhone app was created first because of
the smaller size. “Whatever you do on the iPhone can be scaled up to the iPad, whereas if you develop the iPad
first, everything may not fit on the iPhone screen due to its smaller size” explained Adam. After creating the iPhone
interface, he could scale everything up to fit the entire iPad screen.
Another important detail that Adam dealt with was the keyboard on PictureTHIS. Hitcents wanted to keep the app
custom, so they didn’t want to use the Apple interface because it would leave the app less developed and some
would argue less professional. Adam started with an ABC keyboard where the letters were shorter than the typical
Apple keyboard. Focus groups didn’t find this appealing. Not only were the keys harder to click because of their
size, they were also hard to find because of their order on the screen. Most smart phone users are accustomed
to seeing the QWERTY keyboard and thus making it much easier for them to use. After receiving the feedback,
Adam changed the keyboard to be QWERTY and increased the height of the letters. Since players are on a time
constraint when guessing words, the app was much easier to use after this change was made.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
User Interface (continued)
Development
Throughout the creative process, Hitcents developers worked on the client side of things as well. Nick Peppers,
development intern, worked hand in hand with Adam Diestelkamp on the interface. He worked on what buttons
were to be on each screen and what order the game would be in. He said that he worked on it until it felt natural.
Nick also helped pick which sounds were to be integrated into the game. Some of the sounds in the game were
created by developer Matt Bitner. Nick used Xcode, which is a suite of software development tools by Apple to
develop software for OS X and iOS. He also used the software Mono, which is used to run applications crossplatform. When asking Nick what his most challenging part of the whole process was, he said, “Being forced to use
a Mac!”
Jon Peppers was an integral part of the development of the iPhone version of PictureTHIS! As a C# Developer and
iPhone Specialist at Hitcents, he thought PictureTHIS was a good idea from the start because he thought “Draw
Something is going downhill. This app could take its place.” Jon used MonoTouch to write the app. If he didn’t use
this software, the app would have to be written twice, once in Java for the Android, and once in Objective-C for the
iPhone. Developers wrote 50% of the code to where it doesn’t matter where it’s running. Now that the app had
been written, it could be easily developed for multiple devices. For example, if down the road Hitcents decided to
make PictureTHIS for a Windows phone, this could be accomplished easily.
Bryan Phillips, developer at Hitcents, worked on the Android version of PictureTHIS! He is an Android user himself
and says that “the apps are programmed in Java. It’s closer to the programming language C#, making it more
easily readable for me.” With support from Hitcents, he learned how to develop for the Android market. Bryan says
it was tough at first because “there are so many different resolutions for the different devices. It was a challenge to
create them so that they would auto size on their own, without creating a height or width limit.” He says this caused
them to take longer to develop the apps. Bryan also mentioned that it is more difficult to create the user interface
on the Android than it is for the iPhone. When creating the interface for an iPhone app, developers just used
Xcode. Bryan had to use the software Eclipse for display. It was hard for him to copy the code back to C# for the
interface.
In PictureTHIS, players can pinch to zoom and scale their pictures in the box to send to their opponents. Jon
worked on this part of the game. He explained to me that luckily the iPhone has a scaler built in, which makes it
easy to integrate the zooming and scaling into the app. The only difficult part was that the app didn’t know if the
image was too big, and it would just zoom in on a specific spot instead of fitting to frame. Jon used simple math to
figure out the solution to this problem.
Play the game!
http://picturethis.hitcents.com
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
User Interface (continued)
PictureTHIS has the capabilities to grab pictures from your Facebook account to send to your opponents. Jon
used Facebook SDK for iOS, and Bryan used the Android version, which he says is “very similar to the iPhone
SDK.” Because this part was different for Android and iPhones, it had to be written twice. Bryan says that the
built-in dialogues for SDK “aren’t utilized well. The developer should be able to make their own.” PictureTHIS also
encourages users to log into the game using their Facebook account. If they have a Facebook app installed on
their device, it’s easier because it goes straight to that app and the users just have to accept or decline. Facebook
pretty much handles everything.
Hitcents has done iPhone apps before so the integration into the app store wasn’t something that was difficult. Jon
explained that the only challenging part was to show the cost for every country. Since you can buy coins in the
game, Jon had to optimize the prices for each form of payment. For example, if 30,000 coins is 99 cents in the US,
what would the cost be in Japan? Other than that, Jon said making a purchase is pretty easy. He says, “The US will
still have the most downloads,” even though they had to spend a lot of time making it available to other countries.
Bryan says a benefit of creating an Android app is how quickly apps get accepted into the market. For Apple, it
sometimes takes weeks to review an app before it can be sold to the public. The Android market can accept a new
app in just a few hours or less. There is no wait time because they rely on their users to tell them if an application is
breaking the terms of services.
PictureTHIS is also integrated with Google images. Jon says this was the easiest thing to add to the app. The only
problem was that it limited the number or images to eight that can be downloaded onto the screen at once. The
developers made it so two lists showed, making it 16 images. “My hope is that it will be easy to find a picture out of
the first 16 that Google images comes up with,” Jon said. He considered adding even more, but it would become
more difficult to download the pictures using a 3G network.
Jon says that, when creating apps for their businesses, “Most people just want an iPhone app.” In the end, there
wasn’t one thing in the process that was too difficult for Jon to overcome. “No one thing was hard,” he explained,
“It was just complicated pulling all the components together to create one game.” The game interacts with many
different servers, including Hitcents’ server, a Facebook server, app store, Google images, apple servers, and two
different ad networks.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
User Interface (continued)
Figure 2
Below is a diagram showing all the servers that PictureTHIS interacts with.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
API Development
“The sooner you fix a bug in a product’s life cycle, the easier it is to fix it.” –Brady Somerville
To be able to handle communication from any device, it makes sense to use fairly standard technologies, but which
ones? SOAP? XML? HTTP? RPC? Brady Somerville, Senior Developer and Senior Administrator at Hitcents,
worked on the backend of PictureTHIS! Brady says “we landed on REST-ful HTTP requests with JSON responses
because nearly any platform can handle HTTP + JSON, and it keeps it simple, while still being flexible enough to
represent object data efficiently in our responses. ”
Brady and others had to anticipate success to ensure that servers would be able to handle all the potential traffic
that PictureTHIS could create. They wanted to make sure that servers could handle lots of HTTP requests quickly.
Brady said they chose “to run a lightweight Perl framework, CGI::Application, in mod_perl. ” He explained to me
that since mod_perl keeps the compiled code in the server’s memory instead of re-compiling it on every request,
it’s blazing fast. CGI::Application gave just enough structure to make development easy, while not having so many
features that it got in the way, or slowed things down.
TDD, which means test-driven development, was used for most of the API. This means that they wrote tests for
most of the API’s functionality before they even coded it. “Though it takes a little more effort up front, we believe it
results in higher quality code and saves time in the long run, because you know right away if a change you make
introduces bugs rather than finding out down the road,” explained Brady.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Data Storage
MySQL has proven to Hitcents developers that it’s trustworthy and easy to work with, and also includes features
which help ensure data integrity, like transactions and key constraints. Brady explained how PictureTHIS
developers started getting cold feet about using it because they were reading case studies of other successful
apps. “MySQL (and other Relational Databases for that matter) are difficult to scale up when the application is
write-intensive,” Brady said. You could always make your database server bulkier, but that gets expensive quickly.
NoSQL technologies were something that developers had heard about, but hadn’t really used yet. Instead of having
tables and columns, they simply store documents. Whereas with a relational database, sometimes two or three
tables had to be joined together to return a simple object, only one query in a NoSQL technology would suffice.
“Switching from SQL to NoSQL requires a bit of a paradigm shift, but it’s fairly intuitive,” said Brady.
Developers ended up choosing MongoDB as their NoSQL backend for the following reasons:
- More mature than other options
- Used by big companies
- Great documentation
- Included the following features which were critical for PictureTHIS:
- Indexing of non-primary key fields
- Automatic sharding
Sharding refers to the process that MongoDB engages in where it scales horizontally across servers. This means
that information will be stored on servers across America. Brady said, ”By splitting up the data this way, we achieve
the scalability we wanted. And the way that MongoDB handles it, it’s fairly transparent to our application. That was
a big win.” Of course, high availability was important to the developers when they were creating PictureTHIS! “Each
of our shards is part of a replicated cluster, meaning that multiple copies of each server is running, so if one goes
down, there’s another to take its place automatically,” explained Brady. If for some reason a database server were
to go down, the worst case scenario would be to interrupt people’s games, therefore accruing bad ratings. Brady
knew that using MongoDB would prevent this from happening.
Content
Data Storage (continued)
Concept Design
MySQL Database
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
NoSQL Database
Social Media
Application Launch
Conclusion
Meet the Developers
DATA
DATA
DATA
DATA
Collection 1
Play the game!
http://picturethis.hitcents.com
DATA
DATA
DATA
DATA
Collection 2
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Cloud Computing
“It’s been really great working with Amazon Cloud Services and to see all the features that they offer!”
–Clinton Mills
Clinton Mills, CEO of Hitcents, helped evaluate cloud solutions for PictureTHIS! One of the goals of PictureTHIS
was to have high availability, a buzzword in the industry today. If something fails, companies want to make sure
they are still up and running. Using cloud services, you can eliminate single points of failure. This was critical to
the success of PictureTHIS! Cloud based software allows users to “dynamically scale operations in real time,”
said Clinton. Load balancers were another feature that led the PictureTHIS team to use a cloud solution. The load
balancer pushes players to the correct server to play the game. Cloud solutions also eliminate the possibility of
having to spend money to expand any hardware. Clinton said they had “bandwidth limitations with current hosting
setup, but the cloud fixed that.”
Figure3
Below is an Amazon Server Diagram created by Adam Diestelkamp.
Data Storage
PictureTHIS Server
Cloud Computing
Amazon EC2 US-East
Stress Test
picturethis.hitcents.com
Configuration Server
Focus Group
VPC Nat Device
Load Balancer
10.X.X.XXX
10.X.X.XXX
Social Media
Application Launch
Availability Zone 1
Availability Zone 2
Availability Zone 3
Conclusion
Meet the Developers
API
API
API
API
API
API
API
API
API
MangoS
MangoS
MangoS
MangoS
MangoS
MangoS
MangoS
MangoS
MangoS
10.X.X.X
10.X.X.X
10.X.X.X
MongoDB Config 1
MongoDB Config 2
MongoDB Config 3
10.X.X.XXX
10.X.X.XXX
10.X.X.XXX
MongoDB
Play the game!
http://picturethis.hitcents.com
MongoDB
MongoDB
Mongo DB 1a
10.X.XX.XX
Mongo DB 1b
10.X.XX.XX
Mongo DB 1 Arbiter
10.X.XX.XX
Mongo DB 2a
10.X.XX.XX
Mongo DB 2b
10.X.XX.XX
Mongo DB 2 Arbiter
10.X.XX.XX
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Cloud Computing (continued)
“Once we heard about Amazon Availability Zones, we thought it was exactly what we needed,” said Clinton.
According to Amazon’s website, “Availability Zones are distinct locations within a Region that are engineered to be
isolated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other
Availability Zones in the same Region.” The load balancers push players to the availability zones. Because of the
auto-scaling feature of Amazon, it takes the click of one button to have 27 servers if it was needed. “It will be easy
to scale if we have a million people playing the game,” says Clinton. “We can have 100 servers in each Availability
Zone if we wanted to.” They can even be scaled down in the middle of the night to save money when fewer people
are playing.
“Amazon also offers real time health checks where if a server goes down then the server is pulled out of
production,” Clinton said. This prevents issues that server outages can cause. Features like the Availability Zones,
auto-scaling, and real-time health checks were not available on other solutions that Clinton looked into. He also
mentioned that Amazon was priced better and also more well-known. Amazon has three data centers in the US and
others around the world. This made it more appealing for the PictureTHIS team. Clinton said the biggest challenge
with using Amazon “was to get all the networking and auto-scaling set up properly.”
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Stress Test
“Without divulging the top-secret numbers, we felt confident we could handle our game going viral, and
that we’ve set things up in a way where we can continue to scale if we need to.” –Brady Somerville
Stress Testing was Brady Somerville’s favorite part of the process because it’s the chance to find out if you are
anywhere close to being able to handle the success that is anticipated. The idea was to write a program which
simulated a large number of people playing the game at the same time. The program created hundreds of copies of
itself, and each copy plays dozens of games, with each game playing dozens of rounds. Brady said that when the
first few runs against the development server were underwhelming, he began to “panic a little.” But after he took a
few deep breaths, they found a bottleneck, fixed it, and ran it again. It was fixed, but not running as fast as they’d
like. A tweak here, and a tweak there, and soon the bottleneck was the server launching the test, not the server
being tested! This is good. Using multiple launching servers, developers were able to overwhelm the development server. “Using Amazon’s
High Cluster Compute Instance, we were able to use really big servers for stress testing for a couple of hours for
really cheap,” said Clinton Mills. Then it was time to test out the production server, which should be able to handle
much more because they are bigger servers that are configured with load balancing and sharding. “At first, when
testing out the production servers, things seemed great. But then we pushed them a little more, and found serious
problems,” said Brady. He explained that he was discouraged at first but eventually the problem was found, and
they were so happy they found it before the launch. Finding a problem like that after launch would have been very
stressful for developers.
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Focus Group
“Once you feel like your app is completed, you’re halfway there.” –Chris Mills
Focus group testing is a vital part to a successful app. PictureTHIS utilized TestFlight for iPhone and iPad to
distribute the app to over thirty people to help with focus group and bug testing. TestFlight offers real time crash
reports from users and also helps to distribute update communication easily for all app updates. With the Android,
a link was sent out via email that enabled players to download the app. “Focus Group Testing for this app changed
quite a bit of the functionality of the game,” said Chris Mills. For example, originally players of the pro version were
the only ones allowed to create their own words, but people liked it so much that it was brought into the free mode.
Before Focus Group Testing, there wasn’t even a store feature to unlock different items; this came about afterwards
with suggestions from the testers.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Social media is such an important part of casual gaming these days. Using Facebook to control friend lists and to
log in makes the PictureTHIS app extremely simple to start using and sharing with friends. A Facebook App page
is easier to create than an entire website. By utilizing Facebook, a game’s face can be created without putting in
the work to create a whole website. It makes marketing easy and allows word to quickly spread across the internet
effortlessly. Utilizing the app community on Facebook creates an instant fan base with no development necessary.
Facebook also gives you the ability to detect if a user is coming from a Droid or iOS device to help them download
the proper application. On top of that, users that aren’t browsing on their phone can send the game to their mobile
device from the page. “Setting this up with Facebook is very time-consuming and confusing,” said Chris Mills,
“Facebook app pages have been designed for web apps, so getting them to work for native mobile apps is very
challenging.” The important thing when using Facebook is that you have a fan page and an app page that are
linked together properly.
There are two kinds of apps on the market: interactive, 1) collaborative apps and 2) ones you use by yourself.
Hitcents thought it was important to create an app that would promote synergy between two people. By allowing
people to promote the app to their friends, it allows the game to grow quicker. This is priceless marketing because
people are marketing it for you for free. Another very powerful marketing tool that was built into PictureTHIS is
the ability to auto-post the picture that your opponent sent you onto their wall. It’s also important to link games
with social media so that users can utilize the data linked to each person’s account. PictureTHIS links to players’
Facebook albums to allow them to choose pictures for game play.
Social Media
Application Launch
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Hitcents thought it was crucially important to make sure the Apple and Android apps came out at the same time.
Because of the waiting process with Apple, PictureTHIS had to be submitted to the app store several weeks prior
to the release date. Developing an app that supports user collaboration with social media made it very important to
allow both platforms to play each other starting day one. The worst thing that could happen is that someone would
invite their friend on Facebook and that user finds out that they can’t play at all. Hitcents made sure to eliminate this
possibility by releasing the apps simultaneously.
Content
Concept Design
Concept Research
App Challenges
How to Make Money on an App
User Interface
Design
Development
API Development
Data Storage
Cloud Computing
Stress Test
Focus Group
Social Media
Application Launch
Conclusion
Meet the Developers
Play the game!
http://picturethis.hitcents.com
Conclusion
When you are playing a game on your cell phone, or using an app in your day-to-day life, you might think it’s a
simple piece of software. This case study provides a glimplse of just how complicated it is to create an app from
start to finish. Whether it be a game, a fitness app, a social media app, or anything in between, it still takes hard
work and dedication to come out with a finished product that is ready for the public to see. Here at Hitcents, we
pride ourselves in making apps that are professional, user-friendly, and, most importantly, successful! We hope that
this case study will provide some insight on just how hard it is to take an app from an idea to a finished product. If
there is any part of the app development process that you might need help with, don’t hesitate to give us a call at
1-866-HITCENT (1-866-448-2368)
Meet the Developers
Chris Mills
Clinton Mills
Jon Peppers
Favorite Season
Summer
Favorite Band/Artist
Maroon 5
Favorite Color
Transparent
Favorite Place
Rosemary Beach
Favorite Place
Rosemary Beach
Favorite Book
Atlas Shrugged
Worst Habit
Sleeping with my labrador retriever
Something you would be hard pressed to
live without
1 and 0
Pepsi or Coke?
Coke! No comparison
Favorite Website
www.hitcents.com
Favorite Browser
Firefox- for now!
Something you would be hard pressed to
live without
Internet
President
Something you would be hard pressed to
live without
My Phone
CEO
C# Developer & iPhone Specialist
Favorite Season
Hunting
Who would play him in a movie?
Roseanne
Meet the Developers
Bryan Phillips
Brady Somerville
Adam Diestelkamp
Favorite thing about his job
Monthly ocarina serenades
Favorite Color
Deep Dark Blue
Who would play him in a movie?
Keifer Sutherland
Who would play him in a movie?
Zach Galifianakis
Favorite Color
Black. Wait, maybe Orange, hmm and sometimes Blue
Favorite Book
Green Eggs & Ham
Favorite Place
Couch
Favorite Gadget
8 Track Player
Favorite Book
The Bible, and then “A Prayer for Owen Meany”
Developer
Sr. Developer & Sr. Administrator
Graphic Designer
Most useful thing on your desk
Bible. After that my MacBook Pro
Favorite Band/Artist
Zac Brown Band to Linkin Park and many
things in between
Meet the Developers
Nick Peppers
Matt Bitner
Macy Mills
Favorite Color
Green
Favorite Color
Orange
Talent she wishes she had
Ability to stop, fast forward, and rewind time
Inspired by
HERB
Favorite Book
The Age of Spiritual Machines
Favorite Gadget
My iPhone
Favorite Browser
Chrome
Who would play you in a movie?
Charlie Day
Can’t leave the house without
Pants
Favorite TV Show
Breaking Bad
Something you would be hard pressed to
live without?
The letter M.
acy ichelle ills just doesn’t sound good!
Favorite Book
Who reads books anymore?
Inspired By
Math Sounds. Lebron James.
Development Intern
Game Music Creator
Marketing and Social Media
Favorite Place
New Harmony, Indiana