<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Curl Blog</title>
    <link>http://developers.curl.com/blogs/community_blog</link>
    <description>&lt;v&gt;</description>
    <pubDate>Mon, 17 Nov 2008 05:09:52 GMT</pubDate>
    <generator>Clearspace 1.6.0 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2008-11-17T05:09:52Z</dc:date>
    <item>
      <title>From the horse's mouth</title>
      <link>http://developers.curl.com/blogs/community_blog/2008/11/17/from-the-horses-mouth</link>
      <description>I just read an &lt;a class="jive-link-external" href="http://reddevnews.com/qandas/article.aspx?editorialsid=132"&gt;interview&lt;/a&gt; by Michael Desmond of The Redmond Developer  with Brad Becker, Microsoft's director of Rich Client Paltforms (Silverlight team). Interestingly, Brad came to Microsoft from Adobe (Macromedia Flex team actually). &lt;br /&gt;
&lt;br /&gt;
Brad spent many years building client solutions with Flex and he says this - "But what I was running into was Flex was really good for starting a project, but it was really hard to finish anything with it. You'd start running into issues with performance and with scalability and things like that. So we'd end up having to go back to the metal. You'd have to dig into Flash itself and hand-tweak things iFlash, and then you'd be back into the morass of movie clips and timelines and cell-based animation."&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
So was there frustration using Flex? Brad said, "Flash was designed for doing cartoons on the Web; It's actually really good at that. But at the end of the day, anytime you use a high-level framework, there's always times when you have to go below the framework back to whatever is underneath. So it was still a pain."&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
When it comes to enterprise-grade RIA for business critical functions, Flex and AIR have ways to go. Even Silverlight, whose first target has been video rendering (e.g. Beijing Olympics), is yet to prove as a industrial-strength platform for mission-critical RIA for large enterprises.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Curl, on the other hand, has been deployed successfully at over 400 large global customers for such high-performing, secure, and scalable applications.</description>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">adobe</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">curl</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">enterprise_ria</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">performance</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">ria</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">security</category>
      <pubDate>Mon, 17 Nov 2008 05:24:20 GMT</pubDate>
      <author>jnan</author>
      <guid>http://developers.curl.com/blogs/community_blog/2008/11/17/from-the-horses-mouth</guid>
      <dc:date>2008-11-17T05:24:20Z</dc:date>
      <clearspace:dateToText>Sun, Nov 16 9:09 PM</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <wfw:comment>http://developers.curl.com/blogs/community_blog/comment/from-the-horses-mouth</wfw:comment>
      <wfw:commentRss>http://developers.curl.com/blogs/community_blog/feeds/comments?blogPostID=1163</wfw:commentRss>
    </item>
    <item>
      <title>The Batmobile, Lamborghini, and my Suburban</title>
      <link>http://developers.curl.com/blogs/community_blog/2008/07/23/the-batmobile-lamborghini-and-my-suburban</link>
      <description>I went out last night and caught the late showing of The Dark Night. I love that Batmobile, but I can&amp;rsquo;t imagine driving it to work.  I would rather drive Bruce Wayne&amp;rsquo;s Lamborghini!  But even the Lamborghini is not exactly a utilitarian vehicle. I mean I can&amp;rsquo;t imagine taking my wife and four kids on a camping trip in a Lamborghini.  I would rather drive my Chevy Suburban.&lt;br /&gt;
