Hi Derek --
My first reaction is that I would do it this way ... in short, you would do
all development in your own main app. you would not do very much over in a
second project space. You would only use some other project space just for
messing around with general ideas and practicing, not for building your new
version.
I would:
1-- create a few "test mobile users" in your app. You probably already have
some.
2-- have a few "test smartphones" where you do your testing with those test
users (again, you probably have this already.)
3-- ONLY on your test smartphones, and not on any other smartphones, you
will go in commcare to the three-dot menu > settings > "enable updates to
un-starred versions." That will make it so that on THAT phone, when you
go to the "update app" command, it will ALSO recognize newer app versions
that you have built in the Deploy section but that you have NOT actually
placed the Star next to to make it an official version.
4-- then you can remove the 1=2 display condition on the various new fields
and features you are making, and do plenty of development to try your first
attempt at your new app.
5-- then, go to the deploy area, and click the button to build/create new
verson. BUT no NOT click the "star" for that version.
6-- then go to your testing phone that you did the "enable unstarred"
configuration on. go to Update app on that phone. that phone will load
your new "in development" version! you can test it and enter lots of
data. That data WILL go into your database, but I assume that you are used
to that issue--- when you go to run your "real" reports of "real" data from
your app, you always specify a reporting group that includes only your REAL
mobile users and does not include your test user accounts in it.
7-- That way, you can play, test, work with those new features, fix them,
do more version builds. But you will never press star on them until you
are 100% sure the version is correct and ready.
8-- when you are certain that the newest unstarred version is 100% ready
for real release, you simply press "star" on it, and then tell all your
mobile users "hey, go update your apps." then when they go to "update app,"
their phone will be using the new perfect version.
... also, you might consider the app configuration that tells the phone to
automatically check once per week to see if there is a new version. That
can reduce the risk that some user does not update and you go for months
before you realize that some users were not collecting the needed data.
... also maybe you know this, but the way that you discover which of your
mobile users is using which version of your app ... is in a useful command
you can use. You go to Reports > View All, and then in the left pane,
click "application status." Then use the filter on that page to choose
which of your apps you want to track the implementation usage of... and the
resulting list, you can sort by date or by app version, etc. Lots of fun...
eric