What are the advantages using Otree to progam economic experiments? I need to decide between learning Ztree and Otree. The added cost of complicating the server setup severely should have some benefit. Apart from Ztree being ugly, are there any other advantages of Otree to program experiments?
One irreducible advantage of oTree over z-Tree is that you can easily reuse/imply the entire trajectories of results per entity (session/group/player) when doing repeated games. With z-Tree, it is rather complicated (not to say impossible?) to define dynamically temporal- or individual-based autocorrelated/interdependent/recursive games.
Another notable advantage is that you can also easily run (fully automated) functional tests with oTree, be them headless or not, with random numbers following the distribution(s) or mechanism(s) you like, up to the generation of the final results, which is at best complicated if I remember well with z-Tree. Moreover, keeping in mind that it is increasingly mandatory to provide (in appendix) all the screenshots of the steps of an experiment, you can easily do so with oTree, using libraries such as Selenium as soon as something changes.I remember me doing all that manually, with many zLeafs opened, which was cumbersome to say the least. Having 3 screens was not enough...
Finally, learning oTree will strongly initiate your familiarity with a notorious web-framework, Django (not the CMS), which means that learning oTree means learning it as well. Entirely class-based and PEP8-compliant, it also means that via oTree, you will learn coding in Python the &quot;right way&quot;. Moreover, if you wanna tweak your frontend, you will also start learning things such as CSS, HTML and even JavaScript. oTree's dividends are numerous.All that with a concrete goal in mind, which (to me) is the best manner to acquire new skills.
That being explained, there is now a new version of z-Tree which I do not know, i.e. z-Tree unleashed which may be far better than its ancestor.