DMDX on Mac

Many of you know that my wife spends a good deal of her time studying the ways in which immigrant, refugee, and minority language learners acquire a new language differently than for those who grow up learning it in school. In this post, I am publishing instructions on how to install a piece of software, called DMDX, on a Macintosh computer with the hopes of making it easier for researchers like her to take advantage of this tool without further adding to its already long list of hassles.

If you are unfamiliar with DMDX (which you probably are unless you searched specifically for it and came to this post), it’s a very old and proprietary piece of software designed to record a test-taker’s response time to preprogrammed stimuli. For example, one could perform a study to determine how lack of sleep impacts our ability to think by timing how long it takes for someone to answer whether a given word on the screen is a US state or not. Amanda is using it currently to understand the relationship between image quality in textbooks and learner comprehension.

Why is there a whole blog post about this?

DMDX is archaic. Because its source code isn’t available I can’t make any comments on the quality of its internal programming, but the user-facing side of this project is riddled with quirky traditions and clumsy design. Mainly, DMDX is so difficult to work with that there a small crowd saturated with institutional knowledge about the product which unfortunately won’t translate into other systems.

My primary goal here today is limited to installing and running DMDX on OS X, presumably to run on a MacBook-family laptop. My wife was simply told that it won’t run on Macs, that if she wanted to do that she would have to install Windows on her Mac computer.

If you have wanted to run DMDX on your Mac, follow these steps and you should be ready to go!

We will setup DMDX through the incredibly useful Wineskin project, which is a suite of tools built around an open-source tool originally meant to allow Windows-based programs to run on Linux. Wineskin bundles up each app into its own isolated environment.

If you want to skip ahead, you should be able to download my pre-built Wineskin bundle and run DMDX from it directly without any further configuration.

Manual Installation

Step 1 – Create the Wineskin wrapper

  1. Install the Wineskin Winery application.Screen Shot 2016-03-29 at 8.33.49 PM
  2. Run the application and click on Create New Blank Wrapper
  3. When it asks for a name, you can give it any name. I have chosen DMDXScreen Shot 2016-03-29 at 8.34.53 PM
  4. My installation process asked if I would want to install a Gecko library.Screen Shot 2016-03-29 at 8.35.20 PM This is not needed for DMDX and you can safely click on Cancel
  5. After it finished creating the wrapper, it will tell you. You can close out of Wineskin Winery now.Screen Shot 2016-03-29 at 8.36.05 PM

Step 2 – Install DMDX

There are a couple of different approaches we could take here at this point. I have chosen to copy all of the DMDX files into the wrapper and install from there. This is my recommended approach because it can simplify the process.

  1. Download the DMDX.ZIP file from the DMDX downloads page.
  2. Find the Application folder in your Mac user directory and open the Wineskin directory. For me, this is in `/Users/dmsnell/Applications`Screen Shot 2016-03-29 at 8.40.16 PM
  3. To install DMDX, we will need to right-click on the DMDX icon and select Show Package Contents. This will instruct Wineskin to open up the configuration view instead of running its default application.Screen Shot 2016-03-29 at 8.40.59 PM
  4. Double-click on the Wineskin app inside that folder and click on Install Software. We will then choose Copy a Folder inside and find the copy of DMDX we just downloaded. Mine was in my Downloads folder.Screen Shot 2016-03-29 at 8.41.35 PM
  5. When it asks to choose an executable, let it keeps its default guess of DMDX  installer.msi. If that’s not what it picked, see if you can select it from the dropdown menu. Next, hit Ok.Screen Shot 2016-03-29 at 8.44.07 PM
  6. While we’re in this utility, we should setup the screen settings. DMDX has some particular needs for the video system and because of the way Wineskin runs the application, we will need to choose some good overrides. You can match the settings in the picture below.Screen Shot 2016-03-29 at 8.47.07 PM
  7. Finally, let’s click Done and then go to the Advanced button. In these advanced settings, click the checkbox for Use Start.exe then click Test Run. This will start the installation and you can proceed per the installer’s directions. When it finishes and a dialog appears asking to view a log, you can safely click on cancel.Screen Shot 2016-03-29 at 8.50.04 PM

Step 3 – Configure DMDX to run as the default Wineskin app

DMDX is now installed in our wrapper, but we need to update the settings to run it instead of the installer which we just ran.

  1. Back in the Advanced panel, click on the Browse button next to the line for Windows EXE. You should find the DmDX program under Program Files\DmDX\DmDX.exe.
  2. DMDX nominally requires running some benchmarks on your computer to calculate timing values, but for this version, we will be using the “newer” auto feature and have it try and go without the prior calibration. Add “-auto” to the EXE Flags field.Screen Shot 2016-03-29 at 8.53.37 PM
  3. Congratulations! You’re ready to go.

Step 4 – Run DMDX

Back in the Wineskin directory in the Applications folder, you should now be able to simply double-click on the DMDX icon and it should start up as it would on a Windows-based computer.

Screen Shot 2016-03-29 at 9.01.36 PM.png

In order to run files, they will need to be accessible inside of that wrapper. You can open it up again by right-clicking and selecting Show Package Contents like was done earlier in this process, find the DMDX directory, then right-click on it to create an alias, finally dragging that alias file onto your Mac Desktop or Documents or whichever folder is most convenient for you. Drop a file in that aliased folder, run DMDX, then tell it to load your item file. The rest is on you!

 

8 thoughts on “DMDX on Mac

  1. Hi Dennis, really appreciate this, I’m about to do my first dmdx experiment and have been frustrated by the fact I can’t run it on my Mac. Will try this out.

    Liked by 1 person

  2. Hi Dennis, thank you for providing this. Everything works until I want to get my script running. I don’t understand the last step of your instructions: my interpretation is that I need to put my script in the DMDX directory which is inside the wrapper I create? Tell me if I misunderstand it. Thanks!

    Liked by 1 person

    1. Thanks for the comment, River! You’re right; the DMDX item file will need to reside _inside_ the wrapper. DMDX doesn’t have any access outside of that container into your computer.

      Like

  3. This is very useful, thanks! but I tried to use the script I used on Windows on Wineskin, its just weird , like the timing and the keyboard don’t work.
    I used right Ctrl and left Ctrl before so I changed them into left and right Alts , but it just doesnt work!! its driving me crazy!

    Liked by 1 person

    1. Thanks for the comment @ching! This certainly doesn’t come with any guarantees and things are sure to break, but the point is to show how DMDX can be run in a Mac Environment, something which can be very useful during the experiment design process.

      As for the control keys you might try and see what you can do by remapping keys in MacOS. For example, I have remapped my caps lock key to behave as if it were a control key.

      Best wishes with your experiments!

      Like

  4. Hi Dennis! Thank you for posting this wonderful step-by-step explanation; it’s incredibly helpful! I was able to install DmDX with the wrapper and get it running but I keep coming up with an DEVICENOTREG error… my understanding is that this is because it realizes the application is not on a registered Windows device (aka a Mac, in this case). Any thoughts on a solution? Thanks!

    Liked by 1 person

    1. Thanks for the feedback Nick! I don’t remember any such error when I was working with it. Will it not move forward from that point when it raises the error? What version of DMDX are you running? What version of WINE are you using?

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s