Developing Smartphone Applications to Sell
December 30, 2007 at 11:05 AM
So, as I said, I have written this Smartphone application and was toying with the idea of either making it shareware or selling licenses on sites like Handango. After thinking about it for a while, I realized all of the following had to be considered for this type of application.
- Signing the application - Bottom line, here, is that any application that's installed on your Smartphone will need to be signed with a certificate that Either Microsoft or the phone's carrier has installed on the device. You basically have two options, here. First of all, you can go with Microsoft's Mobile2Market program. With this program, you submit your application to a third party for scrutiny and once approved, you are issued a certificate with which to sign your application and you have the privilege of displaying the associated Made for Windows Smartphone icons on your site and packaging. Plus, your product gets listed in Microsoft's / your OEM's catalog. The other option, is to just purchase a certificate, like this one, with which to sign your application and installer. The second option is cheaper, but it's up to you to decide which would be the better buy for you. More on your options, here.
- Data Storage - Putting myself in the place of a consumer obtaining an application for my mobile phone, I'd prefer to be able to purchase, download and install the application and have it just work from then on. With an application like the one I have written, data is being input into the application over a long period of time. Where does this data get stored? I could store it on my phone for a while, but before long there wouldn't be space enough for all my data. There is always the Sql Server solution where data is stored in a mobile database on the phone a periodically synced to a full blown Sql Server when the phone is synched with a computer on the network. Question here, though, is who's going to set that infrastructure up and configure the phone to connect with it properly? This basically means the application has to come with some form or storage "in the cloud" that it knows how to connect to. The storage space and maintenance of the hardware and software involved represents an additional cost whether we're talking about an aspx front-end or asmx.
- Bandwidth Usage - Different cell providers offer varying qualities of access to the internet at various prices. Can I assume that the cost of this type of access is negligible for the user of the application? I'm thinking the safest bet is that I cannot. I, therefore, have to be mindful that bandwidth usage is at a minimum; that calls to the web are not more frequent or chatty that necessary.