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