<?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>Rich Internet Applications (RIA) &#187; UltraLightClient</title>
	<atom:link href="http://www.canoo.com/blog/category/ultralightclient/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.canoo.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 14:30:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Maintenance Release Canoo RIA Suite ULC Update 1</title>
		<link>http://www.canoo.com/blog/2010/10/01/1565/</link>
		<comments>http://www.canoo.com/blog/2010/10/01/1565/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 16:39:32 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1565</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/10/01/1565/";</script>We are pleased to announce that the maintenance release Canoo RIA Suite ULC Update 1 is now available for download ! This is a maintenance release for the Canoo RIA Suite. Besides many bug fixes and improvements it includes &#8211; Builtin animations for ULCLabel, ULCScrollPane, ULCSplitPane and ULCInternalFrame &#8211; Radial Gradient Paints Please see the [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/10/01/1565/";</script><p>We are pleased to announce that the maintenance release<br />
<a href="https://www.canoo.com/kurt/portalOverview/downloadView">Canoo RIA Suite ULC Update 1</a>  is now available for download !<br />
<br />
This is a maintenance release for the <a href="http://www.canoo.com/webexperts/products/ulc/">Canoo RIA Suite</a>.<br />
Besides many bug fixes and improvements it includes</p>
<p>    &#8211; Builtin animations for ULCLabel, ULCScrollPane,<br />
                     ULCSplitPane and ULCInternalFrame<br />
    &#8211; Radial Gradient Paints</p>
