On supporting IE 7 in (Sun's) Java

; Date: Thu Aug 04 2005

Tags: Java

In last weeks javalobby newsletter, Rick Ross openly asked about whether Sun would be supporting IE7 in Java. If you think about it that's kind of a silly question, because of course we will (eventually). IE in general has such huge market penetration that we'd be fools not to. I wanted to be able to post a positive answer, saying "Yes, everybody, it's in the plan" and set out to find out what our plans are.

Note .. I said "eventually". Therein lies the rub, as I'm sure Rick meant to wonder whether it would be supported in Mustang.

Unfortunately we are not in a position to make any commitments. If you think about it, there's a simple reason. Timing. IE7 just entered a limited beta release. Yes, we have engineers looking at it now. But what is their release schedule? Does it match up with Mustang's release schedule? What changes will we need to make to Mustang to support IE7? And do we have time in Mustang's schedule to do so?

To explain what I'm meaning, let me give a little rundown on how release scheduling works.

Sun has defined several phases to product development cycles, and no doubt Microsoft has a similar set of phases with similar names. We have milestones marking transition from one phase to another, such as the "feature freeze" date marking the transition from active development of new features to the bug fixing phase. The bug fixing phase is meant to find/fix as many of the bugs introduced by the new features as we can, as well as fix outstanding bugs from previous releases. New feature development isn't allowed, generally, after that point because it's well known that adding new features also adds new bugs. This is all standard software engineering practice, so it shouldn't be too unfamiliar.

It's too early to make any commitments over whether we will support IE7 with Mustang. For example, if IE7 is finalized late in Mustang's schedule then the rules under which the Java SE team conducts the release schedule wouldn't allow us to add IE7 support. There may be too much work to support IE7 to fit into Mustang's schedule. ...etc...

Basically, there are too many unknowns, today, to answer Rick Ross's question.

Source: (web.archive.org) weblogs.java.net


Wouldn't it also be in Microsoft's best interest to support the Java plugin? I can't imagine customers being thrilled about applets not working when the put in an upgrade.

Posted by: rabbe on August 05, 2005 at 08:43 PM

Oh, believe me, I absolutely agree. It would be great if Microsoft cooperated with us on Java for MS Windows. But we know what happened when that was tried.

Posted by: robogeek on August 05, 2005 at 09:02 PM

Classic Microsoft arrogance. When MS's OS XP 64 bit came out, there wasn't a single virus scanner that would run on XP 64 bit. If XP 64bit can run 32 bit application it stands to reason - it is quite capable of contracting a 32 bit virus / worm.

You should see Microsoft's contracting team go crazy at a client when the client doesn't pick Microsoft technology. It's almost childish.

Posted by: phlogistic on August 07, 2005 at 08:16 AM

You can't blame Microsoft for 3rd party software not working on their OS... They define an published API, if you don't program to it there's no guarantee your application will work on anything except that single version. Microsoft (in contrast to some others...) DO go to extreme lengths to make sure software works on their operating systems, going so far as to support workarounds individual applications made in the past to account for bugs in previous versions of those operating systems. Your attitude of "blame Microsoft for everything that goes wrong with anything" is extremely childish and irresponsible. Your claim that they're arrogant in this strengthens that assessment. Robogeek, Microsoft licensed to create and support a 1.1 JVM which they did. Under the original license for AWT license holders were allowed to create platform specific extensions. Microsoft did so (and were in fact the only ones to do so) with the full knowledge of Sun (they didn't try to sneak it in...). When 1.2 came around Sun suddenly changed the terms of their license, disallowed Microsoft from producing a 1.2 compliant JVM, then blamed Microsoft from not shipping an up to date JVM with their products and trying to "corrupt Java" by including a platform specific extension which was produced well within the terms of the original license. Then when Microsoft decided to drop that old JVM (which by that point was some 5 years out of date due to Sun's refusal to allow Microsoft to ship anything newer) Sun claimed that Microsoft was trying to kill Java by making it impossible for Windows users to run Java applications (at a time when 90%+ of all Java applications wouldn't run on the old Microsoft VM which was all they were allowed to distribute anyway, and Sun had been building their own JVMs for Windows for years). So we have a situation in which Sun disallows Microsoft from producing an up to date JVM, then goes around and blames Microsoft for not producing an up to date JVM... Posted by: jwenting on August 08, 2005 at 12:52 AM

I think that, in some ways, jwnting is right... but things won't get easier between sun and microsoft. With the .NET platform on hands, microsoft will show, once again, it's monopoly intents... well... it's just another guess... Let's see waht future holds...

Posted by: molusco on August 08, 2005 at 05:27 AM

With the .NET platform on hands, microsoft will show, once again, it's monopoly intents... In exactly the same way that Sun aren't by releasing OSes (??) with Java enabled, I suppose? When will people face up to the fact that MS aren't the only company looking to be the monopoly, but EVERY company is.

Posted by: aidan_walsh on August 08, 2005 at 06:17 AM

Yes, I agree that Microsoft's published API's tend to remain stable. In a former job I had access to Windows source code (win3.1, win95, winnt3.51, winnt4) and was porting code from Windows to a product the company sold. Which gave me opportunities to compare the same methods in different implementations, and see the lengths they go to internally to keep compatibility in the published API's. Most enlightening was a comment I found once saying in effect: this is a bug, but if we fix it application X will break.

FWIW, Sun goes to the same kind of length with the software we make.

But I don't know what kind of rock you've been hiding under where you don't see Microsoft's arrogance. They were proven, as findings of law, to hold an illegally gained and illegally maintained monopoly. And more than once, if only because those findings of law were upheld on appeal. There's been several times they've outright stolen code from third parties, integrated it with Windows, and later got sued by those third parties and paid large settlements. And finally the industry take on Microsoft is that to partner with them is akin to dancing with a tarantula.

In any case, about Java and Microsoft's prior activities around Java ... you missed a couple very important factors to the story. Sure, Microsoft added a few things to Java. Every Java licensee is free to do so. Proof? Apple does so, and we are very happy with Apple and their Java implementation. However, what Microsoft did was to remove certain things from Java. Adding stuff is okay, because the published standard Java interfaces are still there and you can use them. Removing stuff is not okay, because it impedes the cross-platform-compatibility story.

What I meant by my comment about getting cooperation from Microsoft is that if Microsoft had played by the rules of the game, that would be tantamount to cooperating with us. But they didn't play by the rules of the game. We proved that in a court of law, and you may remember that we got a $2 billion settlement out of it a couple years ago. Posted by: robogeek on August 08, 2005 at 07:49 AM

jwenting, you are mistaken. I don't claim Microsoft is arrogant - I know Microsoft is arrogant. Releasing a retail OS that has no virus scanning application that will run upon it, with full knowledge that a killer app that must run on the new OS will not run on the new OS - also attests to Microsoft's irresponsiblity when it comes to security and security flaws.

If Microsoft cared about their customers, they'd work with 3rd parties to ensure Java works with IE 7, they'd ensure virus scanners work with their latest OS. But that's why Microsoft is arrogant - they release the software and neglect to inform 3rd parties because they're arrogant, and do not care.

Posted by: phlogistic on August 08, 2005 at 08:47 AM

Seems I'm not a lawyer, and I am not even qualified to play lawyer on the net. I should probably steer clear of interpreting legal stuff in the future.

In an earlier comment I attempted to describe the Java licensing requirements and didn't get it quite right. The actual requirements differ from what I described above, and are contained in the licensing.

Of interest is this blog entry by Graham Hamilton: J2SE Compatibility Test Sources Released

Posted by: robogeek on September 02, 2005 at 01:33 PM

About the Author(s)

David Herron : David Herron is a writer and software engineer focusing on the wise use of technology. He is especially interested in clean energy technologies like solar power, wind power, and electric cars. David worked for nearly 30 years in Silicon Valley on software ranging from electronic mail systems, to video streaming, to the Java programming language, and has published several books on Node.js programming and electric vehicles.