OpenSesame Android Runtime
Hello dear forum,
Since I have used OpenSesame back in 2020 for my master's, I adore it and here I am back for my PhD hehe. Thank you so much for everyone for your previous helps!
I have been looking at the solutions and pages for using OpenSesame in an android tablet, but I cannot seem to access the runtime file in Play Store anymore. Has it been removed and not supported anymore? I saw the updated warnings about the new Android versions but in any case I can only seem to see some .apk files in random websites and the links Sebastiaan have shared of the runtime says URL not found anymore. Checking in Play Store independently also do not return any results.
A specific problem for this could be that I need to show videos, and I have seen in an old forum discussion that videos might not work in Android with OS. Would that be not a problem anymore if I can ever run it, or would GIFs be a solution?
I have also seen Expyriment might be another solution, or using OSWeb in the browswer of the tablet. My main question is about OS itself because it would be more ideal to use without an internet connection requirement, but also I am open to any other suggestions (PsychoPy also seems not supported, and PyGame not sure if would be a great solution).
Best,
Hülya
Comments
Hi @hulya,
Thanks for reaching out, and congrats on starting a PhD!
From what I know (but @sebastiaan would be able to confirm or correct me), the Android runtime is no longer available because it was based on third party software that is no longer developed. If you're desperate to run your experiment on Android, the apk (version 3.1.8) can still be found out there (https://m.apkpure.com/opensesame-experiment-runtime/nl.cogsci.opensesame) and should work with the older version of Open Sesame. Not the most recommended option though, as you'd be working with a verison that is obsolete and no longer being updated.
A better option would be to run your experiment in a browser using OSWeb. Open Sesame 4.0, currently available for beta testing (https://osdoc.cogsci.nl/4.0/) comes with OSWeb 2.0, which offers extended capabilities compared to OSWeb 1.4, including the possibility of running your experiment locally as well is running it online as a JATOS experiment. So, you should be able to run your experiment on an Android tablet (or an iPad, for that matter) if you copy the html file generated by OSWeb (when you run it locally on your computer, it’ll open that html file; the URL indicates where on your hard disk the file is located). You’d probably have to adapt your task to display text etc. in a size and format that comes out best on a tablet or mobile phone. The data would be collected locally in the form of a JSON file (which you could convert back to csv through Open Sesame’s conversion tool in the OSWeb control panel). If run locally, you would not need an internet connection for the experiment to run. So, it might be an option to explore.
Note that OSWeb 2.0 does not support all the features of the full OS version (e.g., inline_script code in Python is not supported – you’d have to use the inline_javascript object instead; co-routines are not supported, etc.). As far as I know, it does not support video at the moment (the media_player_mpy is not supported in OSWeb), though, and I don’t believe an animated GIF would work either because it would only display the first picture (I’ve just tried it). There is a way around this problem if you really need to show videos: javascript or the inline_html object. The latter basically allows you to write HTML/Javascript code as you would to write a web page. One way in which you could show a video is to html code and some scripting to display it as if you would on a web page. However, the video would not be contained in the experiment’s file pool but instead be hosted on a server that supports Cross-Origin Resource Sharing (for security reasons, most servers do not allow a web page to come and pinch files, but hosting your video file on Github would work - Github supports CORS). You’d have then to get the raw URL to that file and use that in the code inserted in the inline_html object.
For example, I uploaded a little video I shot the other day on github and wrote the following html code that displays it (with sound) and displays a “continue” button underneath:
It's not as practical as having a video player object in OS, but it's a way around the limitation. Things would get a little more complicated if you want to measure responses times etc; coding in javascript would then be required.
I attach an example task programmed in Open Sesame 4 (won't be able to run it in an older version):
You can try the html version of this experiment here (try opening this link from your mobile device): https://www.dropbox.com/s/yuo040p61c3kkky/tmpznizrl47.html
There may be a better option out there, but that's what comes to mind at the moment.
Hope this helps,
Fabrice.
android apk mod will help you solve the Android OpenSesame Runtime problem