Welcome!

Sign in with your CogSci, Facebook, Google, or Twitter account.

Or register to create a new account.

We'll use your information only for signing in to this forum.

Supported by

[wishlist] What would you like to see in OpenSesame?

ChristianeChristiane Posts: 11
edited January 2013 in OpenSesame

Dear Sebastiaan,

would it be possible to add some additional features to the loop table editor, for example find/replace and undo. Of course I know that this is possible to do with external applications but it would just be so much more convenient and time effective to have these functions build into open sesame!

Thanks a lot for your consideration!

Kind regards!
Christiane

«134

Comments

  • MichifMichif Posts: 71
    edited 11:07AM

    Now that there is a wishlist:

    It would be great to be able to sort the colomns in the logger item. In order to find a certain variable fast if you use manual variable logging!

  • sebastiaansebastiaan Posts: 2,403
    edited 11:07AM

    Alright, let's make it official then: Post your wishes here!

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • drorgarbidrorgarbi Posts: 58
    edited 11:07AM

    hi
    It would be nice if in the file pool there will be a "refresh" button that will update the files in the file pool with the matching files from the computer (under the same path)
    Dror

  • ChristianeChristiane Posts: 11
    edited 11:07AM

    Dear Sebastiaan, I have another wish. Our current experiment includes 24 loops with 21 items each so that a run through the experiment takes about 1h. Sometimes it would be useful to just run individual loops to test changes or look for specific errors. Therefore, I was wondering if it would be possible to add a quick run through a single loop or a single sequence? Thanks a lot in advance for considering my wish! Best C

  • WouterWouter Posts: 48
    edited February 2013

    One thing I tend to forget but find extremely annoying is the way the detection of 'unsaved changes' works. Whenever I change tabs within an inline script item, or make some other minor change that isn't really a change (,gui mostly), opensesame marks itself unsaved change, of which it will warn me when I close it. This means that when this warning pops up, I do not remember or know

    1. whether I made a significant change that I forgot to save, or

    2. whether I accidentally did change or type something (i.e. don't save!)

    Would it be easy/manageable to improve this behavior?

  • booradleybooradley Posts: 46
    edited 11:07AM

    Hi,

    It would be very kool if in the eye-tracking plugin there was an addition to the sketchpads where one could simply create an 'area of interest' by clicking and dragging. This feature exists in 'Experiment Builder' and basically reports when a persons gaze leaves or enters this area of interest, depending on the needs of the experimenter.

    Boo.

  • borisboris Posts: 42
    edited 11:07AM

    Hi,

    A very easy feature to implement would be that default subject files names would be:
    [name of the experiment]-[subject number]

    Another interesting feature would be a "view complete script" command... (I did not find it)

    Best regards,

    Boris

  • EdwinEdwin Posts: 631
    edited 11:07AM

    Hi Boris,

    That second feature exists: go to the General properties (show all the way on top of the Overview in OpenSesame's GUI), then click on 'Script editor'.

    Good luck!

  • EdwinEdwin Posts: 631
    edited 11:07AM

    By the way, a question that I'm getting quite a lot lately is if it's possible to run OpenSesame experiments via internet. Is this something that could be implemented? (I am not familiar with any Python-to-internet packages, I can't imagine that it is impossible, but I wouldn't know how easily such a thing could work)

    Cheers!
    Edwin

  • sebastiaansebastiaan Posts: 2,403
    edited February 2013

    Thanks for all the input!

    @Christiane

    would it be possible to add some additional features to the loop table editor, for example find/replace and undo.

    That would indeed be convenient. It takes some effort to (properly) implement this functionality, but at some point the loop should become more powerful.

    Therefore, I was wondering if it would be possible to add a quick run through a single loop or a single sequence?

    Something along those lines might be convenient, but how do you see this exactly? I.e. how would you indicate which loop you want to test?

    @Michif

    It would be great to be able to sort the colomns in the logger item. In order to find a certain variable fast if you use manual variable logging!

    Indeed it would. That shouldn't be too difficult to implement.

    @drogarbi

    hi It would be nice if in the file pool there will be a "refresh" button that will update the files in the file pool with the matching files from the computer (under the same path) Dror

    This will conceptually be tricky to implement, because there is no link between the files in the file pool and the original ones. If there were such a link, the experiment would become less portable, because it would depend on the file/ folder structure of the computer on which it was created. How exactly do you envision this?

    @Wouter

    One thing I tend to forget but find extremely annoying is the way the detection of 'unsaved changes' works.

    That's definitely on the to-do list. It's tricky to detect changes in a way that feels intuitive, but it should be improved, because it is indeed annoying.

    @boordadley

    It would be very kool if in the eye-tracking plugin there was an addition to the sketchpads where one could simply create an 'area of interest' by clicking and dragging.

    Sounds interesting, but not as an addition to the sketchpad item. It might be an idea for a plug-in though, and wouldn't be terribly difficult to make either.

    @boris

    A very easy feature to implement would be that default subject files names would be: [name of the experiment]-[subject number]

    More flexibility might be nice, but probably not hardcoded like this (other people will have a different preference). Maybe using a template would be the way to go.

    @Edwin

    By the way, a question that I'm getting quite a lot lately is if it's possible to run OpenSesame experiments via internet. Is this something that could be implemented?

    It certainly could, but it would take considerable effort, and therefore money. I have discussed this possibility with a number of people from different universities, but so far nothing concrete has come out. The idea would be that someone implements a HTML5/ javascript runtime enviroment, but not me personally, because it's too much work to take on.

    Cheers!

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • borisboris Posts: 42
    edited 11:07AM

    Hi,

    Another nice feature would be to have a "voice key detection" input object (for instance as an option in the audio recorder object).

    Another interesting thing would be to be able to edit items in the sketchpad with the mouse (dragging them to a new position, changing them, etc.).

    I suggested the following

    A very easy feature to implement would be that default subject files names would be: [name of the experiment]-[subject number]

    I suggested that because that would allow to have 2 experiments in the same folder. For instance, it is convenient to have, the training and experimental scripts for the same experiment and for now it's a very risky strategy with OS naming by default the subject files with the same name.

    I also vote for this one:

    One thing I tend to forget but find extremely annoying is the way the detection of 'unsaved changes' works.

    Again, many thanks for this fabulous tool !

  • koenraadkoenraad Posts: 7
    edited 11:07AM

    Is there a way to make it more intuitive to close if loops? with only indentation I sometimes have to copy stuff to a notepad to get rid of warnings and errors

  • EoinTraversEoinTravers Posts: 28
    edited 11:07AM

    I've been working on some touch tracking paradigms for Android modeled on MouseTracker (http://www.dartmouth.edu/~freemanlab/mousetracker/).
    I know this can be done manually (and I will do it myself next week, when I get the time), but this kind of paradigm be simpler if the Pygame mouse.get_pressed() function worked out of the box, to test if the screen is being touched or not.
    Given that the price of touchscreens is coming down pretty fast, this would probably be handy to have on the legacy back end too, for running on PCs.

    Eoin.

  • EoinTraversEoinTravers Posts: 28
    edited 11:07AM

    Oh, also I don't know if this is a general problem, or something specific to my ageing laptop, but when I run any version of OS on my Ubuntu 12.10 laptop, the window extends out of the workspace I'm in and into the one below, meaning I can't access the low down buttons without awkward resizing.
    I've no such problem on the Windows 7 setup in the office, which works great!
    Eoin

  • sebastiaansebastiaan Posts: 2,403
    edited 11:07AM

    @koenraad

    Is there a way to make it more intuitive to close if loops? with only indentation I sometimes have to copy stuff to a notepad to get rid of warnings and errors

    I'm afraid not. Indentation is part of the Python syntax. It can be inconvenient when copy-pasting, but in general I'm sure you'll learn to appreciate indentation over the use of brackets (as in most other programming languages)!

    @EoinTravers

    but this kind of paradigm be simpler if the Pygame mouse.get_pressed() function worked out of the box, to test if the screen is being touched or not.

    Do you mean that the pygame.mouse.get_pressed() does not work at all on Android? Or that it would be convenient if this would be part of openexp.mouse, so that you don't have to directly access PyGame? If the first is the case, than I'm afraid it's a limitation of the PyGame subset for Android that we can do little about. If the second, you'll be pleased to know that Edwin recently committed a get_pressed() function to the openexp.mouse class.

    Oh, also I don't know if this is a general problem, or something specific to my ageing laptop, but when I run any version of OS on my Ubuntu 12.10 laptop, the window extends out of the workspace I'm in and into the one below, meaning I can't access the low down buttons without awkward resizing.

    The GUI is a bit greedy when it comes to screen size, so, yes, it's a general problem for low resolution screens. What you could try is moving some stuff around to get a more comfortable layout, and enable the 'Small icons in toolbar options' (under Tools → Preferences).

    Cheers!

    Sebastiaan

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • EoinTraversEoinTravers Posts: 28
    edited 11:07AM

    I apologize, I didn't realize I could import directly from pygame into the experiment without editing the droid.py file.
    From pygame.mouse import get_pressed

    global get_pressed

    worked a treat.
    Eoin

  • lindeloevlindeloev Posts: 2
    edited 11:07AM

    In keyboard response, a ticked "end on response" box would be nice. This is the default behavior now. Unticking the box would cause OpenSesame to not continue before timeout is reached. (of cause, the box should not be present if there is no timeout)

  • flabordaflaborda Posts: 3
    edited 11:07AM

    Hi, are there any plans to support multiple display monitors? Thanks

  • sebastiaansebastiaan Posts: 2,403
    edited 11:07AM

    @lindeloev

    In keyboard response, a ticked "end on response" box would be nice. This is the default behavior now. Unticking the box would cause OpenSesame to not continue before timeout is reached. (of cause, the box should not be present if there is no timeout)

    Yes, that might be a nice addition!

    @flaborda

    Hi, are there any plans to support multiple display monitors? Thanks

    You can use multiple monitors in PsychoPy, and by extension also in OpenSesame. I haven't done this myself, so I couldn't say exactly how this works. My guess is that it comes down to creating another window, in addition to the win that OpenSesame creates automatically. For more information, see

    PyGame does not currently support multiple monitors, so it won't work with the legacy or xpyriment back-ends (which use PyGame).

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • embodimentembodiment Posts: 90
    edited 11:07AM

    Regarding the duration of a stimuli presented by the sketchpad, I think it would be great if the user could choose between expressing the duration in milliseconds (as it is now) and expressing the duration in number of frames. In this latter case, the presentation time is more accurate. This is only possible by script for now, but since the philosophy of OpenSesame is to be an experiment builder with an intuitive and complete GUI, perhaps this option could be an interesting addition.

    Andrea

  • elizabethelizabeth Posts: 21
    edited 11:07AM

    Some form of fMRI support similar to Presentation & E-prime would make this the perfect software.

  • andersony3kandersony3k Posts: 10
    edited May 2013

    Currently, it's quite awkward in Open Sesame to begin timing a response and then have a number of events occur (e.g., a stimulus, then a mask, then a blank screen), with
    the participant having the option to respond prior to, during, or subsequent to such events. A useful new feature would be to add the option (in keyboard_response and mouse_response) to either pause or not pause during the response window. If the experiment designer has opted not to pause, then subsequent events in the sequence will proceed while Open Sesame monitors the input devices for a response. . . . . . . . . . . . . Perhaps something like a Keyboard_Response_Begin object that is separate from a Keyboard_Response_End object, thus allowing the user to put any of a variety of objects between keyboard_response_begin and keyboard_response_end.

  • sebastiaansebastiaan Posts: 2,403
    edited 11:07AM

    @embodiment

    Regarding the duration of a stimuli presented by the sketchpad, I think it would be great if the user could choose between expressing the duration in milliseconds (as it is now) and expressing the duration in number of frames.

    Yes, I like that idea!

    @elizabeth

    Some form of fMRI support similar to Presentation & E-prime would make this the perfect software.

    What kind of support are you thinking about?

    @andersony3k

    A useful new feature would be to add the option (in keyboard_response and mouse_response) to either pause or not pause during the response window. If the experiment designer has opted not to pause, then subsequent events in the sequence will proceed while Open Sesame monitors the input devices for a response.

    This can be achieved using the parallel plug-in, which allows you to run a keyboard_response in parallel to, for example, a sequence of sketchpads. However, some users have reported trouble with this plug-in, presumably because of the different that threading is implemented on different systems. It might be worth taking a look though, even though it's still partly a work in progress.

    There's much bigger issues in the world, I know. But I first have to take care of the world I know.
    cogsci.nl/smathot

  • WouterWouter Posts: 48
    edited May 2013

    After some work in OS over the past couple weeks, I came across another list of small things ( admitted, some of these are more wish-list like than others, which are more mild annoyances ).

    • I had a '\' character in my script, developing on a linux system. When the script ran on a windows PC this was considered an invalid character, and yielded a syntax error. I had to re-type the '\' running on windows to get it to work again.

    • When running a search-replace in the inline editor, trying to replace all occurences of 'stepSize' with 'stepsize' yielded "search term cannot include itself" -- in a code editor it might be handier to do case-sensitive matching by default? Or make it an option

    • Currently it's possible to use python syntax within the run-if - fields of a sequence, using the prefix '='; would it be possible to also add this option to values in cells of a loop table?

    • In the documentation on "when are conditions evaluated", it only mentions what happens for sequences and sketchpads, not for any other items. This might be confusing; shouldn't that section need a complete list?

    • When using the color picker in the main experiment tab, clicking it 'forgets' the previously chosen color -- which is annoying when one wants to make a subtle change to a previously chosen color.
      The QtColorDialog function getColor has an optional argument 'initial'; would it be easy to set that?

    Then one minor issue, maybe more directed at Edwin; when running
    sudo apt-get upgrade: on my system, the following warning came by:

    Setting up opensesame (0.27.1-1~nd12.10+1+nd13.04+1) ...
    /usr/share/opensesame/plugins/joystick/libjoystick.py:72: SyntaxWarning: name 'js' is assigned to before global declaration
    global js
    

    ...which is obviously ugly. I'd have a look at it myself, but I don't know what the desired behaviour is here. It seems almost too easy to simply move 'global js' up a bit; should it be global at all? (I saw this warning was recently mentioned in another thread as well)

  • elizabethelizabeth Posts: 21
    edited 11:07AM

    For the fMRI support, I realize there is probably ways to do all of this and maybe more experienced users wouldn't care so much about the features. But, moving from Presentation or E-Prime to OpenSesame (which I imagine is fairly common), the seamless integration with fMRI seems to be missing. I don't know exactly what happens 'under the hood' in either of this programs, so this is a pretty general. But a few useful things would be:

    -fMRI emulation mode to check experiments outside of the scanner. Basically, 'triggers' are sent in the same way the scanner would to see output, timing etc. Right now, I am not sure how to press 5 every 2 seconds for the whole experiment.

    -Synchronizing start of experiment with trigger, so time '0' starts when the first trigger is sent (or maybe 2nd, 3rd etc. depending on how dummy scans are handled by the scanner) and the output then shows the triggers in one column along with onset times, durations in other columns in the output. Also, it is nice to see the requested time vs the actual time to check the timing precision.

    For some 'corporate espionage' ; )

    The 'Gallery' tab shows a nice view of the layout in a way that is similar in structure to OpenSesame.
    http://www.pstnet.com/software.cfm?ID=101

    This explains a bit of the features in Presentation, although it is quite different in set-up:
    http://www.neurobs.com/presentation/docs/index_html

    Sorry to reference the other software, but I thought it might provide better explanations than I could.

    -A built-in 'absolute' timing option (if this is possible). I have actually have not done anything in the past with other software other than the trigger that starts the experiment. The rest was specified through time in ms like in OS. But, the timing worked out accurately. Since this might not be an ideal approach for other types of experiments, maybe a quick option to switch to this for fMRI.

    -Quick way to test all the response devices before starting experiment.

    There are many other out-of the-box options that are available that I have probably not used but other more experienced fMRI researchers might know of, so hopefully someone else might jump in here : )

  • cnvanderwalcnvanderwal Posts: 14
    edited 11:07AM

    wishlist:

    -a function for text_input to check if the input is 'correct' (e.g is it a number, or does it contain 4 letters..)

    -a simple way to only be able to click nextButton when all questions are answered in a form (and if they are all correct).

    -possibility for vertical ratingscales

    thank you!!

  • svitersviter Posts: 17
    edited 11:07AM

    wishlist:

    • length argument in Synth can be float
  • EvadehEvadeh Posts: 1
    edited 11:07AM

    I have been reading other posts about the need online experimental software, and how cool it would be if Open Sesame could be used to run online experiments. We use Open Sesame now for laboratory experiments and are very happy about it; and it is also great to notice that this is such a lively community.

    We have been e-mailing about this last autumn, but unfortunately we didn't manage to get any funding from our institution to encourage the development of an online version of Open Sesame. However, many researchers would like to be able to conduct online psychological experiments and so far, all the options I could find (also pointed to in this forum) are some kind of piecemeal solutions.

    What would be needed to get Open Sesame to run online experiments?

    Best,
    Eva

  • EoinTraversEoinTravers Posts: 28
    edited 11:07AM

    @Evadeh
    I had previously been looking at the PyJs library (http://pyjs.org/) as a way of porting OpenSesame to the web browser. While it's almost definitely possible, the biggest hurdle I can see is inconsistent timing: while JavaScript itself is pretty fast, you're at the mercy of your participants' computers, and while I haven't used it for any reaction time work, the mouse tracking experiments I ran produced some inexplicable data that had to be excluded (it was an unofficial pilot to a lab study).

    Eoin

  • EdwinEdwin Posts: 631
    edited July 2013

    Hi @Eoin,

    Do you have some code for using pyjs that you wish to share? And how does it work with PyGame/PsychoPy, in your experience? It seems from the site that PyJs isn't fully compatible with the entire Python language, let alone external packages.

    Thanks!

    Edwin

    =======================

    @Wouter: wow, completely forgot about your post on the joystick plugin! I honestly can't remember why I declared it global, instead of making it a property of self. Just checked the current code on GitHub and it seems js is still a global. I think we should use self.js instead. Sebastiaan, how do you feel about this?

Sign In or Register to comment.