By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,494 Members | 1,502 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,494 IT Pros & Developers. It's quick & easy.

Eolas patent workaround: Java folks need JavaScript help

P: n/a
The long-simmering Eolas patent dispute:
http://www.microsoft.com/presspass/p...06EOLASPR.mspx
has led to an optional Microsoft Update:
http://support.microsoft.com/kb/912945/en-us
that creates non-JavaScript problems that can be fixed using JavaScript.

With the Microsoft update installed, Java applets (as well as other content
such as Flash videos) are unable to receive user input until an activating
click or key press. Although this update has not been installed by many
users yet, is expected to be included in a periodic security update, making
it very widespread, possibly as early as today.

For Java applets there is a satisfactory workaround using JavaScript as
detailed at:
www.segal.org/java/HelloPatent/
However, since Java experts are not JavaScript experts, it was not clear
whether our code was written in the best way. Specifically, we'd appreciate
input as to whether we need both of the following lines of JavaScript code
or can get rid of the HEAD part and make a call that includes the file name
to invoke the function. The relevant JavaScript code is:

Between the HEAD tags:
<script src="specifyApplet.js" language="JavaScript"
type="text/javascript"></script>

Where I actually insert the applet:
<script
language="JavaScript"type="text/javascript">getAppletTags();</script>
Mar 14 '06 #1
Share this Question
Share on Google+
9 Replies


P: n/a
VK

Mickey Segal wrote:
The long-simmering Eolas patent dispute:
http://www.microsoft.com/presspass/p...06EOLASPR.mspx
has led to an optional Microsoft Update:
http://support.microsoft.com/kb/912945/en-us
that creates non-JavaScript problems that can be fixed using JavaScript.

With the Microsoft update installed, Java applets (as well as other content
such as Flash videos) are unable to receive user input until an activating
click or key press. Although this update has not been installed by many
users yet, is expected to be included in a periodic security update, making
it very widespread, possibly as early as today.

For Java applets there is a satisfactory workaround using JavaScript as
detailed at:
www.segal.org/java/HelloPatent/
However, since Java experts are not JavaScript experts, it was not clear
whether our code was written in the best way. Specifically, we'd appreciate
input as to whether we need both of the following lines of JavaScript code
or can get rid of the HEAD part and make a call that includes the file name
to invoke the function. The relevant JavaScript code is:

Between the HEAD tags:
<script src="specifyApplet.js" language="JavaScript"
type="text/javascript"></script>

Where I actually insert the applet:
<script
language="JavaScript"type="text/javascript">getAppletTags();</script>

Shame to California lawyers, shame to California fn greedy academics. I
was watching this circus since the beginning and just cannot believe
they went through with this crap... Macromedia lost the independence
partially cause of it.

Any way: your way is a bit risky because however small your external
script is, it is still possible (on bad connection) that it will not be
loaded and parsed before getAppletTags() call. I would keep all stuff
together in the applet's insertion point:

<script type="text/javascript">
// Applet params separately
// for easier editing:
var width = 130;
var height = 40;
var code = 'Hello.class';
// end of params
var str = '<applet code="' + code
+ '" width="' + width
+ '" heigth="' + height + '"></applet>';
document.write(str);
</script>
<noscript>
<p>Client-side scripting is disabled
or not supported</p>
</noscript>

Mar 14 '06 #2

P: n/a
"VK" <sc**********@yahoo.com> wrote in message
news:11**********************@i39g2000cwa.googlegr oups.com...
Any way: your way is a bit risky because however small your external
script is, it is still possible (on bad connection) that it will not be
loaded and parsed before getAppletTags() call. I would keep all stuff
together in the applet's insertion point:

<script type="text/javascript">
// Applet params separately
// for easier editing:
var width = 130;
var height = 40;
var code = 'Hello.class';
// end of params
var str = '<applet code="' + code
+ '" width="' + width
+ '" heigth="' + height + '"></applet>';
document.write(str);
</script>
<noscript>
<p>Client-side scripting is disabled
or not supported</p>
</noscript>


My understanding of Microsoft's change to Internet Explorer is that it
requires not the use of JavaScript per se but rather loading resources
external to the HTML page, which as you point out can be unreliable. For
other reasons we had been generating Java applet tags with JavaScript inside
HTML pages and that didn't protect against this change in Internet Explorer.
Mar 14 '06 #3

P: n/a
VK

Mickey Segal wrote:
My understanding of Microsoft's change to Internet Explorer is that it
requires not the use of JavaScript per se but rather loading resources
external to the HTML page, which as you point out can be unreliable. For
other reasons we had been generating Java applet tags with JavaScript inside
HTML pages and that didn't protect against this change in Internet Explorer.


Your understanding is not correct. It is all about the infamous patent
co-owned by University of California and one overly-creative guy. Read
more at:
<http://news.com.com/2009-1023_3-5082004.html>
Also google for "California university media patent"

