Language Interactive
Linked Programs and Plug-ins

Linking external programs and using Web plug-ins.
Please send additions, corrections & suggestions.


Contents --> What is program linking? - Why would I want to link programs to Web pages? - How do I use program linking and plug-ins? - Trailmarkers

Pages -->
Intro / Language Learning & the Web / JavaScript / CGI / Java / Scripts / Li

WHAT IS PROGRAM LINKING?

Probably the easiest and quickest way to create interactivity through a Web page is to have the user click on a link which starts up a separate, external program. This might be a dedicated player for audio or video files or could be a word processing program like Microsoft Word. After using the external program to view or interact with the document, the user typically returns to the Web page containing that link. Figure 2-1 shows a Web page in the background and an external "Chat" window in the foreground. The chat session is simply a telnet session launched by clicking on the "Launch Stammtisch" link. The link is "telnet://128.172.170.24" which is the Internet address of the chat server. After using the chat session students can easily find their way back to the Web page.

Browsers have from the beginning made this process fairly transparent for certain media such as sound and video by calling on "helper applications" to process the file. Increasingly, browsers are developing built-in capabilities for handling some kinds of files other than HTML and graphics, principally sound and video. "Plug-ins" offer the promise of unlimited number of file types which can be automatically integrated into a Web page.

To top of page WHY WOULD I WANT TO LINK PROGRAMS TO WEB PAGES?

If you pay any attention to tech talk in the media, you've probably heard about all the computer software companies rushing to create Internet-related products, especially programs tied in to the World Wide Web. It's not just that these companies see an opportunity to market yet another program to the masses, it's that they have realized that the Web is becoming something like operating systems, one which runs on any computer and soon on TV set-top boxes and pocket organizers. It's a huge, potentially very lucrative market.

The companies producing Web browsers most notably Netscape, have both been behind this wave and been riding it at the same time. Netscape sees its browser not just as a way to view Web pages but as an "application environment", as a virtual replacement for your operating system. In other words, all you computer programs would be directly tied into Netscape Navigator or its next-generation successor. Is it any surprise that Microsoft has thrown itself into the Web market in a big way? Microsoft's plan, if the US Department of Justice will allow, is to have the entire operating system function in effect like a Web browser. In this vision all programs would be integrated and be network-savvy.

Whether his vision ever becomes reality only time will tell. But if it does, it will be a while before it trickles down to the educational marker. In the meantime, there are quite a few "old-fashioned", non-networked programs we probably want to continue to make available to our students. In fact, even in any future brave new world of "network computers" (small, inexpensive computers running programs off the Internet), we would want to continue to use software that works. Keep in mind, too, that language learning programs represent a niche market. Companies doing development in this area are typically under-staffed and under-funded (sound familiar?). It's not likely that new versions of programs you like will roll out quickly in response to new technologies such as Java.

There are plenty of interesting things you can do today to integrate various programs together. Say you have some commercial or home-grown HyperCard stacks or Toolbook applications which offer interactive grammar or vocabulary drills. You can put in a link on your course home page which will immediately start up the run-time versions of HyperCard or Toolbook with the program or stack you designate. If you're using programs developed in-house or user-modifiable commercial programs, you can also put a button in your HyperCard or Toolbook program which will take the student directly back to the Web page at which he started -- or to any other Web page. Another scenario might involve having your students write an essay in Microsoft Word or WordPerfect using a spell checker in the target language, then get some grammar or vocabulary help through calling that document up in Système-D or Atajo and finally to copy and paste that document into a text field of a Web form to be submitted as a contribution to a class chat session or as a homework assignment to the instructor. Those external programs could be started up through mouse clicks from a Web page. Of course, a student can simply go and start up programs totally independently of the Web browser. But it's nice to give students a "home base" from which to find all the resources they need and also to provide a uniform access to those resources. Through program linking to a Web page, students can start up external programs the same way they link to Web resources -- this makes the process of using those programs alongside the Web browser transparent. Having the Web browser active at the same time as a word processor allows students more easily to cut and paste between applications, thus taking advantage of the individual strengths and features of each.

