The new version of Messager (v17) posted above allows multiple experiments to be run simultaneously off this web server. Add a new parameter to the preferences folder to use a subdirectory for results:Webpath=subfolder
I've made server-side changes to accommodate this, please test your existing installs to verify everything is still working.
Messager is a simple program written in RealBasic (currently 2007 r1) designed to allow simulated email communication in laboratories.
Messager currently supports two-way interactions and can simulate communication between a single subject and another person via a simple scripting mechanism (see below).
Messager stores the entire transcript of a session including all relevant variables in a single file. While the session is active this is an '.ses' file, once the session is completed it becomes a '.wrp' file. These files are essentially elaborate tag/value pair files in text format (probably ASCII, but Unicode with a few changes if needed).
The simplest way to set up Messager is to have two computers which can both see a shared drive or folder somewhere.
Create a folder both computers can "see" to store session files in. We'll call this the SESSIONS folder.
Put a copy of messager on each computer.
Launch the copy that will be on the confederate's computer and target the SESSIONS folder when prompted.
Quit that copy of Messager, you'll find a new Messager.Prefs file. Open it in a text editor and add "BossMode=TRUE" on the first line and save it.
Launch the copy that will be on the subject's computer.
Target the SESSIONS folder.
You're good to go (at this point, the copy of messager on the subject's computer should be waiting for the confederate to start a session).
Having set up messager, you should be able to start a session by launching messager on each computer (in either order), entering session details, and clicking OK (on the confederate's computer).
Until the confederate has started a session, the subject's copy of messager will simply display "Waiting to Connect".
Until a session ends properly, it won't be "wrapped". So if one computer crashes, they can simply restart messager and the session will continue.
One of the copies of Messager will need to be set to boss mode (this will allow it to initiate sessions and provide additional functionality for confederates). Open up the appropriate messager.prefs files and add the line: "BossMode=TRUE" at the top.
Messager stores everything to do with a session in one or more uniquely named files.
Even if you accidentally give two sessions the same ID they will be stored in different files.
The messages exchanged and other variables will be stored in a .wrp file which will be named something like:
Note that the date and time are the first two parts and the session ID is the last part.
Other associated data (photos at the moment) are stored with the same prefix. E.g.
So you can verify exactly which photographs were used in a given session with no ambiguity.
The contents of a .wrp file should be almost completely self-explanatory. Here's the contents of the .wrp file created when the screenshots were made:
SessionID=666 Subject1Name=Brad Subject2Name=Angelina Subject1Picture=20061102_0916_666_subject1.jpg Subject2Picture=20061102_0916_666_subject2.jpg UsePhotos=YES <Message Begins> Type=Subject2 Time=9:16 AM, 11/2/06 From=Angelina To=Brad Subject=Hey there sexy! Body=This is a test message <Message Ends>
As you can see, it's very clear exactly what's going on, and you could even reconstruct the session based on the data stored.
Each message in the exchange is stored in the same file in the same format, in the order they were sent.
To build a script, simply go into Messager in boss mode, and create your automated messages one at a time.
By default, each message will be sent to the user in response to their sending a message after a 10 second delay. To modify this, add the following to the end of a message Subject:
E.g. in the sample script, the subject of the first message is Hiya!%WAIT%1 The actual subject is "Hiya!" and the message appears one second after the user starts the program. (In an actual experiment, you'd probably want a longer delay, but it's annoying to test scripts with long delays.)
Replies will automatically have their subject changed to "Re: ..." the title of the message they're responding to.
If you include the string %QUOTED% in the body of a message, it will be replaced by a quoted version of the message it's responding to. (This will not work well if it's the first message, for obvious reasons)
Finally, quit from the program and find the .wrp session file you just created. Rename the file to script.wrp and then launch Messager in subject (non-boss) mode. Voila.
The scripted session will have slightly differently named session files and will request the user to enter their first and last names. Aside from that, it's the same as usual.
Final Note: scripts are just text files. If you need to make a minor change (e.g. adjust the delays) you can easily open a script file using any text editor (e.g. Notepad) and just modify it directly rather than starting over.
If you need any help or to obtain source code contact Tonio Loewald (t loewald at gee mail dot com).