For anyone who's interested: I've managed to run OpenSesame (see below for the most recent version) from a USB-stick, using Portable Python 2.6 (EDIT: using WinPython 126.96.36.199 as of OpenSesame 0.27.2). It works really well, apart from being a tad slower than the original (as is to be expected, of course), but that seems largely due to the fact that OpenSesame is run from source. It has all the toolboxes built in, even the eyelink-functions.
I recommend that, if you would like to use OpenSesame Portable for experiments where timing is crucial, you test the timing on your specific system. If, after that, you would be so kind as to report your findings here, it would be greatly appreciated.
OpenSesame Portable is a nice solution when you're using different computers a lot, or if you want to have people fill out questionnaires at home or anywhere outside of the laboratory. Another great possibility is using it in education, so there's no need to install OpenSesame on a lot of computers (which might prove to be a bit of a bother, considering the IT departments of some universities).
OpenSesame Portable is downloadable here, and information can be found here.
|OpenSesame 0.27.2 (Python 2.7)|
|WinPython-OpenSesame-0.27.2 (Python 2.7)|
For downloading, see here and select the version of your choice.
That's great! Does this mean that you created a USB stick that contains a full portable Python runtime environment + OpenSesame source + all OpenSesame dependencies? I definitely want to take a look at that, particularly if it works out of the box with the Eyelink. Could you perhaps upload a disc image somewhere?
PS1: You probably know that you can also run the OpenSesame binary (the .zip download) from a USB stick, right? But that's not as flexible, of course.
PS2: pylink is a proprietary library, so including and distributing it is strictly speaking a licensing violation. Not that that's a very big deal at this point, though.
I'll try getting it to you somewhere before the weekend. It's a USB with the 2.6-version of Portable Python (but with all the stuff OpenSesame needs to run added to it), the OpenSesame binary (downloaded from your site), including the plugins.
I did not realize that pylink was a proprietary library, but thanks for the heads up! I won't be distributing that, then. Since you own a copy of pylink, it's not license violation if I were to give it to you, right?
No, sending it to me and circulating it within your university etc. should be fine, I think. I also know that Jon "PsychoPy" Pierce contacted SR research and asked them about including PyLink in PsychoPy. I believe they agreed. So you could try that.
I've transferred a .zip-file with everything you need. Mind you, this is actually running OpenSesame from source (but to be able to do so, I needed to modify the basis portablePython). It's probably possible to create a PortableOpenSesame.exe, but this was the short solution.
[resuming from email] This is awesome and (after a quick test) it works really well! I have one suggestion: You now have a couple of different .bat files, one for every drive that OpenSesame might be on. Couldn't you just create a single .bat file like this?
Would you mind if I make this portable version available on the website? Particularly for people who require additional modules to be installed (notably Eyelink users) this is really convenient. I'd have to strip out pylink, obviously, and perhaps clean up the .bat system, but otherwise it seems good to go. It would also be very convenient for people who want to play around with the source code, but don't want to install a full Python environment on their computer.
Haha, yes, that seems like the easier way to go. Thanks!
I wouldn't mind it at all if you were to put it on the website (as long as there's no violating any licenses, but you seem to have a keen eye for that, so I guess that won't be a problem). Hope it's going to be helpful.
Would you be interested in having an FTP account for cogsci.nl? That way you could upload and update the .zip file yourself, and post a permanent link here on the forum (or wherever).
License-wise, I think the only thing that would need to be done is strip the pylink folder. Or, alternatively, you could ask SR Research if it's ok to bundle pylink.
Yeah, that'd be nice! I'll try contacting SR Research in the meantime.
I just tried it on the Eyelink system here (I'm in Marseille right now, so OpenSesame wasn't installed yet), and it works like a charm! Eyelink support right out of the box. Great work man!
I'll add a page about it to the OpenSesame documentation.
(Btw, I saw your pull request on the slider plug-in. Thanks! I'll get to it soon.)
You're welcome! Thanks for adding it to your website.
The most recent pre-release of OpenSesame 0.26 is now available in a portable version too! See here!
That's great man!
Please let me know if you find any bugs in the pre-release. If no bug reports come in (and if I find no bugs myself) I will probably release 0.26-pre6 as 0.26 stable later this month.
OpenSesame 0.26 is now available in a portable version! See here.
Great man, thanks! I'll probably use it for an experiment this afternoon.
I report you a problem I encountered using the portable version in Windows 7. When I try to run my experiment, OpenSesame simply automatically closes itself. However, I strongly suspect it is a problem related to the PsychoPy backend, because the same thing does not happen when I run another experiment builded with the legacy backend. Otherwise, the problem may be derived from one or more libraries that I import at the begin of the script. This is the incipit of my code:
from psychopy import visual, core, event, logging, sound
from math import radians, atan2, sin, cos, floor
from pyglet.window import key
Do you know the reason for that?
Terribly sorry, I must've missed that... I can give you some (preliminary) feedback on your question: there seems to be nothing wrong with portable Python*. I've just tested it and all the libraries you import are indeed importable in the Portable Python shell.
That being said, I'm afraid I can't provide any further insight in the problem. I can't even reproduce it myself: OpenSesame Portable behaves in exactly the same way as the desktop version. Could you perhaps provide some further details on your experiment? Are you using only static visual stimuli, or sounds** and movies as well?
.* the version that accompanies OpenSesame Portable 0.26, that is.
** for reasons I have not quite figured out yet, OpenSesame Portable crashes when asked to produce sounds on Win7, but not on WinXP. This is true for all backends (sadly), so I do not believe this is the origin of your problem, as yours is running fine on the legacy backend.
I've tested two different experiments with the Psycho backend. Specifically, one of them is a simple paradigm in which a cross appears at the center, the participant has to press the space bar, and after a random time a beep is produced. Then the participant has to judge the interval between the pressed key and the sound by simply holding a key pressed for the duration of the estimated interval. I tried to delete the sound stimulus, since you wrote that there are problems with that, but the problem is the same.
Perhaps it would help to describe in a bit more detail what happens:
Does OpenSesame crash completely, i.e. the window vanishes and you don't receive any error message at all. Or is it a 'graceful' crash that gives you a Python error message of some sort, or an error message in opensesame.exe.log?
Does it happen right away when you start an experiment, randomly during the experiment, or always at a specific stage of the experiment?
Does it always happen when you use the psycho backend, or only with some experiments?
Does it happen on all computers?
Yes, the window disappears, OpenSesame close itself and I don't receive any error message.
The problem happens when I run the experiment. OpenSesame opens the experiment window but immediately after it crashes.
I tried two different experiments builded with psycho, and the problem remains the same.
I tested the code on two computer, with same results
I see. That sounds pretty consistent and persistent. This one is going to be tricky to figure out, I think, particularly because it appears to be specific to your set up (I can't replicate it either).
Are you running the latest version of the Python portable package, or one of the 0.26-preX packages?
Are you sure the problem is specific to the Python portable OpenSesame package, or does the psycho back-end also crash in the same way with the 'official' .exe or .zip downloads? (What happens if you simply run the default template with the psycho back-end?) If the problem is not specific to the Python portable package, this suggests that it's really a problem with the PsychoPy libraries and not the packaging per se. In that case you could consider reporting it on the PsychoPy user list: http://groups.google.com/group/psychopy-users
Now available: OpenSesame Portable 0.26.2!
What's new? Added support for OpenSesameRun, meaning it's possible to either use OpenSesameRun to run experiments without using the experiment builder or even use a batch-file to start an experiment directly (a tutorial on how to do this is included!)
It's not really spectacular, I'll admit, but could be useful nonetheless.
Great man! The included howto's are a nice addition.
A researcher here at VU University Amsterdam had problems with OpenSesame Portable and EyeLink. After replacing the folders eyelink_log and eyelink_stop_recording from your Portable version with folders from opensesame_eyelink_plugins version 0.17 the problems were solved. Could you use the latest version of the opensesame_eyelink_plugins when building a new OpenSesame Portable release?
Sebastiaan mentioned it, so I'm already working on it (I was quite surprised as well, since I'm working with the older version without experiencing any troubles). Thanks for the heads-up!
It's great to know that you're using the portable version! Is everything else working all right?
EDIT (20-06-2012, 13:31): New package uploaded, now including the newest eyelink plugins and the new joystick plugin.
Wow that's fast! I'm not a researcher myself (I'm a support technician), but I will install it in the lab and let you know if there are any (other) problems.
I'm using OpenSesame portable with an EyeLink for an experiment I'm currently running and it's working very smoothly. This was a huge help because I didn't have to convince anyone that it's okay to install something on the lab computer. Thanks for this really useful distribution!
Hey, thank you folks for Opensesame and Opensesame Portable. I had some nice success in implementing what was on my mind for a while.
Maybe you can answer me a few questions:
Is is also possible to run the Opensesame Portable Folder just from the hard disk and not from an external drive, but with the same behavior like from an external drive?
And is it possible to write an python script, that saves logged data not into the opensesame portable folder but on some web based medium, means one of our servers?
Sure, it doesn't matter from which location you run it. A USB stick, a network drive, a regular hard-disk—all should work.
Yes, with some inline scripting. Python has extensive networking capabilities. There are plenty of ways to do this, here's a few:
You can get the location of the regular logfile like this:
So would I be too presumtuous to ask (because I don't quite have the device yet to test it) that if I run OpenSesame Portable on a Windows tablet, that I can have people just use the touch screen to take my experiement/questionnaire? I already have it designed and ready on regular OpenSesame, so I just wonder if the port over to a tablet device will be touch friendly. I imagine the hardware input won't conflict since it isn't code-sensitive, but I just thought I would ask.
With all touch-screen devices that I have encountered, touches simply appear as mouseclicks to the software. So I suspect that it should be no problem—You can develop the experiment on a computer with a mouse, and run it on a (Windows) tablet with a touch screen.
That being said, if you are buying an expensive device for that purpose, it might be wise to double-check, of course!