SlideShare a Scribd company logo
An Open Source Platform
for Social Science
Research
Sally Kleinfeldt
Barcelona
2017
The Program
Next Generation Social
Sciences
(NGS2)
Funded by:
"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."
Benefits for
• Public health
• Economics
• National security
Initial Focus
Identify causal mechanisms of
collective identity formation
Dallinger
Grant Awarded To
Dallinger
• Crowdsourced experiments
• Abstracted into single function calls
• Can be inserted into higher-order
algorithms, for example to progressively
refine experiment
Fully Automated
• Recruits participants (Mechanical Turk)
• Obtains informed consent
• Arranges participants into a network
• Runs experiement (Heroku)
• Coordinates communication
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
How Does It Work?
• Experiments are modeled as directed
graphs
• Experiments are like Plone add-ons being
run by the Dallinger system
Games!
• All teams coalesced on using a public goods
game
• Dallinger is the only team using a real-time
multiplayer game: Grid Universe
Demo
Repository
• github.com/Dallinger/Dallinger
Jazkarta’s Contribution
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!
Our Process
• Discovery meeting fall 2017
• Developed user stories
• Estimated using planning poker
• Implementing in a series of iteration
Our Team
• Alec Mitchell
• David Glick
• Matthew Wilkes
• Carlos de la Guardia
• Jesse Snyder
Lessons Learned from
Plone
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
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)
Plone vs. Dallinger
Tech Stack
Tech Stack
• Web based, but Flask instead of Zope
• PostgreSQL instead of ZODB
• Real time websockets
• Built in deployment command
Writing Experiments
Helping Dallinger Users
• Documentation
• Slack channel
• Cookie cutter template
• Extendable base templates
• Javascript library
• Commands for local debugging
Ensuring Code Quality
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
Fun Technical
Challenges
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
Questions?

More Related Content

KEY
Saving Plone from Plone agony
PDF
Evolution of The Twitter Stack
ODP
Scale2014
PDF
The 2nd Intl. Workshop on NL-based Software Engineering
PDF
NORTH CAROLINA Open Source, OpenPublic, OpenShift
PDF
NL-based Software Engineering (NLBSE) '22
PDF
North Carolina - Open Source, OpenPublic, OpenShift
PPT
Content Management with Plone
Saving Plone from Plone agony
Evolution of The Twitter Stack
Scale2014
The 2nd Intl. Workshop on NL-based Software Engineering
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NL-based Software Engineering (NLBSE) '22
North Carolina - Open Source, OpenPublic, OpenShift
Content Management with Plone

More from Jazkarta, Inc. (20)

PDF
Traveling through time and place with Plone
PDF
Questions: A Form Library for Python with SurveyJS Frontend
PDF
The User Experience: Editing Composite Pages in Plone 6 and Beyond
PDF
WTA and Plone After 13 Years
PDF
Collaborating With Orchid Data
PDF
Spend a Week Hacking in Sorrento!
PDF
Plone 5 Upgrades In Real Life
PDF
Accessibility in Plone: The Good, the Bad, and the Ugly
PDF
Getting Paid Without GetPaid
PDF
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
PDF
Anatomy of a Large Website Project
PDF
Anatomy of a Large Website Project - With Presenter Notes
PDF
The Mountaineers: Scaling the Heights with Plone
PDF
Plone Hosting: A Panel Discussion
PDF
Plone+Salesforce
PDF
Academic Websites in Plone
PDF
KEY
Online Exhibits in Plone
PDF
Online exhibits in Plone
PDF
ZODB Tips and Tricks
Traveling through time and place with Plone
Questions: A Form Library for Python with SurveyJS Frontend
The User Experience: Editing Composite Pages in Plone 6 and Beyond
WTA and Plone After 13 Years
Collaborating With Orchid Data
Spend a Week Hacking in Sorrento!
Plone 5 Upgrades In Real Life
Accessibility in Plone: The Good, the Bad, and the Ugly
Getting Paid Without GetPaid
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
Anatomy of a Large Website Project
Anatomy of a Large Website Project - With Presenter Notes
The Mountaineers: Scaling the Heights with Plone
Plone Hosting: A Panel Discussion
Plone+Salesforce
Academic Websites in Plone
Online Exhibits in Plone
Online exhibits in Plone
ZODB Tips and Tricks
Ad

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Review of recent advances in non-invasive hemoglobin estimation
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Chapter 3 Spatial Domain Image Processing.pdf
Ad

An Open Source Platform for Social Science Research