<p>Please see the <a href="http://ulc.canoo.com/external/releasenotes.html">release notes</a> for the complete list of<br />
implemented feature requests and fixed problem reports.</p>
<p>And don&#8217;t miss the <a href="http://www.canoo.com/references/showcase/?MenuId=webexperts-references-showcase">demos</a>.</p>
<p>Please note: the ULC Core license key and any ULC Package license key<br />
are valid for all releases labeled Canoo RIA Suite ULC. If you already have<br />
any Canoo RIA Suite license key, no new license key is required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/10/01/1565/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/10/01/1565/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Without the Boilerplate – Project Lombok</title>
		<link>http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/</link>
		<comments>http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 13:41:11 +0000</pubDate>
		<dc:creator>Hamlet</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[UltraLightClient]]></category>
		<category><![CDATA[hamlet]]></category>
		<category><![CDATA[lombok]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1411</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/";</script>Project Lombok is a very cool little Java library that aims (and succeeds) in removing boilerplate, meaningless, and uninteresting code from your Java objects. The basic idea is to replace things like getters and setters with simple annotations, and then let the Java compiler generate the necessary bytecode in the .class file so that tools [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/";</script><p><a href="http://projectlombok.org/">Project Lombok</a> is a very cool little Java library that aims (and succeeds) in removing boilerplate, meaningless, and uninteresting code from your Java objects. The basic idea is to replace things like getters and setters with simple annotations, and then let the Java compiler generate the necessary bytecode in the .class file so that tools such as Eclipse and the Java compiler have no idea what anything unusual happened. Lombok hooks into the compiler to make sure this happens correctly. </p>
<p>First we&#8217;ll cover some Lombok basics and then show how it can be used with the Canoo RIA Suite (ULC) project and and view generators. This includes details on how to mix Lombok annotated objects with JPA annotations, which you might want to glance at before leaving!</p>
<p>Update: You do <strong>not</strong> need ULC to work with Lombok. The two are separate projects. </p>
<p><strong>Lombok in Action</strong><br />
So let&#8217;s see Lombok in action. Consider this Java class that includes a Lombok annotation:<br />
<pre><code>
import lombok.Data;

public @Data class Contact {
&nbsp;&nbsp;&nbsp;&nbsp;private String name;
&nbsp;&nbsp;&nbsp;&nbsp;private String email;
&nbsp;&nbsp;&nbsp;&nbsp;private String primaryPhone;
}
</code></pre><br />
OK, so there is an @Data annotation in there. So what? Well, to javac and tools (like Eclipse) this class has getters and setters for all three fields, an equals and hashcode implementation, and a toString method. Eclipse tools still give you autocomplete the Navigator shows the correct methods. Not only did you not have to write (or generate) the code yourself, but you don&#8217;t have to see that code when coming back in maintenance mode. The interesting bits of your class are no longer buried in the noise. Consider what this looks like without lombok:<br />
<pre><code>
public @Data class Contact {
&nbsp;&nbsp;&nbsp;&nbsp;private String name;
&nbsp;&nbsp;&nbsp;&nbsp;private String email;
&nbsp;&nbsp;&nbsp;&nbsp;private String primaryPhone;

&nbsp;&nbsp;&nbsp;&nbsp;public String getName() {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return name;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;void setName(String name) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.name = name;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;public String getEmail() {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return email;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;void setEmail(String email) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.email = email;
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;public String getPrimaryPhone() {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return primaryPhone;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;void setPrimaryPhone(String primaryPhone) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.primaryPhone = primaryPhone;
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;@Override public String toString() {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;Contact(&quot; + name + &quot;, &quot; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ email + &quot;, &quot; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ primaryPhone + &quot;)&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;@Override public boolean equals(Object o) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (o == this) return true;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (o == null) return false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (o.getClass() != this.getClass()) return false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contact other = (Contact) o;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (name == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? other.name != null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: !name.equals(other.name)) return false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (email == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? other.email != null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: !email.equals(other.email)) return false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (primaryPhone == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? other.primaryPhone != null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: !primaryPhone.equals(other.primaryPhone)) return false;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;@Override public int hashCode() {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final int PRIME = 31;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int result = 1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = (result*PRIME) + (name == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? 0 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: name.hashCode());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = (result*PRIME) + (email == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? 0 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: email.hashCode());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = (result*PRIME) + (primaryPhone == null 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? 0 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: primaryPhone.hashCode());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result;
&nbsp;&nbsp;&nbsp;&nbsp;}
</code></pre><br />
That&#8217;s a lot of code for something so simple. It doesn&#8217;t even fit in my browser margins without funky line breaks! Sure, IDEs can generate it for you. But what if something interesting is buried in the equals() method? Or perhaps a setter has a side-effect? You can&#8217;t easily see this with the reams of boilerplate typical of Java. With lombok, only the essentials are displayed, so the unique parts of the object will stand out to the future reader. And yes, even using @Data you are free to provide your own implementations for any of these methods. </p>
<p><a href="http://www.dreamsongs.com/">Richard Gabriel</a> made this observation when comparing old programs (like <a href="http://beust.com/macpaint/MacPaint.html">MacPaint</a>) to &#8220;modern&#8221; programs writen in langauges like Java: </p>
<blockquote><p>I&#8217;m always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quite conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who&#8217;d have guessed sophistication brought such noise. </p></blockquote>
<p>Now, with Lombok, sophistication is finally taking the noise away, rather than adding to it. </p>
<p>Just a couple important details before moving on to a Lombok example that uses <a href="http://www.canoo.com/ulc">Canoo&#8217;s RIA Suite</a>&#8230; </p>
<li>Lombok is compile time only. It does not need to be deployed with your app</li>
<li>Lombok works with javac and Eclipse. IntelliJ IDEA will not &#8216;see&#8217; the added methods</li>
<li>lombok.jar contains an installer that configures your eclipse.ini file correctly. Be sure to run &#8220;java -jar lombok.jar&#8221; after you download it (especially for those on 64 bit Linux like me)</li>
<p><strong>Lombok with Canoo RIA Suite</strong><br />
The point of this was to make sure I could use Lombok on my next RIA Suite(aka ULC) project. It&#8217;s looks like I can, and you can too. To prove it, let&#8217;s generate a RIA Suite project, add a domain class using Lombok, generate the views, and run the application. </p>
<p><strong>Prerequisites</strong></p>
<li>Install <a href="http://www.eclipse.org/downloads/">Eclipse for Java EE Developers</a>. Make sure that you have <i>for Java EE developers</i>.</li>
<li>Install <a href="http://www.canoo.com/webexperts/products/licences/">Canoo RIA Suite</a>. Get your download and evaluation key from <a href="http://www.canoo.com/kurt/user/create">our customer portal</a>.</li>
<li>Install <a href="http://projectlombok.org//">Lombok</a>. Download it and run &#8220;java -jar lombok.jar&#8221;.</li>
<p><strong>Steps</strong><br />
Here are the steps we&#8217;ll perform to get this thing working: </p>
<li>Generate a Project using ULC&#8217;s Project Generator in Eclipse</li>
<li>Add the lombok Jar to your project</li>
<li>Create a domain object called Contact and annotate it with @Data</li>
<li>Generate the views using ULC&#8217;s generate-beans-view in Eclipse</li>
<li>Run the app and behold a default, thin client, CRUD application</li>
<p><strong>Generate the Project</strong><br />
The <a href="http://ulc.canoo.com/developerzone/ULCApplicationDevelopmentGuide.pdf">ULC Application Development Guide</a> contains a 10 page getting started tutorial that walks you through the process from starting at zero and going to a deployed RIA Suite application. Really, it is quite simple. You just need to add the Project Generator as an external tool in Eclipse. Although it is a bunch of screenshots, this is a common task for Eclipse users and little can go wrong. </p>
<p>In Eclipse, click Run -> External Tools > Open External Tools Dialog&#8230; and point a new external tool to your &#8220;/addon/generators/build-setup.xml&#8221; from the RIA Suite install. Your window should look like this: </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/0ToolConfiguration2.png" alt="0ToolConfiguration" title="0ToolConfiguration" width="600" height="427" class="aligncenter size-full wp-image-1425" /></p>
<p>Now you&#8217;ll have the menu entry for Run -> External Tools -> ULC Project Generator, which you should click now. You&#8217;ll be prompted for a project name and whatnot, and a sample Contacts application will look like this: </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/1GenerateProject.png" alt="1GenerateProject" title="1GenerateProject" width="600" height="357" class="aligncenter size-full wp-image-1426" /></p>
<p>The script runs and you now have a project on disk that can be run. Just click to File -> Import to import it, navigating to where it is on disk. Your import screen should look like this: </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/2ImportProoject.png" alt="2ImportProoject" title="2ImportProoject" width="570" height="613" class="aligncenter size-full wp-image-1428" /></p>
<p>If it all goes well your project should be open and your Project Explorer should look like this: </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/3ProjectView.png" alt="3ProjectView" title="3ProjectView" width="380" height="500" class="aligncenter size-full wp-image-1427" /></p>
<p><strong>Add the Lombok Jar</strong><br />
We need to add the lombok.jar to the Contacts project, add it to the build classpath, and click Refresh to make sure Eclipse is aware that something changed. </p>
<p>Copy the lombok.jar to ./Contacts/lib/development directory in your project. Then edit the project properties (right click the Contacts project and select Properties), select the Java Build Path entry, and add lombok.jar as a Jar. Should look like this: </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/4AddLibrary.png" alt="4AddLibrary" title="4AddLibrary" width="600" height="456" class="aligncenter size-full wp-image-1429" /></p>
<p><strong>Create Domain Object</strong><br />
Let&#8217;s add a domain object with JPA persistence to our project. A Contacts application must show a Contact, right? This looks about right:<br />
<pre><code>package org.sample.contacts.domain;

import javax.persistence.*;
import lombok.*;

@Entity
public @Data class Contact {
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;@Id
&nbsp;&nbsp;&nbsp;&nbsp;@GeneratedValue(strategy = GenerationType.SEQUENCE)
&nbsp;&nbsp;&nbsp;&nbsp;@Getter(AccessLevel.NONE)
&nbsp;&nbsp;&nbsp;&nbsp;@Setter(AccessLevel.NONE)
&nbsp;&nbsp;&nbsp;&nbsp;private Long id;
&nbsp;&nbsp;&nbsp;&nbsp;private String name;
&nbsp;&nbsp;&nbsp;&nbsp;private String email;
&nbsp;&nbsp;&nbsp;&nbsp;private String primaryPhone;
}
</code></pre><br />
Let me explain a few details&#8230; The class is marked @Entity so that JPA persistence works. The class will map to a Contact table in the database. The class is marked @Data so that lombok will weave in getters, setters, toString, equals, and hashcode methods. The @Id annotation on the &#8220;id&#8221; field marks that field as the primary key to JPA, and the @GeneratedValue means the field auto increments. I use the GenerationType.SEQUENCE strategy because I plan on deploying to Google App Engine, otherwise this parameter here is unneeded. Lastly, getters and setters are supressed on the id field by adding @Getter(AccessLevel.NONE) and @Setter(AccessLevel.NONE). If you don&#8217;t do this then the view-layer automation of Ria Suite is going to, by default, provide you with edit fields for the id, which you should not do. </p>
<p><strong>Generate the View Layer</strong><br />
To generate the view layer, click Run -> External Tools -> &#8220;Contacts generate-beans-view&#8221;. This tool was installed for you by the Project Generator. Running it generates a simple Create-Read-Update-Delete (CRUD) interface with a table, buttons, and entry editor. You&#8217;ll see a couple new classes and property files in your application after you run the tool. </p>
<p><strong>Run application</strong><br />
Last thing to do is run the app. Click Run -> Run History -> Contacts (again installed by the project generator), sit back, and behold an application. </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2010/07/5DeployedApp.png" alt="5DeployedApp" title="5DeployedApp" width="610" height="411" class="aligncenter size-full wp-image-1430" /></p>
<p>That&#8217;s it!</p>
<p>Next step is to deploy to Google App Engine using that Contacts-copy-to-GoogleApp tool that the generator installed, but that is a blog post (and task) for another day. </p>
<p>Enjoy!</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/07/26/java-without-the-boilerplate-project-lombok/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Java Business RIA redefined!</title>
		<link>http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/</link>
		<comments>http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/#comments</comments>
		<pubDate>Sun, 02 May 2010 10:00:23 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>
		<category><![CDATA[new release]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1182</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/";</script>The future belongs to Rich Internet Applications (RIA) &#8211; they are increasingly replacing the classical desktop application. And it is no wonder, as this latest generation of web applications offers a totally new kind of interactivity. Furthermore, RIAs spare your budget thanks to their operating system independence and the fact that they can be used [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/";</script><p>The future belongs to Rich Internet Applications (RIA) &#8211; they are increasingly replacing the classical desktop application. And it is no wonder, as this latest generation of web applications offers a totally new kind of interactivity. Furthermore, RIAs spare your budget thanks to their operating system independence and the fact that they can be used without installation. According to the market research organization Forrester Research, RIA technology will be deployed in around 60% of all software development projects in the coming years.</p>
<p><img class="alignleft size-full wp-image-1186" style="padding-bottom: 20px;" title="RIAbox_middle" src="http://canoo.com/blog/wp-content/uploads/2010/04/RIAbox_middle.png" alt="RIAbox_middle" width="300" height="334" /></p>
<p>The disadvantage of most of today&#8217;s RIA frameworks is that they were developed for the optimization of web sites. They rapidly reach their limits, therefore, with complex business applications. Canoo Engineering&#8217;s <strong>Canoo RIA Suite</strong> with its modular design provides a remedy. It&#8217;s heart is ULC (UltraLightClient), a proven and stable component for the development of RIAs &#8211; optimized for the performance requirements of business applications. Thanks to the 100% java-based homogeneous programming model, ULC reduces the complexity of RIA projects to a minimum. RIAs developed with ULC score highly due to their low development and maintenance costs, and are more than a match for classical desktop applications in user-friendliness, functionality, attractiveness, robustness and performance.</p>
<p>Since March 31, 2010, ULC Core is available as a <a href="http://www.canoo.com/ulc/beta/" target="_blank">Beta Release</a>. The <strong>Canoo Ria Suite</strong> will be released officially just before Pentecost 2010. The advantages at a Glance:</p>
<ul>
<li>Up to 50% reductions in development costs</li>
<li>Puts business functionality on to the web without quality losses</li>
<li>Lower operational costs thanks to server side maintenance and standardized technology</li>
<li>Maximum security thanks to standard conformity</li>
<li>Straightforward and rapid development due to uniform Java basis</li>
<li>Robust and scalable architecture</li>
<li>No longer time-consuming client-side deployment</li>
<li>Enables highly interactive and user friendly interfaces</li>
<li>No browser adaptation required</li>
<li>Optimal user productivity due to rapid response times</li>
<li>Lower project risk thanks to well engineered, tried and tested technology</li>
<li>Impressive prototypes in minimal time</li>
</ul>
<blockquote><p>&#8220;We switched to ULC in the middle of a large software project, as we were not able to implement all the requirements with the technology we were using at the time. ULC then enabled us to at least double our productivity, in turn allowing the project to be completed on time.&#8221;</p>
<p>Greg Hutchinson, Principal Developer of a large Canadian financial institution</p></blockquote>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/05/02/java-business-ria-redefined/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canoo RIA Suite Beta</title>
		<link>http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/</link>
		<comments>http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 12:37:40 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[UltraLightClient]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1003</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/";</script>Canoo Engineering is proud to present the next generation of UltraLightClient! Download the Beta here! The RIA-Framework (Rich Internet Application) has been completely overhauled and enhanced with a series of innovative and useful functions. These will enable more efficient and convenient deployment in future, as well as adding some attractive features to the design of [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/";</script><p><strong>Canoo Engineering is proud to present the next generation of UltraLightClient! <a href="http://www.canoo.com/ulc/beta/">Download the Beta here!</a></strong></p>
<p>The RIA-Framework (Rich Internet Application) has been completely overhauled and enhanced with a series of innovative and useful functions. These will enable more efficient and convenient deployment in future, as well as adding some attractive features to the design of the user interface.</p>
<p>UltraLightClient will bear the name ULC Core from now on, and forms the basis of the new Canoo RIA Suite, which will officially be released at the beginning of May. The suite is designed in a modular fashion, allowing you to compose functionality according to your own needs. And you only pay for those modules which you actually require.</p>
<p><span style="color: #ffffff;">.</span></p>
<p><img class="alignnone size-full wp-image-1004" title="RIA suite" src="http://canoo.com/blog/wp-content/uploads/2010/04/RIA-suite.jpg" alt="RIA suite" width="178" height="50" /></p>
<p><strong>The Highlights</strong></p>
<ul>
<li>The new <strong>Chart Functionality</strong> enables you to present even complex facts and figures clearly and simply.</li>
<li>Using the integrated <strong>Animations Framework</strong> you can develop dynamic and attractive content in future.</li>
<li>Further <strong>sophisticated graphic features</strong> allow even more attractive designs: transparency, rounded angles etc.</li>
<li>Easy integration to Google App Engine.</li>
</ul>
<h2 style="font-size: 15px; font-weight: bold; line-height: 1px; padding-top: 18px;">THE NEW MODULES AT A GLANCE</h2>
<p><strong>ULC Table Plus</strong>: this package enables you to implement even the most complex tabular requirements in a rapid and straightforward manner.</p>
<p><strong>ULC Web Integration</strong>: simply integrate any browsers such as Safari, Firefox or Internet Explorer into your application developed under ULC. Web services and plug-ins like Google Maps or Flash Player can thus be launched directly in the application.</p>
<p><strong>ULC Office Integration</strong>: this ULC Core module supports the future import and export of Excel and Word files out-of-the-box. The contents can then be stored as PDF files and later printed.</p>
<p><strong>ULC Enterprise Portal Integration</strong>: using this optional extra, existing portlet applications can be easily and efficiently augmented with ULC applications.</p>
<p><strong>ULC Visual Editor</strong>: with the optimized visual editor you can generate your ULC applications by drag &amp; drop even more easily and, as usual, without any manual programming effort whatsoever.</p>
<p><strong>ULC Load</strong>: put your ULC applications though extensive load and performance tests using ULC Load. Thus you can be confident that your applications can bear up to the most rigorous demands in an operational environment.</p>
<p><a href="http://www.canoo.com/ulc/beta/">Download the Beta here!</a></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/04/01/canoo-ria-suite-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When is it worth deploying RIA technology?</title>
		<link>http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/</link>
		<comments>http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:30:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=932</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";</script>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print). Even if RIA technology continues to expand steadily in the future and the number of purely HTML based applications does decline, it is nonetheless not recommended to resort to an RIA framework or library for technology’s [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";</script><p><em>Excerpt of  &#8221;Rich Internet Applications for Business&#8221;, an article by Hans Dirk Walter, CEO Canoo Engineering AG (in print). </em></p>
<p>Even if RIA technology continues to expand steadily in the future and the number of purely HTML based applications does decline, it is nonetheless not recommended to resort to an RIA framework or library for technology’s sake alone when developing online applications. Instead, the decision depends on the user interface requirements.</p>
<p><span style="color: #ffffff;"><span style="color: #000000;"><br />
</span></span></p>
<div id="attachment_934" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-934 " title="Figure 1" src="http://canoo.com/blog/wp-content/uploads/2010/01/Figure1.jpg" alt="Figure 1 provides a schematic illustration of various categories of application depending on usage, and shows the dependency of these applications with regard to interactivity requirements and interface richness (UI functionality, drag &amp; drop, graphics)." width="600" height="450" /><p class="wp-caption-text">Figure 1 provides a schematic illustration of various categories of application depending on usage, and shows the dependency of these applications with regard to interactivity requirements and interface richness (UI functionality, drag &amp; drop, graphics).</p></div>
<p><span style="color: #ffffff;">.</span></p>
<p>Typical web applications such as online shopping or rail timetables, that are only occasionally visited by their customers, need to be self explanatory and easy to operate. Speed and sophisticated interaction are of secondary importance in these cases. This type of application is best implemented using form based “wizards”. The functionality offered by HTML is generally more than sufficient in such cases. This does not apply, however, to productive systems, whose users often spend several hours per day with the application. The interface need not necessarily be self explanatory, while training is normally worthwhile. These kinds of application should be developed using RIA technology. The final types of program identified are games, which place the most demanding requirements of all in terms of interactivity (extremely speedy program reaction times in response to rapid successive inputs), as well as sophistication (3D animations, film sequences, etc.) Such application have so far scarcely been realised in satisfactory quality as RIAs.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/01/21/rich-internet-applications-for-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ULC Load 3.0.2 available for Mac OS X</title>
		<link>http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/</link>
		<comments>http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:02:44 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=851</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";</script>We are pleased to announce that ULCLoad 3.0.2 for Mac OS X is now available for download. This are maintenance release for ULCLoad 3.0. Please see the release notes for a list of implemented feature requests and fixed problem reports. Please note: the ULCLoad 3.0 license key is valid for all software releases labeled ULCLoad [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";</script><p>We are pleased to announce that <a href="http://www.canoo.com/ulc/products/ulcload.html">ULCLoad 3.0.2 for Mac OS X</a> is now available for download.</p>
<p>This are maintenance release for ULCLoad 3.0. Please see the <a href="http://www.canoo.com/ulc/external/load-releasenotes.html">release notes</a> for a list of implemented feature requests and fixed problem reports. </p>
<p>Please note: the ULCLoad 3.0 license key is valid for all software releases labeled ULCLoad 3.0. If you already have a ULCLoad 3.0 license key, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2009/11/27/ulc-load-3-0-2-available-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix release for ULC &#8217;08 update 4 available</title>
		<link>http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/</link>
		<comments>http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 15:02:24 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=848</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";</script>We are pleased to announce that new maintenance releases for UltraLightClient is now available for download. This is a maintenance release for UltraLightClient &#8217;08 that fixes the issue UBA-7852 introduced by update 4. In addition we have fixed three other issues [UBA-7573] &#8211; ULCComponent.add/removeNotify() does not work inside ULCTabbedPane and ULCCardPane [UBA-7580] &#8211; Missing column [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";</script><p>We are pleased to announce that new maintenance releases for <a href="http://www.canoo.com/ulc/products/canooulc.html ">UltraLightClient</a> is now available for download.</p>
<p>This is a maintenance release for UltraLightClient &#8217;08 that fixes the issue<br />
<a href="https://www.canoo.com/jira/browse/UBA-7852">UBA-7852</a> introduced by update 4.<br />
In addition we have fixed three other issues</p>
<ul>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7573">UBA-7573</a>] &#8211; ULCComponent.add/removeNotify() does not work inside ULCTabbedPane and ULCCardPane</li>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7580">UBA-7580</a>] &#8211; Missing column selection event for ULCTableTree with expansion listener</li>
<li>[<a href="https://www.canoo.com/jira/browse/UBA-7760">UBA-7760</a>] &#8211; [Mac OS X 10.5.7, JRE 1.5] Installing shortcuts on the dock messed up the dock</li>
</ul>
<p>Please see the <a href="http://www.canoo.com/ulc/external/releasenotes.html">ULC &#8217;08 update 4 release notes</a> for the complete list of implemented feature requests and fixed problem reports. </p>
<p>Please note: the UltraLightClient &#8217;08 license key is valid for all software releases labeled UltraLightClient &#8217;08. If you already have a ULC &#8217;08 license key, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2009/11/27/fix-release-for-ulc-08-update-4-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintenance release,ULC Visual Editor for Eclipse 6.1.2 is now available.</title>
		<link>http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/</link>
		<comments>http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 12:27:44 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=842</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/";</script>We are pleased to announce that the maintenance release ULC Visual Editor for Eclipse 6.1.2 is now available. Installation from the update site: http://update.canoo.com/ulcve is easily done using the eclipse built in software installation and updating mechanism This is a maintenance release for ULC Visual Editor for Eclipse. Please see the release notes for a [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/";</script><p>We are pleased to announce that the maintenance release <a href="http://www.canoo.com/ulc/products/ulcvisualeditor.html">ULC Visual Editor for Eclipse 6.1.2</a> is now available.</p>
<p>Installation from the update site: http://update.canoo.com/ulcve is easily done using the eclipse built in software installation and updating mechanism</p>
<p>This is a maintenance release for ULC Visual Editor for Eclipse. Please see the <a href="http://www.canoo.com/ulc/external/ve-releasenotes.html">release notes</a> for a list of implemented feature requests and fixed problem reports:</p>
<p>Please note: the ULC Visual Editor 6.1  license key is valid for all software releases labeled ULC Visual Editor 6.1. If you already have a ULC Visual Editor 6.1  license key, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2009/11/20/maintenance-releaseulc-visual-editor-for-eclipse-6-1-2-is-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintenance Releases ULC &#8217;08 update 4 and ULCLoad 3.0.2 available</title>
		<link>http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/</link>
		<comments>http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:17:37 +0000</pubDate>
		<dc:creator>marcel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=834</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/";</script>We are pleased to announce that new maintenance releases for UltraLightClient and ULCLoad are now available for download. These are maintenance releases for UltraLightClient &#8217;08 and ULCLoad 3.0. Please see the ULC &#8217;08 update 4 release notes and the ULCLoad 3.0.2 release notes for a list of implemented feature requests and fixed problem reports : [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/";</script><p>We are pleased to announce that new maintenance releases for <a href="http://www.canoo.com/ulc/products/canooulc.html ">UltraLightClient</a> and <a href="http://www.canoo.com/ulc/products/ulcload.html">ULCLoad</a> are now available for download.</p>
<p>These are maintenance releases for UltraLightClient &#8217;08 and ULCLoad 3.0. Please see the <a href="http://www.canoo.com/ulc/external/releasenotes.html">ULC &#8217;08 update 4 release notes</a> and the<br />
<a href="http://www.canoo.com/ulc/external/load-releasenotes.html">ULCLoad 3.0.2 release notes</a> for a list of implemented feature requests and fixed problem reports : </p>
<p>Please note: the UltraLightClient &#8217;08 license key is valid for all software releases labeled UltraLightClient &#8217;08, the ULCLoad 3.0 license key is valid for all software releases labeled ULCLoad 3.0. If you already have one of these license keys for your product, a new license key is not required.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2009/11/13/maintenance-releases-ulc-08-update-4-and-ulcload-3-0-2-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Framework behind CATS: UltraLightClient</title>
		<link>http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/</link>
		<comments>http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:01:14 +0000</pubDate>
		<dc:creator>Felix Schrape</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[UltraLightClient]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=828</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/";</script>You want to know more about the framework behind CATS, the soccer betting tool which just won the W-Jax developer challenge? Take a look on a video which presents the advantages of Canoo&#8217;s RIA technology in a nutshell: . var dzone_style="2";//]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/";</script><p>You want to know more about the framework behind CATS, the soccer betting tool which just won the W-Jax developer challenge? Take a look on a video which presents the advantages of Canoo&#8217;s RIA technology in a nutshell:</p>
<p><span style="color: #ffffff;">.</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="475" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/2ycDfUeGRTo&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="475" height="295" src="http://www.youtube.com/v/2ycDfUeGRTo&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2009/11/12/the-framework-behind-cats-ultralightclient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

