<?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>Marc Palmer</title>
	<atom:link href="http://www.anyware.co.uk/2005/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anyware.co.uk/2005</link>
	<description>Grails developer/consultant</description>
	<lastBuildDate>Tue, 24 Aug 2010 11:35:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A new Grails plugin: Invitation-Only</title>
		<link>http://www.anyware.co.uk/2005/2010/08/24/a-new-grails-plugin-invitation-only/</link>
		<comments>http://www.anyware.co.uk/2005/2010/08/24/a-new-grails-plugin-invitation-only/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 11:35:47 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[plugin release]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=737</guid>
		<description><![CDATA[This morning I released a new Grails plugin that lets you manage beta-invites to your app and similar.
More information here.
    

Related posts:Bean-Fields plugin 0.6 released



Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/03/13/bean-fields-plugin-0-6-released/' rel='bookmark' title='Permanent Link: Bean-Fields plugin 0.6 released'>Bean-Fields plugin 0.6 released</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This morning I released a new Grails plugin that lets you manage beta-invites to your app and similar.</p>
<p><a href="http://grails.org/plugin/invitation-only">More information here</a>.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F08%2F24%2Fa-new-grails-plugin-invitation-only%2F&amp;linkname=A%20new%20Grails%20plugin%3A%20Invitation-Only" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F08%2F24%2Fa-new-grails-plugin-invitation-only%2F&amp;linkname=A%20new%20Grails%20plugin%3A%20Invitation-Only" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F08%2F24%2Fa-new-grails-plugin-invitation-only%2F&amp;linkname=A%20new%20Grails%20plugin%3A%20Invitation-Only" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F08%2F24%2Fa-new-grails-plugin-invitation-only%2F&amp;linkname=A%20new%20Grails%20plugin%3A%20Invitation-Only" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F08%2F24%2Fa-new-grails-plugin-invitation-only%2F&amp;linkname=A%20new%20Grails%20plugin%3A%20Invitation-Only"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/03/13/bean-fields-plugin-0-6-released/' rel='bookmark' title='Permanent Link: Bean-Fields plugin 0.6 released'>Bean-Fields plugin 0.6 released</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/08/24/a-new-grails-plugin-invitation-only/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Co-op Bank responds to my letter of complaint</title>
		<link>http://www.anyware.co.uk/2005/2010/07/15/co-op-bank-responds-to-my-letter-of-complaint/</link>
		<comments>http://www.anyware.co.uk/2005/2010/07/15/co-op-bank-responds-to-my-letter-of-complaint/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 17:55:23 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[usability]]></category>
		<category><![CDATA[co-op]]></category>
		<category><![CDATA[co-op bank fail]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=725</guid>
		<description><![CDATA[I sent a wide-ranging complaint letter to The Co-Op after hitting saturation point with the continued problems with their online business banking, a catalogue of mistakes and inefficiencies making international payments, and continuing frustrations with the idiotic personal banking chip reader and antiquated personal banking site.
You know, little things. My complaint was very much supportive [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/19/co-op-business-banking-new-system-looks-bad-already/' rel='bookmark' title='Permanent Link: Co-op Business Banking &#8211; new system looks bad already'>Co-op Business Banking &#8211; new system looks bad already</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/11/09/co-op-business-banking-errors-again/' rel='bookmark' title='Permanent Link: Co-op Business Banking errors again'>Co-op Business Banking errors again</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I sent a wide-ranging complaint letter to The Co-Op after hitting saturation point with <a href="http://www.anyware.co.uk/2005/2009/11/16/co-op-business-banking-outcome-of-radio-4-coverage-is/">the continued problems with their online business banking</a>, a catalogue of mistakes and inefficiencies making international payments, and continuing frustrations with the idiotic personal banking chip reader and antiquated personal banking site.</p>
<p>You know, little things. My complaint was very much supportive of the banks ideals and its original market-leading position on online banking.</p>
<p>Anyway the response has finally come. To paraphrase:</p>
<ul>
<li>They say they have improved resourcing in the Foreign Services department (for business)</li>
<li>They apologised for the mistake with my international payment and gave me £50. OK, but this doesn&#8217;t cover the time spent dealing with their antiquated systems.</li>
<li>On the requirement for obsolete fax machines for international payments: &#8220;We currently action foreign transfers from written instructions to ensure there is no misinterpretation of the customer request&#8221;. <strong>This is laughably inconsistent! </strong>The whole problem with my international payment (which was faxed) was exactly this &#8211; a misinterpretation. Furthermore they go on to state that if you use their premium &#8220;Financial Director&#8221; online app, you can make international payments <strong>without a fax</strong>.</li>
<li>They say the new business online banking, which is being very positively received they say (compared to existing, any site that worked every day would be well received) will be fully rolled out to all customers by August/Sept (I was griping they said Q2 2010 in response to Radio 4 Money Box).</li>
<li>The security token for the new business banking is a PIN-driven code generator that &#8220;fits on a keyring&#8221; (i.e. easily stolen) and does not require a card, unlike the one used for personal banking. It will be used for logging in, and also for &#8220;some operations&#8221; like creating a <em>new</em> beneficiary.</li>
<li>They rejected my criticism of the telephone banking as inherently insecure because &#8220;this is normal within the industry&#8221;. This was in reference to the false sense of security created by the need for pin generators etc. They seem confused here and have misunderstood the point that the full account number, sort code <strong>and</strong> full 4-digit PIN must be given over the phone to access their automated service. Add another handset to someone&#8217;s phone line, use your mobile to record the eavesdropped DTMF tones and you&#8217;re away.</li>
<li>Finally, they assure me that they are investing in an &#8220;innovative new banking system&#8221; for personal banking. No specific timescales, but &#8220;the Bank is committed to this development&#8221;.</li>
</ul>
<p>Let&#8217;s not hold our breath. New business banking has been in development for years, only just rolling out. Timescales given out for it last year, still not met revised dates.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F07%2F15%2Fco-op-bank-responds-to-my-letter-of-complaint%2F&amp;linkname=Co-op%20Bank%20responds%20to%20my%20letter%20of%20complaint" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F07%2F15%2Fco-op-bank-responds-to-my-letter-of-complaint%2F&amp;linkname=Co-op%20Bank%20responds%20to%20my%20letter%20of%20complaint" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F07%2F15%2Fco-op-bank-responds-to-my-letter-of-complaint%2F&amp;linkname=Co-op%20Bank%20responds%20to%20my%20letter%20of%20complaint" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F07%2F15%2Fco-op-bank-responds-to-my-letter-of-complaint%2F&amp;linkname=Co-op%20Bank%20responds%20to%20my%20letter%20of%20complaint" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F07%2F15%2Fco-op-bank-responds-to-my-letter-of-complaint%2F&amp;linkname=Co-op%20Bank%20responds%20to%20my%20letter%20of%20complaint"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/19/co-op-business-banking-new-system-looks-bad-already/' rel='bookmark' title='Permanent Link: Co-op Business Banking &#8211; new system looks bad already'>Co-op Business Banking &#8211; new system looks bad already</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/11/09/co-op-business-banking-errors-again/' rel='bookmark' title='Permanent Link: Co-op Business Banking errors again'>Co-op Business Banking errors again</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/07/15/co-op-bank-responds-to-my-letter-of-complaint/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My first few days with iPad</title>
		<link>http://www.anyware.co.uk/2005/2010/04/28/my-first-few-days-with-ipad/</link>
		<comments>http://www.anyware.co.uk/2005/2010/04/28/my-first-few-days-with-ipad/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 16:05:21 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[Moving to Mac]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=711</guid>
		<description><![CDATA[There have been lots of iPad reviews, so I&#8217;ll try not to go over the same old stuff. Suffice to say it is very good, but I&#8217;m still learning how to use it &#8211; i.e. how it fits into my life. Will I really do diagrams on it, will I read e-books for long periods, [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/' rel='bookmark' title='Permanent Link: Data sync on iPhone, iPod, iPad &#8211; the missing link?'>Data sync on iPhone, iPod, iPad &#8211; the missing link?</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/' rel='bookmark' title='Permanent Link: My Apple tablet predictions &#8211; for what its worth'>My Apple tablet predictions &#8211; for what its worth</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/16/the-future-of-computing-uis-tv-and-touch-tablets-and-os-x/' rel='bookmark' title='Permanent Link: The future of computing UIs &#8211; TV and touch tablets and OS X'>The future of computing UIs &#8211; TV and touch tablets and OS X</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There have been lots of <a href="http://apple.com/ipad">iPad</a> reviews, so I&#8217;ll try not to go over the same old stuff. Suffice to say it is very good, but I&#8217;m still learning how to use it &#8211; i.e. how it fits into my life. Will I really do diagrams on it, will I read e-books for long periods, will I write code?(?!).</p>
<p>A quick summary after 2 days intermittent use.</p>
<ul>
<li>It <em>is</em> a little too heavy at first. I suspect my arms will get used to it, or I will learn to hold it the right way &#8211; we never thought people would write essays with their thumbs on mobile phones. This is no doubt related to battery weight. I&#8217;d rather have the battery life &#8211; but a few 100g less would stop this being something people mention. Hardback books are heavy.</li>
<li>The photos app is an instant winner. All they need now is selection of which you want to order prints for and ordering prints direct from iPad using iTunes account. Oh, and they do need wireless smart syncing of photos from MobileMe, Flickr etc. So you can publish from your other Mac/PCs and the ipad syncs them over the wire in the background.</li>
<li>Typing is much much better than I thought it would be. With practice I can be as fast or faster than on a regular Apple keyboard I&#8217;m sure. I just need to get used to the slightly differently layout and tactile differences. So much so I could consider writing code on it. There are already some HTML editors for iPad.</li>
<li>It would be really nice to set an App to be used as the lock screen, not a wallpaper. Eg set Weather HD or Guardian Eyewitness, Calendar month view, or the built in picture frame app &#8211; to come up when you press the lock button.</li>
<li>I actually like some of the iPhone apps at 2x zoom. Most iPad native apps seem to be taking the fonts a little too small, and losing the benefits of larger font clarity / greater distance from the eyes that iPad screen should be affording you.</li>
<li>Some apps definitely need further optimisation. E.g. Omnigraffle is not a bad first stab but there is no justification I can see for the UI being so laggy when dragging a single rectangle around the screen on a trivial diagram. Calculating the guides cannot be that intensive! Art authority is nice but the image quality of the marble UI backgrounds is really nasty, and the UI is rather sluggish with no indication it is busy at times.</li>
<li>A little gripping surface around the edges would make you less scared when carrying it without a case. The front surface is very slippery, the back isn&#8217;t.</li>
<li>I find it hard to find apps in home screen &#8211; they are too far apart and with an image background, it is hard for icons to stand out visually &#8211; I often have to resort to using search to find apps! This is reason enough to not have the option to set custom wallpaper&#8230; or at least it should be default reduce the intensity of wallpapers by 50%</li>
<li>I miss the magazine rack metaphor from NewsRack for iPad. Seems much better fit for iPad than iPhone, I hope it comes back</li>
<li>The lameness of many apps is more obvious on iPad than on iPhone. You&#8217;re more happy to &#8220;make do&#8221; on iPhone but the bar is being set higher on iPad by very good UIs e.g. Penultimate, Elements, Weather HD, Virtuoso HD piano. Omnigraffle is a good first stab but feels too awkward still.</li>
<li>iBooks better become like iPod app and allow third party PDFs/ePub files to install easily w/o buying from iBooks store. All other e-book readers I can find seem completely lacking the Apple polish &#8211; slow, unintuitive touch interactions etc.</li>
<li>Smaller text sizes on webpages will be much more readable when they eventually upgrade the display to higher dpi. It might be a year or two though&#8230;</li>
</ul>
<p>I can&#8217;t vouch for Pages, Numbers, Keynote or iBooks yet &#8211; they aren&#8217;t available in the UK app store (which you can only access from iTunes currently anyway).</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F28%2Fmy-first-few-days-with-ipad%2F&amp;linkname=My%20first%20few%20days%20with%20iPad" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F28%2Fmy-first-few-days-with-ipad%2F&amp;linkname=My%20first%20few%20days%20with%20iPad" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F28%2Fmy-first-few-days-with-ipad%2F&amp;linkname=My%20first%20few%20days%20with%20iPad" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F28%2Fmy-first-few-days-with-ipad%2F&amp;linkname=My%20first%20few%20days%20with%20iPad" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F28%2Fmy-first-few-days-with-ipad%2F&amp;linkname=My%20first%20few%20days%20with%20iPad"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/' rel='bookmark' title='Permanent Link: Data sync on iPhone, iPod, iPad &#8211; the missing link?'>Data sync on iPhone, iPod, iPad &#8211; the missing link?</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/' rel='bookmark' title='Permanent Link: My Apple tablet predictions &#8211; for what its worth'>My Apple tablet predictions &#8211; for what its worth</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/16/the-future-of-computing-uis-tv-and-touch-tablets-and-os-x/' rel='bookmark' title='Permanent Link: The future of computing UIs &#8211; TV and touch tablets and OS X'>The future of computing UIs &#8211; TV and touch tablets and OS X</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/04/28/my-first-few-days-with-ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Javascript and CSS frameworks in Grails plugins</title>
		<link>http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/</link>
		<comments>http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 20:38:24 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/</guid>
		<description><![CDATA[The Weceem CMS plugin for Grails uses the Blueprint CSS framework, jQuery and jQuery UI Javascript libraries. As the Grails plugin marketplace continues to mature, other plugins will have more polished user interfaces or reusable tags that require certain libraries.
This raises an ugly prospect: a new resource dependency problem. Only unlike java dependency problems this [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2009/09/25/and-another-grails-plugin/' rel='bookmark' title='Permanent Link: &#8230;and another Grails plugin'>&#8230;and another Grails plugin</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/' rel='bookmark' title='Permanent Link: Weceem 0.8 Released &#8211; Highlights and background'>Weceem 0.8 Released &#8211; Highlights and background</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/18/ive-released-another-grails-plugin/' rel='bookmark' title='Permanent Link: I&#8217;ve released another Grails plugin'>I&#8217;ve released another Grails plugin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://weceem.org">Weceem CMS plugin</a> for <a href="http://grails.org">Grails</a> uses the <a href="http://blueprintcss.org">Blueprint CSS framework</a>, <a href="http://jquery.com">jQuery</a> and <a href="http://jqueryui.com">jQuery UI</a> Javascript libraries. As the Grails plugin marketplace continues to mature, other plugins will have more polished user interfaces or reusable tags that require certain libraries.</p>
<p>This raises an ugly prospect: a new resource dependency problem. Only unlike java dependency problems this is worse as you end up with multiple copies of resources in your app, even if they are the same version because plugins will typically bundle the resources themselves. Your app may add some of these too and your site becomes slow to load or experiences failures related to clashing library versions.</p>
<p>There is however a staggeringly simple solution to this: lightweight Grails plugins that contain the resources.</p>
<p>Thanks to Grails&#8217; automatic dependency resolution we (the grails community) can just create plugins to wrap up each such library and then we just make any apps or plugins that require them depend on them by installing the library plugin or adding it to the dependsOn clause of other plugins.</p>
<p>An important caveat here is that the library plugins need to use version numbers matching the version of the library they encapsulate. Then if you want jQuery 1.4.2 you depend on/install grails-jquery version 1.4.2 or higher. The grails-jquery plugin authors have already done this.</p>
<p>These plugins should implement a simple tag called &#8220;resources&#8221; in an appropriate namespace e.g.  or .</p>
<p>I strongly believe that such plugins should NOT include other tags or more heavyweight tags wrapping up library features &#8211; do that in another plugin e.g. &#8220;grails-jquery-tools&#8221;.</p>
<p>This approach does provide new challenges for optimizing static content &#8211; minifying JS and CSS and including only required modules from a larger library remains awkward as it is today with non-dependency solutions.</p>
<p>Ultimately I think we need smarter solutions than those currently in use to solve this. I have some ideas forming&#8230;</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F26%2Fjavascript-and-css-frameworks-in-grails-plugins%2F&amp;linkname=Javascript%20and%20CSS%20frameworks%20in%20Grails%20plugins" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F26%2Fjavascript-and-css-frameworks-in-grails-plugins%2F&amp;linkname=Javascript%20and%20CSS%20frameworks%20in%20Grails%20plugins" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F26%2Fjavascript-and-css-frameworks-in-grails-plugins%2F&amp;linkname=Javascript%20and%20CSS%20frameworks%20in%20Grails%20plugins" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F26%2Fjavascript-and-css-frameworks-in-grails-plugins%2F&amp;linkname=Javascript%20and%20CSS%20frameworks%20in%20Grails%20plugins" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F26%2Fjavascript-and-css-frameworks-in-grails-plugins%2F&amp;linkname=Javascript%20and%20CSS%20frameworks%20in%20Grails%20plugins"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2009/09/25/and-another-grails-plugin/' rel='bookmark' title='Permanent Link: &#8230;and another Grails plugin'>&#8230;and another Grails plugin</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/' rel='bookmark' title='Permanent Link: Weceem 0.8 Released &#8211; Highlights and background'>Weceem 0.8 Released &#8211; Highlights and background</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/18/ive-released-another-grails-plugin/' rel='bookmark' title='Permanent Link: I&#8217;ve released another Grails plugin'>I&#8217;ve released another Grails plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Co-op Business Banking &#8211; new system looks bad already</title>
		<link>http://www.anyware.co.uk/2005/2010/04/19/co-op-business-banking-new-system-looks-bad-already/</link>
		<comments>http://www.anyware.co.uk/2005/2010/04/19/co-op-business-banking-new-system-looks-bad-already/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:38:45 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[World]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[co-op]]></category>
		<category><![CDATA[co-op bank fail]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=706</guid>
		<description><![CDATA[I hope to be proven wrong, but I fear that the ongoing Co-operative Bank Business Online Banking fiasco is going to degenerate even further.
The co-op bank have published a short video screencast demoing their new system, presumably to make us believe they might actually come up with something usable any time soon. The new system [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/07/15/co-op-bank-responds-to-my-letter-of-complaint/' rel='bookmark' title='Permanent Link: Co-op Bank responds to my letter of complaint'>Co-op Bank responds to my letter of complaint</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/11/09/co-op-business-banking-errors-again/' rel='bookmark' title='Permanent Link: Co-op Business Banking errors again'>Co-op Business Banking errors again</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I hope to be proven wrong, but I fear that the <a href="http://www.anyware.co.uk/2005/2009/11/16/co-op-business…-4-coverage-is">ongoing Co-operative Bank Business Online Banking fiasco</a> is going to degenerate even further.</p>
<p>The <a href="http://www.co-operativebank.co.uk/cfscombi/swf/system-overview-1.html">co-op bank have published a short video screencast demoing their new system</a>, presumably to make us believe they might actually come up with something usable any time soon. The new system is already overdue, pushed back to Q2 2010 which we are already into.</p>
<p>Why am I whining again about this? Well if you <a href="http://www.co-operativebank.co.uk/cfscombi/swf/system-overview-1.html">watch the video</a> pay attention to some of the details.</p>
<p>First &#8211; you need a code generator device just to LOG IN. Yes that&#8217;s right. You need a CUSTOMER ID, <strong>and </strong>a USER ID (hey I&#8217;m a small business, there&#8217;s only me!), <strong>and</strong> a generated passcode from those crappy machines that need your card and PIN entry. This mechanisms is supposed to make you more secure &#8211; but the way Co-op use it on their personal banking is a complete nightmare. You can&#8217;t even transfer a few quid to one of your own accounts, pay a bill (already set up) or amend an existing standing order without having to grab a registered debit card AND the code generator device. It makes the entire process extremely slow and awkward. What about people who work on the move? This is not user friendly at all. <strong>Using it to log in is a nightmare</strong>.</p>
<p>Second &#8211; notice how the transaction display in the video is a complete usability cock up. It shows 3-4 lines of balances without scrolling, despite there being much more screen space. It has a horizontal scroll bar all the time, because there are too many columns shown. Even with this, there&#8217;s not enough space given to the name of the account and it wraps after only a few characters. All this can be fixed quite easily but the point is it betrays<strong> a complete lack of understanding of usability</strong>.</p>
<p>On the plus side, I do notice from the navigation menus shown that there appears to be an ability to search for transactions, although you&#8217;ll forgive me if I don&#8217;t hold out much hope for the actual implementation of this being any good.</p>
<p>There&#8217;s however no mention of an international payments option, which presumably &#8211; and rather insanely in 2010 &#8211; still requires a FAX sent to their offices, on &#8220;headed notepaper&#8221; to be acceptable. I know, I had to do this last week. It is so antiquated and so foolish. FAX is inherently insecure, and you could easily fax all your bank details to the wrong person if you get the number wrong. Add to that the hilarious false assumption that &#8220;headed notepaper&#8221; is of any valid use in judging authenticity at all. They don&#8217;t know what my headed notepaper looks like. In fact I don&#8217;t have any. I sent it with a default template from iWork. And yet if it doesn&#8217;t look like &#8220;headed notepaper&#8221; they won&#8217;t accept it.</p>
<p>Laughable. Wake up banks! We don&#8217;t user typewriters, telex or fax any more, even if you do in your antiquated businesses.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F19%2Fco-op-business-banking-new-system-looks-bad-already%2F&amp;linkname=Co-op%20Business%20Banking%20%26%238211%3B%20new%20system%20looks%20bad%20already" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F19%2Fco-op-business-banking-new-system-looks-bad-already%2F&amp;linkname=Co-op%20Business%20Banking%20%26%238211%3B%20new%20system%20looks%20bad%20already" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F19%2Fco-op-business-banking-new-system-looks-bad-already%2F&amp;linkname=Co-op%20Business%20Banking%20%26%238211%3B%20new%20system%20looks%20bad%20already" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F19%2Fco-op-business-banking-new-system-looks-bad-already%2F&amp;linkname=Co-op%20Business%20Banking%20%26%238211%3B%20new%20system%20looks%20bad%20already" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F04%2F19%2Fco-op-business-banking-new-system-looks-bad-already%2F&amp;linkname=Co-op%20Business%20Banking%20%26%238211%3B%20new%20system%20looks%20bad%20already"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/07/15/co-op-bank-responds-to-my-letter-of-complaint/' rel='bookmark' title='Permanent Link: Co-op Bank responds to my letter of complaint'>Co-op Bank responds to my letter of complaint</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/11/09/co-op-business-banking-errors-again/' rel='bookmark' title='Permanent Link: Co-op Business Banking errors again'>Co-op Business Banking errors again</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/04/19/co-op-business-banking-new-system-looks-bad-already/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bean-Fields plugin 0.6 released</title>
		<link>http://www.anyware.co.uk/2005/2010/03/13/bean-fields-plugin-0-6-released/</link>
		<comments>http://www.anyware.co.uk/2005/2010/03/13/bean-fields-plugin-0-6-released/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 19:40:20 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugin release]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=701</guid>
		<description><![CDATA[I have released Bean-Fields plugin 0.6. This extremely handy plugin for Grails applications makes your data form GSPs DRY by centralizing the rendering and styling of your fields, handling &#60;label&#62; rendering, rendering appropriate HTML field based on property type, application of HTML max length constraints, rendering &#8220;required field&#8221; indicators, and rendering per-field errors. Rendering a [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/08/24/a-new-grails-plugin-invitation-only/' rel='bookmark' title='Permanent Link: A new Grails plugin: Invitation-Only'>A new Grails plugin: Invitation-Only</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/' rel='bookmark' title='Permanent Link: Weceem 0.8 Released &#8211; Highlights and background'>Weceem 0.8 Released &#8211; Highlights and background</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have released <a href="http://grails.org/plugin/bean-fields">Bean-Fields plugin</a> 0.6. This extremely handy plugin for <a href="http://grails.org">Grails</a> applications makes your data form GSPs DRY by centralizing the rendering and styling of your fields, handling &lt;label&gt; rendering, rendering appropriate HTML field based on property type, application of HTML max length constraints, rendering &#8220;required field&#8221; indicators, and rendering per-field errors. Rendering a whole bean&#8217;s worth of fields can be as simple as:</p>
<div class="dean_ch" style="white-space: wrap;">&lt;bean:form beanName=&quot;book&quot; properties=&quot;title, primaryAuthor.name, isbn&quot;/&gt;</div>
<p>Version 0.6 fixes a bunch of bugs related to rendering fields for nested property paths e.g. propertyName=&#8221;book.author.firstName&#8221; and introduces support for list / array properties eg &#8220;book.authors[3].firstName&#8221; (This was really quite painful to implement!). Radio groups are working properly now, and test coverage much improved &#8211; thanks to contribs from Antony Stubbs.</p>
<p>It also adds a user-definable threshold for whether a radio group or select list should be used for a field with an inList constraint.</p>
<p><a href="http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+GRAILSPLUGINS+AND+fixVersion+%3D+%22Grails-BeanFields-0.6%22+ORDER+BY+updated+DESC%2C+priority+DESC%2C+created+ASC&amp;mode=hide">Full list of resolved issues is here</a>.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F03%2F13%2Fbean-fields-plugin-0-6-released%2F&amp;linkname=Bean-Fields%20plugin%200.6%20released" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F03%2F13%2Fbean-fields-plugin-0-6-released%2F&amp;linkname=Bean-Fields%20plugin%200.6%20released" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F03%2F13%2Fbean-fields-plugin-0-6-released%2F&amp;linkname=Bean-Fields%20plugin%200.6%20released" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F03%2F13%2Fbean-fields-plugin-0-6-released%2F&amp;linkname=Bean-Fields%20plugin%200.6%20released" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F03%2F13%2Fbean-fields-plugin-0-6-released%2F&amp;linkname=Bean-Fields%20plugin%200.6%20released"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/08/24/a-new-grails-plugin-invitation-only/' rel='bookmark' title='Permanent Link: A new Grails plugin: Invitation-Only'>A new Grails plugin: Invitation-Only</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/' rel='bookmark' title='Permanent Link: Weceem 0.8 Released &#8211; Highlights and background'>Weceem 0.8 Released &#8211; Highlights and background</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/03/13/bean-fields-plugin-0-6-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My JAX London 2010 talk now online in video form</title>
		<link>http://www.anyware.co.uk/2005/2010/02/25/my-jax-london-2010-talk-now-online-in-video-form/</link>
		<comments>http://www.anyware.co.uk/2005/2010/02/25/my-jax-london-2010-talk-now-online-in-video-form/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 14:29:16 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=692</guid>
		<description><![CDATA[I delivered my talk &#8220;Yes you CAN use Grails&#8221; yesterday at JAX London 2010, and it was well received. Unfortunately nobody was videoing it, and as the slides are &#8220;Presentation Zen&#8221; style you won&#8217;t get much from the official slides from JAX. It talks about Grails basics and how Grails is the perfect fit for [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/' rel='bookmark' title='Permanent Link: Javascript and CSS frameworks in Grails plugins'>Javascript and CSS frameworks in Grails plugins</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/25/and-another-grails-plugin/' rel='bookmark' title='Permanent Link: &#8230;and another Grails plugin'>&#8230;and another Grails plugin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I delivered my talk &#8220;Yes you CAN use Grails&#8221; yesterday at JAX London 2010, and it was well received. Unfortunately nobody was videoing it, and as the slides are &#8220;Presentation Zen&#8221; style you won&#8217;t get much from the official slides from JAX. It talks about Grails basics and how Grails is the perfect fit for existing Java development shops, and the things you need to know to make it possible to use it in your workplace. Well, at least you can try.</p>
<p>So I recorded myself doing the talk here at home and have uploaded a screencast of it all for those of you who are interested. Its not so good the second try &#8211; you had to be there for the best version <img src='http://www.anyware.co.uk/2005/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Click the thumbnail to download the MOV. Its about 47 minutes. Its probably going to cost me a fortune having it on Amazon S3!</p>
<p><a href="http://s3.amazonaws.com/AnyWare/Blog/Screencasts/Yes%20You%20CAN%20Use%20Grails.mov"><img class="alignnone size-full wp-image-687" title="Yes you CAN use Grails" src="http://www.anyware.co.uk/2005/wp-content/uploads/2008/09/Yes-you-CAN-use-Grails.003.png" alt="" width="200" height="150" /></a></p>
<p><a href="http://s3.amazonaws.com/AnyWare/Blog/Screencasts/Yes%20You%20CAN%20Use%20Grails.mov"></a>Also <a href="http://s3.amazonaws.com/AnyWare/Blog/Screencasts/Yes%20You%20CAN%20Use%20Grails.mov?torrent">available as a torrent</a>.</p>
<p>People interested in making the case for Grails may be interested in an older post of mine that I&#8217;d completely forgotten about &#8211; <a href="http://www.anyware.co.uk/2005/2007/07/02/10-common-misconceptions-about-grails/">&#8220;10 common misconceptions about Grails&#8221;</a>.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F25%2Fmy-jax-london-2010-talk-now-online-in-video-form%2F&amp;linkname=My%20JAX%20London%202010%20talk%20now%20online%20in%20video%20form" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F25%2Fmy-jax-london-2010-talk-now-online-in-video-form%2F&amp;linkname=My%20JAX%20London%202010%20talk%20now%20online%20in%20video%20form" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F25%2Fmy-jax-london-2010-talk-now-online-in-video-form%2F&amp;linkname=My%20JAX%20London%202010%20talk%20now%20online%20in%20video%20form" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F25%2Fmy-jax-london-2010-talk-now-online-in-video-form%2F&amp;linkname=My%20JAX%20London%202010%20talk%20now%20online%20in%20video%20form" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F25%2Fmy-jax-london-2010-talk-now-online-in-video-form%2F&amp;linkname=My%20JAX%20London%202010%20talk%20now%20online%20in%20video%20form"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/' rel='bookmark' title='Permanent Link: Javascript and CSS frameworks in Grails plugins'>Javascript and CSS frameworks in Grails plugins</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/25/and-another-grails-plugin/' rel='bookmark' title='Permanent Link: &#8230;and another Grails plugin'>&#8230;and another Grails plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/02/25/my-jax-london-2010-talk-now-online-in-video-form/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Data sync on iPhone, iPod, iPad &#8211; the missing link?</title>
		<link>http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/</link>
		<comments>http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 13:05:15 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Moving to Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OmniFocus]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[Third]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=685</guid>
		<description><![CDATA[Users and particularly developers of Palm&#8217;s old line of PalmOS devices will keenly remember that Palm were the only people to get syncing right at the time.
Aside from all the basics, they allowed 3rd party applications on the device AND the desktop to talk to each other directly to sync custom data. I&#8217;ve bitched about [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/01/12/apple-itunes-and-nas-usage-please-fix-it-steve/' rel='bookmark' title='Permanent Link: Apple iTunes and NAS usage &#8211; please fix it Steve!'>Apple iTunes and NAS usage &#8211; please fix it Steve!</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/04/28/my-first-few-days-with-ipad/' rel='bookmark' title='Permanent Link: My first few days with iPad'>My first few days with iPad</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/' rel='bookmark' title='Permanent Link: My Apple tablet predictions &#8211; for what its worth'>My Apple tablet predictions &#8211; for what its worth</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Users and particularly developers of Palm&#8217;s old line of PalmOS devices will keenly remember that Palm were the only people to get syncing right at the time.</p>
<p>Aside from all the basics, they allowed 3rd party applications on the device AND the desktop to talk to each other directly to sync custom data. <a href="http://www.anyware.co.uk/2005/2007/06/13/iphonewwdc-custom-application-thoughts/">I&#8217;ve bitched about this before</a>.</p>
<p>As an avid Mac, iPhone, MobileMe and soon to be iPad user, I have to wonder what is happening with this at Apple. My real-world gripe is this:</p>
<blockquote><p>I was just about to open OmniFocus on my iPhone specifically so that it would sync with the latest data on my MacBook Pro, which is set to sync via MobileMe (using a pretty ugly file based solution). Why am I even doing this? Why isn&#8217;t this data synced (a) when I dock my iPhone to sync all the other iTunes stuff, and (b) why can&#8217;t it automatically sync wirelessly</p></blockquote>
<p>Well part (b) is easier to answer, although it is a three-fold answer. First, there&#8217;s no background app support to allow automatic sync of the OmniFocus app on the phone. That should be addressed by the Push API functionality except that OmniFocus doesn&#8217;t support Push API (server cost to them to do so) <em>and</em> even if they did support Push, iPhone SDK Push is not able to automatically pass the data to the application to force it to sync &#8211; the user must acknowledge the event and run the app on the phone manually. It&#8217;s a pile of suck, surprisingly, with a real feel of &#8220;disconnected device&#8221;.</p>
<p>Part (a) is more tricky to answer. It must be trivial for Apple to add this kind of support for direct-to-app syncing. They already have/had Sync APIs for OS X for a long time. Lack of support for this apparently makes no sense.</p>
<p>In conclusion I am very surprised that Apple has not updated the OS X Sync APIs so that:</p>
<ul>
<li>Third party apps can sync any data they like to/from the iPhone/iPod/iPad with iTunes as the conduit (that was the concept&#8217;s name in PalmOS if I recall)</li>
<li>The transport for sync is completely hidden from the applications such that sync will happen transparently via Dock, Wifi (direct between devices on local Wifi network), and via MobileMe cloud if the device is not on the same Wifi network.</li>
</ul>
<p>This is not rocket science after all. And yet we still have to know / think about what networks our devices are connected to, manually make sure we run them frequently etc. It is pretty lame, <a href="http://www.fakesteve.net/">Mr. Jobs</a>.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F07%2Fdata-sync-on-iphone-ipod-ipad-the-missing-link%2F&amp;linkname=Data%20sync%20on%20iPhone%2C%20iPod%2C%20iPad%20%26%238211%3B%20the%20missing%20link%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F07%2Fdata-sync-on-iphone-ipod-ipad-the-missing-link%2F&amp;linkname=Data%20sync%20on%20iPhone%2C%20iPod%2C%20iPad%20%26%238211%3B%20the%20missing%20link%3F" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F07%2Fdata-sync-on-iphone-ipod-ipad-the-missing-link%2F&amp;linkname=Data%20sync%20on%20iPhone%2C%20iPod%2C%20iPad%20%26%238211%3B%20the%20missing%20link%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F07%2Fdata-sync-on-iphone-ipod-ipad-the-missing-link%2F&amp;linkname=Data%20sync%20on%20iPhone%2C%20iPod%2C%20iPad%20%26%238211%3B%20the%20missing%20link%3F" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F02%2F07%2Fdata-sync-on-iphone-ipod-ipad-the-missing-link%2F&amp;linkname=Data%20sync%20on%20iPhone%2C%20iPod%2C%20iPad%20%26%238211%3B%20the%20missing%20link%3F"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/01/12/apple-itunes-and-nas-usage-please-fix-it-steve/' rel='bookmark' title='Permanent Link: Apple iTunes and NAS usage &#8211; please fix it Steve!'>Apple iTunes and NAS usage &#8211; please fix it Steve!</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/04/28/my-first-few-days-with-ipad/' rel='bookmark' title='Permanent Link: My first few days with iPad'>My first few days with iPad</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/' rel='bookmark' title='Permanent Link: My Apple tablet predictions &#8211; for what its worth'>My Apple tablet predictions &#8211; for what its worth</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Apple tablet predictions &#8211; for what its worth</title>
		<link>http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/</link>
		<comments>http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:09:06 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Moving to Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[speculation]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=678</guid>
		<description><![CDATA[Might as well join in the fun eh.
Ironically, I think that there will not be that much hardware &#8220;frill&#8221; with the Apple tablet. I think that actually this is really all about software and the masses of computer users who are not &#8220;power users&#8221;.
Follow the logic:
Net books are very popular.
The iPhone and the new breed [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2009/09/16/the-future-of-computing-uis-tv-and-touch-tablets-and-os-x/' rel='bookmark' title='Permanent Link: The future of computing UIs &#8211; TV and touch tablets and OS X'>The future of computing UIs &#8211; TV and touch tablets and OS X</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/apple-itunes-and-nas-usage-please-fix-it-steve/' rel='bookmark' title='Permanent Link: Apple iTunes and NAS usage &#8211; please fix it Steve!'>Apple iTunes and NAS usage &#8211; please fix it Steve!</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/' rel='bookmark' title='Permanent Link: Data sync on iPhone, iPod, iPad &#8211; the missing link?'>Data sync on iPhone, iPod, iPad &#8211; the missing link?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Might as well join in the fun eh.</p>
<p>Ironically, I think that there will not be that much hardware &#8220;frill&#8221; with the <a href="http://apple.com">Apple</a> tablet. I think that actually this is really all about software and the masses of computer users who are not &#8220;power users&#8221;.</p>
<p>Follow the logic:</p>
<p>Net books are very popular.</p>
<p>The <a href="http://apple.com/iphone">iPhone</a> and the new breed of beyond-smart phones is incredibly popular.</p>
<p>What is the common thread here? Both devices are very portable and offer most of the basic computing that people need day to day. What is it that most people &#8211; which I&#8217;m afraid guys means non-geeks, the truly massive market beyond geekdom &#8211; need?</p>
<ol>
<li>Email</li>
<li>Web</li>
</ol>
<p>That&#8217;s it. That&#8217;s what most people who are not raving geeks need. In fact some geeks may need only that. After all there isn&#8217;t much you can&#8217;t do with web apps now (e.g. bespin). Google OS/Chrome stuff has been geared to this from the get-go, its not a novel idea.</p>
<p>Functionally, most people also need to be able to write/edit documents that can be read by MS Word &#8211; not that they need MS Word, they just need to write out .doc files. This can be done via web apps or via lightweight local apps.</p>
<p>However Apple would not do something like this unless it also offered uniquely integrated stuff.</p>
<p>So on the back of this I reckon the tablet will:</p>
<ul>
<li>Not be that revolutionary hardware wise &#8211; eg physically this probably is like a giant iphone</li>
<li>To include some web-hosted (with local offline usage) iWork for Pages (= docs &amp; spreadsheets writing. maybe keynote too)</li>
<li>Full access to all your iTunes audio and video media and photos (cloud or not) &#8211; I would be surprised if this is 100% cloud done at this stage, what with the awful 3G coverage and slow speeds to sync photos and videos. Access to this done &#8220;ipod style&#8221;, which is a killer recipe as the market has shown</li>
<li>A first class large-form factor email app, geared to multitouch</li>
<li>And as suspected the delivery of formerly-print media, possibly opening up iTunes marketplace to any author who wants to prepare and sell content. Who knows perhaps you will even be able to create new textual/mixed content on the iPad and sell it via iTunes. This content provision is probably the one really new thing that helps make such a pad a really attractive proposition.</li>
</ul>
<p>In a nutshell, a beautiful portable computer that is most definitely NOT a laptop because a great deal of people will never see themselves as the laptop carrying kind. However they are likely to part with cash for something that is much smaller than that but a true lifestyle accessory that &#8220;just works&#8221;. Obviously it will support custom apps and app store too &#8211; which has already shown on iPhone that a lot of people just want little stuff that makes life easier.</p>
<p>Several programmers including myself have wondered &#8220;Why do I need something like that?&#8221;. The answer is if you have an iPhone and laptop, you don&#8217;t. The big market win here is not people like us, its everyone else in the real world! Laptops are complete overkill for a lot of people and the netbook market has sort of shown that. They&#8217;re not so much winning against laptops as a result of price, they&#8217;re winning on form factor and simplicity. If people really needed high-end laptop features, they&#8217;d still buy a laptop instead of a netbook.</p>
<p>I&#8217;m pretty sure netbooks aren&#8217;t aimed at programmers either &#8211; although I am confident some masochists code Perl on them and swear that its the best <span style="text-decoration: line-through;">calculator</span> computer they&#8217;ve ever had. The tablet on the other hand, is squarely aimed at attacking the netbook and light-use laptop market.</p>
<p>Let&#8217;s see what Wednesday brings!</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F20%2Fmy-apple-tablet-predictions-for-what-its-worth%2F&amp;linkname=My%20Apple%20tablet%20predictions%20%26%238211%3B%20for%20what%20its%20worth" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F20%2Fmy-apple-tablet-predictions-for-what-its-worth%2F&amp;linkname=My%20Apple%20tablet%20predictions%20%26%238211%3B%20for%20what%20its%20worth" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F20%2Fmy-apple-tablet-predictions-for-what-its-worth%2F&amp;linkname=My%20Apple%20tablet%20predictions%20%26%238211%3B%20for%20what%20its%20worth" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F20%2Fmy-apple-tablet-predictions-for-what-its-worth%2F&amp;linkname=My%20Apple%20tablet%20predictions%20%26%238211%3B%20for%20what%20its%20worth" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F20%2Fmy-apple-tablet-predictions-for-what-its-worth%2F&amp;linkname=My%20Apple%20tablet%20predictions%20%26%238211%3B%20for%20what%20its%20worth"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2009/09/16/the-future-of-computing-uis-tv-and-touch-tablets-and-os-x/' rel='bookmark' title='Permanent Link: The future of computing UIs &#8211; TV and touch tablets and OS X'>The future of computing UIs &#8211; TV and touch tablets and OS X</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/01/12/apple-itunes-and-nas-usage-please-fix-it-steve/' rel='bookmark' title='Permanent Link: Apple iTunes and NAS usage &#8211; please fix it Steve!'>Apple iTunes and NAS usage &#8211; please fix it Steve!</a></li>
<li><a href='http://www.anyware.co.uk/2005/2010/02/07/data-sync-on-iphone-ipod-ipad-the-missing-link/' rel='bookmark' title='Permanent Link: Data sync on iPhone, iPod, iPad &#8211; the missing link?'>Data sync on iPhone, iPod, iPad &#8211; the missing link?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/01/20/my-apple-tablet-predictions-for-what-its-worth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weceem 0.8 Released &#8211; Highlights and background</title>
		<link>http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/</link>
		<comments>http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 14:01:02 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Groovy and Grails]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[weceem]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=670</guid>
		<description><![CDATA[I&#8217;ve just managed to push out version 0.8 of the Weceem CMS for Grails.
This is a pretty cool if slightly unglamourous release because it has focussed on some performance and security stuff &#8211; oh and compatibility with the latest and greatest Grails 1.2.0 release.
Let me first apologise for the ropey typography on weceem.org &#8211; we [...]


Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/' rel='bookmark' title='Permanent Link: Javascript and CSS frameworks in Grails plugins'>Javascript and CSS frameworks in Grails plugins</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/17/development-is-easy-creating-product-is-hard/' rel='bookmark' title='Permanent Link: Development is easy. Creating product is hard.'>Development is easy. Creating product is hard.</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/18/ive-released-another-grails-plugin/' rel='bookmark' title='Permanent Link: I&#8217;ve released another Grails plugin'>I&#8217;ve released another Grails plugin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just managed to push out version <a href="http://weceem.org">0.8 of the Weceem CMS</a> for Grails.</p>
<p>This is a pretty cool if slightly unglamourous release because it has focussed on some performance and security stuff &#8211; oh and compatibility with the <a href="http://grails.org">latest and greatest Grails 1.2.0 release</a>.</p>
<p>Let me first apologise for the ropey typography on weceem.org &#8211; we haven&#8217;t yet had the time/resources to fix up the CSS styles so things are a little ugly in places. We will fix it as soon as we get time!</p>
<p>Anyway, we added a security policy. This is a groovy script (currently only loaded once at startup) that lets you define what different users can do. This uses a DSL that lets you declare roles and then say what they can do in different spaces, including whether they can admin the space, edit/view/delete/create content, and even do this by URI requested. (<a href="http://www.weceem.org/weceem/Documentation/Reference-manual/Security-Authorisation">see more info and example here</a>)</p>
<p>Because we believe strongly that Weceem should not force you to use a particular authentication library, we had to decouple the policy mechanism from authentication. As a result these roles are completely uninterpreted by Weceem. To integrate and authentication system all you have to be able to do is provide the name, email, login and list of roles for the currently logged-in user. (<a href="http://www.weceem.org/weceem/Documentation/Reference-manual/Security-Custom-Authentication">an example here</a>)</p>
<p>This has enabled some cool stuff in <a href="http://fisheye.codehaus.org/browse/grails-plugins/grails-weceem/tags/RELEASE_0_8/grails-app/services/org/weceem/services/WeceemSecurityService.groovy?r=HEAD">WeceemSecurityService</a> which relies on the security policy. The service has utility methods for implementing our security logic, e.g. isUserAllowedToViewContent(Content c). For example in previous versions of Weceem you could not preview content if it was not in a publicContent status (eg not Published).</p>
<p>Thankfully from version 0.8, anybody who has the EDIT permission can view non-published content. the default security policy ensures that the default administrator account has EDIT permission, so you can preview away as much as you like. We plan future updates to this to allow the security policy to control who can manipulate different types of content, which will be really powerful for people using custom content types.</p>
<p>On the performance front, it became obvious that something needed to be done because the default &#8220;index&#8221; page installed by <a href="http://weceem.org">Weceem</a> into new spaces was resulting in huge amounts of SQL queries for a single page.</p>
<p>This is because the page is made up like this:</p>
<ul>
<li>It pulls in a Template node for the styling</li>
<li>It pulls in three Widgets for reusable HEAD section tags and header and footer</li>
<li>The header widget iterates over all root content nodes and their children to render the menu with the wcm:menu tag</li>
<li>The page itself links to various StyleSheet and JavaScript nodes to pull in styling and scripts &#8211; these are processed on separate requests but still add to the overall burden of the page</li>
</ul>
<p>This can result in a lot of SQL chatter because we have (rightly so) made no effort to optimize this until now.</p>
<p>There are a couple of areas here that would make a big difference to the SQL traffic.</p>
<p>It is very important to realise that turning on the 2nd level cache in your Grails app&#8217;s GORM configuration does not magically give you major performance improvements. My understanding of this rather complex area (which frankly I found very disappointing) is:</p>
<ul>
<li>The 2nd level cache is only used for retrieval by object id. This is very important</li>
<li>The query caches are used to cache the ids of objects returned for a given query</li>
<li>Query caches are invalidated frequently by Hibernate if your model is not primarily read-only (<a href="http://tech.puredanger.com/2009/07/10/hibernate-query-cache/">and can cause some threading contention</a>)</li>
</ul>
<p>Luckily a CMS is pretty read-only in terms of number of requests that actually read vs update content, so the 2nd level cache is a good candidate for us here.</p>
<p>One of the major SQL hits for Weceem is resolving a URI to the ultimate content node to render. Due to the model we need to query for each part of the URI, so a request for /a/b/c results in three selects. So that&#8217;s an easy one &#8211; we added URI path -&gt; content id caching (and some other smarts) into the ContentRepositoryService. So once content has been hit, it will always be retrieved by id in future, via the 2nd level cache.</p>
<p>Another issue is iterating over child nodes. This is less trivial. We are using some query caching but I have noticed that some of the criteria were not hitting the caches despite this &#8211; it needs further investigation. I think that due to the polymorphic nature of the content model and query cache invalidation issues, we may stop using these in future (think blog comments being submitted and invalidating ALL your caches).</p>
<p>Next up: Template and Widget nodes are GSP pages that we compile and evaluate. It turned out that due to issues in Grails GSP handling (that persist in 1.2 to my knowledge), there is no internal caching of compiled GSP classes built from non-Resource content e.g. strings. This results in a leak of PermGen space which ultimately results in VM collapse. So we now have a simple cache of compiled Template and Widget GSP pages, which is automatically invalidated as necessary when templates and widgets are edited, so it is transparent to the end user that there is a cache.</p>
<p>Finally with regard to performance, we introduced a nice simple <a href="http://www.weceem.org/weceem/Documentation/Reference-manual/tag-reference/cache">wcm:cache</a> tag. This lets you cache fragments of a Template/Widget and hence get major performance improvements. The cache is currently fixed at 1 hour, but its great for anything that pulls in remote content or for any expensive node iteration tags you might be using. More enhancements will come in future.</p>
<p>A couple of nice little things we squeezed in:</p>
<ol>
<li>The Cancel button is back on the content editor screen, in the &#8220;right&#8221; place for Windows users (meh) and browsers (who made return always select the first button argh!)</li>
<li>The wcm:link tag now passes through any unused attributes eg class=&#8221;whatever&#8221;</li>
<li>We added a JS syntax highlighting script to the default space that you can use to render code snippets in your content easily</li>
</ol>
<p>Anyway, please enjoy this release. Soon time to get started on 0.9 which should see the Blog functionality completed and other refinements.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F12%2Fweceem-0-8-released-highlights-and-background%2F&amp;linkname=Weceem%200.8%20Released%20%26%238211%3B%20Highlights%20and%20background" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F12%2Fweceem-0-8-released-highlights-and-background%2F&amp;linkname=Weceem%200.8%20Released%20%26%238211%3B%20Highlights%20and%20background" title="Slashdot" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F12%2Fweceem-0-8-released-highlights-and-background%2F&amp;linkname=Weceem%200.8%20Released%20%26%238211%3B%20Highlights%20and%20background" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F12%2Fweceem-0-8-released-highlights-and-background%2F&amp;linkname=Weceem%200.8%20Released%20%26%238211%3B%20Highlights%20and%20background" title="Evernote" rel="nofollow" target="_blank"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/icons/evernote.png" width="16" height="16" alt="Evernote"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.anyware.co.uk%2F2005%2F2010%2F01%2F12%2Fweceem-0-8-released-highlights-and-background%2F&amp;linkname=Weceem%200.8%20Released%20%26%238211%3B%20Highlights%20and%20background"><img src="http://www.anyware.co.uk/2005/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>

<p>Related posts:<ol><li><a href='http://www.anyware.co.uk/2005/2010/04/26/javascript-and-css-frameworks-in-grails-plugins/' rel='bookmark' title='Permanent Link: Javascript and CSS frameworks in Grails plugins'>Javascript and CSS frameworks in Grails plugins</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/17/development-is-easy-creating-product-is-hard/' rel='bookmark' title='Permanent Link: Development is easy. Creating product is hard.'>Development is easy. Creating product is hard.</a></li>
<li><a href='http://www.anyware.co.uk/2005/2009/09/18/ive-released-another-grails-plugin/' rel='bookmark' title='Permanent Link: I&#8217;ve released another Grails plugin'>I&#8217;ve released another Grails plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2010/01/12/weceem-0-8-released-highlights-and-background/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
