Java Forum / General / February 2006
Applets: what browsers to support?
Rhino - 11 Feb 2006 18:53 GMT What are most commonly used browsers these days, especially in the business world?
I haven't done an applet in a while, especially not one meant to work on most popular browsers, so I'm afraid I'm a bit out of touch with what browsers applet developers are writing for.
A few years ago, most people tried to make sure that their applets worked on the last couple of versions of IE and the last couple of versions of Netscape; occasionally, they would verify that their applets worked on Opera or other less popular browsers.
What is the standard today, i.e. which browsers (and versions of those browsers) do applet developers target?
I'm guessing IE6 (and maybe 5.0?) and Firefox (not sure which versions) and maybe Netscape 6.x and 7.x with Opera (which version?) and Safari (which version?) if you want to reach the Mac owners.
By the way, I've never been clear on the relationship between Netscape, Firefox and Mozilla. Aren't Netscape and Firefox (and maybe Safari) variations on Mozilla? Also, is Netscape still making new versions of its browser or is Firefox just a new name for Netscape, which would mean that there will be no new versions of Netscape beyond 7.x?
If someone can fill me in on what browsers most professional applet developers would target, I'd be very grateful.
I really need to figure this out so that I can modify my HTML appropriately so that my applet will work on the most current browsers.
 Signature Rhino
