How to Make an App
Are you itching to create the next greatest app in the app store, but you’re not sure how to get started? In this article, I will give you ideas and resources that will help you bring your first app from your brain all the way to the app store.
I know where you are coming from. I’ve dreamed of creating my own app for many years. I struggled to read technical books about Objective-C and iPhone development. I found training videos online that put me to sleep. I went back to school and studied basic programming and was overwhelmed with the amount of time that it was going to take. I learned the basics of object-oriented programming as I jumped around through all of these different training materials, but I never learned enough to actually create anything.
Last summer, bored with my procrastination and tired of jumping down rabbit holes, I decided that I was going to come up a super-simple app idea, figure out how to create it, and take the plan from start to finish. I did it. I started in late June and had an iOS app in the App store by August. That was a HUGE hurdle to overcome, but I was surprised at how easy it was once I set a goal and found the right resources. I’ll share what I’ve learned so far.
Your App Idea
The most fundamental part of developing an iPhone app is having an idea. Have you ever thought, “man, that would make a great app”? Chances are, if you’re reading this, you have at least one great idea that you’d like to develop. You may also have an idea about how you can make an existing app even better.
Cultivate that thought process. You can develop a mindset of generating ideas. Any time you have an app idea, pull out your phone and jot down that idea in a note. I recently wrote an article about how you can use Siri to make this process easier.
You’ll be surprised how many ideas you’ll come up with after starting your list. As you learn to code, you can go through your list and figure out which ideas are possible to create at your current skill level. This will give you projects to work on while you sharpen your coding skills. It will be easier to execute your super-amazing app idea if you have a few smaller projects under your belt first.
Be sure to take a look at this document from Apple while you’re in the idea stage. This is written by the people who will eventually review your app to decide if it can be submitted to the iOS App store and lists the most common reasons that an app will be rejected.
Plan – Design
Before you start a single line of code, you should have at least a rough sketch of what your app should do. There are many tools that will allow you to do this digitally, such as:
- AppCooker: Build prototypes of your app on your iPad
- DevRocket: This tool helps you create mockups and app icons right inside of Photoshop. If you’re already a Photoshop user, you might check this one out.
- OmniGraffle: You can create wireframes, outlines and more with their tools. They have tools for Mac as well as for iPad.
My personal favorite way to plan an app is using 3×5 notecards. You can scratch out a rough sketch of what should be on each screen of your app. This will allow you to refine your idea, make notes on the back, and change things that don’t work well. If you realize that a big change needs to be made, you can just toss a notecard away and draw a new one. After your notecards are created, take a photo of them so you’ll have a digital copy. Now you’re ready to learn how build your app.
To code or not to code…
You don’t necessarily have to know how to code to create an app. There are websites and software available that will allow you to create simple apps and games without coding, but you will have to pay for this convenience. Most tools will allow you to build for free and then charge whenever you are ready to submit your app to the app store. Here are a few of the better ones that I’ve run across:
GameSalad: I really like this platform. Drag your graphics into the program and then you create rules that tell them how to behave. This is a great way to develop 2D games with simple mechanics. You can download and use the software for free and pay when you’re ready to submit to the app store. You can publish to pretty much any app store, not just Apple.
Unity and Unreal Engine: When you’re ready to dive in deeper, have more control over your game, and create more complex games, these are great options. Both have a graphical interface to create your games, but allow you to also dive into the code (C++).
AppsZero: If you just need to create a simple app for your business, check out the templates at AppsZero. You can build your app for free and then pay monthly depending on how many apps you create. The prices are very reasonable. I signed up for this at the beginning of my app-venture, but then I decided to create an app that didn’t fit into their templates. Their customer service was wonderful about giving me a refund after I explained that to them. I’d give it a shot if your app fits into of their templates.
Sploder allows you to make your own free games and share them online. I’m not mentioning this tool because of that, obviously, since you can’t publish your games to the App Store, but what I love about this site is the little graphics editor. You can easily create and save graphics for your games.
Learning Swift or Objective-C
If you’re not creating a game, if you want the ultimate control over every aspect of how your app looks and behaves, or if you aspire to be a professional developer someday, you’ll want to learn how to use Swift or Objective-C to create apps.
iPhone apps are coded using Objective-C or Swift using an IDE called Xcode. Objective-C is a language that was developed in the 1980’s and is used in Apple’s OS X and iOS operating systems. Swift was introduced by Apple in 2014 and is touted as a more concise, contemporary and easier to program language. While Swift is easier to learn, because of it’s youth, you will find more resources on Objective-C. However, more and more information is being introduced all the time.
There are tons of online resources to help you learn to program. Some people will tell you that it’s important to learn the fundamentals of programming before you get started on your app. While this may be great for some, I found that personally, I needed to work toward a smaller, more attainable goal to stay motivated.
If you want to know how exactly how I learned to create my app, this is how:
Udemy.com Udemy has TONS of courses on Objective-C and Swift. Most of them are project based, so you will be creating apps as you learn to code. My favorite Swift courses are taught by Nick Walter and Rob Percival. You will build several apps by the time you finish one of their courses and they are very easy to follow. They also go into some of the foundations of Swift programming so you’ll understand what you’re doing. Sign up for Udemy, take a look around and put your favorite courses on your wishlist. With a bit of tweaking, you may be able to turn one of your Udemy projects into an app that you can submit to the App store. While you’re browsing around on Udemy, be sure to add my “Mac OS X Fundamentals for Windows Brains” course to your list if you’re brand new to Mac.
Don’t be discouraged if you still really don’t “get it” after going through a project-based course. At some point, you just have to sit down and learn the fundamentals. I am very impressed with this free iTunes U course from Stanford University. I have not found a video course anywhere on the web with a teacher that explains these concepts as well as he does. This course assumes that you know some object-oriented programming already, so this is one that you might save and come back to if you’re just starting out in the programming world.
Lynda.com is the granddaddy of all video tutorial sites. For one monthly fee, you have access to their library of Swift, Objective-C, Xcode, and programming tutorials, plus tutorials for everything else under the sun. If you learn enough Swift and then you need some Photoshop help, it’s all going to be on this site.
Get a 10 day free trial to lynda.com: Get 10 days of free unlimited access to Lynda.com.
Unfortunately, I have not found an iOS developement book that I’m really happy with. If you have any that you’d like to share, leave a comment below.
Perhaps the most important resource for using Swift and Objective-C is developer.apple.com. The documentation here will be a valuable resource as your coding and it also contains step-by-step instructions on creating an iTunes connect account, creating certificates, uploading to the App store, etc.
Submitting to the App Store
Once you’ve created your app, it’s time to submit it to the app store! Many of the tutorials above will take you through the process of submitting to the app store. If not, just check out developer.apple.com for instructions. Once submitted, apps can take as few as a few hours to be approved to several weeks. This site will give you the current average time that’s being reported: appreviewtimes.com
Don’t be discouraged if your app is rejected the first time. You may have to go back and make some changes. Be sure to read the documentation and follow the instructions for re-submitting your app, otherwise you might be like me and send them the same build twice.
My app was rejected the first time because it was too simple. It was just a switch that played a fan sound. I went back to the drawing board and added several other sounds that could be mixed together and played in the background while the phone was asleep. That version was approved. I’m currently working on an AppleTV version of the app that was just rejected by the app review team. I’m back to the drawing board again, but I’m hoping to submit an even better version of it very soon. I have several other app ideas in the works. The ideas are more complicated and I’m constantly learning more about Swift so I can create my super-amazing app idea at some point.
I hope you’ve found this guide helpful. I’d love to hear your own app developer stories. You can leave them in the comments.
Remember, the most important part of all of this is to do SOMETHING. Don’t just keep that idea in the back of your mind. Find a way to make it happen!
Get this pdf for free
Download this article to reference later and get access to more free Mac and iOS tips