By not forcing users out of context to buy apps and other content, Apple is greasing the wheels of commerce in some very cool ways. If/when apps like Tweetbot implement the new feature, you will be able to download that new app your friend tweeted about without ever leaving Tweetbot. Developers can now cross-promote their other apps without sending users into the abyss of the App Store, not knowing if they’ll come back. And more importantly, amazing app discovery focused apps like TouchArcade can now sell apps directly. It’s as if Apple is saying “Here, build your own App Store, just don’t copy ours.”
SKStoreProductViewController is a fascinating addition to the Apple development environment. One that I was — and I suspect many others were also — utterly unaware of.
As David points out, the addition of SKStoreProductViewController theoretically allows for third party developers to build working alternatives to the App Store, whilst also integrating app downloads into a great many other facets of the user experience.
Although there are some caveats, it certainly offers an intriguing window onto Apple's evolving comprehension of control. That is not to say that Apple has released control over the end-to-end experience, but it is allowing for developers to become increasingly involved as intermediaries. The App Store, for instance, cannot be replaced, but, with this change, its use can be cosmetically obfuscated by third party alternatives.
This is much the same as Apple's allowance of Google Chrome and Sparrow into the App Store environment. They allow users to cosmetically avoid the use of Apple's stock apps, whilst, in the background, much of the utility is being driven by Apple on a lower level.
So, SKStoreProductViewController is not exactly unprecedented, but it at least demonstrates Apple's ongoing willingness to loosen its grip over the stock iOS experience. I doubt Apple will allow us to alter the stock apps on our devices any time soon, but I certainly take some optimism from these changes.