Habit 2.2.2 released

  After many months of development, we're finally releasing Habit2 for Windows! Download Habit 2.2.2 for Mac or Windows now!

   Habit 2.2.2 has some important fixes to version 2.2.1, so all users of Habit 2.2.1 should update their version (see below for changes and bug fixes). The Windows version is based on the same code, with only minor variations due to the differences between the Mac and Windows platforms. More on that, too, below.

   I want to thank all the folks who have quietly (some less so than others:) urged us to release Habit for Windows. That goes for all of you who have submitted bug reports, requested features, sent thanks and encouraging words, or just USED Habit for your research. Knowing that there are satisfied users out there is plenty of incentive to keep pushing on development. On a personal note, there was no small amount of difficulty in my personal life in the last year and a half, and that slowed development down significantly for a while. I want to extend my thanks to Prof. Lisa Oakes (Infant Cognition Lab, UC Davis) and  Prof. Marty Usrey (my direct supervisor) for their forbearance, patience, and understanding during this time. 

   My goal has been to maintain a single set of code that would compile and run on each platform. Sounds great, but its easier said than done. For starters, the multimedia library that was used in earlier versions of Habit was Mac-only. I devoted quite a bit of time to choosing (and learning to use) a new multimedia library (called GStreamer, in case you're interested) that would satisfy the requirements that Habit imposed. Integrating GStreamer into Habit's codebase, and adapting to the quirks and limitations of a library as complex as GStreamer all took significant time and effort. I updated the user interface. migrating from Qt4 to Qt5. I made significant changes beneath the hood, as it were, to position Habit for more changes to come. All in all, it was a long slog, but the time has come to release it and see what you all think. All these things required a ton of testing (and I still didn't do enough), and led, inevitably, to the introduction of a multitude of bugs. I've found and fixed quite a few, and some of you all have found quite a few others. There's a new class of bug, where a bug exists on one platform but not the other. Yes, I said Habit is grown from a single codebase, but that doesn't mean the program runs identically on Windows and the Mac.  Well, enough of my complaining, let's get into what you can expect from Habit 2.2.2.

Changes in Habit 2.2.2

  • Multimedia fixes. Certain container media files (movie files with sound) that were set to LOOP (common way to configure attention getters, for instance) would freeze during playback, forcing users to stop Habit and restart. This is BAD during an experiment. This bug has been found and fixed. If you experience this issue, please contact me (and send along a sample movie file, if you can, that causes the hang). 
  • When trials were repeated, the stimuli files were always scaled to full screen, even if Habit was configured to display images/movies at their original size. This only occurred when a trial ended with a repeat condition, not if a trial ended successfully. This has been fixed. 
  • Stimulus orders and randomization did not play well together. This was a bug new to habit 2.2 (it didn't exist in the 2.1.x series of Habit releases) and has been fixed. 
  • The habituation event was not recorded during habituation-type phases (either Criterion-to-end or Total-looking-time types), regardless of success/failure. This is fixed. 
  • The experiment editor window now checks whether any settings have changed when the user hits "Cancel", or destroys the dialog. Previously, the checks that were performed didn't work as expected. Now Habit will prevent you from dismissing the editor dialog if you have unsaved changes to your experiment settings -- you will be asked whether you want to save the changes or not.

Known problems

  • Certain multimedia files will not display the visual part of the stream, but the sound track works fine. If you encounter such a file, please send it to me (and tell me what tool(s) you used to create it). This problem seems isolated to certain tools (so far I only have a couple of avi's that were created with Microsoft PowerPoint, though I have others created with that tool that work fine, video and audio).
  • The icons on Windows are ... ugh. I have no illusions about my meager artistic abilities. It turns out my weakness extends to pixel art. I'll continue working on it..... If there's anyone out there who has any skills in pixel art and some spare time.... let me know:)

​Documentation update

I've been migrating the Habit User Manual to an online HTML format. The online docs are based on the User Manual, and the conversion is not yet complete. As of this writing, the pdf User Manual is the most complete documentation, but the online version will catch up soon (and will overtake it, as this will be the place for documenting updates to Habit).

Windows quirks

   These exist, of course, because Windows and OS/X are quite different. There aren't too many differences, though, and most of them are things that an ordinary user would not notice. 

  • The stimuli files for the template experiments are located in the folder c:/ProgramData/habit2. When a template experiment is used, the stimuli are given absolute file paths, full paths to the files themselves. On the Mac, the stim files are located within the workspace itself. 
  • When you run an experiment in "test mode" - where the stimuli window(s) is(are) displayed in a window on your regular screen - that stimuli window will be displayed at a fixed position on your desktop, and cannot be moved. Furthermore, that windows may be behind the "Control Panel" window, which CAN be moved to expose the stimuli window. 
  • The windows version will automatically create a log file every time it is run. This is a precaution I added in the event of bugs - these log files may be useful in debugging or tracking down bugs that users report. There isn't much in the log file for the regular user, and I'll change the windows release sometime in the future to turn off the log files by default. Again, this is not something you'll notice unless you go looking for it. It has no effect on the operation of Habit. 


   You will find that Habit workspaces can be moved between Windows and Mac computers. Experiments that are exported from one platform can be imported on another platform as well. One significant problem has to do with the file paths stored for stimulus files. If your experiment(s) use the Default Stim Root, and you are able to configure the value on the target computer, the move will work as expected. If any of your stimuli use full file paths, however, those file paths will not be the same when you move to a different computer (this is true even when moving an experiment between two Macs, or between two Windows computers), and you will have to modify the paths to each stimulus file after the move.