To top of page HOW DO I USE PROGRAM LINKING AND PLUG-INS?

First, you will need to find out if the computers your students will be using have the programs you want them to use. Obviously, you can't link to programs that aren't there. If students will be using your Web pages in your department's or school's computer lab exclusively, then that's easy to ascertain. It gets a bit trickier if students are accessing the Web from home, a dorm room or another lab.

It is possible, however, depending on your distribution rights, to put the program on a floppy disk for the student to load onto his computer. Alternatively, the application could be available for downloading (perhaps with a login/password requirement) off the Web and installation on the student's hard drive. Probably you would want in that case to save the file in a compressed format for faster downloading. For PC's that would mean using the "zip" format, for Macs the "sea" (self-extracting archive) and "hqx" (binhexed) formats. Most browsers are configured to restore automatically the compressed files.

After ensuring that the external program to which you want to create a link is, in fact, available, you next want to determine if the computer has a configuration which makes this possible. What do you need to be able to do this? One very important pre-requisite is that the memory capacity (RAM) of the computers the students are using must be sufficient to run a Web browser such as Netscape at the same time as the external program you want to make available. Obviously, if you want to have more than two programs active on the same time, it requires even more memory. You also will need to know what the memory requirements of your Web browser and of your external programs are. If you don't have sufficient memory, one alternative to the expensive solution of purchasing additional RAM for your student machines is to use a program such as RamDoubler which successfully tricks your computer into thinking it has more memory than it does.

How do you actually link the programs? There are a number of ways to do this, some easier than others. The simplest is to set up the external program as a helper application for your Web browser. That way, when a student clicks on a link to a document created with application "x", the browser first downloads the document to the student's computer, and then launches application "x" to view it. Actually browsers are configured "out of the box" to recognize a number of document types and to start up the appropriate application. Netscape Navigator, for example, will launch Microsoft Word when linking to a document with the ".doc" suffix or will start up Excel when encountering a file name ending in ".xls". This is, in fact, how applications are called to handle playback of audio and video files. You are not restricted to the helper applications already registered with your browser -- others can be added through the "Options" or "Preferences" menu. You could, for instance, instruct your browser to start up Système-D by adding it as a helper application with a new suffix such as ".syd". Using this system again pre-supposes that the user has the required application already installed -- obviously a Microsoft Word document will not be retrievable unless Word -- or another program which can read Word files -- is installed.

For programs created with authoring languages such as HyperCard, Toolbook or Authorware, you would probably want to configure the stacks or programs to use the "run-time" versions (or "players") of these programs. With some of these programs, it is also possible to save your creation as a self-contained (executable or clickable) program, which eliminates the necessity for the user to have the player installed. On the other hand, players usually can be freely distributed (assuming you have purchased the full program) and non stand-alone programs are smaller in size and therefore faster in downloading over the Web. You will need to experiment to see how well players are able to be launched with the targeted document. In my experience, for example, Netscape for Windows can successfully launch the Authorware player, while the Mac version starts up the player, but does not automatically call up the downloaded Authorware program.

An alternative to configuring programs as helper applications is to use an intermediary program to act as a go-between for your browser and the external programs. This is necessary in cases, as in the example above of the Mac version of Authorware, when external applications aren't configurable to launch downloaded documents automatically. In the case of the recalcitrant Authorware program, I wrote a small AppleScript program which launches Authorware with the appropriate document through the use of a utility called Flypaper. Flypaper in fact can be used to launch any program on a Mac.

A similar utility by the same author, WebRunner, also launches programs through the use AppleScript, but actually sends the AppleScript code as a URL which WebRunner then executes on the user's machine. This is not as secure a method as Flypaper, since you may find yourself clicking on URL's containing AppleScript which when run will do things on your computer that you wouldn't want done. Flypaper, in contrast, requires that the AppleScript code reside (as an application) on the user's machine -- which means that AppleScript application must be first downloaded by the user.