ossie.moore@gmail.com - 12 Feb 2006 05:27 GMT Most all modern browsers now use the Sun JDK for applets. So the support is universal. Any OS with the Sun JDK available since about 1.4x will execute applets just fine. I've deployed very complex applets and they work equally well on Windows (IE/Firefox/Mozilla/Netscape) , OSX (Safari/Firefox) and Linux (Firefox). These include applets that use Swing rather than (ugh) Awt for the GUI.
You can even request auto-download of the jre if not installed on most platforms/situations.
Rhino - 12 Feb 2006 13:41 GMT > Most all modern browsers now use the Sun JDK for applets. So the > support is universal. Any OS with the Sun JDK available since about [quoted text clipped - 5 lines] > You can even request auto-download of the jre if not installed on most > platforms/situations. Yes, I'm aware of the auto-download of the JRE and think that's a good thing.
Are you still using the OBJECT/EMBED tags the way the HTML converter generates? Or are you using strictly the APPLET tag?
The reason I ask is that I'm having trouble getting my first recent applet to work in Firefox. It uses the standard OBJECT/EMBED tags from the HTML converter. However, another applet I've seen that uses Java 1.5 features works fine in Firefox with just the APPLET tag. I was surprised that worked. Do the recent browsers all support the APPLET tag properly now or is it just Firefox that does this?
-- Rhino
Roedy Green - 12 Feb 2006 16:41 GMT On Sun, 12 Feb 2006 08:41:44 -0500, "Rhino" <no.offline.contact.please@nospam.com> wrote, quoted or indirectly quoted someone who said :
>. I was surprised that worked. >Do the recent browsers all support the APPLET tag properly now or is it just >Firefox that does this? Everything uses <applet just fine.. The only reason to use that <EMBED crap is to get an autodownload of the missing Java instead of getting the user to hit a button ask for it.
Perhaps the way to handle this is to load the same dummy applet with <EMBED to get that feature, or use JavaScript to detect missing Java, and leave all your code in maintainable <applet form. That is grossly bloated syntax as it is.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Daniel Dyer - 12 Feb 2006 18:07 GMT > On Sun, 12 Feb 2006 08:41:44 -0500, "Rhino" > <no.offline.contact.please@nospam.com> wrote, quoted or indirectly [quoted text clipped - 13 lines] > and leave all your code in maintainable <applet form. That is grossly > bloated syntax as it is. <APPLET> and <EMBED> are both problematic. The applet tag is deprecated in the HTML and XHTML specs. If you want to use the strict DTDs, you can't use the applet tag. I don't think that embed has ever been an official tag.
The recommended approach is to use just <OBJECT> but it is tricky to get it to work both in IE and Firefox since there are two different approaches, one that works in IE and one that works with Firefox (Opera seems to accept either). The solution, if you want a page that passes validation, involves nesting one object tag inside another and taking advantage of IE's conditional comments. I have done this with the Java 1.1 applet on this page (http://fsa.footballpredictions.net) so that it will work with both the Sun and Microsoft VMs. Take a look at the source to see what I mean. As far as I am aware, this works on most (all?) recent browsers. I have tested with IE, Firefox and Opera on Windows and Firefox and Opera on Linux.
As for applet tag support, you might want to look at the options in the Sun Java plug-in control panel. You can turn the support for the tag on and off in there.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Rhino - 12 Feb 2006 22:39 GMT >> On Sun, 12 Feb 2006 08:41:44 -0500, "Rhino" >> <no.offline.contact.please@nospam.com> wrote, quoted or indirectly [quoted text clipped - 30 lines] > recent browsers. I have tested with IE, Firefox and Opera on Windows and > Firefox and Opera on Linux. Do I understand correctly that the HTML used for your football applet only works for applets that are using Java 1.1 or earlier? If so, what do you suggest for someone who wants their applet to incorporate Java 1.5 features and run on as many browsers as possible? I am trying to reach people who may not have updated their browsers in years and may be unwilling or unable to upgrade them so automating the download/installation of the current plugin would be a big plus for me.
> As for applet tag support, you might want to look at the options in the > Sun Java plug-in control panel. You can turn the support for the tag on > and off in there. That doesn't work for me, at least with respect to Mozilla and Netscape. At the moment, the "Mozilla and Netscape" checkbox is off but when I turn it on, I get this warning: Unable to change Browser Settings. Please check that Mozilla or Netscape is properly installed on the system and/or that you have sufficient permissions to change system settings." When I OK the message, the checkbox is still checked but when I close and reopen the Java control panel, I find that the checkbox is unchecked again. I've posted to several places about this in the last few days and gotten no useful suggestions on how to fix it.
Despite the setting of the checkbox though, my applet works fine in IE6, Opera 7.54, and Firefox 1.5.0.1 if the HTML has only an <applet> tag. However, if I use the old <EMBED>/<OBJECT>/<APPLET> nonsense from the HTML converter, Firefox doesn't display the applet: it claims it needs a plugin, fails to find it with an automatic search, and fails to see a manually installed plugin when I provide one.
I've posted to several places about this in the last few days and gotten no useful suggestions on how to fix it. I'm truly sick of messing around with this but I can't figure it out and I can't find anyone else who can explain it to me.
Roedy almost had me sold on using <APPLET> alone since it works on all three of my recent browsers but now you say that <APPLET> is not the right thing to use because <APPLET> is deprecated in the HTML and XHTML specs. I'm not sure if I should care about that....
Frankly, I'm getting to the point where I'm ready to scrap the applet altogether since there doesn't seem to be any way to make it visible to a large variety of browsers of different vintages without requiring the user to get very involved in installing/configuring components.
I was briefly tempted to try Java WebStart but that looked even more involved and was not something I'd want to throw at a non-technical person.
Is there ANY reasonable solution here or should I scrap my applet?
-- Rhino
Daniel Dyer - 12 Feb 2006 23:20 GMT >> <APPLET> and <EMBED> are both problematic. The applet tag is deprecated >> in the HTML and XHTML specs. If you want to use the strict DTDs, you [quoted text clipped - 27 lines] > plugin > would be a big plus for me. My point was mainly about avoiding invalid/non-standard HTML. My page validates as XHTML strict and still seems to work with all the main browsers. I don't know if it works for Java 5 applets. I would guess that the approach is the same (with the nested <object> tags and conditional comments), but you'd have to try it. You may have to change the classid attribute. If I remember correctly, the 08B0E5C0-4FCB-11CF-AAA5-00401C608501 value specifies to use the old 1.1-era Microsoft JVM. I think it will even use that if the Sun VM is installed (I can't check now, I'm on Linux), which is no problem for me since the MS VM is much quicker with the AWT stuff anyway.
If you change the classid in the inner object tag to whatever is required for 1.5 (some big long hex string that you should be able to find on the web), it will hopefully work.
> Roedy almost had me sold on using <APPLET> alone since it works on all > three [quoted text clipped - 3 lines] > not > sure if I should care about that.... You can use the applet tag with the loose DTD, and then your page will pass the W3C validator checks. Or you can just ignore validation altogether, but then it's your responsibility to make sure the page views OK in all the browsers. However, since this is a resume page, maybe it's best to have everything standards-compliant, it shows attention to detail and a professional approach.
> Frankly, I'm getting to the point where I'm ready to scrap the applet > altogether since there doesn't seem to be any way to make it visible to a > large variety of browsers of different vintages without requiring the > user > to get very involved in installing/configuring components. Another alternative is to go the 1.1-era, AWT-only route, but writing that sort of code makes you feel dirty.
> I was briefly tempted to try Java WebStart but that looked even more > involved and was not something I'd want to throw at a non-technical > person. > > Is there ANY reasonable solution here or should I scrap my applet? Try the approach with the nested object tags before you give up completely. There should be some way to get it to work, at least on the recent versions of the main browsers. Things like Netscape 4 probably won't work.
As a fall-back you could link to a non-applet version of your resume for browsers that don't support the required Java version.
Good luck,
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Roedy Green - 13 Feb 2006 09:36 GMT On Sun, 12 Feb 2006 23:20:52 -0000, "Daniel Dyer" <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly quoted someone who said :
>If you change the classid in the inner object tag to whatever is required >for 1.5 (some big long hex string that you should be able to find on the >web), it will hopefully work. that class-id thing is so stupid as if Java did not rate a keyword of its own after all this time. Let' fly by night plugins goof around with things like that.
Someone is working very hard to discourage Java and this in one of their salvos. Imagine 5K of this crap on every page just to invoke the CurrCon Applet to display each price in international variable currency.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Daniel Dyer - 13 Feb 2006 19:39 GMT > On Sun, 12 Feb 2006 23:20:52 -0000, "Daniel Dyer" > <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly [quoted text clipped - 12 lines] > CurrCon Applet to display each price in international variable > currency. It's possible to use the object tag without the big long hex string. The version that has classid="java:com.mydomain.mypackage.MyApplet.class" works fine with recent versions of Firefox and Opera with Sun's VM. Apart from the addition of the 'type="application/x-java-applet"' attribute, it's no more verbose than the applet tag. In this case the object tag seems like a perfectly reasonable replacement for applet since it is not specific to one content type and can be used for as-yet-uninvented plug-ins.
The problem comes, as always, when the browser makers have different ways of doing things. In this case it appears to be IE that is behaving differently. It's then that you start having to jump through hoops.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Roedy Green - 13 Feb 2006 09:33 GMT On Sun, 12 Feb 2006 18:07:07 -0000, "Daniel Dyer" <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly quoted someone who said :
>As for applet tag support, you might want to look at the options in the >Sun Java plug-in control panel. You can turn the support for the tag on >and off in there. f.ck em. Someone should be tortured and shot for this, or at least assassinated. Where is Bush and the Homeland security people when you need them. This is clearly a commie plot.
<APPLET was too wordy to start with. There was no excuse for deprecating it and replacing it with non-working unreadable going-on for-pages-to-accomplish-almost-nothing CRAP. <OBJECT is bureaucrat's f.ck-you suicide letter.
I just say scew'em. I am going to continue using Applet. It is wrong to kowtow to such idiocy.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Mickey Segal - 13 Feb 2006 13:40 GMT > I am going to continue using Applet. It is wrong > to kowtow to such idiocy. We take the same approach that Roedy does. The <APPLET tag is the most portable form of coding for an applet. It is also the most polite, not insisting on making the users change their JRE. If lots of developers continue to use the <APPLET tag any new browser version that ignores the tag will be recognized as having been designed by incompetents.
Daniel Dyer - 13 Feb 2006 19:58 GMT >> I am going to continue using Applet. It is wrong >> to kowtow to such idiocy. [quoted text clipped - 5 lines] > tag > will be recognized as having been designed by incompetents. That's fine, but if you want to do that make sure, for that page at least, you declare a DOCTYPE for a version of the HTML/XHTML spec that has the tag (i.e. the loose DTD), otherwise you're just contributing to the mess perpetuated by Microsoft and their ambivalent approach to standards. If your page validates you have met your obligation as the page author. Any problems rendering it are then somebody elses fault.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Daniel Dyer - 13 Feb 2006 19:52 GMT > <APPLET was too wordy to start with. There was no excuse for > deprecating it and replacing it with non-working unreadable going-on > for-pages-to-accomplish-almost-nothing CRAP. <OBJECT is bureaucrat's > f.ck-you suicide letter. If, as was intended, there is just a single instance of the object tag, with an appropriate content type identifier, I don't see the problem, it's only very slightly more verbose. As I mentioned in my other reply, it's the mess of incompatible browsers that is causing the problem rather than anything inherently wrong with the object tag itself.
> I just say scew'em. I am going to continue using Applet. It is wrong > to kowtow to such idiocy. That is fine as long as you are happy to stick to versions of HTML/XHTML that include the tag, and include an appropriate DOCTYPE declaration. If you want to use later/stricter versions the only way you can do that is to abandon any attempt to make valid pages, in which case you are at the mercy of the browser's rendering engine, which has no obligation to render your invalid pages correctly. For this reason I would prefer to incur the extra effort of kowtowing to the idiocy rather than breaking the implicit contract between the page author and the browser vendor that says "if my pages are valid it's your responsibility to display them correctly". Of course, if there is no way to achieve your aims without contravening the spec. then that's what you have to do, but it should be a last resort.
Dan.
 Signature Daniel Dyer http://www.dandyer.co.uk