&lt;br /&gt;
The Batmobile, Lamborghini and the Suburban all have strengths and weakness depending on the context in which they are used. The fact is you have to choose the right vehicle for the job at hand. This is also true of RIA platforms.&lt;br /&gt;
&lt;br /&gt;
Let say you have to enrich the user experience of a commercial shopping site like Amazon.com or The Gap. You are probably going to use something fairly lightweight like &lt;a class="jive-link-external" href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;Ajax&lt;/a&gt;.  On the other hand, if you want to provide a beautiful animation for Disney you&amp;rsquo;ll use &lt;a class="jive-link-external" href="http://www.adobe.com/products/flex/"&gt;Flex&lt;/a&gt; or &lt;a class="jive-link-external" href="http://silverlight.net/"&gt;Silverlight&lt;/a&gt;, not Ajax.  Flex might be good for one site and Silverlight another. Ajax framework &amp;ldquo;X&amp;rdquo; here and Ajax framework &amp;ldquo;Y&amp;rdquo; there. You get the picture.&lt;br /&gt;
&lt;br /&gt;
My platform of choice is &lt;a class="jive-link-external" href="http://www.curl.com/"&gt;Curl&lt;/a&gt;, a RIA platform that started as a &lt;a class="jive-link-external" href="http://en.wikipedia.org/wiki/DARPA"&gt;DARPA&lt;/a&gt; funded research project at MIT more than a decade ago. As a RIA platform Curl is very mature and extremely powerful, but it&amp;rsquo;s not appropriate for all use cases. For example, I wouldn&amp;rsquo;t build a mass consumer web site with Curl because the Curl runtime is not very common. I would use Ajax or Flex instead.  At the same time I wouldn&amp;rsquo;t build a processing intensive data visualization tool or an advanced product configuration interface (think thousands of parts) using Ajax or Flex either. I would use Curl.  &lt;br /&gt;
&lt;br /&gt;
Curl is a powerhouse; it is the Batmobile of the RIA platforms. But its most appropriate for enterprise and scientific computing - its not always the best choice for mass consumer applications. For mass consumer applications I would choose Flex, Silverlight or Ajax - these are the Lamborghinis and Suburbans of the RIA platforms.  Flex, Silverlight and Ajax are best suited, in my opinion, for every day use (Suburban) or for glitz and glam (Lamborghini), not for mission critical industrial strength jobs (Batmobile). For mission critical industrial strength jobs that require intensive processing and the ability to handle huge data sets I choose Curl.   &lt;br /&gt;
&lt;br /&gt;
When you choose a RIA platform you have to consider many things and in many cases Ajax, Flash/Flex, or Silverlight will do the job nicely.  But there are occasions when you need something much more powerful and that&amp;rsquo;s when you should take a serious look at Curl.  Don&amp;rsquo;t drive the Batmobile to work and don&amp;rsquo;t drive the Suburban into a battle with evil. Use the right platform for the job.</description>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">ajax</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">curl</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">datavisualization</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">flex</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">performance</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">silverlight</category>
      <pubDate>Wed, 23 Jul 2008 17:45:12 GMT</pubDate>
      <author>RMH</author>
      <guid>http://developers.curl.com/blogs/community_blog/2008/07/23/the-batmobile-lamborghini-and-my-suburban</guid>
      <dc:date>2008-07-23T17:45:12Z</dc:date>
      <clearspace:dateToText>Jul 23, 2008 10:44 AM</clearspace:dateToText>
      <wfw:comment>http://developers.curl.com/blogs/community_blog/comment/the-batmobile-lamborghini-and-my-suburban</wfw:comment>
      <wfw:commentRss>http://developers.curl.com/blogs/community_blog/feeds/comments?blogPostID=1128</wfw:commentRss>
    </item>
    <item>
      <title>Does RIA platform performance matter?</title>
      <link>http://developers.curl.com/blogs/community_blog/2008/05/30/does-ria-platform-performance-matter</link>
      <description>Recently we wrote about some &lt;a class="jive-link-external" href="http://developers.curl.com/blogs/community_blog/2008/05/12/comparing-the-performance-of-curl-and-flex-3"&gt;performance measurements&lt;/a&gt; showing Curl to be an order of magnitude faster than ActionScript 3 when executing a JPEG encoding algorithm.  Our report &lt;a class="jive-link-external" href="http://www.onflex.org/ted/2008/05/curl-benchmarketing.php"&gt;hit a nerve&lt;/a&gt; with Ted Patrick at Adobe, causing him to question&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Who cares about JPEG encoding performance in an RIA anyhow?  Is there a single mainstream RIA that uses it?&lt;/li&gt;
