I'm developing applications for PC and the iPhone at the moment. It looks like the iPhone application will be the first to market for two reasons: it is a simpler application (which always helps), and there is less hassle to get it out the door. The main reason there is less hassle developing an iPhone app (ignore Apple's approval process) is because most common things are managed for the developer.
The iPhone App Store
I can't say I'm a big fan of owning hardware that you have little or no control over but I do love both my iPhone and my Xbox 360. These controlled environments provide several benefits to the consumer:
- People feel safe using their credit cards to buy software. I don't think people are very keen to use their credit card at any old place - they don't want to be ripped off by paying for something that doesn't arrive and they don't want their credit card details stolen for other unauthorized uses.
- There is no fear of malware. Having all the software up for sale screened by a third party prevents malware from creeping in. Even if it does get in the vendor can release an update to disable it remotely.
There are also many benefits for the developer:
- No need for a complex installer. This is a huge pain on Windows and Linux (I'm not sure about OSX) and having a simple standard means of deploying the application is great.
- Distribution handled. The developer doesn't need to find or pay for hosting applications even free ones.
- Payment handled. The payments from the customer are handled automatically.
- Licensing handled. There is no need for a custom activating and licensing mechanism.
- Error reports handled. On Windows there is winqual but it requires a $99 certificate, avoid that cost requires a custom solution.
- Single payment. The app store vendor takes a cut of sales so there is no separate cost for a winqual certificate, signing certificate, hosting, etc.
Windows App Store
An app store for Windows would address several key problems for desktop development:
- Remove the need for custom installers.
- Automatic updates and a single update notification. It seems like almost everyone does a poor job of updates and on my PC I have separate Adobe, Java, Apple and Google processes checking for updates.
- Distribution. No need to find hosting.
- Unified "feel" for applications. Consumers would have a single spot they felt safe using their credit card and knowing they weren't downloading malware. A great example of this on Windows is Steam.
- Mandated quality standards. This would hopefully move towards removing crapplets on PCs.
- A easy & safe way to make payments.
Microsoft already have "Windows Marketplace" which apparently supports third-party titles however a quick look at the site fails to show any such applications. I think at a minimum they should re-brand whatever app store they make perhaps using Bing. "Bing App Store"?
Perhaps Valve will moving into distributing applications as well as games...