CoTwins
Welcome to CoTwins!
About the study
Hi there! Welcome to the CoTwins Lab page. We are a team of researchers at the University of Minnesota and the University of Colorado-Boulder who study behavior genetics, psychology, and computer science.
The goal of our study is to understand better how young adults change, in their personality, their friendships, their activities, and their environments. We are also interested in how young adults may use substances during this time, including nicotine, alcohol, and marijuana, and ultimately this information can be used to prevent and treat addiction disorders. Our study uses novel smartphone technology to assess these factors in twin participants over the course of several years.
No one has ever conducted a study like CoTwins, and we hope you enjoy learning more about our study! This primary purpose of this webpage is to serve as a way for our team to document and track our progress over the course of this 4-year longitudinal study.
Meet the CoTwins team
We are a team of researchers at the University of Minnesota (UMN) and University of Colorado-Boulder (UCB). We primarily work out of the Minnesota Center for Twin and Family Research (MCTFR, UMN), the Computer Science Department at UMN, and the Institute of Behavior Genetics (IBG, UCB). The Principal Investigators of this study are Dr. Scott Vrieze, Dr. Naomi Friedman, and Dr. Catherine Zhao.
Study Milestones and Major Events
PROJECT EVENT AND MILESTONE DATES
- 10/1/2018: Rachel Schneider started as CoTwins Coordinator
- 10/12/2018: First day of recruitment
- 10/12/2018: First re-recruit enrolled
- 1/18/2019: First new-recruit enrolled
- 1/25/2019: Deployed BIS-BAS, Friends, Life Events 2, UPPS-P, PANAS and Stress surveys to production server. Updated existing *surveys on the production server.
- 6/23/2019: PANAS and Stress 2 surveys deployed to production server
- 9/20/20109: Outdated EF surveys removed from production
- 11/27/2019: Checking In 3 survey deployed to production server
- 2/3/2020: Rio Hindami started as CoTwins Coordinator
- 2/11/2020: Rachel Schneider left as CoTwins Coordinator
- 2/21/2020: EF Surveys erroneously released
- 2/22/2020: EF Surveys withdrawn
- 2/28/2020: EF Surveys released
- 4/29/2020: Consent forms updated to remove Audio feature
- 4/29/2020: New iOS App update released
- 5/1/2020: MN IRB approval for remote onboarding of new-recruits and for COVID-19 survey items
- 5/19/2020: Adjusting to COVID-19 survey deployed to production server
- 6/8/2020: CoTwins servers went down: GCP Deprecated the use of python2 SQL package
- 6/19/2020: CoTwins servers went back online: Switched protocols from "mysql+gaedbms" to "mysql+mysqldb"
Software Development
In the initial NIAAA phase of CoTwins we worked with Anvil8, a software development company. At that time, we used agile software development principles and track our progress on https://youtracker.anvileight.com. This relationship ended with the end of the NIAAA support. Starting in
A refactored version of the iOS app, with essentially the same functionality as the previous app but rewritten in swift programming language, was release to the Apple app store. Scott (talk) 12:15, 30 April 2020 (CDT).
Software Issues and Bug Reports
Software was originally maintained in bitbucket. Bug reports were recorded in BitBucket's issue tracker. As of early 2020, the app engine software is maintained in GitLab. EF and iOS code are maintained at github.umn.edu.
UNRESOLVED
Time Travel Error
In UserStatus, some participants' "last location" dates are in the future (i.e. the date of last location logged is a date that has not happened yet). This appears to have affected participants who enrolled in November 2017.
Android Location
Several participants with Android devices do not have current location showing, even though they have it turned "on" in their phone settings.
Android SSL Authority Chain Issue
Message from April2018: When we put the new SSL cert on the server, he was supposed to update the "certificate authority chain" as well. Most browsers know about the certificate authority I'm using, and didn't need to check that chain, but apparently not the Android browser.
RESOLVED
Token Error
Inconsistency between LimeSurvey and CoTwins Server. Situation appears to occur when either (1) a survey is completed in the CoTwins application, but is not marked as finished in LimeSurvey, OR (2) the survey is active in the CoTwins application, but for an unknown reason cannot be recognized by LimeSurvey. When encountering this error, participants receive a message saying "The token you have provided is either not valid, or has already been used."
To fix this error, a team member should select "Repair uncompleted survey entries" on the given account. Another solution to fix these errors is to use the Vitaliy. Also recommended to monitor an account whose error has been resolved to if the original error reoccurs or if there are any other similar problems. To monitor these errors, one can visit the following URL: https://co-twins.appspot.com/admin/broken-survey-tokens?limit=10000&start=20000.
Several of these errors occurred in February 2018 and were resolved within 2-3 weeks. Subsequent errors seemed to occur as one-off issues that were typically resolved within 24 hours.
Social Media Survey Error
Linking error between the social media survey and user registration. The error creates a feedback loop that does not allow participants to move past the Social Media survey. When encountering this error, participants will finish the Social Media survey and then register their account. After registering, they will click a link that asks them to take the Social Media survey again. This problem happened to over 20 participants over a two-year period of enrollment. This error was fixed in January of 2020 when all future Social Media surveys were removed entirely from the new UserStatus database.
SSL error
Participant receives an error that says, "An SSL error has occurred and a secure connection to the server cannot be made." Participant had a secure connection and had tried (1) restarting app, (2) deleting and re-downloading, and re-logging into app, and (3) restarting phone. Account did not appear to have any errors on our end. Error was not intentionally resolved, but participant was able to complete surveys X days later, signifying that the error had been resolved.
UserStatus slow processing
The user-status admin page had become too slow because of the query to find the last web page visited for every user. The software team resolved this issue by moving the query information from the interface in order to restore the typical processing speed of the page.
"Unfortunately Cotwins has stopped"
Error appears as a notification to participant through their CoTwins app that says "Unfortunately CoTwins has stopped". This error is likely caused by either (1) the app exits abruptly, e.g., unstable internet connection (both cellular and WiFi); OR (2) cache files of CoTwins are corrupted because they have not been cleared in a long time.
To fix this error, the team first recommends that the participant closes the app and attempts to reopen the app once they have confirmed stable internet connection. If this does not resolve the issue, then we recommend that the participant attempt to clear their cache data. To clear the cache data, a participant should do the following:
- 1) click "App" button in "Settings" menu,
- 2) click CoTwins app and it will go to App info of CoTwins,
- 3) click "CLEAR DATA" button and "CLEAR CACHE" button,
- 4) re-login CoTwins.
These steps will reset the data in the CoTwins app on their Android phones.
Notifications
Two errors reported: (1) Notifications were not received by participants, and (2) Notification was received by participant, but there were no outstanding surveys for said participant to take.
Error (1) is believed to have occurred because either participants did not allow notifications from the app to be delivered in their personal phone settings, or because XXXX. This error was resolved with UserStatus update.
Error (2) occurred while the production server was cloned and connected to the development server during a test of migrating the development database to the production database. It was inferred that the development database had a pending survey for the participant that the production site did not yet have. This error was resolved once the upgrade was completed and the cloned sites were removed from the databases.
Email Login Errors
The two errors regarding participant email log-ins are: (1) a "Wrong email format" error, and (2) Password reset problem.
Error (1) occurs when a participant attempts to login with the correct email and password, but receives an error message that says, "Wrong Email Format, please input email in correct format". The reason for this error is unknown, but it was bypassed by having these participants provide a second email that was then updated as their primary CoTwins email account in UserStatus.
Error (2) occurs when a participant is trying to log back into their account and cannot remember their password. Even though they are entering in the correct email, they do not receive a password reset link when they click "Forgot Password". The reason for this is unknown; however, these errors were bypassed by having the CoTwins team reset the password to a generic entry for participants for whom this applied to.
EF Data Analysis
EF Data has been coded and analyzed through August 17th, 2016 (577 Subjects) by Daniel Gustavson. The EF task scripts, data, and most recent upload, can be found on the delta server (delta.colorado.edu\COTwins\EF Analyses). There are ReadMe files inside the folders for each of the four steps for data analysis (start there for instruction on how to add future subjects to the data), and an archive of Dan's last upload (delta.colorado.edu\COTwins).
Follow up note from Andrew Reineberg on 5/15/2017:
I added a new folder to cotwins on delta (EF Analyses - 2017-05-13) containing the analyses using Dan's scripts as well as a python script for calculating descriptives and reliability (andrew_ef.{ipynb,html,pdf} inside the 4_Final EF Data directory). About 100 participants were added since the last analysis in August of '16 for a final n of 654 (cases where we have all three EF tasks). The reliability and interrelationship of EF tasks is consistent with the summaries Dan provided of previous time points. FYI, we noticed split half reliability of the task set switching task is low compared to other samples. One other oddity I found is the modification of participant 23521's keep track data file. I'll document the issue here in case you want to forward this to someone who can fill us in on the details: There appear to be several modifications of the file, so I am not sure which one is appropriate to use. All comparisons are to the raw data file (20160609ApaperdataCCW.xlsx). Mod 1 - 20160609ApaperdataCCW_cleanedlaterIS_MS.xlsx - incorrect participant number was changed to the correct participant number. Response to a practice trial was changed. These modifications should not affect keep track score. I used this file in my analysis. Mod 2 - 20160609ApaperdataCCW_cleanedlater_IS_MS.xlsx - incorrect participant number was changed to the correct participant number. Response to the first real trial was changed. The latter modification will affect keep track score. At this point, the EF variables can be put into whatever higher level analyses you had in mind. I suppose that is something you'll be discussing with Naomi. Do let me know if there is anything I can do to facilitate those analyses or access to the work Dan and I did. -Andrew"
Instructions for Updating Email Addresses in UserStatus
Email from Paul Resnick in December 2017 describing how to update an email address in the production database.
Here's what I did, in case someone else ever has to do this again. But be very careful; you could really do damage if, for example, you left off the where clause from the SQL update queries.
1) First, I went to the google cloud console, for the project Co-twins Users, https://console.cloud.google.com/sql/instances/user-db/overview?project=co-twins-users
2) Go to the SQL (under storage) on the main menu
3) Click on the only instance, user-db
4) Click on "Connect Using Cloud Shell". Now you'll get a unix command prompt, with a command line ready to run. But you will want --user=admin rather than --user=root. So, something like this:
presnick@co-twins-users:~$ gcloud beta sql connect user-db --user=admin
For password, you'll need to get it from the password file. It's the thing after mysql://admin: and before the @
5) Now you'll be at an SQL prompt. I entered the following:
use user_schema;
select * from users where email_id = 'original_email@original_email.com';
/*(should get back 1 row for a correct email address)*/
update users set email_id = 'new_email@email.com' where email_id = 'original_email@original_email.com';
/*(changes all rows for that email address, in our case just 1)*/
Updating the openshift server that serves the EF tasks
In December 2017 Alejandro dlV changed the hosting server for the EF tasks from an old openshift platform to a new one in response to some major changes in OpenShift products. On Dec 26th, Paul R. made the following change to the Co-Twins server to point to the new openshift instance.
<---- Begin Paul's Email ---->
I have completed this now.
Here's what I did:
- logged into CloudSQL instance via google cloud console, as per password change I made previously
- ran the following SQL queries to change all not-yet-completed surveyentries to point to the new URL:
update surveyentries set url = 'http://assesment-cotwins.b9ad.pro-us-east-1.openshiftapps.com/exp/task/keep_track' where url = 'http://assesment-cotwins.rhcloud.com/exp/task/keep_track' and completed = 0;
update surveyentries set url = 'http://assesment-cotwins.b9ad.pro-us-east-1.openshiftapps.com/exp/task/category_switch' where url = 'http://assesment-cotwins.rhcloud.com/exp/task/category_switch' and completed = 0;
- updated surveyconfig.xml so that new entries would be created using the new url from here on out
- tested on my test user account
- the existing surveyentry points to the new server and works
- deleted it and recreated it; the new url points to the new server and also works
<---- End Paul's Email ---->