Tomasz Zajda - Fotolia
A decade ago, downloadable mobile apps did not exist. Today, we can't function without them. How in the world did we get here -- and become thoroughly dependent -- so quickly? And what does the continual introduction of operating system updates, new devices and multiple screen sizes mean for developers? Mobile app challenges are many.
"Developers of mobile apps face challenges that simply did not exist a decade ago," Burke Holland, director of developer relations at Progress Software, a Bedford, Mass. provider of database and application development tools, said. "Fortunately, the number of tools for building apps and user interfaces, testing, and deployment is growing in number and power."
It's easy to forget, but when Steve Jobs announced the first Apple iPhone in January 2007, the concept of third-party apps did not yet exist. The debut of the Apple app store was still 18 months away. Today, less than a decade later, worldwide mobile app downloads for all mobile operating systems are forecast to reach 224.8 billion in 2016 and climb to 268.7 billion in 2017, according to Statista -- a rise of nearly 20% in just one year.
As of June 2016, mobile app downloads from the Apple app store topped 130 billion. As for the number of apps available, the Google Play store is the current champ with 2.2 million, with Apple's 2 million close behind. With discoverability -- finding the one app that's right for you -- approaching impossibility, it's no wonder app stores are widely rumored to be in the midst of a total makeover. And if you're keeping track, the Windows store lags far behind with a relatively paltry 669,000 available apps. As it turns out, making one's app discoverable among a blizzard of similar offerings is just one of the mobile app challenges that developers must overcome.
"It's an extremely competitive world where you have literally millions of applications out there," Nick Landry, a senior technical evangelist at Microsoft specializing in mobile, said. "It's very hard to get discovered; it's not like 'if you build it, they will come.'" Of course, for captive apps, those designed by enterprise IT for use only within the corporation, discoverability is not an issue. If a publicly available app is not among the top 50 in its category, chances are it will never be downloaded, Landry said.
Screen and OS permutations add up
Regardless of any one app's discoverability likelihood, the success of the mobile app industry has given rise to numerous form factors -- wristwatches, fitness wearables, phones, tablets, automotive dashboards, all the way up to laptops and desktops. Where building an app that runs on multiple operating systems -- usually Windows and Mac -- was once a developer's primary technical challenge, it is now the proliferation of screen sizes, even within the same OS, that has become chief among mobile app development challenges.
Burke Hollanddirector of developer relations, Progress Software
Tools that can compile code simultaneously for devices that run iOS or Android are now relatively commonplace. For Progress, its entry is the Telerik development platform. But, develop for Windows Mobile and the choices are fewer, RAD Studio from Embarcadero Technologies among them. As for Samsung's nascent Tizen operating system, the company does offer developer resources that include a software developer's kit. Microsoft also offers an SDK for its Windows Mobile platform.
The more profound mobile app challenge for developers is dealing with multiple device types -- smartphones, tablets, wearables -- and the corresponding cornucopia of screen sizes. For example, the current crop of Apple iPhones requires apps to support three screen resolutions, 1334 x 750 for the iPhone 6 and 6s, 1920 x 1080 for the 6 Plus and 6S plus, and 1136 x 640 for the SE model. Resolutions for previous models included 960 x 640 for the models 4 and 4s. The original iPhone, with its resolution of 480 x 320 pixels, seems positively archaic today. The current iPad Mini and iPad Air, both at 1536 x 2048, and the iPad Pro, at 2048 x 2732 complicate matters further. Add the Apple Watch's two current sizes -- 312 x 390 and 272 x 340 -- into the mix, along with its vastly different user interface, and app development can get very convoluted very fast.
On the Windows side, Microsoft's Universal Windows Platform is a framework for building apps that run on everything from phones and tablets up to laptops and desktops with monitors that may reach 30 inches at a resolution of 2560 x 1600 pixels, a favorite of photographers and medical professionals. The key to overcoming this mobile app development challenge is so-called adaptive user interface technology that adjusts apps to specific device types based on screen resolution.
For user experience designer Jason Scott at Y Media Labs, a favorite design option is the cloud-hosted InVision collaborative prototyping tool. "We can drop in photos, sketches or whiteboard drawings and share to get feedback," he said. "I'm a proponent of the more ideas, the better." For digital design, Scott prefers Sketch, a vector-based design tool.
Perhaps recognizing that its traditional products are being upstaged by newcomers, Adobe launched the Mac version of its all-new Experience Design earlier in 2016 with a Windows version on the way. The company positioned the platform as a new experience for designing and prototyping websites and mobile apps.
Apps up, but spending is down
With mobile app downloads continuing to soar, it might come as something of a surprise that spending on mobile app development is actually expected to decline in 2016.
According to research from Gartner published in June 2016, the average portion of overall application development budgets earmarked for mobile is a meager 10%, a decline of 2% from 2015. Writing in the report, Adrian Leow, principal research analyst at Gartner, said, "The urgency to scale up mobile app development doesn't yet appear to be a priority for most organizations."
With the myriad mobile app challenges that must be overcome, scaling back might not be the way to go.
What are the basics for developing mobile apps?
What does IT need to understand about mobile app development?
Do you need a mobile backend as a service?