Here's a cartoon of what the timeline of learning Dallinger looks like:
(first 15 minutes) Hey look, I found the Dallinger documentation and I'm starting to work through getting it set up on my system.
(next 4 hours) My god, Python packaging is annoying. Most of this is going swimmingly well, but there are a few things I needed to look up and why do I have 4 versions of Python installed in different places on my computer?
(next 15 minutes) Wow, I ran a few transmission-chain demos on my local system and this is great!
(next 15 minutes) Now I'm tweaking the configuration file and running variations on the demo.
(next 15 minutes) Now I'm running a transmission-chain experiment online and getting data.
(next 1 minute) I can replicate that experiment with no problem!
(next 1 hour) Let's see what other demos there are and play around with them.
(next 6 months) The capabilities of Dallinger have led me to think up new interesting experiment designs that nobody has ever run on Dallinger before. I have my own extremely specific set of requirements and cannot be flexible about any of them. I am learning the ins and outs of Dallinger in order to implement this new kind of experiment that may even involve creating new functionality in base Dallinger.
Our goal is for most people to be productive, happy users of the system without needing to get to the last step. In practice, most people do want to modify the demo experiment in some substantial way, and we've run 3-day workshops that are enough for someone with some basic programming experience to make meaningful changes. Making big changes (e.g., implementing a complex networked experiment with a new task and custom rules) will take some substantive knowledge of Python programming and more than a couple days using Dallinger.