Roedy Green - 14 Feb 2006 06:52 GMT On Mon, 13 Feb 2006 19:52:01 -0000, "Daniel Dyer" <dan@dannospamformepleasedyer.co.uk> wrote, quoted or indirectly quoted someone who said :
>If, as was intended, there is just a single instance of the object tag, >with an appropriate content type identifier, I don't see the problem, it's >only very slightly more verbose. Come now. Have you ever looked at the utterly unmaintainable output of t he HTMLconverter when you turn on compatibilty with several browsers?
You can't proofread it. You can't even read it. It a deliberate attempt to derail Applets.
It is a stop gap measure deal with arbitrary plugins, not something built into browsers almost from the beginning.
In my most charitable mood I would the problem is lazy buggers who design syntax trying to make it easy for the machine (and parser writers) rather than those who write in the language. Even Applet tags are deliberately inconvenient.
Param should have looked like this
<PARAM a="b" c="d" />
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Rhino - 12 Feb 2006 18:26 GMT > On Sun, 12 Feb 2006 08:41:44 -0500, "Rhino" > <no.offline.contact.please@nospam.com> wrote, quoted or indirectly [quoted text clipped - 6 lines] > > Everything uses <applet just fine.. I see you're right. I just took out all of the <EMBED> and <OBJECT> html and left only the <APPLET>tag from a test version of my HTML. Then I tested it in Firefox 1.5.0, Opera 7.54 and IE6 (SP2) and each worked perfectly, much to my surprise. Obviously, browser support for applets has gotten a lot better since I last did a serious applet!
Do you happen to know which releases of each of the major browsers first handled <APPLET> correctly? The reason I ask is that my applet displays my resume and I want potential employers to be able to look at that resume with minimum effort. Some of them may be running very old browsers for all I know and may be reluctant to upgrade if they are non-technical folks, like HR types.
At the very least, I'd like to be able to write a comment in the HTML that says something like this: "The applet should display successfully in all of the following browsers: Internet Explorer (5.0 and later); Firefox (1.0 and later); Netscape (6.0 and later); Opera (7.5 and later), Safari (4.0 and later)." Naturally, the exact browser names and version numbers in that example are probably not right: how do I find out what version of each browser _DOES_ support <APPLET> correctly?
>The only reason to use that <EMBED > crap is to get an autodownload of the missing Java instead of getting [quoted text clipped - 4 lines] > and leave all your code in maintainable <applet form. That is grossly > bloated syntax as it is. Sorry, I'm not clear on what you're proposing. I'd love to get rid of <EMBED> and <OBJECT> tags - they _ARE_ horribly bloated code - but I'm not sure what your alternative is. I'm not wild about using JavaScript because it is so browser/version specific but I'll use it if necessary. I don't mind creating a dummy applet on the page if you tell me what HTML it will need. I also don't mind adding a link so that users can install a JRE on their page _if_ I can make the install process utterly effortless for them. Non-technical people are easily intimidated and if someone decides not to look at my applet because they got intimidated by even a simple install, that would be a shame for me.
Do you have a full example that illustrates what you are proposing? Failing that, can you point me to such an example?
-- Rhino
Roedy Green - 13 Feb 2006 09:38 GMT On Sun, 12 Feb 2006 13:26:23 -0500, "Rhino" <no.offline.contact.please@nospam.com> wrote, quoted or indirectly quoted someone who said :
>Do you happen to know which releases of each of the major browsers first >handled <APPLET> correctly? I don't ever recall it not working, other that the problem with the old 1.1 MS JVM trying run 1.2+ code.
I would be a silly business decision to drop support for <APPLET. I for one will badmouth any browser that does so.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Nigel Wade - 13 Feb 2006 10:44 GMT >> Most all modern browsers now use the Sun JDK for applets. So the >> support is universal. Any OS with the Sun JDK available since about [quoted text clipped - 18 lines] > Do the recent browsers all support the APPLET tag properly now or is it just > Firefox that does this? AFAIK all the main browsers support the APPLET tag. The problem with the APPLET tag is that the W3C has deprecated it in favour of the abomination which is the OBJECT tag.
The OBJECT tag is supported by all recent browsers, but each one in a different way. So instead of having a single piece of HTML using the APPLET tag which works in all browsers you now need browser specific HTML and possibly embedded Javascript in order to have working, compliant HTML (i.e. not deprecated). Nice one, W3C (were they coerced into this by Microsoft, by any chance - it has a distinct aroma of their business practise about it?).
 Signature Nigel Wade, System Administrator, Space Plasma Physics Group, University of Leicester, Leicester, LE1 7RH, UK E-mail : nmw@ion.le.ac.uk Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555