&lt;li&gt;Are the results of any performance benchmark really meaningful? and&lt;/li&gt;
&lt;li&gt;Which is more important anyway, performance or wide deployment?&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
I'd like to address these points.  First, JPEG encoding is important in some of Adobe's own applications.  The Adobe AIR Salesbuilder application has a feature that can save a snapshot of your dashboard as a JPEG file on your desktop.  The &lt;a class="jive-link-external" href="http://coenraets.org/air/salesbuilder/salesbuilder_script.pdf"&gt;Salesbuilder demo script&lt;/a&gt; warns that this operation "can take a few seconds."  This usability glitch is directly a function of the JPEG encoding speed that we studied.  For a more compelling example, consider the recently launched &lt;a class="jive-link-external" href="http://www.photoshop.com/express"&gt;Adobe Photoshop Express&lt;/a&gt; service.  It can only run in on-line mode, and processing-intensive operations such as JPEG encoding are handled on the server, but if you ever wanted to create an offline, Adobe AIR style of application like this, JPEG encoding speed would absolutely matter.  Given the importance of photo sharing and processing in the Web economy, can we really say that this task is not significant?&lt;br /&gt;
&lt;br /&gt;
But for us, JPEG encoding is just a representative of a much larger set of tasks that a truly powerful RIA will have to do, which require application-specific coding in the inner loops.  These tasks cannot be structured as just a series of calls from a scripting language to a set of predefined, pre-optimized modules that are bundled into the RIA plugin.  For example, a typical requirement for enterprise dashboard applications is to handle a "data cube" model with thousands of data points in it.  (See the Curl Business Intelligence Demonstration on our &lt;a class="jive-link-external" href="http://www.curl.com/products_demos_enterprise.php"&gt;enterprise demos page&lt;/a&gt; for one example.)  No RIA platform includes data cubes as a primitive data type, so even the inner loops of the code that distills information from the data cube to the presentation have to be written as part of the RIA application, where they are subject to the same performance laws as our JPEG encoding case study.&lt;br /&gt;
&lt;br /&gt;
Regarding question (2), we think our benchmark test was pretty fair because we just used the same coding structure that is used in Adobe's own code.  However, we would welcome any interest from Adobe in improving their ActionScript for JPEG encoding and reporting on the results!&lt;br /&gt;
&lt;br /&gt;
Finally, the value of wide deployment over performance varies a lot depending on your situation.  In many scenarios, wide deployment is very important.  Heck, we use Flash ourselves to add some visual punch to our corporate home page that all comers can enjoy!  For this kind of application, wide deployment often trumps performance and you adjust your ambitions, if necessary, to fit the constraints of the platform.&lt;br /&gt;
&lt;br /&gt;
But Curl has excelled for enterprise applications and is already in use by more than 300 companies, many of them household names, for mission-critical applications.  These applications aren't too visible because most of them exist entirely behind corporate firewalls, but they testify that Curl is in fact a trustworthy, industrial-strength platform.  For this type of customer, breadth of deployment on the Internet is absolutely not the issue; the capability of the platform to host powerful, responsive applications is.</description>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">performance</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">benchmarking</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">adobe</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">adobe_flex</category>
      <category domain="http://developers.curl.com/blogs/community_blog/tags">enterprise_ria</category>
      <pubDate>Fri, 30 May 2008 22:15:26 GMT</pubDate>
      <author>rhh</author>
      <guid>http://developers.curl.com/blogs/community_blog/2008/05/30/does-ria-platform-performance-matter</guid>
      <dc:date>2008-05-30T22:15:26Z</dc:date>
      <clearspace:dateToText>May 30, 2008 1:45 PM</clearspace:dateToText>
      <clearspace:replyCount>2</clearspace:replyCount>
      <wfw:comment>http://developers.curl.com/blogs/community_blog/comment/does-ria-platform-performance-matter</wfw:comment>
      <wfw:commentRss>http://developers.curl.com/blogs/community_blog/feeds/comments?blogPostID=1110</wfw:commentRss>
    </item>
  </channel>
</rss>

