Applets: what browsers to support?

R

Rhino

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.
 
O

ossie.moore

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.
 
R

Roedy Green

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.
 
O

ossie.moore

btw/fyi.. Safari was actually born from Konqueror from Linux (ok.. just
the khtml engine Konqueror is based on)
 
I

IchBin

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

--

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-)
 
R

Rhino

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.
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?
 
R

Roedy Green

. 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.
 
D

Daniel Dyer

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.

<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.
 
R

Rhino

Roedy Green said:
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
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.
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?
 
R

Rhino

Daniel Dyer said:
<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.
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?
 
D

Daniel Dyer

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.

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
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....

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.
 
R

Roedy Green

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.
**** 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
****-you suicide letter.

I just say scew'em. I am going to continue using Applet. It is wrong
to kowtow to such idiocy.
 
R

Roedy Green

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.
 
R

Roedy Green

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.
 
N

Nigel Wade

Rhino said:
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?

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?).
 
M

Mickey Segal

Roedy Green said:
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.
 
D

Daniel Dyer

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.

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.
 
D

Daniel Dyer

<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
****-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.
 
D

Daniel Dyer

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.

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.
 
R

Roedy Green

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" />
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,734
Messages
2,569,441
Members
44,832
Latest member
GlennSmall

Latest Threads

Top