It works in IE 6.0 on Windows, or in Mozilla+Firefox on Windows+Linux+OS X. Within MannX,
Here's a screenshot of a straightforward interview, in which Professor Ken Valente of Colgate University's Mathematics department describes his shift from mathematical research towards research on the history of mathematics. As you look at it, notice the division into (video above the script) on the left, and (glossary above the commentary) on the right.
There's a lot going on in this screenshot. The words highlighted in the script are the words you'd hear if you clicked the "Play" triangle at this point. Those words were highlighted, from one "synch-point" to the next, simply by clicking once on the script. You can see that he says something about "the Journal of Algebra". You can also see those same words copied into a text box under the video; the highlighted segment of the script is always copied into that text box. Within that text box, we select the word "Algebra" and click on the Dictionary button: that tells the dictionary to scroll to the right definition, if available.
Meanwhile, the commentary clarifies the script's remark: he must have meant the "Journal of Pure and Applied Algebra", and the commentary includes a link to that Journal.
(Silly coincidence: As I (Tom Myers) sat typing this, my eight-year-old daughter asked me to define "algebra", as an unfamiliar word which appeared in the book she was reading. So I showed her the screen I was working on. Unfortunately she didn't want to talk about algebra; she just wanted to finish that book and go back to My Teacher Glows in the Dark. "Daddy, how long is a light-year?")
Installation To play videos in MannX, you just have to
jmf.jar file into the Plugin's
extensions directory.That first step is not likely to be a problem, although we do recommend Firefox or Mozilla; for one thing, it's helpful to use tabbed browsing to explore comment links without going back and forth to an applet which is trying to manage a movie. (We develop on Mozilla/Linux, then test on IE+Firefox/XP, and on Firefox/OS X when we can get to it.) You likely already have the Java Plug-In installed, too. On Mozilla or Firefox, you can look at "about:plugins" to see which version of Java you're running. As we write (May 2005), 1.5.0 is standard. Mozilla/Firefox offers explanations and download links.
On Windows or Linux, you can install the JRE directly from Sun and it should plug itself into IE, Mozilla, or Firefox if present. On OS X 10.3, it's a little more complicated. You may need to install Apple.com's 1.4.2 upgrade, and even then you may find that Firefox or Mozilla continue to run an older Java version although Safari (which does not run MannX) takes the upgrade. If so, you have to install the open-source Java Embedding Plugin: download the zip file, and follow the instructions. "To install the Java Embedding Plugin (JavaEmbeddingPlugin.bundle) and the MRJ Plugin JEP (MRJPlugin.plugin), drag them to the /Library/Internet Plug-Ins folder." We hear that Apple's Tiger (10.4, May 2005) includes Java 1.4.2_07, which ought to be fine -- we will try to keep on top of this situation.
On any given machine with a working Java Plugin, Java has a special extensions folder in which to put specially trusted code; on OS X, that's always Library/Java/Extensions. On Windows or Linux, it should be a directory called "jre/lib/ext". You can ask the Java Plug-in Control Panel where it is or you can just look on your disk for any such directory...on a machine with more than one version installed, you might see:
$ locate -r "/jre/lib/ext$"Download and unzip the pure Java version of JMF. and put jmf.jar into the lib/ext directory; if you're not sure which lib/ext directory it should go in, it's perfectly all right to put it into all of them.
/usr/local/j2sdk1.4.2_03/jre/lib/ext
/opt/jdk1.5.0/jre/lib/ext
Now you can go to http://www.n-topus.com/mx/valente4/playerFrames.htm and see the prerelease demo -- movies are slow downloads, but it should work.
Content Creation: You start with a video; JMF is very
restrictive about codecs,
and we mostly use Cinepak, 320x240. Ray
Nardelli
of Colgate has discovered that he can get pretty nice Cinepak results
with Final Cut Pro, using
"high quality" and some blurring. Then we make a copy of a working
sample's folder, and edit the
four basic files: config.js, theScript.xhtml,
theDict.htm, and comm01.htm.
In the first of these, you just need to change some settings; for
example, in the "valente4/config.js"
file, you would find the lines var projectName = "valente4";
and
var movieFileName = "interview-segment4.mov";,
whereas in "wilson/config.js" there's var projectName = "wilson";
and var movieFileName = "Wilson_ALaw.mov";. There are no
other differences between them.
In theScript.xhtml, you replace the transcript of the
working sample with the
transcript of your video, formatted as you please -- but it does have
to be XHTML because it will
be processed by an XSL stylesheet. With any items that need comment,
you can insert links of the
form <a href="comm01.htm#c37"
target="theCommentary">item</a>; that comment
will go into a section of comm01.htm, a section beginning
<p><a name="c37">
and ending </a><p>. The better you can keep
them in order, the happier your
viewers will be with synchronization results.
theDict.htm is easy: you see an HTML table of definitions,
and you replace them with
the ones that interest you from script and commentary, in alphabetical
order. (If you want to use
a non-alphabetic language, go back to config.js and set var
isChinese=true;
so that Javascript will know not to assume alphabetized dictionaries.)
Now, what about synchronization? We have an "author mode" in which
you can play the movie, and in
which a click on the script introduces a synchronization point to say
"the current time for the
movie corresponds to the place I'm clicking." There are also a few
buttons to help adjust the time
if you don't get it exactly right, and one button to save the altered
script -- that requires that
our applet code (JMFJSApplet.jar, for the JMF version) go
into your plugin's extensions
directory so that it will have permission to write a file. The author
mode works only in Mozilla/Firefox.
Licensing: We're preparing to release MannX as a mysql-style dual license for open-source or commercial development, including mysql's FLOSS exception. Your data -- videos and document sets -- are independently licensed, just like the data in a mysql database. In other words, if you want to use our code to add value to your videos and documents, that's great -- you can sell them for whatever the market will bear, or release them with Creative Commons licenses, or whatever you like -- that has nothing to do with the code. You do have to make sure that others can freely download the source of any code you're distributing with your product (that's our code, after all) because it's open source. If you want to change or extend our code, then there's a question: are these changes/extensions open source as defined here? If so, no problem. (Ideally, you just contribute your work back to the MannX project and we love it and add it to our distribution with credit to you, but that's not necessary.) If you don't want your changes/extensions to be open source, there's still no problem, you just need a commercial license for your MannX development.