In a world where the Web is increasingly consumed on mobile devices, and applications on iOS, Android or other platforms continue to proliferate, developers are turning to in-app purchases to drive revenue, not just for premium applications, but for free applications that often get you in the door, but entice you to pay up for additional features. But what many developers aren't preparing for is a world where consumers have multiple devices, but carry the same apps - putting the customer's data at risk, tied to a single device, even when a centralized cloud solution seems like a reasonable and much more modern, alternative.
Traditionally, premium software vendors have asked customers to pay on a per-install basis. Want to run Adobe Photoshop on multiple computers? You have to pay a multi-user license. Want to run Microsoft Office for the whole family? Get a family pack. But on the mobile side, thanks in large part to Apple's leadership on the iTunes store, and other app stores, including the Android Market (tied to one's Google account), premium and free applications are synched on a per-user basis. Want to upgrade your iPod or iPhone? A sync with iTunes should get your apps back. Purchase the latest Android tablet or phone? Log into Google with your account, and the Android Market will start feeding you your apps.
That said, synchronization of content between devices is comparatively poor. For every cloud-based app like Gmail or Spotify that recognizes your ID and displays your information on every device, one finds applications that live on your phone or tablet, and don't communicate to any parallel installs you have. (See iTunes' guidance on this issue) This leads to the very common issue known by any Angry Birds addict, who finds themselves conquering the same levels from phone to phone to computer or even on Chrome, instead of starting where they left off. If you love killing pigs and burning time, that's wonderful, but I'd bet many people would find it valuable to log in with their account on any device, and continue where they left off. Some apps, like Barnes and Noble's NOOK app, do this very well, but many miss the target.
The situation becomes even more complicated with the advent of in-app purchases. Forget about the Mighty Eagle (just one dollar per level!) in Angry Birds. You can purchase weapons and tools galore for sports games and strategy games on your smartphone, but many application developers are making the purchase much like they did in the traditional sense - assigned by device, not tied to your Apple account or your Google account. That means that not only do your premium purchases not follow you from device to device, but even worse, if you have to reinstall your mobile OS for whatever reason, you've lost the in-app purchase data, and probably a bunch of the app's history as well.
Living on the bleeding edge of early adopterdom as I do, I've learned to be flexible with the occasional bumps. I got hit with this in-app issue this summer when I had the chance to reinstall Honeycomb on my Android tablet from Samsung, only to lose the in-app purchases I'd made on the 9 Innings baseball game, along with dozens and dozens of games played and players acquired. While I didn't have to rebuy the app itself, which is great, I was starting on Opening Day all over again. That's nuts.
I can understand application developers wanting to ensure they receive appropriate payment for their apps being downloaded and enjoyed. I think the functionality of in-app purchases is a great expansion of mobile commerce. But in a Web-centric mobile world with centralized accounts, storing one's application data on the device, without backup in the cloud, seems short sighted. Many of us carry multiple devices, and may some day upgrade our phones and tablets. It'd make more sense for me that we can do so without fear of losing our progress and our premium buys.