Having been involved with the mobile games industry for nearly a decade, I cannot say anything but the words made famous (?) by Bill Clinton: “I feel your pain”. It was hard enough starting out, dealing with MIDP 1.0 and all the various implementations of Java and varying device capabilities you had to deal with back in early 2000s. MIDP 2.0 and the JCP took long steps to alleviate the pain and aid developers, and porting platforms such as JavaGround and those from Mobile-Distillery made it even easier. Then of course you add additional OS, such as Symbian, Windows Mobile, BlackBerry, BREW, Palm OS and now lately Android, Apple and Web OS from Palm, and throw in Flash Lite, and various widget frameworks from Opera and others, and you have any small company’s living nightmare. The choice of what to support usually coincided by what the distribution channel demanded, which was typically dictated by the mobile operator.
With the amazing success of the AppStore, a lot of smaller shops decided to drop all other platforms and go for gold with the iPhone. Naturally, as the market evolved, the platform became less attractive, as you had to spend a lot on marketing to keep up the sales. Now enter the inevitable, but obvious path: an upgrade to the iPhone OS, causing further device fragmentation. Now the developer again are left to support multiple versions within the same OS.
Pure app developers tend to get off a bit easier, as they use less functionalities than games developers do. This means they may not have to re-purpose their apps to the upgraded OS from Apple. However, there is no doubt that this will impact on several app developers too.
Will this fragmentation end? Probably not, in fact, it is likely to get worse, as Android expands, and new versions of WM get published, as a developer you may not have a choice in supporting them all. If you are in the mobile app business, you simply have to design smarter and rely on porting platforms and testing platforms such as those from DeviceAnywhere to help you, which will at least mitigate part of the headache. I feel your pain.