To download an APK, Frank clicks the APK button in his group, waits 20-30 seconds, and copies the url presented by the system after it generates the APK. This works well on a well-provisioned server. Creating APK's on an AWS micro instance uses too many resources and takes much too long - over two minutes. We need alternatives.
Shared APK server
This is what we currently have, and is a strong option. In the case of Tangerine Subscription, things are a bit more complicated, because we have to point the tree APK builder to the correct server and group. But this is doable. There could be some hitches in regards to authentication, but maybe superlogin will help us resolve this issue too.
Downloading Assessments and configuration into a vanilla Tangerine APK from the Google Play store.
This is a very low resource intensive solution. My version of coconut follows this path: Frank enters the url to the configuration fie on the server in the startup screen of the app (along with a username/password), and the app downloads the forms and configuration information (which server to replicate to, salt for crypto, etc.) We could streamline this a little more for Tangerine: Frank enters the url to his group (frank.tangerinecentral.org/group-sweet-tree), and the app figures everything else out, downloading the config file as well as the assessments. There also would be an offline-install option Frank could use to configure the app in bandwidth-poor environments.
Example from earlier version of Kiwiprints:
Preparing the configuration and assessment bundles.
The configuration file would be created when a new group is created. This config file could have credentials for replication, as well as the users or groups permitted to download the assessments, if this level of control is needed. (Not planning to implement this right away...) This file could be edited in Couchdb Futon, or in a webapp.
The Assessment bundle would probably be created by pressing a "Create Assessment bundle" button. I am also experimenting with this being created on-demand - i.e. avoiding the need for this button-press, but I think this is going to be too heavy on the server.
Ancillary benefits
A user would no longer need to uninstall and download a new apk whenever assessments are updated; an "Update Assessments" setup facility would be available.
Example from Kiwiprints:
The downloading of the configuration file puts some plumbing in-place to accomodate a Salt/credentials for crypto-pouch.
Tasks
[ ] Server: Create simple packager node app, using code from tree, to prepare the Assessment bundle
[ ] Server: Create config file when group created
[ ] Client: Display setup page with url to group when APK is run but not setup yet.
[ ] Client: Grab the config and assessment files from the supplied url (and credentials?)
[ ] Client: Remove the current default credentials and config in the APK
[ ] Client: Work w/ Cordova file plugin to handle configuring the app using a zip downloaded to the mobile device.
To download an APK, Frank clicks the APK button in his group, waits 20-30 seconds, and copies the url presented by the system after it generates the APK. This works well on a well-provisioned server. Creating APK's on an AWS micro instance uses too many resources and takes much too long - over two minutes. We need alternatives.
Shared APK server
This is what we currently have, and is a strong option. In the case of Tangerine Subscription, things are a bit more complicated, because we have to point the tree APK builder to the correct server and group. But this is doable. There could be some hitches in regards to authentication, but maybe superlogin will help us resolve this issue too.
Downloading Assessments and configuration into a vanilla Tangerine APK from the Google Play store.
This is a very low resource intensive solution. My version of coconut follows this path: Frank enters the url to the configuration fie on the server in the startup screen of the app (along with a username/password), and the app downloads the forms and configuration information (which server to replicate to, salt for crypto, etc.) We could streamline this a little more for Tangerine: Frank enters the url to his group (frank.tangerinecentral.org/group-sweet-tree), and the app figures everything else out, downloading the config file as well as the assessments. There also would be an offline-install option Frank could use to configure the app in bandwidth-poor environments.
Example from earlier version of Kiwiprints:
Preparing the configuration and assessment bundles.
The configuration file would be created when a new group is created. This config file could have credentials for replication, as well as the users or groups permitted to download the assessments, if this level of control is needed. (Not planning to implement this right away...) This file could be edited in Couchdb Futon, or in a webapp.
The Assessment bundle would probably be created by pressing a "Create Assessment bundle" button. I am also experimenting with this being created on-demand - i.e. avoiding the need for this button-press, but I think this is going to be too heavy on the server.
Ancillary benefits
A user would no longer need to uninstall and download a new apk whenever assessments are updated; an "Update Assessments" setup facility would be available.
Example from Kiwiprints:
The downloading of the configuration file puts some plumbing in-place to accomodate a Salt/credentials for crypto-pouch.
Tasks