On the Windows side, there is an application created at IAT called WebApp which automatically downloads and runs external programs on a Windows browser. There is also a Mac version. An example of an external application which you might want to launch in this way from a Web page is the teleconferencing program CU-SeeMe. I have used intermediary programs to launch CU-SeeMe from a Web page and tell it to go to a specific site (in this case my office). On the Mac Webrunner code was used, while on Windows GoCUSM performs the same function.

Interactions between a Web browser and an external application need not be one-way. With many applications, you can also link back to Web pages for your browser to display. Students can thus move easily back and forth between an external application and a Web browser. One of the easier applications to do this with is HyperCard. Since HyperCard scripts can be written in AppleScript, you can easily write a short script to open a URL from within a HyperCard stack. This can be done with other Mac apps though through use of Flypaper. On the Windows side, VisualBasic allows for similar functionality.

Besides calling up external applications, Web browsers support display of external documents (not just HTML) within the browser window itself. Microsoft's Internet Explorer and Netscape Navigator and Communicator are capable of playing directly audio and video files as well as allowing in-line display of QuickTime movies, Director movies (Shockwave) and RealAudio sound files. This allows for seamless integration of HTML-based text with a variety of other documents (as in sample ESL quizzes from Jim Duber). To use the Netscape plug-ins, you need to download the appropriate plug-in for the program you want to view and for the platform you are using. For the very ambitious, it is possible to write your own plug-in for further customization of your Netscape window.

More plug-ins are being announced and developed all the time. Not all of them actually run the programs in the browser window; some like Shockwave for Authorware or the plug-in for Toolbook spawn a new external window.

What's the advantage of plug-ins over simply having the program run externally? The first advantage is aesthetic; your Web page seems like more of a real, integrated entity of, for example, your digital video window appears right alongside your text and graphics. The big advantage is functional, the ability to incorporate a unified whole with the different elements connected to one another. An example of that kind of functionality is show in Figure 2-2. A digital video window is displayed directly in the browser window. Below that window (actually frame) is another window containing keywords or a transcript (user's choice). In the right hand window are a set of questions to be answered using the text fields supplied. By having both the video and comprehension aids easily available students can concentrate on finding and writing the answers to the questions, rather than juggling a separate window containing the video segments.

Even more interactivity between HTML and plug-ins is possible through the use of JavaScript. This allows for the possibility, for example, of using JavaScript to tell the plug-in to play only a certain specific segment of the video clip. JavaScript is discussed in the next section.

SIDE TRAIL: STREAMING AUDIO AND VIDEO

Some of the most promising plug-ins from the perceptive of language learning are those which provide real-time playing of audio and video files. Normally to play such files your browser must first temporally download the file to your computer. Only after the file has been completely downloaded will it play. With "streaming" the audio or video file will start to play almost immediately. This allows for very long audio files currently to be played over the Internet, without streaming the download time would be prohibitive.

The most common format currently for streaming audio is RealAudio. RealAudio players are available for all consumer platforms and can be used as plug-ins. However, to serve Realaudio files you need to purchase and run a Realaudio server (although they can also be delivered using a normal Web server without the same level of perfomance). Files must be saved in the proprietary RealAudio format. There are as well some other (less expensive) options for steaming audio (see the Trailmarkers). Listed as well are some of the current options for streaming video. This has obvious fantastic uses for language teachers, but the compression and delivery systems for streaming video have as of this date not yet reached maturity. Bandwidth issues (the speed of your network connection) will be an inhibiting factor in the use of streaming video.

To top of page TRAILMARKERS
Examples of applications to link Plug-ins and Utilities Streaming Media

Li -->Index / Intro / Language Learning & the Web / JavaScript / CGI / Java / Scripts
VCU - Foreign Language Department - International Trail Guide

© 1998 Robert Godwin-Jones
rgjones@vcu.edu