Re-creating a Multimedia Windows Learning Application in Java for the Web
Richard A. Kunst
Director, OIT Humanities Computing Facility, Duke University
What is WinCALIS?
WinCALIS is the "Computer Assisted Language Instruction System for Windows," a language learning and authoring system for DOS and Windows under development at Duke University since 1979.
WinCALIS permits language teachers to create multimedia materials for learning almost any language in the world, using the Unicode/ISO 10646 worldwide character set.
It encourages active language production, via user-friendly interfaces, for languages ranging from Arabic to Japanese, with extensive facilities for analyzing user responses and generating rich and meaningful feedback.
What is WebCALIS?
WebCALIS is a new version of WinCALIS rewritten in the Java programming language.
For the past year Humanities Computing Facility staff have been re-creating WinCALIS as a World Wide Web application, written entirely in the Java programming language.
WebCALIS can run either as an applet in a Web browser or as a stand-alone program.
Cross-platform support for Windows, Macs, and Unix ("write once, run anywhere")
Hypertext Transport Protocol (HTTP) support, giving seamless integration with the World Wide Web
Built-in Unicode-based Internationalization support (whereas in WinCALIS Unicode support was all roll-your-own)
An elegant, attractive, and relatively easy-to-learn object-oriented development language
Java - The Problems
An immature, unstable, and constantly changing development environment
Especially weak Java "virtual machine" support for Macintosh computers
Problems in reconciling differences in "look and feel" within a single product
a mouse with 1 button on the Mac, 2 buttons in Windows, and 3 buttons in Unix
multiple application menu bars in Windows, a single menu bar on the Mac
Slow speed of execution of Java byte code (not as big an issue as is claimed)
More intermediate layers for something to go wrong in
Slowness to achieve full implementation of Sun's Java Development Kit (JDK) 1.1 within the Web browsers, Netscape and Microsoft Internet Explorer
Internationalization difficulties, especially with rendering characters beyond the local code page faithfully in a "text area," rather than a "canvas"
Security restrictions imposed on Java applets, preventing them from accessing the user's local hard drive--i.e., no opening and saving of local files
Political squabbling between Sun and Microsoft
The Conversion Process
The conversion of WinCALIS to Java WebCALIS includes:
Translating C code into Java code --sometimes this involves a loose re-creation, sometimes a direct line-for-line modification.
Redefining Windows-based graphics, audio, and video standards (.BMP, .WAV, .AVI) for the multi-platform Internet (.GIF and .JPG, .AU, and .MPEG).
Attempting to achieve cross-platform operability on Windows, Macintosh, and Unix computers, despite the different look and feel of the user interface on these platforms.
Delivering Unicode-compliant worldwide language support on the Web, including "input method editors" (IMEs) and cross-platform character fonts.
Replacing binary-coded scripts (.WCL files) and subsidiary files used in WinCALIS with plain-text equivalents, using a markup language, for delivery across multiple platforms in WebCALIS.
How Does it Work?
WebCALIS, like WinCALIS, interprets "scripts" written by authors using an authoring system, WinCALIS Author. WinCALIS Author generates scripts in a high-level scripting language called CALIScript.
A WebCALIS user first launches his or her Web browser, such as Netscape Navigator, then goes to a site on the Web to load the WebCALIS applet.
He or she can then go anywhere else on the Web to load and execute interactive learning exercises.
Exercises can draw on components gathered in one site or scattered all over the globe.
To try out WebCALIS yourself, point your Java-enabled (JDK 1.1) browser, such as Microsoft Internet Explorer 4.0 or Netscape Communicator 4.03 (with "Java patch" installed) to:
/webcal.htm