<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pathfinder Development &#187; Technologies and Platforms</title>
	<atom:link href="http://www.pathf.com/blogs/category/techdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pathf.com/blogs</link>
	<description>Running commentary about agile development, user experience design and Ajax.</description>
	<lastBuildDate>Thu, 11 Mar 2010 04:11:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Tiling a 2-D Polygon using C# GDI+</title>
		<link>http://www.pathf.com/blogs/2010/02/tiling-2d-polygon-gdi/</link>
		<comments>http://www.pathf.com/blogs/2010/02/tiling-2d-polygon-gdi/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:14:33 +0000</pubDate>
		<dc:creator>Karthik Muthupalaniappan</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Drawing]]></category>
		<category><![CDATA[GDI+]]></category>
		<category><![CDATA[Window Forms Development]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4781</guid>
		<description><![CDATA[One of the most challenging problems I came across working on a .NET PDF Annotator and Editor application was to tile a 2-D polygon and also accurately determine the number of tiles that fill the surface of the polygon.  The tiling part was not as much of a challenge as the counting part. The tiled [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/tiling-2d-polygon-gdi/">Tiling a 2-D Polygon using C# GDI+</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/07/eyespot_ajax_ap/' rel='bookmark' title='Permanent Link: Eyespot &#8211; AJAX App for Video Editing'>Eyespot &#8211; AJAX App for Video Editing</a></li><li><a href='http://www.pathf.com/blogs/2008/07/linq-to-my-domain/' rel='bookmark' title='Permanent Link: LINQ to My Domain'>LINQ to My Domain</a></li><li><a href='http://www.pathf.com/blogs/2007/01/how_to_really_d/' rel='bookmark' title='Permanent Link: How to REALLY do Page Preview in Java with Embedded HTML Rendering'>How to REALLY do Page Preview in Java with Embedded HTML Rendering</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div id="attachment_4787" class="wp-caption alignnone" style="width: 543px"><img class="size-full wp-image-4787" title="Tiling a Polygon" src="http://www.pathf.com/blogs/wp-content/uploads/2010/02/Tiling-Polygon.png" alt="Tiling a Polygon" width="533" height="388" /><p class="wp-caption-text">Tiling a Polygon</p></div>
<p>One of the most challenging problems I came across working on a <a href="http://www.pathf.com/showcase/success-stories/pdf-annotation-software/" rel="nofollow"  target="_blank">.NET PDF Annotator and Editor application</a> was to tile a 2-D polygon and also accurately determine the number of tiles that fill the surface of the polygon.  The tiling part was not as much of a challenge as the counting part. The tiled polygon was to be rendered on a PDF document since the application in question is a PDF Annotating and Editing tool. We looked for anything the third party .NET PDF rendering/manipulation API that was used could provide for the tile rendering but there was nothing unfortunately.<br />
<span id="more-4781"></span><br />
So we set out to use <a href="http://msdn.microsoft.com/en-us/library/ms533798%28VS.85%29.aspx" rel="nofollow"  target="_blank">C#'s native GDI+ library</a> to render the tiles for the polygon.  After trying out different approaches to accomplish the rendering of the tiles, we discovered the one that would work best. The idea was simple. Every 2-D shape on the drawing surface has a bounding rectangle that encloses the shape. Starting from the top left bounding point of the rectangle, iteratively render a rectangle (tile with whatever length and width) across the X axis until the right most edge of the rectangle and this iteration needs to happen over the Y-axis (not sure if I explained clearly enough <img src='http://www.pathf.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .  So now we have rectangular tiles laid out across the bounding rectangle for the polygon. GDI+ gives us a clip method that allows us to clip the rendering surface to a specific graphics path or region. Using the clip method, clip the drawing surface to be the graphics path for just the Polygon so that only tiles within the polygon's graphics path get rendered on the screen. We could apply other transformations to the rendered tiles like offseting, rotation or a gap between each tile.</p>
<p>Coming up with the most efficient way to count the number of tiles (including partial tiles) was a little trickier than rendering the tiles.  It turned out that the ideal approach was to essentially count each tile as it was drawn and checking whether the tile was partially or fully part of the polygon's graphics path/region. So, there is this method <a href="http://msdn.microsoft.com/en-us/library/system.drawing.region.isvisible%28VS.71%29.aspx" rel="nofollow"  target="_blank">Region.IsVisible</a> that lets you test whether a rectangle is partially or fully contained within a graphics region. During the rendering of each rectangular tile, the method was used to check whether the tile was going to be part of the region associated with the polygon and was counted if it was going to be. Even though, this was the most efficient solution for the problem, we did nt see 100% accuracy sometimes when rotation transformation was applied to the tiles. Still havent found an answer to this anomaly.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/tiling-2d-polygon-gdi/">Tiling a 2-D Polygon using C# GDI+</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/07/eyespot_ajax_ap/' rel='bookmark' title='Permanent Link: Eyespot &#8211; AJAX App for Video Editing'>Eyespot &#8211; AJAX App for Video Editing</a></li><li><a href='http://www.pathf.com/blogs/2008/07/linq-to-my-domain/' rel='bookmark' title='Permanent Link: LINQ to My Domain'>LINQ to My Domain</a></li><li><a href='http://www.pathf.com/blogs/2007/01/how_to_really_d/' rel='bookmark' title='Permanent Link: How to REALLY do Page Preview in Java with Embedded HTML Rendering'>How to REALLY do Page Preview in Java with Embedded HTML Rendering</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2010/02/tiling-2d-polygon-gdi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flashback: The iPhone and the Early Days of the Web</title>
		<link>http://www.pathf.com/blogs/2010/02/flashback-iphone-early-days-web/</link>
		<comments>http://www.pathf.com/blogs/2010/02/flashback-iphone-early-days-web/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 21:19:07 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Disruption]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[iPhone/Mobile]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Trends]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4774</guid>
		<description><![CDATA[
 photo credit: B Rosen
I remember my first real grownup and serious web project outside of the university environment. It was 1994 and SSL was a novelty. People were making insane predictions that one day up to $600 million (think Dr. Evil) worth of consumer goods would be sold on the web worldwide. In 2007, [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/flashback-iphone-early-days-web/">Flashback: The iPhone and the Early Days of the Web</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/12/ajax-and-browse/' rel='bookmark' title='Permanent Link: Ajax and Browsers: Recapitulating the Early Days of Personal Computers'>Ajax and Browsers: Recapitulating the Early Days of Personal Computers</a></li><li><a href='http://www.pathf.com/blogs/2008/10/will-q4-iphone-sales-surpass-expectations/' rel='bookmark' title='Permanent Link: Will Q4 iPhone Sales Surpass Expectations?'>Will Q4 iPhone Sales Surpass Expectations?</a></li><li><a href='http://www.pathf.com/blogs/2010/01/apples-earnings-call-enterprise-iphone-adoption-growth/' rel='bookmark' title='Permanent Link: Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth'>Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><a href="http://www.flickr.com/photos/82763263@N00/3681001732/" rel="nofollow" title="269/365 - why even have that deal?"  target="_blank"><img src="http://farm4.static.flickr.com/3590/3681001732_8ccd165965_m.jpg" border="0" alt="269/365 - why even have that deal?" /></a><br />
<small><a href="http://creativecommons.org/licenses/by-nd/2.0/" rel="nofollow" title="Attribution-NoDerivs License"  target="_blank"><img src="http://www.pathf.com/blogs/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" rel="nofollow"  target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/82763263@N00/3681001732/" rel="nofollow" title="B Rosen"  target="_blank">B Rosen</a></small></div>
<p>I remember my first real grownup and serious web project outside of the university environment. It was 1994 and SSL was a novelty. People were making insane predictions that one day up to $600 million (think Dr. Evil) worth of consumer goods would be sold on the web worldwide. In 2007, just <a href="http://www.emarketer.com/Reports/All/Emarketer_2000547.aspx" rel="nofollow"  target="_blank">Canadian B2C sales were US$12.9 Billion</a>.</p>
<p>Some folks, especially startups and smaller companies, saw the web as an opportunity to shake up the established order and establish a new sales channel or an entirely new business model. They invested what they could in building the first of what became known as e-commerce sites. Among established players, and some more conservative smaller players, there was initial hostility toward the new medium. When in 1994 I proposed to Ameritech (now part of SBC/AT&amp;T) that they bring their lucrative print yellowpages online, I was run out of Hoffman Estates on a rail.</p>
<p><span id="more-4774"></span></p>
<p>The con arguments ran as follows:</p>
<ol>
<li>Investing in the web will increase our IT costs and require us to support lots of new and different technologies.</li>
<li>It will spoil our existing business model.</li>
<li>The platform is unproven. We have a proven client/server (desktop, etc., etc.) solution which is far better than some primitive web site.</li>
</ol>
<p>These were all valid points. And if the web was just the idea of some crazed developer, then it could have been safely ignored.</p>
<p>But the web was being rapidly adopted by both consumers and businesses, knocking down barriers to entry wherever it went. The network effect was about to slap the entrenched players upside the head.</p>
<p>Now we're seeing much the same thing in the world of mobile, which right now means mostly iPhone but will at some point include more players such as Android and perhaps Blackberry devices. The same objections are being raised towards the iPhone -- more IT costs, spoils our business, unproven/not capable -- and the answer is still the same: if you ignore iPhone/mobile, then the network effect is going to knock you upside the head.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/flashback-iphone-early-days-web/">Flashback: The iPhone and the Early Days of the Web</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/12/ajax-and-browse/' rel='bookmark' title='Permanent Link: Ajax and Browsers: Recapitulating the Early Days of Personal Computers'>Ajax and Browsers: Recapitulating the Early Days of Personal Computers</a></li><li><a href='http://www.pathf.com/blogs/2008/10/will-q4-iphone-sales-surpass-expectations/' rel='bookmark' title='Permanent Link: Will Q4 iPhone Sales Surpass Expectations?'>Will Q4 iPhone Sales Surpass Expectations?</a></li><li><a href='http://www.pathf.com/blogs/2010/01/apples-earnings-call-enterprise-iphone-adoption-growth/' rel='bookmark' title='Permanent Link: Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth'>Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2010/02/flashback-iphone-early-days-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Slight Correction to using PureMVC with Vaadin</title>
		<link>http://www.pathf.com/blogs/2010/02/4701/</link>
		<comments>http://www.pathf.com/blogs/2010/02/4701/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 20:32:42 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[Vaadin]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4701</guid>
		<description><![CDATA[ photo credit: suki_fotografiert
 A while back I looked at the Vaadin Plugin and tried to make it work with the Multiton PureMVC. Back then I proposed the following code:
&#160;
public static ApplicationFacade getInstance&#40;&#41; &#123;
   if &#40;instance == null&#41; &#123;
     // nuke the multiton so we can do the grails [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/4701/">A Slight Correction to using PureMVC with Vaadin</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/08/making-vaadin-puremvc-grails-work/' rel='bookmark' title='Permanent Link: Making Vaadin, PureMVC and Grails Work Together'>Making Vaadin, PureMVC and Grails Work Together</a></li><li><a href='http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/' rel='bookmark' title='Permanent Link: Notification Testing with PureMVC and FlexUnit'>Notification Testing with PureMVC and FlexUnit</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style='float:right;padding:10px'><a href="http://www.flickr.com/photos/36423218@N05/4304040376/" rel="nofollow"  title="Bench Monday" target="_blank"><img src="http://farm5.static.flickr.com/4049/4304040376_ab19e8382a_m.jpg" alt="Bench Monday" border="0" /></a><br /><small><a href="http://creativecommons.org/licenses/by-nd/2.0/" rel="nofollow"  title="Attribution-NoDerivs License" target="_blank"><img src="http://www.pathf.com/blogs/wp-content/plugins/photo-dropper/images/cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" rel="nofollow"  target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/36423218@N05/4304040376/" rel="nofollow"  title="suki_fotografiert" target="_blank">suki_fotografiert</a></small></div>
<p> A while back <a href="http://www.pathf.com/blogs/2009/08/making-vaadin-puremvc-grails-work/comment-page-1/" taget="_blank">I looked at</a> the Vaadin Plugin and tried to make it work with the Multiton PureMVC. Back then I proposed the following code:</p>
<pre class="java">&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> ApplicationFacade getInstance<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
   <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>instance == <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
     <span style="color: #808080; font-style: italic;">// nuke the multiton so we can do the grails recompile</span>
     <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>ApplicationFacade.<span style="color: #006600;">hasCore</span><span style="color: #66cc66;">&#40;</span>CORE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
       ApplicationFacade.<span style="color: #006600;">removeCore</span><span style="color: #66cc66;">&#40;</span>CORE<span style="color: #66cc66;">&#41;</span>;
     <span style="color: #66cc66;">&#125;</span>
     instance = <span style="color: #000000; font-weight: bold;">new</span> ApplicationFacade<span style="color: #66cc66;">&#40;</span>CORE<span style="color: #66cc66;">&#41;</span>;
   <span style="color: #66cc66;">&#125;</span>
   <span style="color: #000000; font-weight: bold;">return</span> instance;
 <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>A little more noodling and you'll see that doesn't work. In a multi-session environment, each user will need his own core. Furthermore, inactive cores should be harvested, otherwise we will have a memory leak.<br />
<span id="more-4701"></span><br />
A little repair work and we have the following code, which does half the job:</p>
<pre class="java">&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> ApplicationFacade getInstance<span style="color: #66cc66;">&#40;</span>HttpSession session<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
   <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" rel="nofollow" ><span style="color: #aaaadd; font-weight: bold;">String</span></a> id = session.<span style="color: #006600;">getId</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
   <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>instance == <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
     <span style="color: #808080; font-style: italic;">// nuke the multiton so we can do the grails recompile</span>
     <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>ApplicationFacade.<span style="color: #006600;">hasCore</span><span style="color: #66cc66;">&#40;</span>CORE + <span style="color: #ff0000;">&quot;_&quot;</span> + id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
       ApplicationFacade.<span style="color: #006600;">removeCore</span><span style="color: #66cc66;">&#40;</span>CORE + <span style="color: #ff0000;">&quot;_&quot;</span> + id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
     <span style="color: #66cc66;">&#125;</span>
     instance = <span style="color: #000000; font-weight: bold;">new</span> ApplicationFacade<span style="color: #66cc66;">&#40;</span>CORE + <span style="color: #ff0000;">&quot;_&quot;</span> + id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
   <span style="color: #66cc66;">&#125;</span>
   <span style="color: #000000; font-weight: bold;">return</span> instance;
 <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>We get the session through the Vaadin <code>ApplicationContext</code> object. So, now we get a fresh core per session. But we still have the problem of leaking memory every time a session or Vaadin application is invalidated. Neither PureMVC nor Vaadin have any lifecycle methods to hook into for cleanup. In PureMVC that is understandable, since it isn't really designed for a web application context, but this seems a more serious oversight in Vaadin.</p>
<p>We can hook some PureMVC cleanup by storing the key as a session attribute and using a <code>HttpSessionListener</code> to clean it up. I'll test that out and blog about it in the future.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/02/4701/">A Slight Correction to using PureMVC with Vaadin</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/08/making-vaadin-puremvc-grails-work/' rel='bookmark' title='Permanent Link: Making Vaadin, PureMVC and Grails Work Together'>Making Vaadin, PureMVC and Grails Work Together</a></li><li><a href='http://www.pathf.com/blogs/2009/03/notification-testing-with-puremvc-and-flexunit/' rel='bookmark' title='Permanent Link: Notification Testing with PureMVC and FlexUnit'>Notification Testing with PureMVC and FlexUnit</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2010/02/4701/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sanity Amid the Tablet Hype</title>
		<link>http://www.pathf.com/blogs/2010/01/sanity-tablet-hype/</link>
		<comments>http://www.pathf.com/blogs/2010/01/sanity-tablet-hype/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 12:45:21 +0000</pubDate>
		<dc:creator>Bernhard Kappe</dc:creator>
				<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[apple tablet]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4544</guid>
		<description><![CDATA[
As January 26th, the rumored date for Apple's rumored tablet unveiling draws near, the hype and anti-hype keeps getting more and more over the top:
Five Ways Apple's Tablet May Change the World
The world doesn't need an Apple tablet, or any other
and the inevitable
3 Reasons A Microsoft-HP Tablet PC Would Trump Apple

If you want to keep [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/01/sanity-tablet-hype/">Sanity Amid the Tablet Hype</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2010/01/ipad-instant-reaction-apples-tablet-event/' rel='bookmark' title='Permanent Link: iPad: Instant Reaction to Apple&#8217;s Tablet Event'>iPad: Instant Reaction to Apple&#8217;s Tablet Event</a></li><li><a href='http://www.pathf.com/blogs/2010/02/big-space-laptops-iphones/' rel='bookmark' title='Permanent Link: iPad: How big is the space between laptops and iPhones?'>iPad: How big is the space between laptops and iPhones?</a></li><li><a href='http://www.pathf.com/blogs/2010/02/ipad-15-examples/' rel='bookmark' title='Permanent Link: Where the iPad will take over: 15 examples'>Where the iPad will take over: 15 examples</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="left" src="http://www.pathf.com/blogs/wp-content/uploads/2010/01/Rosetta_Stone.jpg" alt="Rosetta_Stone" title="Rosetta_Stone" width="250" /></p>
<p>As January 26th, the rumored date for Apple's rumored tablet unveiling draws near, the hype and anti-hype keeps getting more and more over the top:</p>
<p><strong><a href="http://www.businessweek.com/technology/content/dec2009/tc20091229_795528.htm" rel="nofollow" >Five Ways Apple's Tablet May Change the World</a></strong></p>
<p><strong><a href="http://www.betanews.com/joewilcox/article/The-world-doesnt-need-an-Apple-tablet-or-any-other/1262456214" rel="nofollow" >The world doesn't need an Apple tablet, or any other</a></strong></p>
<p>and the inevitable</p>
<p><strong><a href="http://www.crn.com/mobile/222200470">3 Reasons A Microsoft-HP Tablet PC Would Trump Apple<br />
</a></strong></p>
<p>If you want to keep up to date on the rumors, Gizmodo has a regularly updated run-down <strong><a href="http://gizmodo.com/5434566/the-exhaustive-guide-to-apple-tablet-rumors" rel="nofollow" >here.</a></strong></p>
<p>There are a couple of places that have more informed speculation and  insightful commentary - I'd recommend these three in particular:</p>
<p><a href="http://arstechnica.com/staff/fatbits/2010/01/antacid-tablet.ars" rel="nofollow" >Antacid Tablet</a> by ars technica's John Siracusa:</p>
<blockquote><p>... There's also the popular notion that Apple has to do something entirely new or totally amazing in order for the tablet to succeed. After all, tablets have been tried before, with dismal results. It seems absurd to some people that Apple can succeed simply by using existing technologies and software techniques in the right combination. And yet that's exactly what Apple has done with all of its most recent hit products—and what I predict Apple will do with the tablet. ...</p>
<p>So how will an Apple tablet distinguish itself without any headline technological marvels? It'll do so by leveraging all of Apple's strategic strengths. Now you're expecting me to say something about tight hardware/software integration, user experience, or "design," but I'm talking about even more obvious factors:</p>
<p>	•	Customers - Apple has over 100 million credit-card-bearing customer accounts thanks to the success of iTunes.<br />
	•	Developers - Over 125,000 developers have put over 100,000 iPhone OS applications up for sale on the App Store. Then there are the Mac OS X developers (though of course there's some overlap). Apple's got developers ready and able to come at the tablet from both directions.<br />
	•	Relationships - Apple has lucrative and successful relationships with the most important content owners in the music and movie businesses.</p>
<p>These are Apple's most important assets when it comes to the tablet, and you can bet your bottom dollar that Apple will lean heavily on them. This, combined with Apple's traditional strength in design and user experience, is what will distinguish Apple's tablet in the market. It will provide an easy way for people to find, purchase, and consume all kinds of media and applications right from the device. It's that simple.</p>
</blockquote>
<p><a href="http://www.suntimes.com/technology/ihnatko/1980077,ihnatko-apple-tablet-microsoft-010710.article" rel="nofollow" >Thoughts on what an Apple tablet should be – or not</a> by Andy Ihnatko  </p>
<blockquote><p>Apple always asks themselves simple and stupid questions like “How will this device be used?” and “Will this be used by human beings with, I mean, arms and hands and fingers?” and stuff like that.</p>
<p>The iPhone UI isn’t a desktop user interface where a pen takes the place of a mouse ... which is the model that previous smartphones followed. It was designed to be held in one hand and tapped with your thumb. Occasionally you’d use the index finger of the right hand to key things in.</p>
<p>You want to try to figure out the UI of the RAT? Go get yourself a comic book, or any other rectangle that measures roughly 10” on the diagonal. Hold it as though you’re reading what’s on the surface.</p>
<p>You see the problem? Your fingers get in the way. Think about how big that surface is, too. That’s a lot of acreage to scan, looking for the right buttons to push.</p>
<p>While you’ve got it in your hands, imagine that it’s a sheet of thin steel. That’s heavy, isn’t it? Hard to hold up for long periods of time.</p>
<p>Think about how a user interface would have to incorporate those observations. Now imagine that you’ve been doing this experiment for four years and not four minutes.</p>
<p>That’s a very long list of observations. If you didn’t come up with a workable solution, don’t worry: I think Apple has. </p></blockquote>
<p>and </p>
<p><a href="http://daringfireball.net/2009/12/the_tablet" rel="nofollow" >The Tablet</a> by Daring Fireball's John Gruber.</p>
<blockquote><p>... The way Apple made one device [the iPhone] that did a credible job of all these widely-varying features was by making it a general-purpose computer with minimal specificity in the hardware and maximal specificity in the software. And, now, through the App Store and third-party developers, it does much more: serving as everything from a game player to a medical device.</p>
<p>Do I think The Tablet is an e-reader? A video player? A web browser? A document viewer? It’s not a matter of or but rather and. I say it is all of these things. It’s a computer.</p>
<p>And so in answer to my central question, regarding why buy The Tablet if you already have an iPhone and a MacBook, my best guess is that ultimately, The Tablet is something you’ll buy instead of a MacBook.
</p></blockquote>
<p>Gruber's a bit more gung ho than Ihnatko or Siracusa, but they both make a pretty compelling case that something very interesting is about to happen over the next year.  </p>
<p><img class="left" src="http://cache.gawker.com/assets/images/4/2009/09/500x_apple-tablet-natgeo.jpg" alt="500x_apple-tablet-natgeo" title="500x_apple-tablet-natgeo" width="520" height="346" /></p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/01/sanity-tablet-hype/">Sanity Amid the Tablet Hype</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2010/01/ipad-instant-reaction-apples-tablet-event/' rel='bookmark' title='Permanent Link: iPad: Instant Reaction to Apple&#8217;s Tablet Event'>iPad: Instant Reaction to Apple&#8217;s Tablet Event</a></li><li><a href='http://www.pathf.com/blogs/2010/02/big-space-laptops-iphones/' rel='bookmark' title='Permanent Link: iPad: How big is the space between laptops and iPhones?'>iPad: How big is the space between laptops and iPhones?</a></li><li><a href='http://www.pathf.com/blogs/2010/02/ipad-15-examples/' rel='bookmark' title='Permanent Link: Where the iPad will take over: 15 examples'>Where the iPad will take over: 15 examples</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2010/01/sanity-tablet-hype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prediction: The Teens will be the Decade of Mobile</title>
		<link>http://www.pathf.com/blogs/2010/01/prediction-teens-decade-mobile/</link>
		<comments>http://www.pathf.com/blogs/2010/01/prediction-teens-decade-mobile/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 11:31:59 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Product Strategy]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[User Experience Design]]></category>
		<category><![CDATA[iPhone/Mobile]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Predictions]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4558</guid>
		<description><![CDATA[
 photo credit: matsuyuki
I've made my fair share of predictions, and this may seem to be a layup, but I think it's a prediction worth making anyway: mobile devices and applications will transform business and every day life in the next decade.
Why does this seem like such a layup? Well, look at the iPhone and [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/01/prediction-teens-decade-mobile/">Prediction: The Teens will be the Decade of Mobile</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/09/6_tips_for_desi/' rel='bookmark' title='Permanent Link: 6 Tips for Designing Mobile Interfaces'>6 Tips for Designing Mobile Interfaces</a></li><li><a href='http://www.pathf.com/blogs/2010/01/apples-earnings-call-enterprise-iphone-adoption-growth/' rel='bookmark' title='Permanent Link: Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth'>Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth</a></li><li><a href='http://www.pathf.com/blogs/2010/02/single-purpose-devices-flexible-platforms-functional-cases/' rel='bookmark' title='Permanent Link: Single Purpose Devices vs. Flexible Platforms and Functional Cases'>Single Purpose Devices vs. Flexible Platforms and Functional Cases</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><a href="http://www.flickr.com/photos/12173213@N00/4095386920/" rel="nofollow" title="Abacus, Filofax, wrong result"  target="_blank"><img src="http://farm3.static.flickr.com/2621/4095386920_3b4cd2184d_m.jpg" border="0" alt="Abacus, Filofax, wrong result" /></a><br />
<small><a href="http://creativecommons.org/licenses/by-sa/2.0/" rel="nofollow" title="Attribution-ShareAlike License"  target="_blank"><img src="http://www.pathf.com/blogs/wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" rel="nofollow"  target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/12173213@N00/4095386920/" rel="nofollow" title="matsuyuki"  target="_blank">matsuyuki</a></small></div>
<p>I've made my fair share of predictions, and this may seem to be a layup, but I think it's a prediction worth making anyway: mobile devices and applications will transform business and every day life in the next decade.</p>
<p>Why does this seem like such a layup? Well, look at the iPhone and the ecosystem of applications and companies springing up around it. Android and Blackberry are trying to jump in on the business and everybody and their brother is cooking up a <a href="http://www.nytimes.com/2010/01/09/technology/personaltech/09reader.html?hpw" rel="nofollow"  target="_blank">connected mobile device</a>. And yes, that's obvious. Mobile devices are going to increase in importance in 2010 and if you don't already have an iPhone app cooking to complement your other online channels, you're behind the times.</p>
<p>But if you're just thinking that more iPhone applications are going to be the end of it, you're in for a rude awakening. Businesses have just started consolidating after the disruptive years of the 90's and aught's, with the transformative effects of the web largely digested by the marketplace (the newspaper industry is still thrashing but will soon succumb). A new disruptive decade is dawning that may see the passing or fundamental transformation of industries as varied as telecom, credit card and broadcast television/cable. Prepare to take your business through a roller coaster ride every bit as challenging as the web revolution.<span id="more-4558"></span></p>
<h2>What Will Change First? Telecom.</h2>
<p>The introduction of the wifi chips into the iPhone broke the charge-by-minute mold. More and more carriers are moving to a flat rate and hybrid connection types will be standard on all mobile devices within a few years. Bandwidth will be purchased in bulk as it is between Amazon and carriers, leaving the consumer (in this case Kindle users) out of the transaction. Connectivity will be sold by the device vendors, not the telecoms, as a part of their offering. The customer relationship will be with the device vendor (much as you relationship with the iPhone is through Apple, not AT&amp;T).</p>
<p>What will change next, or as a result of this enabling transformation? Lots of things:</p>
<ol>
<li>Larger screens, always on solid-state mobile devices with long battery life, and higher bandwidth means that content distribution is moving away from the airwaves and cable and coming to a handheld device near you. What iTunes did to Tower Record will happen towards the end of the next decade to cable and broadcast. Like my friend who gets most of his content through Netflix and Hulu, they'll be saying "I have a TV, but I never turn it on."</li>
<li>Somewhere in the next few years, someone will invent a reliable and secure way to make payments through mobile devices. It will get broad adoption, and after a few hiccups and scares (Remember "Is it really safe to give my credit card information via SSL?"), they'll be acquired by Paypal and we'll be paying for all of our Xmas presents, in stores, with our iPhone Ultras. The banks and credit card companies will fight this, but before too long you'll be getting lines of credit and debit mechanism through your mobile devices. Time to cut up those credit cards, because they'll be useless.</li>
<li>Secure mobile devices will enter into every corner of the workplace and cause another productivity boom among those workers who are not tied to the cubicle. Since they use mobile devices in all other aspects of their lives, these will not be expensive new devices with steep learning curves. They will be based on widely existing technology (maybe Android?) and their use as natural to the workers as breathing or browsing Facebook.</li>
<li>Flexible, foldable displays will make an entrance late in the decade to make the size of mobile devices irrelevant.</li>
</ol>
<p>These four fundamental shifts along with the change in the telecom will drive a whole new set of businesses, both products and services. New artforms will spring up, new ways of presenting information, new ways of social and political interaction.</p>
<h2>As a Business, Take Nothing for Granted</h2>
<p>Those sound like plenty of transformative changes to keep most businesses, large and small, either plotting to take advantage of them or worrying about their future. If you're the sort to embrace change, then there are a few steps you can take to prepare.</p>
<ol>
<li>As a business, don't assume you know what your customers want. Your customers may have selected your product, for example, because it was a safe choice, not because it had the best features. Your competitors (or new, mobile entrant into the market) may have better, more informed customers and may be getting better feedback and developing a better product that will crush you in a few years time. The risk of this happening is greatly elevated when a new technology is destabilizing existing business models.</li>
<li>Do user research. The ways in which people are consuming products and services is expanding. Making naive assumptions about your customers will leave you delivering new software that behaves just like your old software, a sure recipe for obsolescence.</li>
<li>Invest in User Experience Design (UXD). UXD can help you with context. Why is context important? Because your customers aren't going to be just sitting in a cubicle or at home. They're going to be in stores, shopping, or out on the road, deciding where to stop to eat, or on the sidewalk, trying to find a cool coffee shop. Their context is going to be different as are their goals. The most successful businesses are going to deploy software that understand the importance of context and optimizes how they can achieve their goals in the environment (context) they are in.</li>
</ol>
<p>Yes, definitely, the bar has been raised to be successful in business. If you're already uncomfortable with your web channels, then this is another headache you're going to have to handle. But if you think of it in the same way that you think of your web presence, you'll miss the boat.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2010/01/prediction-teens-decade-mobile/">Prediction: The Teens will be the Decade of Mobile</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/09/6_tips_for_desi/' rel='bookmark' title='Permanent Link: 6 Tips for Designing Mobile Interfaces'>6 Tips for Designing Mobile Interfaces</a></li><li><a href='http://www.pathf.com/blogs/2010/01/apples-earnings-call-enterprise-iphone-adoption-growth/' rel='bookmark' title='Permanent Link: Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth'>Apple&#8217;s Earnings Call:  Enterprise iPhone Adoption Growth</a></li><li><a href='http://www.pathf.com/blogs/2010/02/single-purpose-devices-flexible-platforms-functional-cases/' rel='bookmark' title='Permanent Link: Single Purpose Devices vs. Flexible Platforms and Functional Cases'>Single Purpose Devices vs. Flexible Platforms and Functional Cases</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2010/01/prediction-teens-decade-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What does Google Chrome do for Mac based Flex Developers?</title>
		<link>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/</link>
		<comments>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 17:30:13 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex, Flash and Air]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4532</guid>
		<description><![CDATA[Do you know every detail in the Flex framework by heart? Do you also know all the other libraries that you use by heart? Well I don't and I often have to reference some online resource while developing.
For instance, I always have Action Script Language Reference, Wikipedia, some library API site(s), Gmail and a dozen other ones [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/">What does Google Chrome do for Mac based Flex Developers?</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/07/why-chrome-os-is-the-future-of-netbooks/' rel='bookmark' title='Permanent Link: Why Chrome OS is the Future of Netbooks'>Why Chrome OS is the Future of Netbooks</a></li><li><a href='http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/' rel='bookmark' title='Permanent Link: How much Excel can we get in Flex?'>How much Excel can we get in Flex?</a></li><li><a href='http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/' rel='bookmark' title='Permanent Link: Using Adobe Flex Builder 3 on a Mac'>Using Adobe Flex Builder 3 on a Mac</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Do you know every detail in the Flex framework by heart? Do you also know all the other libraries that you use by heart? Well I don't and I often have to reference some online resource <em>while </em>developing.</p>
<p>For instance, I always have Action Script Language Reference, Wikipedia, some library API site(s), Gmail and a dozen other ones open + the debug version of the app at hand.</p>
<p>So what used to happen when you but a breakpoint in Flex Builder with all these tabs? They would be unavailable and any process happening inside of them could not be relied on. Since not all code runs well on first attempt, if the app crashed while testing ( think 3D, data intensive apps, etc.) the browser and all the tabs went down with it.</p>
<p>My solution so far was to use Firefox as a development browser and Safari ( since I'm Mac based ) as a browser for references and everything else. For crashing resolution, Firefox has a nice "Restore" option but it's not fun waiting for 15 tabs to reload.</p>
<p>So Google Chrome recently came out for Mac. It didn't impress me on Vista so I didn't care much. I guess I was in between of curious and bored so I decided to give it a spin.</p>
<p>What a pleasant surprise to see every tab running in a different process. My workflow feels so much better now that I'm not afraid that a bad line of code is going to take down my whole browser.</p>
<p>I've heard that IE8 also runs tabs as different processes but I'm not crazy about returning to development on Windows. I did try out Chrome on Windows 7 as a result of the Mac test and all the issues I've seen the first time around have been addressed. Kudos to Chrome development team.</p>
<p>Let's not forget to mention all the features that are missing on Google Chrome for Mac, primarily the lack of Bookmark Management, but Google Bookmarks or any online bookmarking service will do for now.</p>
<p>I can not wait to see more development being done on Google Chrome for Mac and it getting out of beta. I will not uninstall Firefox anytime soon but as a Flex developer I give Google Chrome for Mac high scores for beta.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/">What does Google Chrome do for Mac based Flex Developers?</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/07/why-chrome-os-is-the-future-of-netbooks/' rel='bookmark' title='Permanent Link: Why Chrome OS is the Future of Netbooks'>Why Chrome OS is the Future of Netbooks</a></li><li><a href='http://www.pathf.com/blogs/2009/01/how-much-excel-can-we-get-in-flex/' rel='bookmark' title='Permanent Link: How much Excel can we get in Flex?'>How much Excel can we get in Flex?</a></li><li><a href='http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/' rel='bookmark' title='Permanent Link: Using Adobe Flex Builder 3 on a Mac'>Using Adobe Flex Builder 3 on a Mac</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/12/what-does-google-chrome-do-for-mac-based-flex-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Visualization is About More than Just Pretty Pictures</title>
		<link>http://www.pathf.com/blogs/2009/12/data-visualization-pretty-pictures/</link>
		<comments>http://www.pathf.com/blogs/2009/12/data-visualization-pretty-pictures/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 11:32:15 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[Robert Fogel]]></category>
		<category><![CDATA[Waaler Surfaces]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4448</guid>
		<description><![CDATA[Too often in software development projects, we're asked to provide what I would call thoughtless reports. By this I mean a collection of tables and charts that depict and enumerate standard relationships. There's nothing wrong with the reports themselves, mind you -- we know how to present relationships in graphical form. No, the problem is [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/data-visualization-pretty-pictures/">Data Visualization is About More than Just Pretty Pictures</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/' rel='bookmark' title='Permanent Link: Nice List of Data Visualization Tools'>Nice List of Data Visualization Tools</a></li><li><a href='http://www.pathf.com/blogs/2007/11/dux2007-data/' rel='bookmark' title='Permanent Link: DUX2007 &#8211; Data Visualization'>DUX2007 &#8211; Data Visualization</a></li><li><a href='http://www.pathf.com/blogs/2009/10/3d-data-visualization-adobe-air/' rel='bookmark' title='Permanent Link: 3D Data Visualization in Adobe Air'>3D Data Visualization in Adobe Air</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4449" style="float:right;padding:10px;" title="waaler" src="http://www.pathf.com/blogs/wp-content/uploads/2009/12/waaler.png" alt="waaler" width="50%" height="50%" />Too often in software development projects, we're asked to provide what I would call thoughtless reports. By this I mean a collection of tables and charts that depict and enumerate standard relationships. There's nothing wrong with the reports themselves, mind you -- we know how to present relationships in graphical form. No, the problem is that no one has given much thought to the relationships that are being depicted.</p>
<p>You've probably heard about the finding that in children, shoe sizes and handwriting quality are highly correlated. It would be wrong to conclude, however, that one causes the other. In fact, as children mature, their shoe size increases, as does their cognitive ability and their motor skills. They are all dependent on age.<span id="more-4448"></span></p>
<p>That may seem obvious when we talk about shoes, but it may be less obvious when talking about sales or marketing figures. It may seem obvious to graph income versus purchases or conversions versus sales leads, but you may be visualizing the sales and marketing equivalents of shoe size and handwriting quality.</p>
<p>I suggest approaching the problem of data visualization in a more open minding fashion, like a scientist. Ask yourselves what questions you are trying to answer, and if you're measuring or collecting the right information in your software system to answer those questions. Only when you have determined these two things will you be able to pick the right way or ways to visualize the correct relationships.</p>
<p>Let me give an example from my own experience. I used to work for an economist named Robert Fogel. His particular area of study was Economic History, or Cliometrics. When I worked with him in the early 90's, his focus was on the economics of morbidity and mortality, i.e. sickness and death. A big part of this study revolved around nutrition. One of the challenges was how best to study nutrition, especially when all that one had in historical records were weight and height.</p>
<p>The key insight, as expressed in Fogel's <a href="http://nobelprize.org/nobel_prizes/economics/laureates/1993/fogel-lecture.pdf" rel="nofollow"  target="_blank">1993 Nobel Prize lecture</a> was that:</p>
<blockquote><p>Height and BMI measure different aspects of malnutrition and health. Height is a net rather than a gross measure of nutrition. Moreover, al- though changes in height during the growing years are sensitive to current levels of nutrition, mean final height reflects the accumulated past nutritional experience of individuals throughout their growing years, including the fetal period. It follows that when final heights are used to explain differences in adult mortality rates, they reveal the effect, not of adult levels of nutrition on adult mortality rates, but of nutritional levels during infan- cy, childhood, and adolescence on adult mortality rates. A weight-for-height index, on the other hand, reflects primarily the current nutritional status. It is also a net measure in the sense that BMI reflects the balance between current intakes and the claims on those intakes.</p></blockquote>
<p><em>(BMI stands for </em><a href="http://en.wikipedia.org/wiki/Body_mass_index" rel="nofollow"  target="_blank"><em>Body Mass Index</em></a><em>, expressed as kg/m^2. Or weight normalized by height.)</em></p>
<p>Armed with this insight, Fogel could develop a method of data visualization (dubbed the Waaler Surface) that mapped height and weight versus risks of morbidity and mortality. This method was crucial to expressing many of the concepts and findings of this groundbreaking research.</p>
<p>Without careful thought about the relationships to be analyzed, however, this data visualization method would not have been developed, and discussions and writings about the topic would have been awkward and severely hampered.</p>
<p>So, the next time you are specifying reports and charts for your system, spare some thought on the nature and type of relationships you want to map.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/data-visualization-pretty-pictures/">Data Visualization is About More than Just Pretty Pictures</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/' rel='bookmark' title='Permanent Link: Nice List of Data Visualization Tools'>Nice List of Data Visualization Tools</a></li><li><a href='http://www.pathf.com/blogs/2007/11/dux2007-data/' rel='bookmark' title='Permanent Link: DUX2007 &#8211; Data Visualization'>DUX2007 &#8211; Data Visualization</a></li><li><a href='http://www.pathf.com/blogs/2009/10/3d-data-visualization-adobe-air/' rel='bookmark' title='Permanent Link: 3D Data Visualization in Adobe Air'>3D Data Visualization in Adobe Air</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/12/data-visualization-pretty-pictures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice List of Data Visualization Tools</title>
		<link>http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/</link>
		<comments>http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 20:15:02 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[data visualization]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4445</guid>
		<description><![CDATA[Theresa Neil over at InsiderRIA has a nice post about 28 data visualization tools. You could google these yourself, but she's actually put together a bunch of screen shots and collected them all in one place.
If we're honest about it, these aren't really "data visualization" tools. They're some decent graphing and charting libraries. Data visualization [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/">Nice List of Data Visualization Tools</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/06/information_vis/' rel='bookmark' title='Permanent Link: Information Visualization tools'>Information Visualization tools</a></li><li><a href='http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/' rel='bookmark' title='Permanent Link: Data visualization and the art of conveying information'>Data visualization and the art of conveying information</a></li><li><a href='http://www.pathf.com/blogs/2007/11/dux2007-data/' rel='bookmark' title='Permanent Link: DUX2007 &#8211; Data Visualization'>DUX2007 &#8211; Data Visualization</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Theresa Neil over at InsiderRIA has a <a href="http://www.insideria.com/2009/12/28-rich-data-visualization-too.html" rel="nofollow"  target="_blank">nice post about 28 data visualization tools</a>. You could google these yourself, but she's actually put together a bunch of screen shots and collected them all in one place.</p>
<p>If we're honest about it, these aren't really "data visualization" tools. They're some decent graphing and charting libraries. Data visualization is more than just pretty pictures. Providing the user with direct manipulations and other interactions is also a key ingredient to making the data understandable to system users. As such, these 28 tools only provide one piece of the puzzle.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/">Nice List of Data Visualization Tools</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/06/information_vis/' rel='bookmark' title='Permanent Link: Information Visualization tools'>Information Visualization tools</a></li><li><a href='http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/' rel='bookmark' title='Permanent Link: Data visualization and the art of conveying information'>Data visualization and the art of conveying information</a></li><li><a href='http://www.pathf.com/blogs/2007/11/dux2007-data/' rel='bookmark' title='Permanent Link: DUX2007 &#8211; Data Visualization'>DUX2007 &#8211; Data Visualization</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/12/nice-list-data-visualization-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 2.0 RC1 Released</title>
		<link>http://www.pathf.com/blogs/2009/11/gwt-20-rc1-released/</link>
		<comments>http://www.pathf.com/blogs/2009/11/gwt-20-rc1-released/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 20:34:03 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[GWT 2.0]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4346</guid>
		<description><![CDATA[Well, GWT 2.0 RC1 (yes!) is out. I was going to wait for a while with some of my new projects until switching them over to GWT 2.0, but given the pace of the GWT 2.0 project, I may just switch them over now rather than going through a painful migration.
I'm especially eager to use [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-20-rc1-released/">GWT 2.0 RC1 Released</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/10/gwt-gadgets-and-opensocial/' rel='bookmark' title='Permanent Link: GWT, Gadgets and OpenSocial'>GWT, Gadgets and OpenSocial</a></li><li><a href='http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/' rel='bookmark' title='Permanent Link: Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo'>Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo</a></li><li><a href='http://www.pathf.com/blogs/2008/05/gwt-and-xul/' rel='bookmark' title='Permanent Link: GWT and XUL'>GWT and XUL</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.pathf.com/blogs/wp-content/uploads/2008/06/gwt.png" alt="gwt" title="gwt" width="260" height="250" class="alignright size-full wp-image-952" style="float:right;padding:10px" />Well, <a href="http://code.google.com/p/google-web-toolkit/wiki/GWT_2_0_RC" rel="nofollow"  target="_blank">GWT 2.0 RC1</a> (yes!) is out. I was going to wait for a while with some of my new projects until switching them over to GWT 2.0, but given the pace of the GWT 2.0 project, I may just switch them over now rather than going through a painful migration.</p>
<p>I'm especially eager to use UiBinder to do declarative UI creation. Just specify how your interface should look in XML:<br />
<span id="more-4346"></span></p>
<pre class="xml"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- UserDashboard.ui.xml --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ui:UiBinder</span> <span style="color: #000066;">xmlns:ui</span>=<span style="color: #ff0000;">'urn:ui:com.google.gwt.uibinder'</span>
    <span style="color: #000066;">xmlns:g</span>=<span style="color: #ff0000;">'urn:import:com.google.gwt.user.client.ui'</span>
    <span style="color: #000066;">xmlns:my</span>=<span style="color: #ff0000;">'urn:import:com.my.app.widgets'</span> <span style="font-weight: bold; color: black;">&gt;</span></span>
&nbsp;
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;g:HTMLPanel<span style="font-weight: bold; color: black;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;my:WeatherReport</span> <span style="color: #000066;">ui:field</span>=<span style="color: #ff0000;">'weather'</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;my:Stocks</span> <span style="color: #000066;">ui:field</span>=<span style="color: #ff0000;">'stocks'</span><span style="font-weight: bold; color: black;">/&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;my:CricketScores</span> <span style="color: #000066;">ui:field</span>=<span style="color: #ff0000;">'scores'</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
  <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/g:HTMLPanel<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/ui:UiBinder<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>and write some Java to instantiate it:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> UserDashboard <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AComposite+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" rel="nofollow" ><span style="color: #aaaadd; font-weight: bold;">Composite</span></a> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">interface</span> MyUiBinder <span style="color: #000000; font-weight: bold;">extends</span> UiBinder&lt;Widget, UserDashboard&gt;;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> MyUiBinder uiBinder = GWT.<span style="color: #006600;">create</span><span style="color: #66cc66;">&#40;</span>MyUiBinder.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" rel="nofollow" ><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> teamNames;
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> UserDashboard<span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" rel="nofollow" ><span style="color: #aaaadd; font-weight: bold;">String</span></a>... <span style="color: #006600;">teamNames</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006600;">teamNames</span> = teamNames;
    initWidget<span style="color: #66cc66;">&#40;</span>uiBinder.<span style="color: #006600;">createAndBindUi</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">/** Used by MyUiBinder to instantiate CricketScores */</span>
  @UiFactory CricketScores makeCricketScores<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">// method name is insignificant</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> CricketScores<span style="color: #66cc66;">&#40;</span>teamNames<span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Obviously there's a little more to it than this. I'll try to post a little howto over the weekend. There's already a few examples out there, but when it comes to a new feature like this, the more explanations, the better.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-20-rc1-released/">GWT 2.0 RC1 Released</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/10/gwt-gadgets-and-opensocial/' rel='bookmark' title='Permanent Link: GWT, Gadgets and OpenSocial'>GWT, Gadgets and OpenSocial</a></li><li><a href='http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/' rel='bookmark' title='Permanent Link: Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo'>Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo</a></li><li><a href='http://www.pathf.com/blogs/2008/05/gwt-and-xul/' rel='bookmark' title='Permanent Link: GWT and XUL'>GWT and XUL</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/gwt-20-rc1-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo</title>
		<link>http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/</link>
		<comments>http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 11:00:19 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[qooxdoo]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4342</guid>
		<description><![CDATA[I used to scratch my head at the name for the JavaScript library qooxdoo. That's until I ran into the developers of the library at an Ajax Experience event in Boston a few years ago and they pronounced it "Kucks Du" as in "Was kucks du" or German for "what are you looking at?"  [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/">Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/03/qwt-qooxdoo-web/' rel='bookmark' title='Permanent Link: QWT: Qooxdoo Web Toolkit'>QWT: Qooxdoo Web Toolkit</a></li><li><a href='http://www.pathf.com/blogs/2006/07/gwt_libraries_r/' rel='bookmark' title='Permanent Link: GWT Libraries Released &#8211; XML, SOAP, Crypto, Amazon, etc.'>GWT Libraries Released &#8211; XML, SOAP, Crypto, Amazon, etc.</a></li><li><a href='http://www.pathf.com/blogs/2007/10/gwt-wrapper-for/' rel='bookmark' title='Permanent Link: GWT Wrapper for Rialto'>GWT Wrapper for Rialto</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" style="float:right;padding:10px" src="http://resources.qooxdoo.org/images/logo.gif" alt="" width="272" height="81" />I used to scratch my head at the name for the JavaScript library <a href="http://qooxdoo.org/" rel="nofollow"  target="_blank">qooxdoo</a>. That's until I ran into the developers of the library at an Ajax Experience event in Boston a few years ago and they pronounced it "Kucks Du" as in "Was kucks du" or German for "what are you looking at?" <img src='http://www.pathf.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Beyond the basics, qooxdoo is a mature collection of JavaScript widgets, despite the authors' conservative versioning policy (they're still only at 0.8.3).</p>
<p>It's taken them long enough, but they've finally released a wrapper for GWT, named <a href="http://tomsondev.bestsolution.at/2009/11/13/release-qxwt-0-8-2-rc1/" rel="nofollow" >QxWT</a>. Best of all, they have a commercial-friendly open source license. If you're put off by GXT and it's license, you owe yourself a look.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/">Released: QxWT-0.8.2-RC1 &#8211; GWT Wrapper for qooxdoo</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/03/qwt-qooxdoo-web/' rel='bookmark' title='Permanent Link: QWT: Qooxdoo Web Toolkit'>QWT: Qooxdoo Web Toolkit</a></li><li><a href='http://www.pathf.com/blogs/2006/07/gwt_libraries_r/' rel='bookmark' title='Permanent Link: GWT Libraries Released &#8211; XML, SOAP, Crypto, Amazon, etc.'>GWT Libraries Released &#8211; XML, SOAP, Crypto, Amazon, etc.</a></li><li><a href='http://www.pathf.com/blogs/2007/10/gwt-wrapper-for/' rel='bookmark' title='Permanent Link: GWT Wrapper for Rialto'>GWT Wrapper for Rialto</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/released-qxwt082rc1-gwt-wrapper-qooxdoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Griffon Tutorials: Adding Useful Logging</title>
		<link>http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/</link>
		<comments>http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 11:04:22 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Griffon]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[log4j]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4332</guid>
		<description><![CDATA[
I'm gathering as much as I can on Griffon and how people are using it. Some things you can translated from Grails, but not everything. So here, as a public service, is the first of many Griffon tutorial pointers.
Dabble-&#62;Scribble has a nice blog entry on including log4j logging in Griffon. My favorite part? One of [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/">Griffon Tutorials: Adding Useful Logging</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4201" style="float:right;padding:10px;" title="groffon" src="http://www.pathf.com/blogs/wp-content/uploads/2009/10/groffon.png" alt="groffon" width="155" height="50" /><br />
I'm gathering as much as I can on Griffon and how people are using it. Some things you can translated from <a href="http://www.grails.org/" rel="nofollow"  target="_blank">Grails</a>, but not everything. So here, as a public service, is the first of many Griffon tutorial pointers.</p>
<p>Dabble-&gt;Scribble has a nice blog entry on <a href="http://dabblescribble.blogspot.com/2009/11/starting-out-in-griffon-3-logging.html" rel="nofollow"  target="_blank">including log4j logging in Griffon</a>. My favorite part? One of his goals for logging is to "Filter out the cruft from Groovy's massive stacktraces." Amen.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/">Griffon Tutorials: Adding Useful Logging</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT and the Static Versus Dynamic Religious War</title>
		<link>http://www.pathf.com/blogs/2009/11/gwt-static-dynamic-religious-war/</link>
		<comments>http://www.pathf.com/blogs/2009/11/gwt-static-dynamic-religious-war/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 11:33:28 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Development Best Practices]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[dynamic languages]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[static typing]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4328</guid>
		<description><![CDATA[Never get involved in a land war in Asia.
-- Vizzini, The Princess Bride
.

Also, never get involved in a religious war about statically versus dynamically typed languages. Well, maybe just this once.  
Periodically, an angry Javascript developer will let loose and flame GWT as a misbegotten spawn of evil. Then all the GWT developers point [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-static-dynamic-religious-war/">GWT and the Static Versus Dynamic Religious War</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/12/josh-bloch-intr/' rel='bookmark' title='Permanent Link: Josh Bloch Intro Q&#038;A'>Josh Bloch Intro Q&#038;A</a></li><li><a href='http://www.pathf.com/blogs/2009/04/remain-static-or-go-dynamic/' rel='bookmark' title='Permanent Link: Remain Static or Go Dynamic?'>Remain Static or Go Dynamic?</a></li><li><a href='http://www.pathf.com/blogs/2009/04/static-typing-and-the-paranoid-style-of-programming/' rel='bookmark' title='Permanent Link: Static Typing and the Paranoid Style of Programming'>Static Typing and the Paranoid Style of Programming</a></li></ol>]]></description>
			<content:encoded><![CDATA[<blockquote><p>Never get involved in a land war in Asia.</p>
<div style="float:right"><em>-- Vizzini, The Princess Bride</em></div>
<p><span style="clear:both">.</span></p></blockquote>
<p><img class="alignright size-full wp-image-952" style="float:right;padding:10px" title="gwt" src="http://www.pathf.com/blogs/wp-content/uploads/2008/06/gwt.png" alt="gwt" width="260" height="250" /><br />
Also, never get involved in a religious war about statically versus dynamically typed languages. Well, maybe just this once. <img src='http://www.pathf.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Periodically, an angry Javascript developer will let loose and flame GWT as a misbegotten spawn of evil. Then all the GWT developers point and chuckle and move on to developing more cool applications. Every so often, though, someone will make a thoughtful comment about GWT, and then we have a fruitful discussion that helps clarify what GWT is and what it does and doesn't do well.</p>
<p>William Shields has either posted such a thoughtful comment or a very high end version of a flame, entitled <a href="http://www.cforcoding.com/2009/10/lost-in-translation-or-why-gwt-isnt.html" rel="nofollow"  target="_blank">Lost in Translation or Why GWT Isn’t the Future of Web Development</a>. It is well worth reading, along with Google's Joel's <a href="http://www.cforcoding.com/2009/10/lost-in-translation-or-why-gwt-isnt.html?showComment=1256837717972#c6998534070688607679" rel="nofollow"  target="_blank">somewhat heated response</a>.</p>
<p><span id="more-4328"></span></p>
<p>What I want to take issue with is Shields' statement that "Between Javascript, PHP, Python, Perl, Ruby and other languages over the last decade (<em>and yes some have a history going far earlier than that</em>) have clearly demonstrated that indeed the sky hasn’t fallen with loose and dynamic typing."</p>
<p>I'm very much a right tool for the job kind of guy. I love my Groovy and my Ruby, but I also like C# and Java for some things. So, has the sky fallen? I would say yes.</p>
<p>Over the last decade, I've run a software development company that practices agile development. One crucial aspect of our practice is Test Driven Development (TDD). We strive for a high level of code coverage, typically over 85%.  With this approach we deliver software where the number of bugs post-release converges rapidly toward zero, even with enhancements and new features being added.</p>
<p>Now while TDD is great for all software development projects, it is absolutely essential of projects developed with dynamically typed languages. Where statically typed source code without unit tests is like a toxic wasted dump, dynamically typed source code without unit tests is like a nuclear holocaust. Those types of projects just throw off new bugs like a frat house in summer.</p>
<p>Given that many JavaScript and PHP (and Rails, for that matter) projects are developed without unit tests, either because the practice of TDD wasn't common in the organization, or because dynamically typed languages are often the choice of amateurs and, well, "what's a unit test?"</p>
<p>We often take over code developed by other development shops. Sometimes that code has no tests and the client is predictably upset about the bugginess and fragility of the code. I'm usually calm when we take over a statically typed code base, but I'm extremely nervous when the code base is dynamically typed. That's not religious, that's just pragmatic.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-static-dynamic-religious-war/">GWT and the Static Versus Dynamic Religious War</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/12/josh-bloch-intr/' rel='bookmark' title='Permanent Link: Josh Bloch Intro Q&#038;A'>Josh Bloch Intro Q&#038;A</a></li><li><a href='http://www.pathf.com/blogs/2009/04/remain-static-or-go-dynamic/' rel='bookmark' title='Permanent Link: Remain Static or Go Dynamic?'>Remain Static or Go Dynamic?</a></li><li><a href='http://www.pathf.com/blogs/2009/04/static-typing-and-the-paranoid-style-of-programming/' rel='bookmark' title='Permanent Link: Static Typing and the Paranoid Style of Programming'>Static Typing and the Paranoid Style of Programming</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/gwt-static-dynamic-religious-war/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 2 Milestone 2</title>
		<link>http://www.pathf.com/blogs/2009/11/gwt-2-milestone-2/</link>
		<comments>http://www.pathf.com/blogs/2009/11/gwt-2-milestone-2/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 11:21:49 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4325</guid>
		<description><![CDATA[It's been out a few weeks, but I thought I'd point out that's it's been pushed. Mostly some changes to the LayoutPanel.

Pathfinder Development - creating innovative software that builds business value. 
GWT 2 Milestone 2


Related posts:Open Laszlo DHTML MilestoneAgile Development for Product Managers: Why Agile Testing RocksDojo 0.9 M2  Released<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-2-milestone-2/">GWT 2 Milestone 2</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/07/open_laszlo_dht/' rel='bookmark' title='Permanent Link: Open Laszlo DHTML Milestone'>Open Laszlo DHTML Milestone</a></li><li><a href='http://www.pathf.com/blogs/2009/03/agile-development-for-product-managers-why-agile-testing-rocks/' rel='bookmark' title='Permanent Link: Agile Development for Product Managers: Why Agile Testing Rocks'>Agile Development for Product Managers: Why Agile Testing Rocks</a></li><li><a href='http://www.pathf.com/blogs/2007/05/dojo_09_m2_rele/' rel='bookmark' title='Permanent Link: Dojo 0.9 M2  Released'>Dojo 0.9 M2  Released</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-952" style="float:right;padding:10px" title="gwt" src="http://www.pathf.com/blogs/wp-content/uploads/2008/06/gwt.png" alt="gwt" width="260" height="250" />It's been out a few weeks, but I thought I'd point out that's it's been <a href="http://code.google.com/p/google-web-toolkit/downloads/list?can=1&amp;q=2.0+Milestone+2" rel="nofollow"  target="_blank">pushed</a>. Mostly some changes to the <code>LayoutPanel</code>.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/gwt-2-milestone-2/">GWT 2 Milestone 2</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2006/07/open_laszlo_dht/' rel='bookmark' title='Permanent Link: Open Laszlo DHTML Milestone'>Open Laszlo DHTML Milestone</a></li><li><a href='http://www.pathf.com/blogs/2009/03/agile-development-for-product-managers-why-agile-testing-rocks/' rel='bookmark' title='Permanent Link: Agile Development for Product Managers: Why Agile Testing Rocks'>Agile Development for Product Managers: Why Agile Testing Rocks</a></li><li><a href='http://www.pathf.com/blogs/2007/05/dojo_09_m2_rele/' rel='bookmark' title='Permanent Link: Dojo 0.9 M2  Released'>Dojo 0.9 M2  Released</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/gwt-2-milestone-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better JavaScript Development with Google Closure Tools</title>
		<link>http://www.pathf.com/blogs/2009/11/google-releases-closure-tools/</link>
		<comments>http://www.pathf.com/blogs/2009/11/google-releases-closure-tools/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 17:04:30 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Closure Tools]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4317</guid>
		<description><![CDATA[
Google has release Closure Tools, the set of tools they used to write applications such as Gmail. What is it? It consists of three parts:

A compiler which is a "JavaScript optimizer that compiles web apps down into compact, high-performance JavaScript code. The compiler removes dead code, then rewrites and minimizes what's left so that it [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/google-releases-closure-tools/">Better JavaScript Development with Google Closure Tools</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/11/difference-compiler-compressor/' rel='bookmark' title='Permanent Link: The Difference Between a Compiler and a Compressor'>The Difference Between a Compiler and a Compressor</a></li><li><a href='http://www.pathf.com/blogs/2007/08/the-awesome-sta/' rel='bookmark' title='Permanent Link: The awesome state of JavaScript development tools'>The awesome state of JavaScript development tools</a></li><li><a href='http://www.pathf.com/blogs/2006/09/script_gwt_for_/' rel='bookmark' title='Permanent Link: Eight Javascript Code Generators'>Eight Javascript Code Generators</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4318" style="float:right;padding:10px" title="closure" src="http://www.pathf.com/blogs/wp-content/uploads/2009/11/closure.png" alt="closure" width="128" height="128" /><br />
Google has release <a href="http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html" rel="nofollow"  target="_blank">Closure Tools</a>, the set of tools they used to write applications such as Gmail. What is it? It consists of three parts:</p>
<ol>
<li>A compiler which is a "JavaScript optimizer that compiles web apps down into compact, high-performance JavaScript code. The compiler removes dead code, then rewrites and minimizes what's left so that it will run fast on browsers' JavaScript engines. The compiler also checks syntax, variable references, and types, and warns about other common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source."
<p>So it compiles JavaScript into JavaScript and makes it behave more like a statically typed language.</li>
<li>A library which contains both widgets and datastructures and algorithms. Sort of the standard library that JavaScript was always missing.</li>
<li>A templating system you can use to assemble a user interface.</li>
</ol>
<p>Since this system has been in use at Google to develop real applications over a long period of time, I expect it to be a fairly robust system. In many ways it solves some of the same problems that GWT is trying to solve, but in a different way.</p>
<p>I'll see if I can kick the tires over the weekend and post about it next week. So many cool tools and frameworks, so little time...</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/google-releases-closure-tools/">Better JavaScript Development with Google Closure Tools</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/11/difference-compiler-compressor/' rel='bookmark' title='Permanent Link: The Difference Between a Compiler and a Compressor'>The Difference Between a Compiler and a Compressor</a></li><li><a href='http://www.pathf.com/blogs/2007/08/the-awesome-sta/' rel='bookmark' title='Permanent Link: The awesome state of JavaScript development tools'>The awesome state of JavaScript development tools</a></li><li><a href='http://www.pathf.com/blogs/2006/09/script_gwt_for_/' rel='bookmark' title='Permanent Link: Eight Javascript Code Generators'>Eight Javascript Code Generators</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/google-releases-closure-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grails and Google App Engine: Birthing Pains</title>
		<link>http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/</link>
		<comments>http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 22:45:46 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Web Infrastructure]]></category>
		<category><![CDATA[App Engine SDK]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4311</guid>
		<description><![CDATA[Whenever you can get a free, publicly available place to deploy your applications, your first instinct is to grab it with both hands. Google App Engine is one of those places. Each developer can deploy up to 10 different apps in development mode.
I've been working on a grails app recently that uses the grails App [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/">Grails and Google App Engine: Birthing Pains</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/02/grails-delegating-to-gorm-persistence-in-java/' rel='bookmark' title='Permanent Link: Grails: Delegating to GORM Persistence in Java'>Grails: Delegating to GORM Persistence in Java</a></li><li><a href='http://www.pathf.com/blogs/2008/02/grails-and-json/' rel='bookmark' title='Permanent Link: Grails and JSONP: How Easy is That?'>Grails and JSONP: How Easy is That?</a></li><li><a href='http://www.pathf.com/blogs/2009/08/making-vaadin-puremvc-grails-work/' rel='bookmark' title='Permanent Link: Making Vaadin, PureMVC and Grails Work Together'>Making Vaadin, PureMVC and Grails Work Together</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1393" style="float:right;padding:10px" title="grails_logo" src="http://www.pathf.com/blogs/wp-content/uploads/2009/02/grails_logo.png" alt="grails_logo" width="196" height="53" />Whenever you can get a free, publicly available place to deploy your applications, your first instinct is to grab it with both hands. Google App Engine is one of those places. Each developer can deploy up to 10 different apps in development mode.</p>
<p>I've been working on a grails app recently that uses the grails <a href="http://www.grails.org/plugin/app-engine" rel="nofollow"  target="_blank">App Engine Plugin</a>. Along with the <a href="http://grails.org/plugin/gorm-jpa" rel="nofollow" >GORM-JPA Plugin</a>, which gives you some  of the usual grails GORM goodness, you can write some reasonably interesting grails apps.<br />
<span id="more-4311"></span><br />
There are still a few flies in the ointment. Some of them are grails issues, and are due to the immature state of the plugins. Those are forgivable and will clearly be addressed given time. Some of them, however, are <a href="http://code.google.com/appengine/docs/java/overview.html" rel="nofollow"  target="_blank">App Engine Java SDK</a> issues. Those are really more problematic given the 1.2.6 version number on the SDK. f I had to boil it down to it's essentials, then I would say that the SDK doesn't barf in consistent ways. Up until 1.2.5, the SDK in development mode wouldn't even complain if you were doing privileged operations. With 1.2.6 you at least got some complaints. For example, with 1.2.6 you now see the following exception on grails startup:</p>
<pre lang="code" style="overflow:auto" >[java] Unable to use direct char[] access of java.lang.String. Disabling this method.
[java] java.lang.IllegalAccessException: Private fields can not be set on JRE classes.
</pre>
<p>That's because Groovy is trying to modify the <code>String</code> class. But still, there are any number of things that behave differently in the actual App Engine container than the local environment. One solution is to frequently deploy the app the the App Engine container. That's a pretty expensive step, however, and can't be a part of your development and test cycle. Also, even if something does blow up in the App Engine environment, you don't always get a log message. I've been trying to track down a "404 NOT FOUND" problem for a couple of weeks now that doesn't happen at all in the local SDK environment and leaves no log file traces in the App Engine environment.</p>
<p>I have my fingers crossed that version 1.2.7 of the SDK will solve all of those problems.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/">Grails and Google App Engine: Birthing Pains</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/02/grails-delegating-to-gorm-persistence-in-java/' rel='bookmark' title='Permanent Link: Grails: Delegating to GORM Persistence in Java'>Grails: Delegating to GORM Persistence in Java</a></li><li><a href='http://www.pathf.com/blogs/2008/02/grails-and-json/' rel='bookmark' title='Permanent Link: Grails and JSONP: How Easy is That?'>Grails and JSONP: How Easy is That?</a></li><li><a href='http://www.pathf.com/blogs/2009/08/making-vaadin-puremvc-grails-work/' rel='bookmark' title='Permanent Link: Making Vaadin, PureMVC and Grails Work Together'>Making Vaadin, PureMVC and Grails Work Together</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coming Soon: Android Wireless Application Development Review</title>
		<link>http://www.pathf.com/blogs/2009/11/coming-android-wireless-application-development-review/</link>
		<comments>http://www.pathf.com/blogs/2009/11/coming-android-wireless-application-development-review/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 23:46:06 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[iPhone/Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Davlik]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4308</guid>
		<description><![CDATA[Just got my hands on a copy of Android, Wireless Application Development by Conder and Darcey and have been working my way through the first three chapters (really, the actual development starts in chapter 3).So far so good. Some of the pseudo JVM (Dalvik) takes a little bit of getting used to, but it's not [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/coming-android-wireless-application-development-review/">Coming Soon: Android Wireless Application Development Review</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/11/from-the-grassy/' rel='bookmark' title='Permanent Link: From the Grassy Knoll: Google Android Undermining  Java ME'>From the Grassy Knoll: Google Android Undermining  Java ME</a></li><li><a href='http://www.pathf.com/blogs/2009/01/book-review-core-animation-for-mac-os-x-and-the-iphone/' rel='bookmark' title='Permanent Link: Book Review: Core Animation for Mac OS X and the iPhone'>Book Review: Core Animation for Mac OS X and the iPhone</a></li><li><a href='http://www.pathf.com/blogs/2007/11/zk-on-android/' rel='bookmark' title='Permanent Link: ZK on Android'>ZK on Android</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-4309" style="float:right;padding:10px" title="android" src="http://www.pathf.com/blogs/wp-content/uploads/2009/11/android.jpg" alt="android" width="145" height="186" />Just got my hands on a copy of <a href="http://www.amazon.com/Android-Wireless-Application-Development-Conder/dp/0321627091" rel="nofollow"  target="_blank">Android, Wireless Application Development</a> by Conder and Darcey and have been working my way through the first three chapters (really, the actual development starts in chapter 3).So far so good. Some of the pseudo JVM (Dalvik) takes a little bit of getting used to, but it's not really that bad. I'd say that the real thing that pops out at me is that I want a way of developing iPhone and Android applications at the same time, without having to jump through hoops to do so.</p>
<p>I should have a full review of it up in a week or two.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/11/coming-android-wireless-application-development-review/">Coming Soon: Android Wireless Application Development Review</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2007/11/from-the-grassy/' rel='bookmark' title='Permanent Link: From the Grassy Knoll: Google Android Undermining  Java ME'>From the Grassy Knoll: Google Android Undermining  Java ME</a></li><li><a href='http://www.pathf.com/blogs/2009/01/book-review-core-animation-for-mac-os-x-and-the-iphone/' rel='bookmark' title='Permanent Link: Book Review: Core Animation for Mac OS X and the iPhone'>Book Review: Core Animation for Mac OS X and the iPhone</a></li><li><a href='http://www.pathf.com/blogs/2007/11/zk-on-android/' rel='bookmark' title='Permanent Link: ZK on Android'>ZK on Android</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/11/coming-android-wireless-application-development-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Griffon and a PureMVC Plugin: Some Initial Thoughts</title>
		<link>http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/</link>
		<comments>http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 16:59:56 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Custom Application Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Griffon]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4299</guid>
		<description><![CDATA[
I finally have some small amount of spare time to start working on my Griffon PureMVC plugin. One of the first things to think about is where to we make the marriage between the two frameworks?
Griffon has Models, Views and Controllers, as does PureMVC (actually, it has Commands, Mediators and Proxies, which essentially perform the [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/">Griffon and a PureMVC Plugin: Some Initial Thoughts</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/' rel='bookmark' title='Permanent Link: Griffon: Convention over Configuration for the Desktop'>Griffon: Convention over Configuration for the Desktop</a></li><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img style="padding:10px" title="puremvc-icon" src="http://www.pathf.com/blogs/wp-content/uploads/2009/07/puremvc-icon.jpg" alt="puremvc-icon" width="318" height="200" /><img style="padding:10px" title="groffon" src="http://www.pathf.com/blogs/wp-content/uploads/2009/10/groffon.png" alt="groffon" width="155" height="50" /></p>
<p>I finally have some small amount of spare time to start working on my Griffon PureMVC plugin. One of the first things to think about is where to we make the marriage between the two frameworks?</p>
<p>Griffon has Models, Views and Controllers, as does PureMVC (actually, it has Commands, Mediators and Proxies, which essentially perform the tasks under MVC). My initial thought is that Griffon's MVC triads really perform the tasks of a complex view, and PureMVC wires these complex views together via it's message bus. So, my thinking is to wrap each MVC triad into a Mediator, with the Mediator mostly talking to the Griffon controller and perhaps the Griffon model.</p>
<p>I'll make some more posts here as my thinking and experimenting evolves.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/">Griffon and a PureMVC Plugin: Some Initial Thoughts</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/' rel='bookmark' title='Permanent Link: Griffon: Convention over Configuration for the Desktop'>Griffon: Convention over Configuration for the Desktop</a></li><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 2.0: Cool Beans on In Browser Development Mode</title>
		<link>http://www.pathf.com/blogs/2009/10/gwt-20-cool-beans-browser-development-mode/</link>
		<comments>http://www.pathf.com/blogs/2009/10/gwt-20-cool-beans-browser-development-mode/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 20:33:30 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Apps]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[GWT 2.0]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4278</guid>
		<description><![CDATA[
I have a short list of things that I don't like about GWT. They are:

You have to use a special browser to debug in Java. That browser doesn't always behave the way IE or Firefox or Safari does. And you need OS specific distributions which can make it a little tricky to share a project [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/gwt-20-cool-beans-browser-development-mode/">GWT 2.0: Cool Beans on In Browser Development Mode</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/08/plugging-some-cool-tools/' rel='bookmark' title='Permanent Link: Plugging Some Cool Tools'>Plugging Some Cool Tools</a></li><li><a href='http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/' rel='bookmark' title='Permanent Link: Grails and Google App Engine: Birthing Pains'>Grails and Google App Engine: Birthing Pains</a></li><li><a href='http://www.pathf.com/blogs/2009/08/lazy-download-good-browser/' rel='bookmark' title='Permanent Link: Don&#8217;t be lazy, download a good browser'>Don&#8217;t be lazy, download a good browser</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><img class="alignright size-full wp-image-952" title="gwt" src="http://www.pathf.com/blogs/wp-content/uploads/2008/06/gwt.png" alt="gwt" width="260" height="250" /></div>
<p>I have a short list of things that I don't like about GWT. They are:</p>
<ol>
<li>You have to use a special browser to debug in Java. That browser doesn't always behave the way IE or Firefox or Safari does. And you need OS specific distributions which can make it a little tricky to share a project between developers with different OS platforms.</li>
<li>GWT apps download as a massive hunk of code. There's no way to dynamically load code as you need it.</li>
<li>Building UI's dynamically, through a sort of XUL mechanism is a pain in the ass for non-standard components. Just talk to the <a href="http://vaadin.com/home" rel="nofollow"  target="_blank">Vaadin</a> folks about the hoops they had to jump through.</li>
<li>The annoying dependency on SWT for tests.</li>
</ol>
<p>So, what does 2.0 promise? To resolve these four things, and a few more. Check out the <a href="http://groups.google.com/group/google-web-toolkit/browse_thread/thread/8b79ebe444b9126d" rel="nofollow"  target="_blank">GWT 2.0 Milestone 1 release announcement</a>:</p>
<blockquote><p>In-Browser Development Mode: Prior to 2.0, GWT hosted mode provided a special-purpose "hosted browser" to debug your GWT code. In 2.0, the web page being debugged is viewed within a regular-old browser. Development mode is supported through the use of a native-code plugin for each browser. In other words, you can use development mode directly from Safari, Firefox, IE, and Chrome.</p>
<p>Code Splitting: Developer-guided code splitting allows you to chunk your GWT code into multiple fragments for faster startup. Imagine having to download a whole movie before being able to watch it. Well, that's what you have to do with most Ajax apps these days -- download the whole thing before using it. With code splitting, you can arrange<br />
to load just the minimum script needed to get the application running and the user interacting, while the rest of the app is downloaded as needed.</p>
<p>Declarative User Interface: GWT's UiBinder now allows you to create user interfaces mostly declaratively. Previously, widgets had to be created and assembled programmatically, requiring lots of code. Now, you can use XML to declare your UI, making the code more readable, easier to maintain, and faster to develop. The Mail sample has been updated to use the new declarative UI.</p>
<p>Bundling of resources (ClientBundle): GWT has shipped with ImageBundles since GWT v1.4, giving developers automatic spriting of images. ClientBundle generalizes this technique, bringing the power of combining and optimizing resources into one download to things like text files, CSS, and XML. This means fewer network round trips, which in turn can decrease application latency -- especially on mobile applications.</p>
<p>Using HtmlUnit for running GWT tests: GWT 2.0 no longer uses SWT or the old mozilla code (on linux) to run GWT tests. Instead, it uses HtmlUnit as the built-in browser. HtmlUnit is 100% Java. This means there is a single GWT distribution for linux, mac, and windows, and debugging GWT Tests in development mode can be done entirely in a Java debugger.</p></blockquote>
<p>Looks like Xmas has come early. I've been working with the browser plugin for a little bit and it is just a joy to use. One down side, of course, is that Intellij 9.0 will be out of date re: GWT the day it is released. <img src='http://www.pathf.com/blogs/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/gwt-20-cool-beans-browser-development-mode/">GWT 2.0: Cool Beans on In Browser Development Mode</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2008/08/plugging-some-cool-tools/' rel='bookmark' title='Permanent Link: Plugging Some Cool Tools'>Plugging Some Cool Tools</a></li><li><a href='http://www.pathf.com/blogs/2009/11/grails-google-app-engine-birthing-pains/' rel='bookmark' title='Permanent Link: Grails and Google App Engine: Birthing Pains'>Grails and Google App Engine: Birthing Pains</a></li><li><a href='http://www.pathf.com/blogs/2009/08/lazy-download-good-browser/' rel='bookmark' title='Permanent Link: Don&#8217;t be lazy, download a good browser'>Don&#8217;t be lazy, download a good browser</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/10/gwt-20-cool-beans-browser-development-mode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Questions About Griffon</title>
		<link>http://www.pathf.com/blogs/2009/10/questions-griffon/</link>
		<comments>http://www.pathf.com/blogs/2009/10/questions-griffon/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:03:29 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Griffon]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java Web Start]]></category>
		<category><![CDATA[jnlp]]></category>
		<category><![CDATA[JWS]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4271</guid>
		<description><![CDATA[
Time to answer some questions about Griffon:

What is the size of the jar that gets generated for a Griffon jar?If you package it all up ('griffon package'), then a vanilla Griffon jar weighs in at 4.7M. That's mostly the Groovy runtime (4.4M) and the Griffon runtime (204k). If you're concerned about download size for Java [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/questions-griffon/">Questions About Griffon</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/' rel='bookmark' title='Permanent Link: Griffon Tutorials: Adding Useful Logging'>Griffon Tutorials: Adding Useful Logging</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><img class="alignright size-full wp-image-4201" title="groffon" src="http://www.pathf.com/blogs/wp-content/uploads/2009/10/groffon.png" alt="groffon" width="155" height="50" /></div>
<p>Time to answer some questions about <a href="http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/" target="_blank">Griffon</a>:</p>
<ol>
<li>What is the size of the jar that gets generated for a Griffon jar?<br/>If you package it all up ('griffon package'), then a vanilla Griffon jar weighs in at 4.7M. That's mostly the Groovy runtime (4.4M) and the Griffon runtime (204k). If you're concerned about download size for Java Web Start, then you won't want to bundle it as a single jar, but rather let your users download the Groovy and Griffon runtimes once, then your app specific jar as it is updated.</li>
<li>Can Griffon apps be distributed via Java Web Start?<br/>Yes. When you run 'griffon package', you get an executable jar, an applet, a JWS app and a 'zip' that is structured as a directory with bin and lib subdirs and batch and shell files to run the application. In short, most ways that you may want to deploy the application.</li>
</ol>
<p>There is even an <a href="http://griffon.codehaus.org/Installer+Plugin" rel="nofollow"  target="_blank">installer plugin</a> that allows you to package your app as an <a href="http://izpack.org/" rel="nofollow"  target="_blank">izPack</a> (platform independent), RPM (Linux) or DMG (Mac) distribution. It will also create app (Mac) or exe (via <a href="http://jsmooth.sourceforge.net/" rel="nofollow"  target="_blank">JSmooth</a>) launchers for Mac and Windows. Pretty sweet.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/questions-griffon/">Questions About Griffon</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/' rel='bookmark' title='Permanent Link: Griffon Tutorials: Adding Useful Logging'>Griffon Tutorials: Adding Useful Logging</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-plugin-development-nitty-gritty/' rel='bookmark' title='Permanent Link: Griffon Plugin Development: Some Nitty Gritty'>Griffon Plugin Development: Some Nitty Gritty</a></li><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/10/questions-griffon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Griffon: Convention over Configuration for the Desktop</title>
		<link>http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/</link>
		<comments>http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 19:24:28 +0000</pubDate>
		<dc:creator>Dietrich Kappe</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technologies and Platforms]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Griffon]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=4200</guid>
		<description><![CDATA[
In the past, one of the nice things about web application development versus desktop development has been the proliferation of application development frameworks. Where desktop development pretty much gave you a set of GUI components and a few concepts like event driven programming and MVC, web frameworks, in particular the more recent ones such as [...]<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/">Griffon: Convention over Configuration for the Desktop</a></p>



Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li><li><a href='http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/' rel='bookmark' title='Permanent Link: Griffon Tutorials: Adding Useful Logging'>Griffon Tutorials: Adding Useful Logging</a></li><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right;padding:10px"><img title="groffon" src="http://www.pathf.com/blogs/wp-content/uploads/2009/10/groffon.png" alt="groffon" width="155" height="50" /></div>
<p>In the past, one of the nice things about web application development versus desktop development has been the proliferation of application development frameworks. Where desktop development pretty much gave you a set of GUI components and a few concepts like event driven programming and MVC, web frameworks, in particular the more recent ones such as Rails and Grails, gave you an application architecture into which you could implement your domain specific logic.</p>
<p>Lots of benefits accrued from this predefined structure, not the least of which was the ability to quickly understand the application based on a shared understanding of how applications using this framework were put together. In my experience of looking at desktop and web applications over the years, the web applications were better and more consistently designed than their desktop counterparts. Similar tries at desktop frameworks just never seemed to gain any traction (recall Scope, an app framework based on the HMVC pattern that died of neglect).</p>
<p>Now along comes <a href="http://griffon.codehaus.org/" rel="nofollow"  target="_blank">Griffon</a>, a desktop application framework modeled on (and sharing an architecture) with <a href="http://grails.org/" rel="nofollow"  target="_blank">Grails</a>. Griffon has a very similar controller, view and model breakdown as Grails, and support for plugins. I'd like to see similar frameworks for .NET and Cocoa (yes, yes, Cocoa has some of it's own framework goodness, but could use some higher level application abstractions to make application development more consistent).</p>
<p><span id="more-4200"></span>Finally, even Griffon applications, while a vast improvement over bare GUI development, still wrestles with complex, hierarchical interfaces. That's where integrating something like <a href="http://puremvc.org/" rel="nofollow"  target="_blank">PureMVC</a> with it's message bus can lead to even greater elegance and productivity.</p>
<p>I'm in the process of developing a PureMVC plugin for Griffon. Stay tuned.</p>
<p><hr>
<a href="http://www.pathf.com/">Pathfinder Development - creating innovative software that builds business value. </a>
<br/><br/><a href="http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/">Griffon: Convention over Configuration for the Desktop</a></p>


<p>Related posts:<ol><li><a href='http://www.pathf.com/blogs/2009/10/griffon-puremvc-plugin-initial-thoughts/' rel='bookmark' title='Permanent Link: Griffon and a PureMVC Plugin: Some Initial Thoughts'>Griffon and a PureMVC Plugin: Some Initial Thoughts</a></li><li><a href='http://www.pathf.com/blogs/2009/11/griffon-tutorials-adding-logging/' rel='bookmark' title='Permanent Link: Griffon Tutorials: Adding Useful Logging'>Griffon Tutorials: Adding Useful Logging</a></li><li><a href='http://www.pathf.com/blogs/2009/10/questions-griffon/' rel='bookmark' title='Permanent Link: Questions About Griffon'>Questions About Griffon</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2009/10/griffon-convention-configuration-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 6.360 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-12 04:36:18 -->
