"Fragmentation" is much talked about in mobile. Numerous operating systems, increasingly diverse device types, ARM and x86 system architectures. All this diversity creates a very real challenge for application developers. And actually it's a daunting diversity that any company in the tech space must face. Is anything to be done about fragmentation?
Before I answer that question directly, let me say that the situation is better than it was 10 years ago when every device manufacturer had its own operating system. Today, we've got a much smaller number of operating environments, comparatively, and some of them have characteristics that developers can use to develop across platforms--HTML5 being a notable up-and-coming standard with these characteristics.
But I also would argue that it is not helpful to think only about the development environment. Channels are central to how we need to think about the marketplace of applications. Proctor & Gamble may no longer have to deal with every mom & pop grocery store, but how they deal with Costco versus how they deal with WalMart is still significantly different.
So we have this balance and interplay between the platform and the retailing environment. Any contemplation of the challenges facing developers has to be not just about the technology side of platforms but also about discovery/monetization. Right now those two (technology & discovery/monetization) are bundled very tightly together. If I want to take advantage of the market that a particular retail channel has to offer me, I have to write and deliver my app/service in a certain way.
In each of these operating environments, there is a lot of work going on to try and make the unique characteristics of a device not limit its ecosystem. You may still have to distinguish between a tablet and a phone, but at least making applications work across both kinds of devices is clearly a goal for the OS providers.
It really is a question of how many platforms that developers will target to get access to those market channels. If a platform offers viable monetization opportunities for developers, developers will develop to it. If you pay them, they will come.
The challenges of discovery and monetization are often in the next breath after fragmentation when people talk about developer challenges in mobile. What I am arguing is that these are all the same thing; that it is an oversimplification of the issues to try and separate these things. Search engines on the web often do a better job today than the search mechanisms in app stores. I have learned that, when you are building an app recommendation tool, not only do you have to know how to do basic search and things like "these two words are semantically equivalent," but there are other heuristics needed--and you have a lot less data than a search engine can access to rank pages.
I would be the first to stress that more work can be done in this area. But the solution to discovery (and therefore monetization) once a market becomes crowded is marketing. You want people to know about your app and download it? You have to market your product. This is true for new websites trying to drive traffic; it is true for developers wanting people to desire, discover and purchase their apps. When the market matures, guess what happens? You need to segment. You need to market. You need to target your audience. It's no longer "just get lucky."
We all should be happy that mobile has fully come of age. And now that it has, developers need additional skills. Brilliant app design and great coding chops are no longer enough. Business success in a cross-platform world means operating your business the way a business must operate in mature markets. Ordinary business rules apply.
Rob Chandhok is president of Qualcomm Internet Services and helps drive software strategy for Qualcomm's client and server platforms. He and other mobile industry thought leaders will be discussing these topics and more June 27 & 28 at Uplinq 2012  in San Diego.
[Image: Flickr user Jason Rodman ]