understanding mobile apps
The term "Mobile App" is like the term "Science." Science has such a broad meaning that it begs countless questions if someone simply refers to himself or herself as a scientist. What kind of scientist? Are you a rocket scientist with SpaceX? Are you with the Cancer Research Institute? Maybe you're a botanical scientist studying the environment. The list is endless. Many think the definition of a mobile app refers just to games like Candy Crush that litter common platforms like Apple iTunes, or Android Apps on Google Play. But just like the term science, the term Mobile App has a much more extensive meaning.
The broad definition of a mobile app, short for mobile application software, is that it is application software (as opposed to system software) specifically intended to run on mobile devices like tablets and smartphones as opposed to app designed specifically for desktop computers. However, the Google Play app store lists over 20 mobile app categories and Apple's iTunes app store has 24! The point is that mobile apps run the gamut, and like scientist, there are all kinds. One of the first questions you need to ask yourself before you even start developing is which type of app are you going to make? Although there are many categories of apps, most professional mobile app developers will tell you they fit neatly into six or seven mobile app types. Mobile App Types are listed below:
Mobile App Types
Digital eBook Publishing: You may not have thought that Digital eBook Publishing is a mobile app, but it is, and often overlooked, especially as a source of income. John Locke (not the 17th century philosopher) sold over 1 million eBooks in just 5 months and is considered the first person ever to be a New York Times Bestseller as an independent self-publisher. 1 million eBooks sold with a 70% royalty paid by Amazon.com is roughly $700,000!
Entertainment / Games: Some consider the Entertainment / Games mobile app type to actually be two separate types, but they're not. Many developers believe that an Entertainment app has different objectives than a Game app, where Entertainment apps lean towards education and Game apps are just that, a game. Either way, they are close enough in nature to be considered a singular type of mobile app. The Finnish company Rovio Entertainment developed the Angry Birds app in 2015 and wasn't particularly successful when it first started; less that 35,000 downloads in its first 18 months. As of 2018, they have eclipsed 3 billion downloads. What this points out is there is more to mobile app success than good coding and sharp graphics.
Lifestyle: Many people try to solve common problems by developing Lifestyle type apps. Where are the best seafood restaurants that are closest to me? How do I get around when I am traveling abroad and what places are worthwhile to visit? What is the best way to meet people? Where do I find music I like? Lifestyle apps tend to be successful business ventures because they lend themselves to sponsored advertising. A fitness app has natural advertisements (a form of monetization) like healthy foods. Music apps like Spotify or Pandora often monetize by selling ads for upcoming concerts.
News: News type apps don't just tell the news; they spread it. The most significant feature of a news app is the sharing functions. News apps like Flipboard let users customize their news feeds by picking the news sources they are most interested in as well as the ability to share significant news stories with their friends and colleagues. The idea, in part, is that fresh, relevant news content can spread virally, as well as its ad content to a mass audience.
Productivity: Productivity type apps like Dropbox or Google Translate are designed to help people be more productive. All app types need to be designed in an easy-to-use, ergonomic fashion, but this is especially true for Productivity type apps. A smooth user experience is critical for productivity type apps. Any functionality in a Productivity app that is awkward or perplexing only adds to the user's workload, which is exactly the opposite of what the user wants.
Social / Business Networking: Social / Business Networking type apps like Facebook and LinkedIn are so inescapable in society that they breed subgroups of mobile apps like Strava. Strava for instance, is a mobile app that can give mountain bikers, runners, and hikers information on how long it took to complete a specific trail and then takes advantage of massive social networks by comparing the user's results with others.
Utilities: Utility type apps like calculators, calendars, weather, and even flashlight apps make up a lot of the mobile apps you own today. These mobile apps are simply convenient tools to help you with simple tasks. From a developer's perspective, utility type apps pose unique challenges; most devices like the Samsung Galaxy or Apple iPhone already include utility type apps in their native environments. The mobile app developer has to ask if developing Utility type apps are even a worthwhile pursuit because they are competing with powerhouse companies. Could you develop a calculator so good that an iPhone user would be willing to delete the native calculator app and buy yours?
What is Mobile App Monetization?
The next aspect of a mobile app is monetization. The basic definition of "monetize" is that it is a verb that means: "convert into or express in the form of currency." Another way to think of it is turning a mobile app into money. One of the most compelling reasons to develop a mobile app is to make money, and when money is involved, it also means business. In simple terms, "business" is a noun that can be defined as the "practice of making one's living by engaging in commerce." Put both definitions together it begs the question: How do I make money with my mobile app business?
Some of the more direct ways to monetize mobile apps are In-App Advertising or simply selling your mobile app online. Because these techniques are so common, many mobile app developers make the common mistake of thinking they are the only ways to make money on mobile apps. The fact is, there are many mobile app monetization methods that are often ignored. Further, some monetization methods are completely inappropriate for certain mobile apps.
Keep in mind not all mobile apps even fit into traditional direct monetization methods. For instance, Blue Apron (blueapron.com), an American food delivery service encourages their customers to use their service by giving their mobile app free to customers. The company still profits but its mobile app's monetization is indirect, meaning the app itself doesn't make money, but the company does downstream. Another example of an indirect mobile app is Southwest Airlines that encourages their customers to "check in" to their flights. The app itself frees Southwest employees from mundane tasks that reduce costs and can increase customer satisfaction.
Programming Your Mobile App
You can do this. You can program, or in today's vernacular, you can code. You can be a coder. But beware: a big mistake when developing your mobile app is to let someone else do the coding for you. The right person to code your mobile app is you. Is coding easy? No, but nothing worthwhile is. Is coding insanely hard? No, but it's really up to you. People tend to pick up programming and do well at it because they code with intention. Coding with intention means that you are coding with purpose, coding for a paycheck, and realize your mobile app business makes money because you code better than most and understand the business environment.
Unfortunately, coding mobile apps has some pitfalls, the first of which is a lack of humility. So you want to go it alone and code your entire mobile app by yourself because you don't want anybody to know your brilliant idea? Coding is hard enough, but it is really hard programming alone. Don't be seduced by the thought that you can't take on a partner or two because you think your mobile app should have its own security clearance. Keeping your mobile app idea low-key is a good idea, but getting good, trusted help is a better idea. Have the humbleness that helps you understand that one person going it alone is possible, but more is better.
Choosing a Mobile App Programming Language
Now for a really difficult decision: What coding language should I use? To answer this question, let's look at one specific language: Apple's Xcode/Swift. The xcode Software Development Kit (SDK) was released in 2003 as an integrated development environment (IDE) for MacOS (Mac operating system) for free to anyone that wanted it. An IDE is a software application that offers all-inclusive facilities to computer coders for software development, in this case, mobile apps for the iTunes Store. The xcode SDK is a set of visual software development tools that allows the creation of mobile apps specifically, and only for the Apple App Store. Although xcode exists for personal computers (PCs), it doesn't work very well. This means that if you want to develop mobile apps for iTunes, you must own a Mac, period. Your xcode skills are useless everywhere but in the Apple App Store. The games you developed have to be completely re-written in other programming languages if you want to offer them on other online stores, for instance to PC owners.
Choosing xcode isn't a bad decision, but it is limiting. Every language is limited to the operating system where its mobile apps are sold or distributed. With xcode you must own a Mac to code iTunes specific mobile apps and you will have to set up an iTunes Connect account. iTunes Connect is the platform for Mac developers to upload their mobile apps to the Apple App Store, edit their mobile app's metadata, and view money they've earned. You can choose to be a sole proprietor type mobile app business but you can't become an iTunes Connect member without a separate business banking account. iTunes Connect will require tax information regardless of your country of origin because they will report your mobile app earnings to appropriate taxing authorities. Do you have to incorporate? Will incorporation assuage personal liability if your mobile app crashes a user's iPhone because of a coding bug? These are all questions that must be answered by professionals.
For better or worse, you are married to your xcode choice and all that goes with it, but in 2014, Mac decides (without your knowledge or permission) to launch Swift, basically an upgrade to xcode. Mac iOS developers poorly received the earliest version of Swift because it would crash, among other things. Swift eventually becomes a stable SDK platform while you had to learn a new language and modify all of your existing mobile apps and re-launch them in the Apple App Store.
According to statista.com, as of March 2017, the Apple App Store had 2.2 million available mobile apps. Google Play has 2.8 million. When you chose xcode/Swift, the Apple App Store was the biggest market segment, which is part of why you chose it in the first place. Now what? Should you redevelop your current Apple App Store mobile apps so you can offer them on Google Play and have two different versions programmed in two separate languages? Your choice of programming language is starting to look more like a business decision than a technical one, at least in part. Was choosing xcode/Swift a bad decision? Absolutely not! Whether you're a hobbyist mobile app developer or a seasoned professional, you should know there is a lot to think about when choosing a programming language.
Tips For Starting Your First Mobile App
Is your mobile app a good idea? Will it make money? Will it serve a purpose? Does it already exist in the marketplace? These are all legitimate questions to ask before you even attempt to make your mobile app. Chances are, someone, or many people have already thought of your mobile app idea, but that's not a good enough reason to lose interest. Just because a mobile app exists in the marketplace doesn't mean that you can't deploy yours that's better and faster, and monetize it as well. Do your research and search through the Apple App Store, Google Play, and any other mobile app repository to understand what is out there, and possibly if there is an underserved market. Ultimately, don't lose sight of these important questions although none of them matter until you've written, completed, and launched your first mobile app because the experience you will gain along the way is more important at this point.
It is not enough to come up with a great idea for a mobile app. The best approach when starting to build and code your mobile app is to take a systematic approach and start completely from scratch. As a matter of fact it is often a good idea to make a mobile app by disregarding programming altogether. You actually won't even need a computer at this point. To do this, many mobile app developers use storyboarding and wireframing to visualize what their app is going to look like and what it's going to do, the same way it's done in the movie industry.
For mobile apps, a storyboard is a graphic manager of images shown in sequence to visualize what your app will eventually look like and ultimately how it works. Wireframing is basically a screen schematic or blueprint that represents the skeletal framework of a mobile app. Wireframes are used to assemble mobile app elements and screens to best accomplish a particular task that eventually becomes the mobile app's User Interface. A User Interface, often called a Graphical User Interface (GUI) are the computer screen designs that let your user and your mobile app interact. It is often said that a user interface is like a joke, if you have to explain it, it's not that good.
With all of the Computer Generated Imagery (CGI) and special effects in movies, it's easy to imagine that all of its content was born in computers. They weren't. As a matter of fact, movies and mobile app development share many things in common. A movie starts out as storyboards that are drawn by artists with the direction of the movie's maker. Mobile apps start out in storyboards as well, but there is one big difference. Movies are linear and move from specific scene to specific scene whereas mobile apps have scenes that can go to many optional scenes depending on how the user interacts. Movies tell a story the same way every time whereas a mobile app's story can change every time it's used. With that in mind, it's time to get started.