The Coder website is http://www.physics.uiuc.edu/Research/PER/Coder
Register to download Coder at http://madgraph.hep.uiuc.edu/reg-video.html
Once registered, download Coder at http://madgraph.hep.uiuc.edu/VideoCoder/Coder_setup.msi
A. Philosophy
"Coder" was developed to be a simple and fast way to code directly from digital video. It does not transcribe, nor can it facilitate coding off of a transcript. It only does coding directly from video. There is free software that does a decent job of transcribing, such as Transtool and Transana, but the coding software currently available is quite expensive and complicated (such as GameBreaker).
Coder is ideally suited for a situation where 1-4 students are seated at a table. It is not possible to code for over 4 students at a time; however, some researchers may want to treat the entire group as a unit, not distinguishing among individuals.
Coder also facilitates the creation and testing of coding schemes. Schemes can be designed, saved, and shared with others. Coding schemes can also be hierarchical, that is, you can have various categories or sub-categories in your coding scheme.
B. Technical overview
This version of coder is essentially still my first attempt. It has been modified so that options that were specific to my own research have been removed and it should be relatively user friendly. It is written in Microsoft Visual Basic.NET, using Visual Studio.NET. It should run on any Windows computer that has the .NET runtime environment, which most have, and the .NET runtime can and should be downloaded from Microsoft if you don't have it. That said, it has only been tested on Windows XP.
Coder uses whatever version of Windows Media Player you have on your computer, so it would be best to have the most recent version. Since Coder uses WMP, it can play any file format that WMP can play. In my experience, WMV files work best, and can be played back at slow or fast speed while keeping the pitch of the audio the same.
Data produced by Coder is saved in an Access database. I don't think you need Access to run Coder, but you will need Access to view the data files that you produce. From the Access database, you can copy data into Excel or any other data analysis program you want to use.
You can expect an error every once and a while, especially if you do something I haven't thought of. Please send me an e-mail (adamfeil@uiuc.edu) with the complete error message and a description of what you were doing when it happened.
C. Conceptual overview
1. The clip database
Coder organizes video clip information in a database. This holds the file path of the video clip itself, a description of the clip, and the names of the students on the clip. The clip database file is stored in the same directory as the other program files for Coder.
Clips can be added to the database by first opening a video file, entering the names of the students, and typing a description, then clicking on the clip -> save clip info menu button.
2. The Coding Scheme text files
Coding schemes can be designed in Coder and saved as text files which can then be opened later or given to someone else to use. When you start Coder, you will see a default (and bogus) coding scheme. You're welcome to use it, but it's no good.
Codes can be set to "instantaneous" or "time duration". Instantaneous codes have no duration - they are a moment in time. Time Duration codes have a beginning and an end. To code with a duration code, click once to begin the code (you will see a small dot indicating the beginning) and click a second time at the end of the code (this will draw the rest of the code, stretching on the timeline over the duration of the code).
3. Data files (*.mdb files)
This is the output from Coder. The database contains all of the coding information that you entered, including the name of the code, the name of the student who did it, the time, the duration
4. The Timeline
There are actually two timelines, one small timeline that shows the entire clip at once, and a larger timeline that displays just under 4 minutes of the clip. The reason for the two timelines is that Coder was originally used on 2 hours long clips. In fact, 2 hours is the maximum length clip that Coder can currently handle.
Codes that are on the timeline can be deleted by right-clicking on a code and clicking on delete. In addition, clicking on a code causes the timeline and Windows Media Player to move to that position of the clip.
When you start Coder, a dialog box with two buttons will appear. You can either load an existing clip (from the clip database) or start a new clip.
- Open the video file you want to watch by clicking File -> Open Video File on the menu bar at the top.
- Enter the names (or other identifiers) for each student in the textboxes below each of the 4 code windows. Note: To be safe, enter something in each of the 4 textboxes. If you are not using one or more of the textboxes, just type something like "none" or "X", whatever you like. The 4 names must also be distinct, so you can't label 2 as "none", you'll have to use "none1" and "none2". I realize this is a bit dumb, but haven't gotten around to fixing it yet.
- Enter a clip description in the textbox above the video clip. Note: This is how you will identify the clip in the future, so it should be descriptive!
- Save the clip information by clicking Clip -> Save New Clip Info on the menu bar at the top.
- Click on Timeline -> Initialize Timeline on the menu bar at the top to initialize the timeline. (It uses the information from the video clip as well as the names of the students).
Now the next time you start Coder, you can select this clip from the list of clips and the names of the students will be loaded automatically with the video file.
* If you would rather not save clip information, you don't have to. Just load a video file, enter names in the textboxes for each student, and skip the part about saving the clip information.
You will most likely want to use your own coding scheme... To change the current coding scheme, click on Codes -> Edit Codes on the menu bar at the top. This will open a window like the one shown below.
The center window will display the current tree of codes. That's right, the codes are in a tree, which can have as many levels as you want. The way this works is still a bit odd, so I apologize in advance for any difficulty you may have. I will try to explain the basic workings, but after playing with it yourself, it should make sense how to use this window.
Selecting a Code:
There are several reasons why you would want to select one of the current codes. To select a code, just click on it. It should turn gray (or some other color, depending on your Windows color scheme). You can expand the tree (if it has sublevels) by clicking on the little + next to the code. You can then select one of its sub-codes.
Once a code is selected, you can delete it by clicking on the delete selected node button. (For all practical purposes, you can consider "code" and "node" to be the same thing. Technically the things on the tree are nodes, but to you, they are also codes.) Note that you cannot delete a node that has child nodes.
Adding a Code:
The other reason to select a code is if you want to add a sub-code under it. To do this, select the code that will be the "parent" of your new code, type the name of the new code in the "Code Name" textbox, change the color of the code to your preference, select the code type: Instantaneous or Time Duration (If you don't select anything it will default to instantaneous), and then click the "Add Code" button.
One note on Multi-level coding schemes... Only "leaf" nodes (nodes with no sub-nodes) can actually be used to code. That is, only codes without anything under them can be used. Think of the parent nodes as categories. When a sub-level code is clicked, the name of the code includes the name of its parent. For example.. suppose you have a category of "question" and a code underneath question called "quantitative". When you click on the quantitative button, it will add a code of "question\quantitative" to the timeline and the code database. This is necessary to distinguish codes when they are in the database and no longer part of a tree structure.
You can click the "un-select node" button to make sure no codes/nodes are selected. Why would you want to do this? If you want to add a new top-level code. To add a top-level code, no nodes can be selected.
You can "start from scratch" by clicking the red "Clear all Codes" button.
Loading a Saved Scheme:
Click on the "Open Saved Scheme" button and select a file to load. The Edit Codes window will close and the new scheme will be loaded.
Saving a Scheme:
Click the "save scheme" button and enter the name of the file to save... remember where you saved it!
If you don't want to save the scheme or load a saved scheme, you can edit the coding scheme and then click the "use this scheme (without saving)" button, to use the scheme without saving... should be obvious.
Before you begin coding, you need to Create or Open a database to store the codes. This can be done by clicking File -> Open Database or File -> New Database from the menu at the top. It's a good idea to give the file a .mdb extension so you can easily open it with Access. The next version of Coder should do this for you.
You can use the same database file for several different clips, but it hasn't really been tested that much, so just to be on the safe side, it is a good idea to use a new database file for each video clip you code. You can always combine the data later. The clipID is included in the code database data, so combining data from multiple databases will not cause any problems.
Code database structure:
The data is stored in a table called "transcript". I know, that isn't entirely appropriate, but I haven't gotten around to changing it. Below is a listing of the columns in the code database
Name Description cid Code ID number subjectid The name of the student code The name of the code clipid The ID number of the clip (from the clip database) ttimestamp The beginning of the code (in seconds) comment not used currently duration Duration of the code. 1 second for "instantaneous" color The color of the mark on the timeline.
A. Components
1. Video Window
This is essentially an embedded windows media player. Whatever version of Windows Media Player you have is what will be used by Coder. The regular controls, such as play, stop, pause, volume, etc. should all work as usual.
2. Code Windows (4)
There are 4 code windows around the video window. The idea is that each student on the video has his or her own code window. The current design reflects the video that we had in mind when developing Coder. There were two students on the left and two students on the right, so the code windows were adjacent to each student. Any suggestions about layout changes are welcome and should be sent to adamfeil@uiuc.edu
3. Small Timeline
This timeline is directly below the video window and displays the code markers for the entire clip. A gray bar indicates which portion of the small timeline is shown in the larger timeline below. This timeline is probably only useful when long clips (up to 2 hours) are coded.
4.Large Timeline
This timeline shows the code marks for just under 4 minutes of video. A black vertical line indicates the current position of the video. The timeline will scroll along with the video as it plays. Each student's codes are displayed on their own row in the timeline, and the names of the students appear on the left side of the timeline.
You can click on the code markers with either the right or left mouse button
left mouse button - the video clip will jump to the location of the code
right mouse button - a menu will appear, allowing you to delete the code. (As a side-effect, the video clip may also jump to that position.. I'll try to fix that in the next release).
Unfortunately you cannot modify a code once it has been placed on the timeline... you have to delete the old one and add a new one. Editing of codes should be possible in the next release.
5. Back 5 seconds button
Click this button to make the video jump back 5 seconds... I have found it very useful if I miss something.. use it while the video is playing or while it is paused.. up to you.
6. Playback speed slider
You can adjust the speed of video playback, and the pitch of the voices should remain normal... no chipmunk voices. The catch is that I think this only works for WMV files. This taps into the Windows Media Player functionality, so if WMP can do it, you can do it in Coder.
B. How to Code
Coding is quite simple... just play the video and when you see a code happen, click on its label in the appropriate code window. As mentioned above, codes that have sub-codes cannot be placed on the timeline. Clicking on them will only expand that branch of the code tree. You can also use the little + and - signs on the trees to expand or collapse branches of the code tree. Unfortunately there is only so much area on the screen to display the codes, so if you have an elaborate coding scheme, it may not all fit at once in the window. If anyone has ideas for a better way of doing this, let me know!
When you click on an instantaneous code, a small rectangle will appear on the timeline, and the code will be added to the code database. When you click on a time duration code, a small dot will appear. The second time you click on the code (to mark the end of the duration) a rectangle of appropriate width will be placed on the timeline and the code will be added to the database.
Note that for time duration codes, you can mark the beginning of the code and then continue coding for any of the students, including the one who is currently doing whatever it is you have indicated. In other words, codes can be nested, overlapping, etc. A picture on the right illustrates this point. You will also notice from the picture on the right that the code markers have written on them the name of the code. Unfortunately, they are almost always unreadable, but if you place your mouse over a code, a tool tip will pop up with the name of the code.
C. Finishing up
As you code, the database is constantly updated. You don't need to do anything else to save your work.. it is always being saved. This can be good and bad... If you have some coding done and don't want to mess it up somehow, you should start a new database file. Keep in mind that you can always merge data from multiple database files.
(Geek point here... if you are merging two databases into one access database table, you'll have to deal with the cid field because it is an autonumber field. Each record should have a distinct cid, and if you merge two files, that may not be the case. You will probably want to copy the data to excel and edit the cid's before combining databases.)
When you're done, just click the "X" at the top of the window to close the program.
IV. Final Thoughts
Thanks for being one of the first people to try Coder. I hope that it will be more useful than stressful. Please send any suggestions or comments to adamfeil@uiuc.edu.
Also, "Coder" doesn't really have a name yet, so if you think of something good, please share it with me.
Check http://www.physics.uiuc.edu/Research/PER for the most recent information on Coder.
I will occasionally send an e-mail to registered Coder users to inform you of updates or known problems.
If you have questions about this page, please e-mail Michael Scott. cst