Top Banner
An Open Source Platform for Social Science Research Sally Kleinfeldt Barcelona 2017
31

An Open Source Platform for Social Science Research

Jan 22, 2018

Download

Technology

Jazkarta, Inc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Open Source Platform for Social Science Research

An Open Source Platform for Social Science

Research

Sally KleinfeldtBarcelona

2017

Page 2: An Open Source Platform for Social Science Research

The Program

Page 3: An Open Source Platform for Social Science Research

Next Generation Social Sciences

(NGS2)

Funded by:

Page 4: An Open Source Platform for Social Science Research

"The program aims to build and evaluate new methods and tools to advance rigorous,

reproducible social science studies at scales necessary to develop and validate causal

models of human social behaviors."

Page 5: An Open Source Platform for Social Science Research

Benefits for

• Public health

• Economics

• National security

Page 6: An Open Source Platform for Social Science Research

Initial Focus

Identify causal mechanisms of

collective identity formation

Page 7: An Open Source Platform for Social Science Research

Dallinger

Page 8: An Open Source Platform for Social Science Research

Grant Awarded To

Page 9: An Open Source Platform for Social Science Research

Dallinger

• Crowdsourced experiments

• Abstracted into single function calls

• Can be inserted into higher-order algorithms, for example to progressively refine experiment

Page 10: An Open Source Platform for Social Science Research

Fully Automated

• Recruits participants (Mechanical Turk)

• Obtains informed consent

• Arranges participants into a network

• Runs experiement (Heroku)

• Coordinates communication

Page 11: An Open Source Platform for Social Science Research

Fully Automated

• Records the data they produce

• Pays participants

• Recruits new batches of participants contingent on the structure of the experiment

• Validates and manages the resulting data

Page 12: An Open Source Platform for Social Science Research

How Does It Work?

• Experiments are modeled as directed graphs

• Experiments are like Plone add-ons being run by the Dallinger system

Page 13: An Open Source Platform for Social Science Research

Games!

• All teams coalesced on using a public goods game

• Dallinger is the only team using a real-time multiplayer game: Grid Universe

Page 14: An Open Source Platform for Social Science Research

Demo

Page 15: An Open Source Platform for Social Science Research

Repository

• github.com/Dallinger/Dallinger

Page 16: An Open Source Platform for Social Science Research

Jazkarta’s Contribution

Page 17: An Open Source Platform for Social Science Research

Why Jazkarta?

• Expertise in Python, Flask, PostgreSQL, SQLAlchemy, Amazon Mechanical Turk, boto, tox, pytest, Redis, Selenium, PhantomJS, JavaScript, HTML, CSS…

• Expertise in project management

• Expertise in a mature open source community - Plone!

Page 18: An Open Source Platform for Social Science Research

Our Process

• Discovery meeting fall 2017

• Developed user stories

• Estimated using planning poker

• Implementing in a series of iteration

Page 19: An Open Source Platform for Social Science Research

Our Team

• Alec Mitchell

• David Glick

• Matthew Wilkes

• Carlos de la Guardia

• Jesse Snyder

Page 20: An Open Source Platform for Social Science Research

Lessons Learned from Plone

Page 21: An Open Source Platform for Social Science Research

Lessons

• Don’t over-engineer plugin architectures (like recruiters)

• Support live editing as much as possible

• Break backwards compatibility when needed

• Remove references to old ways of doing things

Page 22: An Open Source Platform for Social Science Research

Lessons

• Ship lots of useful demos

• Be diligent about code reviews

• Make important approach decisions together

• People involved in decisions should know user needs intimately (we miss Joel Burton)

Page 23: An Open Source Platform for Social Science Research

Plone vs. Dallinger Tech Stack

Page 24: An Open Source Platform for Social Science Research

Tech Stack

• Web based, but Flask instead of Zope

• PostgreSQL instead of ZODB

• Real time websockets

• Built in deployment command

Page 25: An Open Source Platform for Social Science Research

Writing Experiments

Page 26: An Open Source Platform for Social Science Research

Helping Dallinger Users

• Documentation

• Slack channel

• Cookie cutter template

• Extendable base templates

• Javascript library

• Commands for local debugging

Page 27: An Open Source Platform for Social Science Research

Ensuring Code Quality

Page 28: An Open Source Platform for Social Science Research

Code Quality

• Automated lint checks

• Continuous integration with minimum code coverage requirement

• Code review

• Regression testing of an experiment (GU) against changes to core Dallinger

Page 29: An Open Source Platform for Social Science Research

Fun Technical Challenges

Page 30: An Open Source Platform for Social Science Research

Fun Challenges

• Scaling selenium-based bots

• Getting access to track interactions with 3rd-party sites (Chrome extension)

• Testing multiple participants in parallel without sharing cookies

Page 31: An Open Source Platform for Social Science Research

Questions?