<?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>Technical &#38; Software Blog - ssims.co.uk &#187; Web User Interfaces (AJAX and RIAs)</title>
	<atom:link href="http://blog.ssims.co.uk/index.php/category/webuis/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ssims.co.uk</link>
	<description>Software, Computing and Web technology discussion</description>
	<lastBuildDate>Fri, 30 Jul 2010 11:39:42 +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>EJB persistence in a ThinWire web application</title>
		<link>http://blog.ssims.co.uk/index.php/2010/02/ejb-persistence-in-a-thinwire-web-application/</link>
		<comments>http://blog.ssims.co.uk/index.php/2010/02/ejb-persistence-in-a-thinwire-web-application/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 20:22:23 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=380</guid>
		<description><![CDATA[So it seems a ThinWire web application can quite easily be integrated with more advanced Java EE features. In the screenshot below you can see an updated version of my testing environment. The application now has a screen to query and update a MySQL database via a remote EJB session bean. This shows that the [...]]]></description>
			<content:encoded><![CDATA[<p>So it seems a ThinWire web application can quite easily be integrated with more advanced Java EE features. In the screenshot below you can see an updated version of my testing environment. The application now has a screen to query and update a MySQL database via a remote EJB session bean. This shows that the business logic (in the EJB-JAR) can still be highly separated from the user interface (the web application WAR).</p>
<p>After spending some time now using the ThinWire RIA platform I can honestly say it is definitely a mature and powerful tool for building web applications that require complex user interface features. While my test application still does not extensively test every feature one may require, it shows ThinWire is a highly viable candidate for developing business applications.</p>
<p>Additionally this has been a useful learning experience from my personal point of view, as a good example of deploying an EAR (Enterprise Archive) carrying a distributed system using sophisticated persistence architecture.</p>
<p><a href="http://blog.ssims.co.uk/techblog/wp-content/uploads/2010/02/persistenceinthinwire.jpg"><img class="alignleft size-full wp-image-381" title="persistenceinthinwire" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2010/02/persistenceinthinwire.jpg" alt="" width="727" height="389" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2010/02/ejb-persistence-in-a-thinwire-web-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ThinWire progress</title>
		<link>http://blog.ssims.co.uk/index.php/2010/01/thinwire-progress/</link>
		<comments>http://blog.ssims.co.uk/index.php/2010/01/thinwire-progress/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 14:37:43 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=372</guid>
		<description><![CDATA[Over the last few days I&#8217;ve been working on developing an application designed to assess the potential of the ThinWire RIA platform as a tool for building production quality rich web applications.
The platform makes producing an application from scratch relatively effortless. There is some initial set-up involved &#8211; including removing the Mac files and folders [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few days I&#8217;ve been working on developing an application designed to assess the potential of the ThinWire RIA platform as a tool for building production quality rich web applications.</p>
<p>The platform makes producing an application from scratch relatively effortless. There is some initial set-up involved &#8211; including removing the Mac files and folders from the ThinWire installation if you&#8217;re using Windows (there must have been a better way than the route I took which was to manually delete every one). But I found creating a buildable and deployable application, with an associated Eclipse project, was a very rapid process. The sample applications are fairly sensibly structured in order to give you a very good idea as to an appropriate development pattern to follow.</p>
<p><a href="http://blog.ssims.co.uk/techblog/wp-content/uploads/2010/01/thinwirescreenshot1.jpg"><img class="alignleft size-full wp-image-374" title="thinwirescreenshot" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2010/01/thinwirescreenshot1.jpg" alt="" width="355" height="226" /></a></p>
<p>I now have an application in a healthy enough state to start testing things like persistence of entities to and from a database. It will be interesting to see if there are any behavior quirks due to the design pattern of the platform or if, as claimed, it really can cope with any Java feature you would wish to integrate into your user interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2010/01/thinwire-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a ThinWire application &#8211; prelude</title>
		<link>http://blog.ssims.co.uk/index.php/2010/01/building-a-thinwire-application-prelude/</link>
		<comments>http://blog.ssims.co.uk/index.php/2010/01/building-a-thinwire-application-prelude/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 22:25:05 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/index.php/2010/01/building-a-thinwire-application-prelude/</guid>
		<description><![CDATA[The first important note to make about the ThinWire RIA platform is that it comes with fully buildable example applications. By fully buildable I mean straight out of the box you can delve into the applications, alter and redeploy them. This may seem like a commodity where learning a new platform is concerned but many [...]]]></description>
			<content:encoded><![CDATA[<p>The first important note to make about the ThinWire RIA platform is that it comes with fully buildable example applications. By fully buildable I mean straight out of the box you can delve into the applications, alter and redeploy them. This may seem like a commodity where learning a new platform is concerned but many others only include code snippets or non-deployable examples that function in an unrealistic environment solely developed for testing.</p>
<p>Some nice things that you get include a ready to start apache tomcat application server, but also more usefully <em>an apache ant build script for both example applications</em>.</p>
<p>The build script is an excellent addition for any developer looking to rapidly develop deployable and fully functional applications. As far as I can see from examining this script and building my own test app out of it the build and deployment procedure is one of the most straightforward I have come across for an AJAX / RIA platform.</p>
<p>I strongly recommend developer who has never used an apache ant build script to develop and deploy their applications to look into it for future applications they may develop. IDE based deployment tools can only go so far to helping you develop and implement a web application.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2010/01/building-a-thinwire-application-prelude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deliberating as to whether AJAX is actually a future-proof term</title>
		<link>http://blog.ssims.co.uk/index.php/2010/01/deliberating-as-to-whether-ajax-is-actually-a-future-proof-term/</link>
		<comments>http://blog.ssims.co.uk/index.php/2010/01/deliberating-as-to-whether-ajax-is-actually-a-future-proof-term/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 11:12:01 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Opinions and Observations]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=348</guid>
		<description><![CDATA[After thinking about my previous post for a second I realised that it is questionable as to whether it is really appropriate to use the term AJAX for many of the new &#8216;Rich Internet Application&#8217; (RIA) platforms. All this jargon is harmful to the general perception of such technologies due to their inaccessibility to the [...]]]></description>
			<content:encoded><![CDATA[<p>After thinking about my previous post for a second I realised that it is questionable as to whether it is really appropriate to use the term AJAX for many of the new &#8216;Rich Internet Application&#8217; (RIA) platforms. All this jargon is harmful to the general perception of such technologies due to their inaccessibility to the uninitiated.</p>
<p>So in relatively simple terms an RIA is essentially just a web site transformed into a more complex web application through use of many common application user interface features such as trees, lists, calendar date pickers etc. But AJAX is a term used to describe the technology behind many of the original platforms that provide these rich user interfaces &#8211; Asynchronous JavaScript And XML. My problem here is with the XML part of the acronym as many of the newer platforms, to my knowledge ThinWire included, don&#8217;t actually directly manipulate XML in the user interface. Or at least its not part of the core functionality of the RIAs mechanism of operating. Sure you might be able to do stuff with XML data within the confines of the platform, but then you can also do stuff with many other data formats too and it would be nonsensical to list all these in an acronym describing the nature of how the RIA actually works.</p>
<p>Of course dropping the AX leaves &#8216;AJ&#8217; which is not as audibly pleasing a word. AJ also could be prey to a similar fate as the XML in an (unlikely but possible) shift away from JavaScript as a browser language, and additionally a term describing that browser language says little about what it is used for anyway. I am coming round to the idea of calling such things <strong>RIA platforms </strong>instead to describe any kind of technology which might lie beneath a Rich Internet Application. As there are so many RIA platforms out there with many different modes of operation this seems like the logical solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2010/01/deliberating-as-to-whether-ajax-is-actually-a-future-proof-term/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ThinWire for AJAX development</title>
		<link>http://blog.ssims.co.uk/index.php/2010/01/thinwire-for-ajax-development/</link>
		<comments>http://blog.ssims.co.uk/index.php/2010/01/thinwire-for-ajax-development/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 09:21:26 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Opinions and Observations]]></category>
		<category><![CDATA[Technology News]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=346</guid>
		<description><![CDATA[ThinWire is an AJAX platform I&#8217;ve only fairly recently discovered, and feel unlike many others, worth a mention. The trouble with many AJAX platforms is that they tend to not offer a full package in terms of customisation and extensibility. My current favorite is GWT-Ext for its sheer versatility due to the server side code being pure [...]]]></description>
			<content:encoded><![CDATA[<p>ThinWire is an AJAX platform I&#8217;ve only fairly recently discovered, and feel unlike many others, worth a mention. The trouble with many AJAX platforms is that they tend to not offer a full package in terms of customisation and extensibility. My current favorite is GWT-Ext for its sheer versatility due to the server side code being pure Java and the client side Java that is converted into JavaScript. This offers much more scope than manipulating JavaScript directly or some new intermediary language.</p>
<p>What ThinWire does is push everything out to the server side code, which is written entirely in Java. There is no conversion of Java into JavaScript, the view the user gets is simply handled entirely by some server side code. This seems to me not a terrible model as your user interface can still be contained in a separate .jar than the main application logic to stop the wrong code bleeding into both. Additionally one can presumably use all features of the Java language as the UI components are simply Java classes all the way through. There seems to be a reasonably extensive library of visual components. Like GWT-Ext the UIs created with the ThinWire AJAX platform are event-based. The only downside seems to be that the project hasn&#8217;t been updated with new features for sometime, though bug fixes appear to still be being released.</p>
<p>Still if the whole package is essentially all Java, there shouldn&#8217;t be anything stopping a user extending the thing themselves for their own purposes. The key &#8217;selling&#8217; point of it is the pushing of the code responsible for the client side view out to the server.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2010/01/thinwire-for-ajax-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT-ext common problems &#8211; the null pointer</title>
		<link>http://blog.ssims.co.uk/index.php/2009/08/gwt-ext-common-problems-the-null-pointer/</link>
		<comments>http://blog.ssims.co.uk/index.php/2009/08/gwt-ext-common-problems-the-null-pointer/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 18:45:19 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=226</guid>
		<description><![CDATA[I&#8217;ve been working a lot lately with the Google Web Toolkit Extensions rich user interface platform (GWT-ext).
While I don&#8217;t have the time to cover many of the issues relating to general usage of the API, from time to time I hope to post some useful information about it. Using GWT and the extension is a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/08/error_button.png"><img class="size-medium wp-image-229 alignleft" title="error_button" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/08/error_button-300x300.png" alt="" width="138" height="142" /></a>I&#8217;ve been working a lot lately with the Google Web Toolkit Extensions rich user interface platform (GWT-ext).</p>
<p>While I don&#8217;t have the time to cover many of the issues relating to general usage of the API, from time to time I hope to post some useful information about it. Using GWT and the extension is a learning curve as it has some foibles and a unique deployment procedure to be aware of, but I&#8217;ve very much warmed to it as a tool in web user interface development.</p>
<p>So the issue at hand &#8211; a null pointer, which will not be picked up until run time and you will only see if you explicitly look at the javascript errors when browsing to your page. If you have unusual behaviour of a component or panel where it is not displaying, check your browsers javascript errors for complaints about null pointers.</p>
<p>The cause &#8211; very often simply that you declared something and tried to use it without first instantiating it.</p>
<p>E.g.</p>
<p>Panel otherpanel;<br />
Panel panel;<br />
panel.setTitle(&#8220;Hello mate&#8221;);<br />
otherpanel = new Panel();   &lt;&#8211; you instantiated this one here, but not the other one<br />
otherpanel.add(panel);</p>
<p>Here &#8216;panel&#8217; has not been instantiated before it is used, a simple but easy to miss error especially and it is not always picked up by the IDE and java compiler.</p>
<p>So check if you&#8217;re trying to use something without being instantiated first, before you start tearing your hair out about why its not working!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2009/08/gwt-ext-common-problems-the-null-pointer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some screenshots of my MenuBuild application</title>
		<link>http://blog.ssims.co.uk/index.php/2009/06/some-screenshots-of-my-menubuild-application/</link>
		<comments>http://blog.ssims.co.uk/index.php/2009/06/some-screenshots-of-my-menubuild-application/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 15:27:19 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[OpenLaszlo Development]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=193</guid>
		<description><![CDATA[I&#8217;ve gradually been developing my menu building application into a distributed web system. It uses OpenLaszlo for the building front-end, java &#38; jsps for the database storage and retrieval facilities and OpenLaszlo to correctly display the menu from provided settings.
Here&#8217;s a few screenshots to spice up this at times rather bland blog!
Some nice features to [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_195" class="wp-caption alignright" style="width: 265px"><a href="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/06/menubuildscreen2.jpg"><img title="menubuildscreen2" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/06/menubuildscreen2-255x300.jpg" alt="the styling interface" width="255" height="300" /></a><p class="wp-caption-text">the styling interface</p></div>
<div id="attachment_194" class="wp-caption alignright" style="width: 310px"><a href="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/06/menubuildscreen1.jpg"><img title="menubuildscreen1" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2009/06/menubuildscreen1-300x246.jpg" alt="The data entry interface for the menubuilding app" width="300" height="246" /></a><p class="wp-caption-text">The data entry interface for the menubuilding app</p></div>
<p>I&#8217;ve gradually been developing my menu building application into a distributed web system. It uses OpenLaszlo for the building front-end, java &amp; jsps for the database storage and retrieval facilities and OpenLaszlo to correctly display the menu from provided settings.</p>
<p>Here&#8217;s a few screenshots to spice up this at times rather bland blog!</p>
<p>Some nice features to note:</p>
<ul>
<li>dynamic data entry facility with ability to add and remove data as desired (I&#8217;d hope to standadise it into a generic &#8216;data entry&#8217; class so it can be reused under different circumstances).</li>
<li>color swatch components with preset colors to select as well as RGB color pickers</li>
<li>dynamic example that updates as styling options are chosen</li>
</ul>
<p>Plus, while I can&#8217;t easily show it, there&#8217;s a little bit of animation involved too.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2009/06/some-screenshots-of-my-menubuild-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
