It’s likely that you’re one of the approximately 1000% of people who use smartphones. This being the case, you’re familiar with the vast array of applications available for everything from meal planning to time tracking to banking to identifying plant species.
And you’re probably also familiar with the difference between applications that are well-designed, taking into account the pros and cons of mobile development, and those that look and feel like badly scaled-down versions of desktop applications.
Someone built each and everyone of those apps, and whether an application comes off being fun or miserable to use boils down to whether or not the team that made it did a good job of developing for mobile environments.
We at Career Karma want to make sure you’re one of the good engineers, so be sure to keep these challenges of mobile development in mind as you embark on learning mobile app development.
Building for Multiple Platforms
The first and most obvious challenge of mobile development is that there are two major, competing platforms: Apple’s iOS and the Android OS. They use different technologies, different languages, different standards, and different development environments.
If you want to make an application that functions on both, you’ll need to have all the relevant skills required for either.
While this obviously means a lot of extra work as far as learning goes, it also means a fair bit of job security!
Physical Limitations of Mobile Devices
Smartphones aren’t desktops, and you can’t approach building a mobile application like you do building a desktop application.
For one thing, smartphones have vastly more battery constraints than do computers, mostly because of the way people use smartphones. While there’s no physical reason that the majority of all Candy Crush games can’t take place while the phone is connected to a charger, people tend to use mobile applications when they’re doing something like waiting in line at the grocery store or while walking the dog.
As such, applications have to be especially mindful of battery usage. No one is going to want an app that entirely drains a phone’s battery in 90 minutes.
Another obvious difference is screen size. Have you ever visited a website that just was obviously never intended to be viewed on a small screen? You know, the kind of website that makes it impossible to scroll up or down without smashing fifty hyperlinks because the text is crowded into a tiny space and the menus haven’t been resized or reconfigured?
Did you enjoy this experience? No, you did not.
Smartphones don’t just have small screens, they’re also frequently rotated so that whatever is being displayed has to be dynamically flipped along one axis without being distorted and ugly.
This isn’t an easy thing to do, and is exactly the kind of thing a good engineer will account for.
Vast Amounts of Competition
For every megahit like Angry Birds there are many more Upset Birds, Annoyed Birds, and Homicidally-enraged Birds which no one remembers or cares about.
When you build a mobile application, prepare yourself for the fact that you’re going to be facing a lot of competition. Even if your app is first to market, I guarantee you there will be 50 clones of it within half a year, especially if it’s successful.
There’s nothing to be done about this except to make your application as good as it can be. With all the advice you get on Career Karma, from learning to evaluating bootcamp options to finding the best resources for learning to code, you’ll be as well-positioned as anyone to succeed in the competitive marketplace of mobile applications.