Note: whoever thinks that a pure idea cannot be patented - wake up and
smell the coffee :-(

There are already some dramatical changes in the US-residing companies.
For example, microsoft.com site doesn't ask you anymore to install
Flash player if you have not it installed. Same for others key players.
Flash and Shockwave is being replaced by images - or require a click to
start animation.

As I'm not a lawyer I cannot advise if your JavaScript workaround is an
escape from the patent:- you better check. If you are outside of the US
I welcome you to place a big applet with raised finger animated by
default on your page. :-|

Mar 14 '06 #4

P: n/a
"VK" <sc**********@yahoo.com> wrote in message
news:11**********************@i39g2000cwa.googlegr oups.com...
Your understanding is not correct. It is all about the infamous patent
co-owned by University of California and one overly-creative guy. Read
more at:
<http://news.com.com/2009-1023_3-5082004.html>


The nature of the patent dispute is a secondary issue here - the need to
work around whatever Microsoft did is the primary issue. Just assembling
your applet tags using JavaScript is not enough to work around what
Microsoft did; indeed we used to assemble our applet tags using JavaScript
previously for other reasons, and that was not enough to work around this
issue.
Mar 14 '06 #5

P: n/a
Mickey Segal said on 15/03/2006 4:34 AM AEST:
The long-simmering Eolas patent dispute:
http://www.microsoft.com/presspass/p...06EOLASPR.mspx
has led to an optional Microsoft Update:
http://support.microsoft.com/kb/912945/en-us
that creates non-JavaScript problems that can be fixed using JavaScript.

With the Microsoft update installed, Java applets (as well as other content
such as Flash videos) are unable to receive user input until an activating
click or key press. Although this update has not been installed by many
users yet, is expected to be included in a periodic security update, making
it very widespread, possibly as early as today.

For Java applets there is a satisfactory workaround using JavaScript as
detailed at:
www.segal.org/java/HelloPatent/
However, since Java experts are not JavaScript experts, it was not clear
whether our code was written in the best way. Specifically, we'd appreciate
input as to whether we need both of the following lines of JavaScript code
or can get rid of the HEAD part and make a call that includes the file name
to invoke the function. The relevant JavaScript code is:

Between the HEAD tags:
<script src="specifyApplet.js" language="JavaScript"
The language attribute is deprecated so ditch it, keep type.

type="text/javascript"></script>

Where I actually insert the applet:
<script
language="JavaScript"type="text/javascript">getAppletTags();</script>


If you mean can you do:

<script src="specifyApplet.js" type="text/javascript">
getAppletTags();
</script>
the answer is no. Wherever an src attribute is specified then:

"If the src has a URI value, user agents must ignore the
element's contents and retrieve the script via the URI."

<URL:http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT>

So I guess strictly speaking you can do it but it won't work in most
(nearly all) browsers. There was a recent thread on this but I can't
find it right now.

However, the element that loads the script doesn't have to be in the
head. The script element that loads the .js file must be before any
script element that calls code in the file, so it may be more convenient
to use (wrapping allowed deliberately):

<script src="specifyApplet.js" type="text/javascript"></script><script
type="text/javascript">getAppletTags();</script>
You may want to supply an argument to getAppletTags() and you only need
the first script element once in the document (before the first call to
getAppetTags()), it doesn't have to be added for every call.
--
Rob
Mar 15 '06 #6

P: n/a
RobG said on 15/03/2006 10:17 AM AEST:
[...]

So I guess strictly speaking you can do it but it won't work in most
(nearly all) browsers. There was a recent thread on this but I can't
find it right now.
Here 'tis:

<URL:
http://groups.google.co.uk/group/com...55df2b1ec2f450

--
Rob
Mar 15 '06 #7

P: n/a
RobG wrote:
RobG said on 15/03/2006 10:17 AM AEST:
[...]

So I guess strictly speaking you can do it but it won't work in most
(nearly all) browsers. There was a recent thread on this but I can't
find it right now.


Here 'tis:

<URL:
http://groups.google.co.uk/group/com...55df2b1ec2f450

Hell, if you're worried about the patent, take the easy way out. Host
your site outside the United States so no-one will give a flying fart
about the stupid thing and you can't get sued.
Mar 15 '06 #8

P: n/a
"The Magpie" <us****@mpreston.demon.co.uk> wrote in message
news:dv*******************@news.demon.co.uk...
Hell, if you're worried about the patent, take the easy way out. Host your
site outside the United States so no-one will give a flying fart about the
stupid thing and you can't get sued.


The issue is that Microsoft is patching Internet Explorer, so the problem is
not my dealing with the patent it is my dealing with what Microsoft did
because of the patent.

According to Microsoft's workaround page:
http://msdn.microsoft.com/library/de...ng_activex.asp
the workaround to what Microsoft did to Internet Explorer is to "load
controls from external script files".

Some of the code on Microsoft's workaround page does not have a reference to
the external js file in the HEAD code, but if that is the best way to get
the loading started as soon as possible that is OK with me.
Mar 16 '06 #9

P: n/a
VK

Mickey Segal wrote:
The issue is that Microsoft is patching Internet Explorer, so the problem is
not my dealing with the patent it is my dealing with what Microsoft did
because of the patent.


A clear understanding of patent may give you an answer of how to deal
with it - because in the reality nothing is changed internally in
objects, one just need to fing a way to use them while formally staying
out of the patent.

The relevant MSDN article is written in Esop language, because
Microsoft cannot publically (plus on their own server) call to bypass a
3rd party patent and explain how to do it:- that would be a
milti-billion mistake.

So one needs to read between the lines - plus be aware of the patent
background. Search Google for inspiration ideas.

Mar 16 '06 #10

This discussion thread is closed

Replies have been disabled for this discussion.