Course: CIS451/651 Data Compression in Multimedia
Professor: Paul D. Amer
Semester: Spring 2013
Title: Project 3 - Java Applet for Decompression
EXTRA CREDIT: This project was changed to extra credit because I could not overcome a security problem having my applet open files on other machines. See me for details.

Description

(20 points) In Project 0, students extended a browser's ability to decode new multimedia types by using add-ons, applications or plug-ins. Downloading and installing these extensions burdens the user of the multimedia object. For many Web surfers, this burden is not worth the gain of decoding a new multimedia object. Project 3 demonstrates how to "extend" a browser, or "market" a new multimedia type, without a burden on a user (other than requiring a Java-compatible browser.)

In this Project 3, students design an applet that decodes an amerRLE encoded object. When a user downloads this new multimedia type, the decoding program is downloaded along with the compressed object. Hence the user can "see" this new multimedia type without having to first download and install additional software into his/her browser. More specifically, Project 3 requires students to convert their Project 2 Java program into a Java applet.

Tasks

  1. Program a well-commented Java applet that displays an amerRLE encoded file.
  2. Using your decompression applet and my echo applet, design a web page on your personal web site that is analogous to amerRLE decompression example page.

What to Turn In

  1. (submit) A copy of your java applet source code which incorporates your decoder.
  2. (submit) A copy of your html code for the amerRLE decompression example page.
  3. Email me the URL of your html amerRLE decompression web page. Be sure this page is accessible.

Notes

  1. Students are expected to work in groups of 2.
  2. See the syllabus for the Academic Honesty and Lateness policies.
  3. You may need to compile for an older JAVA version, otherwise your applet may not run in browsers without extra bells and whistles. Use, for example,:    javac <filename> -target 1.1