- From: Brian Blevins <brian@maxtech.com>
- Date: Sat, 17 May 1997 23:56:05 -0400
- To: www-html-editor@w3.org
- CC: brian@maxtech.com, hotjava-comments@web2.javasoft.com, javacab@microsoft.com, jar@netscape.com
W3C HTML Working Group, I have a question/suggestion concerning the WD-Object working draft at: http://www.w3.org/pub/WWW/TR/WD-object-970218.html One of the features that the APPLET tag currently lacks but needs very much is the ability for a browser to select/find an implementation of the applet based on the latest version of the Java API that it supports. In general, the object system implemented in the browser needs to be able to load the object implementation based on the version of the object system that is available in the browser. This allows the HTML author and/or object software author to provide the end-user with highly optimized (and more robust) objects that are tuned for the browser run-time at hand. Code for earlier versions of the object system operates under older models/mechanisms and code for later versions takes advantage of new features. The key is to have separate codebases for the different versions of the applet/object. A courageous attempt to handle this problem for the cases of JDK 1.0 and JDK 1.1 was published by JavaSoft under: http://www.javasoft.com/products/jdk/1.1/compatible/ The idea presented is to use the fact that JDK 1.0 browsers supposedly aren't aware of the APPLET ARCHIVE attribute. Unfortunately, this recommendation does not work perfectly, since it interferes with the use of ZIP file archives in certain JDK 1.0 browsers. Using the OBJECT element and the TYPE attribute, it appears to be possible to have separate codebases referenced for each object system API version, but only if implemented properly by all the browsers. The following example illustrates the manner in which I envision such a cross-version applet being embedded using the OBJECT element: <OBJECT CODETYPE="application/x-java-vm-jdk-2-0" CODEBASE="http://www.foobar.com/classes/myapplet/jdk20/" CLASSID="com.foobar.myapplet.StartClass" HEIGHT=100 WIDTH=100 > <OBJECT CODETYPE="application/x-java-vm-jdk-1-2" CODEBASE="http://www.foobar.com/classes/myapplet/jdk12/" CLASSID="com.foobar.myapplet.StartClass" HEIGHT=100 WIDTH=100 > <OBJECT CODETYPE="application/x-java-vm-jdk-1-1" CODEBASE="http://www.foobar.com/classes/myapplet/jdk11/" CLASSID="com.foobar.myapplet.StartClass" HEIGHT=100 WIDTH=100 > <APPLET CODEBASE="http://www.foobar.com/classes/myapplet/applet/" CODE="com/foobar/myapplet/StartClass.class" HEIGHT=100 WIDTH=100 > </APPLET> </OBJECT> </OBJECT> </OBJECT> My questions are: 1) Did the HTML working group intend to address the object system API versioning problem in this manner? 2) If so, why isn't the nomenclature of the CODETYPE mentioned in the WD-Object spec? My concern is that without mention of this type of functionality as normative in the spec, not all of the browsers will implement the fall back scheme uniformly. 3) If not, how can the object system (Java applet in my case) versioning issues be addressed using the OBJECT element? In general, I would like to point out the importance of being able to provide differing object implementations for the various object system versions (ie. JDK versions). Also, I would appreciate any information that you might have on how this can be supported using the proposed OBJECT element. Thanks, Brian brian@maxtech.com
Received on Saturday, 17 May 1997 23:53:06 UTC