Mobile is the ultimate disruptor. It is disrupting the way people interact with computers. It is disrupting the way people interact with each other. It is disrupting the way people buy software (now called “apps”).
And it is significantly disrupting the way software is developed. It seems as if everything we thought we knew about everything is being challenged by mobile.
For software developers, this challenge is particularly daunting. Over the last fifteen to twenty years, developers have invented and refined processes and tools for building software that predominantly targets one platform and one form factor: the Windows desktop PC.
Now with mobile, and the proliferation of operating systems (now called “platforms”), even experienced developers are left feeling like beginners. All of the tools, processes, and techniques they have acquired to build, debug, test, and deploy software are suddenly powerless against mobile.

Want to learn more about mobile development tools? Get your ticket for MobileBeat 2013, with a full track on tools and services for mobile development.

The race is on, then, to find the next generation of tools and development processes that will make multi-platform mobile development as productive and manageable as desktop and web development have been for so long. To achieve that productivity goal, there are five areas burning for better mobile development tools:

Building

Many platforms means many different “build” requirements.
Today, building an app (which encompasses writing and compiling code) for iOS, Android, Windows Phone, and BlackBerry requires a mess of different IDEs, SDKs, and operating systems!
Even hybrid apps, which leverage existing HTML and JavaScript skills to reach multiple platforms, require lots of messy configuration for each target OS.
A multi-platform world needs tools optimized for multi-platform software development, not tools steeped in protecting (or reinforcing) walled gardens or arguably dated technology. Watch for new and improved tools to help mobile developers abstract platform differences so less time is spent managing software, and more time is spent writing it.

Debugging

Fewer development problems are more difficult on mobile today than debugging.
There are two primary reasons: 1) the available mobile operating system emulators are nowhere near sufficient for thorough app debugging, which leads to, 2) software being written on a PC, run on a device, and then debugged from the PC.
Today’s mobile debugging is as clunky as it sounds. The emulators are unlikely to significantly improve, so the tooling that makes it painless to debug software running on mobile devices is what must improve.

Testing

Once an app is built, it needs automated tests to ensure it works properly before updates are shipped to app stores and users. In the “old” Windows world, this was a relatively straightforward task.
With the widely varying capabilities of today’s mobile devices, testing now needs to happen not only on many different operating systems, but on many different physical devices.
Tools and “cloud device labs” are emerging, but much more is still needed to make it productive to record, playback, and manage tests across devices.

Deploying

Whether your app is bound for the public app stores or for a private group of users, deploying mobile apps today still requires far too many manual steps. The walled garden ecosystems are bent on not making it easy to “one-click deploy” an app to multiple platforms.
The problem is even more challenging if your destination is not a public app store. Thousands of internal business apps are being built every day, and those apps must find their own path to employee devices.
Watch for tooling to help deliver on the one-click, multi-platform deployment mobile app developers desperately need.

Optimizing

Unlike websites that live on servers or desktop apps that live on relatively stationary PCs, mobile apps get around. They literally live with users. They’re online. They’re offline. And once they’re deployed, they’re out of your control.
To understand what your app is doing and why, you’ve got to monitor it in the wild. Developers need to monitor usage and performance, watching for common user problems and those things that cause apps to dip below the all-important 60 frames per second, or fps (an essential measure for an app to “feel” responsive).
It will take a mix of new tools to help developers accurately and productively fine-tune apps to perfection and ensure their app is not among the one in four abandoned after initial use.

The mobile disruption has only just begun, but the need for better mobile development tools is urgent. Fortunately, new tools are emerging rapidly to help developers through the transition, so the pain of this disruption will hopefully be short lived.