Wednesday, 3 July 2013

How To Develop an App Like Angry Birds

There is no question that Angry Birds, the mobile app that has grossed over $500M and is stupidly addictive, has become a cultural phenomenon recently. Grown adults are obsessed with the game and have a hard time breaking away from it once they start playing. Of course, there is money to be made in developing apps for the iPhone and other devices, so it only makes sense that lots of people are interested in getting into the app business. Taking it a step further, I’ve had people asking me how they can not only find a developer to create an app like Angry Birds, but how they can get in the game. If you can spare the time and patience to learn the basics of app development, you can easily bring in an extra $100K a year from residual income.

Some people just like to create free apps while others are getting into it for the financial gain. When you think about how many people are searching for new apps each day, you can see how quickly that money can add up if you create a popular paid app. Game apps offer an escape from the everyday rigors of life.

Original Ideas with Copied Gaming Logic

Something else to be careful about is that you are not copying another idea without realizing it. For example, don’t just replace the birds in Angry Birds with monkeys. After playing lots of video games over the years, it may be easy to mix and mingle other ideas that have already been done. Try to be creative and think outside of the box. Make sure your idea is not so complex that your Average Joe couldn’t play the game. You want something with mass market appeal and not a game that only rocket scientists can play. Angry Birds was first to market with their overall game structure and relies less on the creative side and more on the actual game play – get creative in how you design your game so that people keep coming back and have to build up a skill that requires time and play.

If you are serious about developing, you need to invest in a Mac. As the iPhone is a product of Apple, it uses a variation of the Mac OS. Since iPhone development tools are only available to Mac users, you will likely need a Mac to get it into the iTunes store. I’ve used the SDK on PC’s and it’s just not comparable to running it on my iMac. The interfaces and overall structure really can’t keep up and the integrations are weird.

Registering As a Developer

The next part of the process is registering as an Apple developer. In order to work with the SDK and iTunes Connect, you will need to sign up as an Apple developer here. You can register for free by filling out some information and agreeing to their terms. This area of the Apple website has tons of useful information to guide you through the process of developing an app. There are development tools to create apps for the iPad, iPhone and iPod Touch including an interface builder and iOS Simulator. It’s going to ask you for things like your company name and EIN number so make sure you have a company that you can apply under. If you are an individual you can use your Social Security number. One thing to note – once you set this up, you can’t change it, so make sure you do it right the first time and choose the name you want.

The iOS programming guide explains how to implement the features of the iPad into your app. You can also use the iOS Human Interface which will help you to design a great user experience. There is sample code available so that you understand how to properly build your app using their technology. This is a HUGE improvement from the original Apple iPhone developer kit releases and actually makes it feasible to get up and running in one day. Mess around with it and understand how the interface works, along with functionality like swiping, user interface, and speed.

Outsource What You Don’t Know

I think it’s important to remember that by now you don’t necessarily have to build the app yourself, especially if you are technically challenged. There are a variety of programmers online who would be glad to build the app for you for a fee. I remember when Facebook came out and I thought it would be pretty sweet to learn PHP so that I could build my own social network. Obviously that didn’t pan out. Going through that process, however, was extremely helpful in understanding exactly what I needed to ask for and how programmers went through the process. There is a lot of coding and technology involved in building an app, so it may make more sense for you to hire this task out to someone on a freelancing site such as Odesk.com. There are some very competent professionals on these sites who are reasonably priced. If you go down this road, check out their feedback and portfolio before hiring them.

If you are going to continue down the path of building your own app, the next step is downloading the software development kit for the iPhone. The download is huge (4GB or something) so make sure you have enough space on your computer and time to download it.

You will then need to download Xcode 4. According to Apple, this is the “complete developer toolset for creating Mac, iPhone and iPad apps including Xcode IDE, performance analysis tool,s, iOS Simulator and the latest Mac OS X and iOS SDKs”. Xcode is the kind of thing where you look at it and feel overwhelmed, then you start using it and realize how sweet it is.

Now that you have your app drawn out on paper, you need to develop it using the templates in the SDK. You may have used Photoshop as part of your design process as well. There are many templates available within the SDK, so you should have plenty to choose from. Again, this is highly simplified, but it’s a learning process. You’ll figure it out as you go. Definitely reach out to message boards or developers you know to ask questions.

Programming Meets Design

Once you have the wireframes designed, the programming part enters the picture. Again, you can outsource this part or do it yourself using Objective-C. This would require you to learn some programming language and skills if you don’t already know that information. For more creative types, this part may be quite difficult which is why outsourcing may be attractive. You will need to test your app in the iPhone Simulator – which runs an instance of an iPhone on your computer and creates a simulated version of your app. Totally sweet. You will simply load your app and test it. This is where you are looking for glitches and bugs that could derail your app. Use it in as many ways as you can imagine a customer would. You can also export the application to your phone as a test environment if you want to see it on the actual device.

Once you have worked out all of the kinks, you will need to shell out a bit of cash. There is a yearly member fee of $99 that you have to pay to load an app into iTunes (this falls under the umbrella of the developer account). After you pay, others in the community can test your app and see if they run into any problems. Remember that a lot of these people in the app community are self appointed “geeks” so they are happy to mess around with your new creation to see how it works.

You will then have to submit your app for approval to iTunes. The approval process may take some time, so be patient while the team looks over your new baby. Once your new app shows up on iTunes, you are now the proud owner of your own creation! For more information about the entire process of developing your own app from start to finish, take a look at the developer area on the Apple website as it will walk you through each stage of the process in depth.

It’s Not Easy and It Makes You Lots of Money
Coming full circle, it’s important to keep in mind that Angry Birds is not the most complicated app out there, but it does have some of the best gaming psychology – it’s built on points and unlocking levels, forcing users to play more to receive a larger benefit. Classic capitalism, right? This is not going to be a quick process – the above is a top level breakdown of what you would need to do if you wanted to develop the app yourself with the help of some developers and designers. I strongly recommend going through at least part of the process if you are serious about apps because it will save you time in the long run. You’ll be able to understand the process and how to communicate to the developers much more effectively, something I find to be worth it’s weight in gold. Or birds.