I'm trying to grasp the concept of writing a container app that would load 1 or more modules installed by our customers.
If I don't write it this way, then our customers could have up to 6 different apps installed on their devices. I'd just like to keep things clean and professional (and extensible), and I really like how the eBook readers handle a library of books.
Can anyone suggest where I might start with something like this. I'm thinking it would be xml based, but thought I'd ask you all.
First you need to think about what those modules are. If they are not a coherent part of one app, Apple might judge this as replicating the home screen/creating an app that is a collection of apps/widgets, which will get it rejected. If it is, for example like Angry Birds where you get to add new levels to the same game, you could use in-app purchase to do that, so your user can choose which additional items to buy.
One way to handle it is to have it all in the app from the beginning and just 'unlock' certain parts when the user buys it. That's easier to implement. If that's not a viable option (depending on what the app and additions are), you can have the extra content downloaded upon purchase, but you need to provide the server to host it and a mechanism for communication between the app and your server to download it.
Thanks baja_yu, that helps. The modules are companion information to our instructional DVDs. Basically they provide the notes/tips/directions/extra video clips in an interactive way (not an ebook/pdf). I guess the easiest method would be to have all of the information available when the app releases (as you said), though this would delay our ability to get the app out anytime soon. It would also keep us from extending the app to any future DVD's.
So rather than trying to get it all done at once, do you think this would be approved by apple in an angry bird way?
Thanks!
Last edited by dork; 01-13-2011 at 07:34 PM.
Reason: added info
I think you should be fine in that situation. You should definitely think about an app with bare functionality (and maybe some starter content). Then using in-app purchase provide additional content. In this case you'll need to do some extra work and have a server back end of your own, but it's not that complex and is well worth it. You'll be able to present new content without the need to update your app, and it wont be a heavy download from the start because you'll keep the size down as the user will get just the material they want.
Take a look at this guide: Loading It's short but explains the process very well.