I have an idea for a mobile application (initially targeting iPhone but would like to target others in the future) and am trying to decide the best way to package/sell the product. For lack of a better term, the app would be a "platform" that potential clients could use to create their own branded application. There will be a server-side portion of the app but I'm mainly concerned about the client-side. The possible scenarios I see are:
- Multiple native apps, one for each client (e.g. iClient1, iClient2, etc...)
- Single native app (e.g. iGenericApp).
- Just make it a web app.
From a marketing/business perspective, I believe the app would only be successful if each client ends up with a branded application in the app store with its own name and home page icon (Situation #1). From a technical standpoint, this obviously is a maintenance nightmare as any update to the native application would require updates to all of the applications.
Clients who would purchases the application would not be technical, so I would want to release the app under my iPhone Dev account, shielding them from that process and the $99/year fee. I assume I would come up with some revenue sharing agreement with the client when it came to download revenue (more overhead as I would have to distribute app download proceeds). This setup would also mean I would be responsible for doing any application updates to the app store.
Situation #2 is a little more attractive in that updates are a lot easier. But again, I don't think clients would want an app that wasn't (entirely) their brand, even if I could pull down some branding assets from the server-side. It also opens up the possibility that Joe User buys the app from the app store, thinking he can use it to access info from a client who hasn't bought rights to the app.
Situation #3 is obviously the most flexible, but again, I think clients would want to be in the app store. I also think the user experience would be better in a native application (I realize I could use something like iui), and the native application wouldn't be too difficult to port to other platforms as needed. It's also convenient to have the app store(s) take care of collecting money from the end-user. I also realize I could just make a native shell application that uses UIWebView to access the web app, but again, I just think a native app is going to provide a better user experience.
So I am leaning towards scenario #1, realizing that if the app takes off (counting my chickens before they're hatched :) ), I'm going to spend more time maintaining apps in the app store than adding value to the application.
To finally get to my question, has anyone implemented solution #1 before and if so what did you do to reduce maintenance overhead (e.g. automating builds, testing, etc...)? Also, is there a limit to the number of apps you can upload to the app store under one account?