<?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/"
		>
<channel>
	<title>Comments on: Your application will be with you momentarily</title>
	<atom:link href="http://www.pushing-pixels.org/?feed=rss2&#038;p=1643" rel="self" type="application/rss+xml" />
	<link>http://www.pushing-pixels.org/?p=1643</link>
	<description>Leaving no pixel behind</description>
	<lastBuildDate>Wed, 01 Sep 2010 04:26:41 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: paulo</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11357</link>
		<dc:creator>paulo</dc:creator>
		<pubDate>Tue, 23 Feb 2010 01:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11357</guid>
		<description>Also it&#039;s not hard at all to make a ui without threading violations.
The strategy i use, is to start the application on the EDT, and only go out of it for long running tasks. Those tasks follow the model of rendevous.

For example i have a custom list (at http://code.google.com/p/bookjar-utils/)
I simplified (limited) the interface, and disallowed a list rendering (for my custom ImageList), but exported a cellrenderer like interface. Only instead of returning a image for the component, i &quot;requested&quot; it and had a function to &quot;return&quot; a image (to the EDT). Basically a not hidden mediatracker for a little scability.

Been using it to display up to 2000 images (only 20 at one time ofcourse).
The api suffers a little, but i think that concurrency can&#039;t be transparent. People selling you that except a the very most simple level (unrolling for loops) are full of BS.</description>
		<content:encoded><![CDATA[<p>Also it&#8217;s not hard at all to make a ui without threading violations.<br />
The strategy i use, is to start the application on the EDT, and only go out of it for long running tasks. Those tasks follow the model of rendevous.</p>
<p>For example i have a custom list (at <a href="http://code.google.com/p/bookjar-utils/)" rel="nofollow">http://code.google.com/p/bookjar-utils/)</a><br />
I simplified (limited) the interface, and disallowed a list rendering (for my custom ImageList), but exported a cellrenderer like interface. Only instead of returning a image for the component, i &#8220;requested&#8221; it and had a function to &#8220;return&#8221; a image (to the EDT). Basically a not hidden mediatracker for a little scability.</p>
<p>Been using it to display up to 2000 images (only 20 at one time ofcourse).<br />
The api suffers a little, but i think that concurrency can&#8217;t be transparent. People selling you that except a the very most simple level (unrolling for loops) are full of BS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kirill Grouchnikov</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11356</link>
		<dc:creator>Kirill Grouchnikov</dc:creator>
		<pubDate>Tue, 23 Feb 2010 01:08:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11356</guid>
		<description>Paulo, this question should be directed to the project forums and mailing lists, since it has not much to do with this specific entry.

Thanks, Kirill</description>
		<content:encoded><![CDATA[<p>Paulo, this question should be directed to the project forums and mailing lists, since it has not much to do with this specific entry.</p>
<p>Thanks, Kirill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: paulo</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11355</link>
		<dc:creator>paulo</dc:creator>
		<pubDate>Tue, 23 Feb 2010 01:02:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11355</guid>
		<description>A question. I&#039;ve been using http://code.google.com/p/gtkjfilechooser/ in linux for some time. as it is much nicer than the normal swing jfilechooser (if a little slow). I would like to try it on other lookandfeels than gtk (that is slow also, just a btw).

However it looks like substance specifically enforces not replacing the UI layer. Any way for me to get this without suffering?

I&#039;m that weird guy that is replacing the look and feel at runtime (never did find that list error too. It was only in the windows laf i think, since i&#039;ve not seen it since changing to linux)</description>
		<content:encoded><![CDATA[<p>A question. I&#8217;ve been using <a href="http://code.google.com/p/gtkjfilechooser/" rel="nofollow">http://code.google.com/p/gtkjfilechooser/</a> in linux for some time. as it is much nicer than the normal swing jfilechooser (if a little slow). I would like to try it on other lookandfeels than gtk (that is slow also, just a btw).</p>
<p>However it looks like substance specifically enforces not replacing the UI layer. Any way for me to get this without suffering?</p>
<p>I&#8217;m that weird guy that is replacing the look and feel at runtime (never did find that list error too. It was only in the windows laf i think, since i&#8217;ve not seen it since changing to linux)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aleix</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11347</link>
		<dc:creator>Aleix</dc:creator>
		<pubDate>Sat, 20 Feb 2010 19:07:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11347</guid>
		<description>@Gili:

  You are right, I&#039;m sad coz I love swing programming you can do everything you need with it compared to .net, QT and GTK !  Dou you know about apache pivot http://pivot.apache.org it looks promising, I&#039;ve been playing a bit with it and the only complain I have is not having a GUI designer like Netbeans matisse ! (I&#039;m not a web guy so I don&#039;t feel confortable with this html,javascript,xml messy world :-) )</description>
		<content:encoded><![CDATA[<p>@Gili:</p>
<p>  You are right, I&#8217;m sad coz I love swing programming you can do everything you need with it compared to .net, QT and GTK !  Dou you know about apache pivot <a href="http://pivot.apache.org" rel="nofollow">http://pivot.apache.org</a> it looks promising, I&#8217;ve been playing a bit with it and the only complain I have is not having a GUI designer like Netbeans matisse ! (I&#8217;m not a web guy so I don&#8217;t feel confortable with this html,javascript,xml messy world :-) )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11342</link>
		<dc:creator>Tony</dc:creator>
		<pubDate>Fri, 19 Feb 2010 16:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11342</guid>
		<description>Hi Kirill,
What you say is true but only happens over time. Engineering Leads and others get pressed for time then what you say gets thrown out of the window.
Engineering a fast usable app has to be a passion of all involved otherwise it never happens at least not the first time or even the second. Your company and engineers have to be behind it all the way.

I have used all sorts of skins over the years and other inovations and no one gets it right the first time. It takes determination and heart.

Best Regards,
Tony Anecito
Founder,
MyUniPortal
http://www.myuniportal.com</description>
		<content:encoded><![CDATA[<p>Hi Kirill,<br />
What you say is true but only happens over time. Engineering Leads and others get pressed for time then what you say gets thrown out of the window.<br />
Engineering a fast usable app has to be a passion of all involved otherwise it never happens at least not the first time or even the second. Your company and engineers have to be behind it all the way.</p>
<p>I have used all sorts of skins over the years and other inovations and no one gets it right the first time. It takes determination and heart.</p>
<p>Best Regards,<br />
Tony Anecito<br />
Founder,<br />
MyUniPortal<br />
<a href="http://www.myuniportal.com" rel="nofollow">http://www.myuniportal.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gili</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11341</link>
		<dc:creator>Gili</dc:creator>
		<pubDate>Fri, 19 Feb 2010 14:07:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11341</guid>
		<description>Something&#039;s got to change.

Either Sun needs to open-source Swing (not going to happen) or someone needs to build a Swing-replacement that *is* open-sourced and sync it into the JDK on a regular basis.

Desktop Java will not happen until we build our applications on top of a live API that is being continuously improved and refactored. I would love to keep on developing on top of Swing but it&#039;s essentially dead. Not &quot;stable&quot;. Dead. This needs to change.</description>
		<content:encoded><![CDATA[<p>Something&#8217;s got to change.</p>
<p>Either Sun needs to open-source Swing (not going to happen) or someone needs to build a Swing-replacement that *is* open-sourced and sync it into the JDK on a regular basis.</p>
<p>Desktop Java will not happen until we build our applications on top of a live API that is being continuously improved and refactored. I would love to keep on developing on top of Swing but it&#8217;s essentially dead. Not &#8220;stable&#8221;. Dead. This needs to change.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aleix</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11340</link>
		<dc:creator>Aleix</dc:creator>
		<pubDate>Fri, 19 Feb 2010 11:10:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11340</guid>
		<description>Hi kirill, thanks a lot for your hard work, however I got a problem with EDT and the 2007 rule that afects non showing components:
I got a Waiting message that is showing when I click a menu option and before displaying an internalFrame, this situation compains about EDT rule, BUT if I obey EDT everybody nows that repaintManager of internalFrames are UGLY and application gets unresponsive. I don&#039;t know any way to solve this situation..
Anybody knows ? (loading models asyncronoulsy is not an option for me as asynchronous code is messy to read and mantain). I&#039;m using Foxtrot synchronous threeading solution.

Thanks again kirill and all Client java guys !</description>
		<content:encoded><![CDATA[<p>Hi kirill, thanks a lot for your hard work, however I got a problem with EDT and the 2007 rule that afects non showing components:<br />
I got a Waiting message that is showing when I click a menu option and before displaying an internalFrame, this situation compains about EDT rule, BUT if I obey EDT everybody nows that repaintManager of internalFrames are UGLY and application gets unresponsive. I don&#8217;t know any way to solve this situation..<br />
Anybody knows ? (loading models asyncronoulsy is not an option for me as asynchronous code is messy to read and mantain). I&#8217;m using Foxtrot synchronous threeading solution.</p>
<p>Thanks again kirill and all Client java guys !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brian_fr</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11329</link>
		<dc:creator>brian_fr</dc:creator>
		<pubDate>Thu, 18 Feb 2010 10:35:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11329</guid>
		<description>Thanks, I think the problem is more on the UI part that should not decide to run in EDT or not. It should always run in the calling thread.

&quot;...the initialization of the Swing UI could trigger something to run on the event-dispatch thread afterward, because the component/UI expects to run everything on the event-dispatch thread...&quot;

However, I use this trick for a while (multithreading UI construction) and it allows smooth loading of the UI. Create a frame with a load of components can be really slow during JVM startup (up to 10 seconds). So imagine a dozen of window that loads simultaneously... If you are concerned by user experience (and i know this is the case !) you can not accept to freeze the UI, even for one second.</description>
		<content:encoded><![CDATA[<p>Thanks, I think the problem is more on the UI part that should not decide to run in EDT or not. It should always run in the calling thread.</p>
<p>&#8220;&#8230;the initialization of the Swing UI could trigger something to run on the event-dispatch thread afterward, because the component/UI expects to run everything on the event-dispatch thread&#8230;&#8221;</p>
<p>However, I use this trick for a while (multithreading UI construction) and it allows smooth loading of the UI. Create a frame with a load of components can be really slow during JVM startup (up to 10 seconds). So imagine a dozen of window that loads simultaneously&#8230; If you are concerned by user experience (and i know this is the case !) you can not accept to freeze the UI, even for one second.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: João E. Rocha</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11327</link>
		<dc:creator>João E. Rocha</dc:creator>
		<pubDate>Wed, 17 Feb 2010 22:26:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11327</guid>
		<description>I always tried to follow the threading rules of Swing in my applications, but the first time I tried Substance 5+ with it, i got a LOT of EDT violations that I never expected. 
The fact is that it is too hard to build up UIs with threading issues in mind all the time, and ocasionally you WILL end up doing something you should not do, and I&#039;m glad that Substance does warn me about these violations that the core Swing/AWT should ban from the beginning.

And there is nothing better than SwingWorkers + &lt;a href=&quot;http://weblogs.java.net/blog/2008/07/13/jxlayer-30-lockableui&quot; rel=&quot;nofollow&quot;&gt;JXLayer&#039;s LockableUI&lt;/a&gt; to perform lenghty tasks providing an elegant feedback to endusers without violating EDT threading rules!  =)</description>
		<content:encoded><![CDATA[<p>I always tried to follow the threading rules of Swing in my applications, but the first time I tried Substance 5+ with it, i got a LOT of EDT violations that I never expected.<br />
The fact is that it is too hard to build up UIs with threading issues in mind all the time, and ocasionally you WILL end up doing something you should not do, and I&#8217;m glad that Substance does warn me about these violations that the core Swing/AWT should ban from the beginning.</p>
<p>And there is nothing better than SwingWorkers + <a href="http://weblogs.java.net/blog/2008/07/13/jxlayer-30-lockableui" rel="nofollow">JXLayer&#8217;s LockableUI</a> to perform lenghty tasks providing an elegant feedback to endusers without violating EDT threading rules!  =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kirill Grouchnikov</title>
		<link>http://www.pushing-pixels.org/?p=1643&#038;cpage=1#comment-11324</link>
		<dc:creator>Kirill Grouchnikov</dc:creator>
		<pubDate>Wed, 17 Feb 2010 19:16:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pushing-pixels.org/?p=1643#comment-11324</guid>
		<description>Brian, 

If you are referring to the &lt;a href=&quot;http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html&quot; rel=&quot;nofollow&quot;&gt;2000 article&lt;/a&gt; on the Swing threading, it is wrong - as explained in &lt;a href=&quot;http://www.javaworld.com/javaworld/jw-08-2007/jw-08-swingthreading.html?page=5&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt; from 2007. 

Thanks
Kirill</description>
		<content:encoded><![CDATA[<p>Brian, </p>
<p>If you are referring to the <a href="http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html" rel="nofollow">2000 article</a> on the Swing threading, it is wrong &#8211; as explained in <a href="http://www.javaworld.com/javaworld/jw-08-2007/jw-08-swingthreading.html?page=5" rel="nofollow">this article</a> from 2007. </p>
<p>Thanks<br />
Kirill</p>
]]></content:encoded>
	</item>
</channel>
</rss>
