<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Where are the Java Applets?</title>
	<atom:link href="http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/feed/" rel="self" type="application/rss+xml" />
	<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/</link>
	<description>Observations on the puzzling nature of people and events</description>
	<lastBuildDate>Sat, 31 Jan 2009 06:16:15 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mike</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-21</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Thu, 26 Jun 2008 13:02:33 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-21</guid>
		<description>I&#039;d like to post, what I consider, good examples of applets.  These are not full fledged applications running in a browser, but things you may do with Javascript, Ajax, or Flash.

Here is one:

http://radar.weather.gov/radar.php?rid=BOX&amp;product=N0Z&amp;overlay=11101111&amp;loop=yes</description>
		<content:encoded><![CDATA[<p>I&#8217;d like to post, what I consider, good examples of applets.  These are not full fledged applications running in a browser, but things you may do with Javascript, Ajax, or Flash.</p>
<p>Here is one:</p>
<p><a href="http://radar.weather.gov/radar.php?rid=BOX&amp;product=N0Z&amp;overlay=11101111&amp;loop=yes" rel="nofollow">http://radar.weather.gov/radar.php?rid=BOX&amp;product=N0Z&amp;overlay=11101111&amp;loop=yes</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-18</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Tue, 15 Apr 2008 19:40:59 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-18</guid>
		<description>Excellent post. I was actually thinking about this the other day, when looking into a tutorial on browser based games. The tutorial I was viewing was educating the user through applets. A lot of the things mentioned seemed to be well suited to applets, but I don&#039;t really see applets outside of the old Yahoo Games website, and those often crash my browser. Still, I think it would be interesting if people started working with applets more. Do new versions of java  increase applet performance?

As for Swing...I avoid it at all costs.</description>
		<content:encoded><![CDATA[<p>Excellent post. I was actually thinking about this the other day, when looking into a tutorial on browser based games. The tutorial I was viewing was educating the user through applets. A lot of the things mentioned seemed to be well suited to applets, but I don&#8217;t really see applets outside of the old Yahoo Games website, and those often crash my browser. Still, I think it would be interesting if people started working with applets more. Do new versions of java  increase applet performance?</p>
<p>As for Swing&#8230;I avoid it at all costs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moritz Petersen &#187; Blog Archive &#187; Java Applets</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-17</link>
		<dc:creator>Moritz Petersen &#187; Blog Archive &#187; Java Applets</dc:creator>
		<pubDate>Thu, 10 Apr 2008 07:50:53 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-17</guid>
		<description>[...] was even more surprised, when I read about applets in very recent blog posts at dzone and Mikes blog. Although I don&#8217;t believe that Java applets will have a popular comeback, I would [...]</description>
		<content:encoded><![CDATA[<p>[...] was even more surprised, when I read about applets in very recent blog posts at dzone and Mikes blog. Although I don&#8217;t believe that Java applets will have a popular comeback, I would [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: { heli’s code } &#187; Blog Archive &#187; Java Applets! Dead? Rockin?</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-16</link>
		<dc:creator>{ heli’s code } &#187; Blog Archive &#187; Java Applets! Dead? Rockin?</dc:creator>
		<pubDate>Thu, 10 Apr 2008 07:04:43 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-16</guid>
		<description>[...] Where are the Java Applets [...]</description>
		<content:encoded><![CDATA[<p>[...] Where are the Java Applets [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Dee</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-15</link>
		<dc:creator>Mike Dee</dc:creator>
		<pubDate>Thu, 10 Apr 2008 02:45:35 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-15</guid>
		<description>Good questions and I don&#039;t have specific answers to each question.

Obviously a JFrame is useful in an applet.  But I don&#039;t believe heavy use of Swing components as appropriate in an applet.  In other words, taking a full fledged Java application and plopping it in the middle of a web page is not a good idea.  I&#039;ve seen it.  When done, it is impressive.  But I don&#039;t see the point.

Just because something is there (a feature of the language), doesn&#039;t mean it should be used.  The environment must be considered.  Take the EJB and servlet examples I provided.  Yes Java can do threads.  Use of thread in an EJB is simply not appropriate.

Each case in which an applet is used is different. The situation must be considered.  Maybe an architecture change is the solution.  Or maybe an applet is simply not appropriate.

Everyone wants their web app to be more interactive - like a desktop app.  Maybe current browsers simply can&#039;t accomodate that.</description>
		<content:encoded><![CDATA[<p>Good questions and I don&#8217;t have specific answers to each question.</p>
<p>Obviously a JFrame is useful in an applet.  But I don&#8217;t believe heavy use of Swing components as appropriate in an applet.  In other words, taking a full fledged Java application and plopping it in the middle of a web page is not a good idea.  I&#8217;ve seen it.  When done, it is impressive.  But I don&#8217;t see the point.</p>
<p>Just because something is there (a feature of the language), doesn&#8217;t mean it should be used.  The environment must be considered.  Take the EJB and servlet examples I provided.  Yes Java can do threads.  Use of thread in an EJB is simply not appropriate.</p>
<p>Each case in which an applet is used is different. The situation must be considered.  Maybe an architecture change is the solution.  Or maybe an applet is simply not appropriate.</p>
<p>Everyone wants their web app to be more interactive &#8211; like a desktop app.  Maybe current browsers simply can&#8217;t accomodate that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-14</link>
		<dc:creator>Ian</dc:creator>
		<pubDate>Wed, 09 Apr 2008 23:37:02 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-14</guid>
		<description>Yeah, Sorry. I just don&#039;t think Applets should be used.

They have a (very) slow start-up (JVM initialisation) time and at best mediocre browser support.

I&#039;ve implemented Applets before and had no-end of compatibility issues between *(sub) versions* of Java - let-alone different OS&#039;s.

We switched to Flash and it was about 30% quicker to develop in and compatible with all browsers we tested it on and our clients tested it on. Comparatively, it was a seamless experience.

I&#039;ll never use Applets again.</description>
		<content:encoded><![CDATA[<p>Yeah, Sorry. I just don&#8217;t think Applets should be used.</p>
<p>They have a (very) slow start-up (JVM initialisation) time and at best mediocre browser support.</p>
<p>I&#8217;ve implemented Applets before and had no-end of compatibility issues between *(sub) versions* of Java &#8211; let-alone different OS&#8217;s.</p>
<p>We switched to Flash and it was about 30% quicker to develop in and compatible with all browsers we tested it on and our clients tested it on. Comparatively, it was a seamless experience.</p>
<p>I&#8217;ll never use Applets again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PermaGen</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-13</link>
		<dc:creator>PermaGen</dc:creator>
		<pubDate>Wed, 09 Apr 2008 18:56:17 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-13</guid>
		<description>I agrre with a lot what you said but also disagree on the point that one shouldn&#039;t use Swing.

If one doesn&#039;t use Swing once can completely skip Applets and directly use Ajax (unless security is paramount).

If you know what happens in the Applet lifecycle please let everybody know.

1. How exaclty are classes loaded in an Applet (special Classloader). What effect does it have on the lifecycle?
2. What happens when I push the reload button? We all know that stop/destroy/init/start are called. But why break threads sometimes? What happens to Panels one embedded in JApplets contentpane?
3. Why is there no best practices for Applets that state what you claim...don&#039;t use Swing, don&#039;t use Threads, etc. Why is JApplet there in the first place if Swing is forbidden? 
4. Could one construct a special framework that automatically removes the complete Applet (objects, class-objects and the classloader itself) from memory when destroy is called()?

etc.etc.etc.</description>
		<content:encoded><![CDATA[<p>I agrre with a lot what you said but also disagree on the point that one shouldn&#8217;t use Swing.</p>
<p>If one doesn&#8217;t use Swing once can completely skip Applets and directly use Ajax (unless security is paramount).</p>
<p>If you know what happens in the Applet lifecycle please let everybody know.</p>
<p>1. How exaclty are classes loaded in an Applet (special Classloader). What effect does it have on the lifecycle?<br />
2. What happens when I push the reload button? We all know that stop/destroy/init/start are called. But why break threads sometimes? What happens to Panels one embedded in JApplets contentpane?<br />
3. Why is there no best practices for Applets that state what you claim&#8230;don&#8217;t use Swing, don&#8217;t use Threads, etc. Why is JApplet there in the first place if Swing is forbidden?<br />
4. Could one construct a special framework that automatically removes the complete Applet (objects, class-objects and the classloader itself) from memory when destroy is called()?</p>
<p>etc.etc.etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Dee</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-12</link>
		<dc:creator>Mike Dee</dc:creator>
		<pubDate>Wed, 09 Apr 2008 12:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-12</guid>
		<description>Some of the behaviors you mention are well understood- if not well documented. Reloading a page, for example, is well understood.

Some of the problems you mention demonstrate a misuse of Java in an applet. I talked about this in the article. JTextPanes probably should not be used in an applet. The browser already provides a form field.  One could write a Java applet that easily communicates with form fields on a page.  Communications between a page, its elements, and a Java applet is well documented and has been for a long time.

Think of the browser as your operating system. Java, as a language, provides more capabilities than the browser allows.  As a programmer or designer, it is your job to figure out how to work well within the environment.

The problem of Java providing more capabilities than its environment exists in J2EE too. In servlets, the use of member fields is problematic.  A servlet must be written with the knowledge that its method to process a request is invoked as thread and use of member fields has side effects that are not prevented by the Java language.   Similarly, EJBs should not use threads. The container creates a new EJB for each thread, thus providing a better alternative to threads. Use of threads in an EJB is simply misuse of threads in that environment.  The desire to use threads in an EJB often times indicates the need for JMS.

Also, many of the problems you mention exist for other browser plugins and techniques. For example, how does Flash work with the browser&#039;s back and forward buttons?  Frames have problems too (including IFRAMES) as well as AJAX and techniques that use heavy Javascript. No technology or method is foolproof running in a browser.  And I don&#039;t see that as an argument against Java applets, especially when it offer so many advantages.</description>
		<content:encoded><![CDATA[<p>Some of the behaviors you mention are well understood- if not well documented. Reloading a page, for example, is well understood.</p>
<p>Some of the problems you mention demonstrate a misuse of Java in an applet. I talked about this in the article. JTextPanes probably should not be used in an applet. The browser already provides a form field.  One could write a Java applet that easily communicates with form fields on a page.  Communications between a page, its elements, and a Java applet is well documented and has been for a long time.</p>
<p>Think of the browser as your operating system. Java, as a language, provides more capabilities than the browser allows.  As a programmer or designer, it is your job to figure out how to work well within the environment.</p>
<p>The problem of Java providing more capabilities than its environment exists in J2EE too. In servlets, the use of member fields is problematic.  A servlet must be written with the knowledge that its method to process a request is invoked as thread and use of member fields has side effects that are not prevented by the Java language.   Similarly, EJBs should not use threads. The container creates a new EJB for each thread, thus providing a better alternative to threads. Use of threads in an EJB is simply misuse of threads in that environment.  The desire to use threads in an EJB often times indicates the need for JMS.</p>
<p>Also, many of the problems you mention exist for other browser plugins and techniques. For example, how does Flash work with the browser&#8217;s back and forward buttons?  Frames have problems too (including IFRAMES) as well as AJAX and techniques that use heavy Javascript. No technology or method is foolproof running in a browser.  And I don&#8217;t see that as an argument against Java applets, especially when it offer so many advantages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PermaGen</title>
		<link>http://mdichi.wordpress.com/2008/04/09/where-are-the-java-applets/#comment-9</link>
		<dc:creator>PermaGen</dc:creator>
		<pubDate>Wed, 09 Apr 2008 09:27:55 +0000</pubDate>
		<guid isPermaLink="false">http://mdichi.wordpress.com/?p=11#comment-9</guid>
		<description>Is there any document explaining what happens when an applet is started? Is a special Classloader used? What will happen if I close the browser page or press the browsers reload button?

In case I place a JPanel into the JApplet...what will happen to it after a reload? What will happen to static Threads after a reload...will they be interrupted? Will JTextPanes work after a reload?

etc...the complete technology behind Applets is documented nowhere. There are no best practices how to write an Applet. How to write for example an applet that survives a reload. How to correctly dispose of an Applet, etc.</description>
		<content:encoded><![CDATA[<p>Is there any document explaining what happens when an applet is started? Is a special Classloader used? What will happen if I close the browser page or press the browsers reload button?</p>
<p>In case I place a JPanel into the JApplet&#8230;what will happen to it after a reload? What will happen to static Threads after a reload&#8230;will they be interrupted? Will JTextPanes work after a reload?</p>
<p>etc&#8230;the complete technology behind Applets is documented nowhere. There are no best practices how to write an Applet. How to write for example an applet that survives a reload. How to correctly dispose of an Applet, etc.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
