472,796 Members | 1,447 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,796 software developers and data experts.

Eolas patent workaround: Java folks need JavaScript help

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
9 2311
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
"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
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
"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
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
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
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
"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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Lane Friesen | last post by:
I've developed a new form of client-based, secure 'Web Memory' that uses the JAVA or dotNET VM to launch a 'terminate and stay resident' program fragment that maintains persistence between web...
0
by: Lane Friesen | last post by:
(second of three postings for May 31 deadline on Open Source offer) I've developed a new form of client-based, secure 'Web Memory' that uses the JAVA or dotNET VM to launch a 'terminate and stay...
13
by: JAMESICUS | last post by:
Refer to: http://news.com.com/2100-1023-5079580.html James Pickering Pickering Pages http://www.jp29.org/
13
by: nospam | last post by:
NEWS.COM Amazon wins patent for ordering forms # 6,615,226 http://tinyurl.com/m7v8 http://news.com.com/2100-1017-5070569.html In its latest patent, the online retailing giant outlined a...
1
by: David Van D | last post by:
Hi there, A few weeks until I begin my journey towards a degree in Computer Science at Canterbury University in New Zealand, Anyway the course tutors are going to be teaching us JAVA wth bluej...
6
by: VK | last post by:
Does anyone knows a reputable comment on the EOLAS beserk in application to imported SVG / VML graphics? Say if I have a SVG graphics in the DOM tree and I script it onload (so it starts...
28
by: Grant Robertson | last post by:
If the W3C created the XML standard, did they apply for a patent on it? The only thing I can find on the W3C site is their policy about freely licensing any patented technology related to a...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.