Apple has finally done what Microsoft should have done years ago, they have an App Store where programmers can sell products and take advantage of an instant electronic distribution mechanism. There are quite a few benefits inherent to this infrastructure, and for anyone who has tried to develop and market a software application it will be nearly self evident. Read on for my list of benefits and of course the set of counterpoints you will want to consider before publishing to the Apple version of a virtual electronic storefront.

Apple's App Store

Has anyone else noticed the shelves at the local Best Buy have fewer boxes of software? Historically, shrink wrapped software distribution (“shrinkware”) has been challenged by electronic delivery as retail software releases require significant capital outlay. Think of all the things you need to do to deliver a box of software to stores for distribution. Of course there is the cost of developing the software, but for smaller programs this may pale in comparison to the printed box, manual, distribution media, packaging, shipping and ultimately advertising. In the end, you could easily spend $3-$5 per customer and for a small application ($10) this is a large percentage of the cost of distribution.

…App Store is a good thing for most small and independent software developers who are looking for a distribution modelOn top of that, you have to include the money you have spent to distribute your software while it is still sitting on the shelves at local stores. Large companies can easily write this into their balance sheets as part of accounts receivable (AR) since they can expect to sell thousands of copies and will need to distribute more – for them it is a distribution pipeline. Smaller software companies don’t have this benefit, and this has largely been the impetus for the shareware / freeware software delivery model.

1. Electronic Distribution

Unfortunately, shareware is complicated by the distribution model. The average consumer of a shareware app will need to visit at least a handful of sites before they can even find a reputable source for the software they are interested in. Try looking for a backup utility for your Windows computer, you will need to visit dozens of websites and read at least that many number of reviews before you can settle on a program. Imagine if all of that information was in a single place – a virtual software storefront – where you could read the reviews and download the application that best suites your needs.

This is where the Apple App Store model comes into play, as a software developer your application can gain immediate visibility without a need for maintaining an online delivery mechanism of your own. Even better, you don’t have to advertise to gain traction on a user base – if your application meets a need then consumers on the App Store will start to download your program. The freeware model still prevails if you want to offer your program for nothing and if you chose to profit then you can let Apple take care of the checkout process.

2. Minimum Platform

Apple implicitly provides some assurances in terms of the level of platform capability. Programs that are purchase through the App Store must be at least running Snow Leopard, so you can build a program to this platform and be assured that your users will be at this level. Going forward, it is reasonable to expect Apple will continue to enforce minimum platform requirements for your application which let’s you remain confident that users will be running a version of Mac OS X that you’re willing to support.

3. Auto-Update

The App Store provides a central mechanism for updating your application. Rather than implement your own package updater you can upgrade your install base from a single upload to the App Store. This allows you to quickly address defects and user issues without being concerned about how you will deploy these updates to users.

4. Free Advertising

Well, it’s not entirely free – but once you have paid to publish your program to the App Store it is somewhat self promulgating. Users can find your program based on keyword searches, and as your application is rated it will adjust in search results. Of course, if your application has issues out of the gate it may mar the release somewhat; however, over time as you are able to correct issues it should adjust accordingly.

5. Licensing

Apple takes care of managing the licensing of your application. This means you don’t need to generate software keys or really be concerned about piracy of your commercial program. Of course, if you want to distribute demo copies of your application you may need to take this into consideration in light of the downside list below.

As with anything, there are downsides.

1. Restricted Development Environment

You really need to develop using XCode and a current version of Objective-C on an Intel processor. Both Java and PPC code running via Rosetta are prohibited in the App Store. Although this goes somewhat to the minimum platform benefit, if you are familiar with another environment (C# or Java) you may find yourself somewhat restricted from delivering your app via Apple.

2. Trial-Ware Disallowed

The App Store won’t let you distribute a trial version of your application, so if users want to try your program before purchasing they must visit your website where they can download the trial version. Of course, at this point it’s almost easier to charge them for the application and provide a license which will let them unlock the demo-ware. Hopefully this is something Apple will consider addressing in a future version of the App Store.

3. Similar Software Restriction

Apple prohibits you from publishing to the App Store programs that are similar to existing commercial applications. In other words, it is a purely non-competitive ecosystem as it relates to commercial software. While this is good for consumers as they won’t have to choose between two virtually identical applications, it is a detriment to developers since they won’t be able to build competitive products that might have analogous functionality in existing App Store items but that have been enhanced in certain unique ways.

Generally speaking, the App Store is a good thing for most small and independent software developers who are looking for a distribution model on the Mac. The deprecation of Java may come as a shock to some, as there are quite a few good applications out there for Mac that were written in Java and would probably sell well on the App Store. Obviously, Apple is taking this somewhat as an opportunity to solidify the Objective-C ecosystem and may in fact succeed as there are many benefits to the electronic distribution model.