Roedy Green - 12 Feb 2006 05:31 GMT On Sat, 11 Feb 2006 13:53:19 -0500, "Rhino" <no.offline.contact.please@nospam.com> wrote, quoted or indirectly quoted someone who said :
>I haven't done an applet in a while, especially not one meant to work on >most popular browsers, so I'm afraid I'm a bit out of touch with what >browsers applet developers are writing for. see http://mindprod.com/jgloss/browser.html
I use primarily use Opera. It is the fastest, especially to load.
I detest all the bugs in IE, but I every once in a while check it out to make sure I the renderings are not too awful.
Firefox seems to be the up and comer. It is the one I test second.
Mozilla gives you lots of control. I finds its UI almost as good as Opera's. I test it third.
Netscape I test fourth. It chews up half your screen with crud I have no interest in.
I get reports from people using text browsers. I do no testing for them. Basically all works well if you do almost nothing in HTML and everything in your CSS style sheet.
Blind people are happy that I put ALT tags on all images to tell them what it is a picture of. I usually describe the image rather than the purpose of the image. e.g.. "strawberry" rather than "recommended".
I get complaints from people with small screens. Many of my layouts do not work for them. I have been squeezing things up and designing collapsible layouts that twill intelligently shrink using float:left and float:right.
If you don't want trouble, avoid JavaScript, and unfortunately also Java. Validate, validate, validate -- both HTML and CSS. That cleans up a lot of false browser rendering failures.
See http://mindprod.com/jgloss/htmlvalidator.html
Users complain bitterly about broken links. The life of external links might be about 12 months average, half that for links with a ~ in them. Xenu helps stay on top. It is an ongoing weeding problem. You never get any where near weeding them all. Sun's site is in terrible shape that way. see http://mindprod.com/jgloss/xenu.html
People are pretty good about reporting typos. But they rarely offer the replacement for a broken link, or tell you WHERE they found the problem. Don't look a gift horse... People generally like my site layout. Features I think that contribute to that:
1. extensive cross-referencing.
2. navigation aids at the top of each page.
3. menus to quickly jump to sections of a page.
4. working to keep pages short.
5. no jittery animations, slithering menus, creeping backgrounds or other childish nonsense.
6. pale green background is the optimal shade for reading. It is problematic for image transparency, that is not done properly with gradated alpha feathering in to the background. Most images are designed to work only on a white background.
My big worry is colour. My monitor red gun is flaky.. It is bit like having computer-induced colour blindness. I wonder if I am selecting colours that render for other's like Dalton's shocking red socks.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
ossie.moore@gmail.com - 12 Feb 2006 06:13 GMT btw/fyi.. Safari was actually born from Konqueror from Linux (ok.. just the khtml engine Konqueror is based on)
IchBin - 12 Feb 2006 06:42 GMT > btw/fyi.. Safari was actually born from Konqueror from Linux (ok.. just > the khtml engine Konqueror is based on) Just as an aside. I currently have Mozilla's SeaMonkey 1.5a suite, Deer Park 1.9a1, and Opera 9.0. I just bumped into a cool browser the other day. Well actually two. It is called the Avant Browser, http://www.orcabrowser.com. There is a IE based version (Avant Browser) and a Mozilla based version (Dr. Orca). I just dumped the IE based version and starting to use the Orca more. I am impressed. I never heard if it before.. What is nice is it's UI and options. Still, Opera is the fastest that I have seen.
Here is an article about Orca called "Avant Browser + Firefox = Dr. Orca". http://www.digg.com/technology/Avant_Browser_Firefox_=_Dr._Orca
 Signature Thanks in Advance... IchBin, Pocono Lake, Pa, USA http://weconsultants.servebeer.com/JHackerAppManager __________________________________________________________________________
'If there is one, Knowledge is the "Fountain of Youth"' -William E. Taylor, Regular Guy (1952-)
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|