I like Applets better than Webstart these days, mostly because of Plugin2. However, to give some contrast:
1) They are Embedded, which in turn leads to a much smoother and better user experience, the applet simply runs in the same window, instead of the user having to click a link and waiting for a java web start box to load before the application starts.
True if they have Plugin2, which requires 1.6 (update 10?). The majority of people still have 1.5 (since thats what vendors like Dell are shipping on their bog standard boxes). If you don't have Plugin2 your applet is going to hang the browser for VM start up time, the applet may or may not start cleanly, and you're going to spend a lot of time with bugs that come down to browser caches.
2) Many people are still unfamiliar with jws and are more familiar with applets.
Most people are used to however downloading an exe and running it. Not that bigger leap from webstart. Most people are familiar with applets - but not in a good way. They're associated with browser hangs and failures.
3) They allow communication with the web page they are on through live connect, you can perform many useful tasks that simply wouldn't be possible with jws.
Agreed. There's a lot of equivilents in the Java world but alot require signing still.
5) They can double as java web start applications without any code change, simple create a jnlp.
But why would you do that if Java WebStart is so bad and you have the option of embedding so cleanly in a web page?
6) They can be dragged out from the web page to become an application like java web start.
... if you have plugin2.
7) JWS has to get extra permission from some firewalls to run which further makes the user experience worse.
Never seen this or heard of it. Only reason I could think is if you're hosting the JNLP on a non-port 80 webserver. If thats the case the applet hosted there will have the same issue.
8 ) JWS installs entries of applications on your computer, this is not usually what users usually expect of web applications.
Agreed. However, some people see that as a good thing, i.e. offline running works without a hitch.
9) the extra dialogs that users need to accept or view to run a jws application needs can be avoided in applets, so your application starts faster and more smoothly.
10) Better Legacy Support, Applets have been with Java since its early days, so are more likely to be available and work on old machines than java web start. JWS was only introduced with Java 1.4
Thats not really true. If they have an old version of Java (<1.4) then Applets will look and behave very badly. You'll have to do a bunch of extra work to get them to work well. Given the high penetration of 1.4 now this isn't really a good argument.
11) applets don't have any server requirements, while jnlp files need the mime type to be correctly registered otherwise they won't work, this usually limits where they can be used as many free hosts don't support jnlp.
Also a bit weak. If you're serious about games development using free hosting that is so limited it doesn't support JNLP (or allow configuration of that support) is a bit of a bad idea. Especially, given there are plenty of free hosting solutions that do support JNLP.
Applets are bad in certain cases because:
1) Behavior is undefined. You might get the sub1.4 applet stuff which is awful, the 1.4->1.6 stuff which is bad at startup but runs ok, or the 1.6+ Plugin2 which is just the dogs balls (a good thing in the UK
). This means at best you're writing for two platforms at the moment (assuming you're willing to lose pre 1.4 players).
2) For good user experience (comparable with Flash) Plugin2 is required or a bunch of additional work is required (could someone standardise these scripts and make it possible for everyone to use?). Plugin2 isn't everywhere - or infact very many places yet.
3) Browser caches are still causing problems. In my current Applet project I've reverted to putting version identifer on my JARs to ensure they don't get cached somewhere along the way.
4) Using natives in Applets still looks odd. That security dialog looks way more bizarre to someone who is expecting the embedded applet to work like flash than it does to someone that already has been primed that some different is happening (Java Splash Screen, Webstart....)
Don't get me wrong, I am infact using applets for my current project. I like the way they feel and I see a bright future. However, I don't think it's just as clean cut as you're trying to make it sound. They have plenty of issues in certain use cases just the same way Java Webstart does.
I'd say that view is probably based on the old applet plugin.
Which is of course what the majority of people still have.