<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEQHRX86eip7ImA9WhRQGEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220</id><updated>2011-12-13T13:38:54.112-08:00</updated><category term="GWT" /><category term="flex components" /><category term="Flex and Webservices" /><category term="flex events" /><category term="Flex and AJAX" /><category term="flex problems" /><category term="AIR" /><category term="Ext" /><category term="AJAX" /><category term="ActionScript" /><category term="Flex and Ext" /><category term="flex general" /><category term="Flex Data Services" /><category term="Flash General" /><category term="Flex Patterns" /><category term="flex data" /><category term="ajajs" /><category term="Opinion" /><category term="Joomla" /><category term="Flex Message Service" /><category term="Flex and Java" /><category term="Flex Drag and Drop" /><category term="Force Platform" /><category term="TIBCO General Interface" /><category term="JavaScript Hacks" /><category term="JavaScript" /><category term="Product Ideas" /><category term="json" /><category term="HTML5" /><title>Exploring RIAs</title><subtitle type="html">Designing better user interfaces</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ajaxandbeyond.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ExploringRias" /><feedburner:info uri="exploringrias" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEQHRX8-eSp7ImA9WhRQGEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-781752162494567012</id><published>2011-12-13T13:38:00.000-08:00</published><updated>2011-12-13T13:38:54.151-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T13:38:54.151-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Joomla" /><title /><content type="html">&lt;div style="font-family:verdana;font-size:12px;"&gt;Was just exploring Joomla as a way of creating websites quickly. Just compiling a few links and resources that may be useful&lt;br /&gt;
&lt;br /&gt;
JoomlaArt.com&lt;br /&gt;
Rockettheme.com&lt;br /&gt;
JoomlaBamboo.com&lt;br /&gt;
http://extensions.joomla.org&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-781752162494567012?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZqzSNl2oqu0rPsa7vBpxkKRhyxk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZqzSNl2oqu0rPsa7vBpxkKRhyxk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZqzSNl2oqu0rPsa7vBpxkKRhyxk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZqzSNl2oqu0rPsa7vBpxkKRhyxk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/J9DAJekICtU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/781752162494567012/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=781752162494567012" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/781752162494567012?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/781752162494567012?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/J9DAJekICtU/was-just-exploring-joomla-as-way-of.html" title="" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2011/12/was-just-exploring-joomla-as-way-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8EQ30yeyp7ImA9WhRRFUQ.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-7629776845480396421</id><published>2011-11-24T02:40:00.001-08:00</published><updated>2011-11-29T10:53:22.393-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-29T10:53:22.393-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><title>Flex: A Change for Good</title><content type="html">&lt;div style="font-size:12px;font-family:verdana;"&gt;It seems that finally somebody in Adobe is thinking differently. The partnerships that Flex has made with Spring and some aggressive work on Java integration should put back Flex where it rightly belongs. After many wrong steps, finally a sensible product manager who thinks about the ecosystem and not just his product. It doesn't mean that the battle is over, and Adobe has to still work hard to get it going for mobile devices more efficiently. Still, compared to the mess in previous years, good job! &lt;br /&gt;
&lt;br /&gt;
&lt;a href='https://docs.google.com/document/d/14MdyfnvMhsFpCB435BQPfqR7k9mLs6bR7XrhVowQcPw/edit' target='_blank'&gt;I am putting up my technical review notes in this online doc&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-7629776845480396421?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DMR2sq4co76i9a3jXoOKOu1ESnQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DMR2sq4co76i9a3jXoOKOu1ESnQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DMR2sq4co76i9a3jXoOKOu1ESnQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DMR2sq4co76i9a3jXoOKOu1ESnQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/rNffr7sa1_w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/7629776845480396421/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=7629776845480396421" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7629776845480396421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7629776845480396421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/rNffr7sa1_w/flex-change-for-good.html" title="Flex: A Change for Good" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2011/11/flex-change-for-good.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHR309fCp7ImA9Wx5XEUg.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-7829122743236678388</id><published>2010-09-10T15:10:00.001-07:00</published><updated>2010-09-10T15:12:16.364-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-10T15:12:16.364-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flash General" /><title>Respite for Adobe</title><content type="html">&lt;div style="font-size:12px;font-family:verdana;"&gt;Some respite for Adobe as Apple has agreed to ease certain restrictions on the use of Adobe software. Adobe's strength lies in desktop softwares to develop graphic applications and UI. In the rich-internet application (RIA) arena, it still lags behind. Acquisition of Maromedia and Flash has not translated into leadership position that it may have hoped for, though Flash video streaming did turn out to be a winner. Even that may be lost to HTML5 if Adobe is not careful. Its about time that Adobe digested Flash and gets back to the good performance that is expected out of a company of its calibre, failing which it would be only fair for developers to punish it further.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-7829122743236678388?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bzHjo29_XV3pua3Var4K4OXetrY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bzHjo29_XV3pua3Var4K4OXetrY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bzHjo29_XV3pua3Var4K4OXetrY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bzHjo29_XV3pua3Var4K4OXetrY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/X2s-zcC0iKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/7829122743236678388/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=7829122743236678388" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7829122743236678388?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7829122743236678388?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/X2s-zcC0iKw/respite-for-adobe.html" title="Respite for Adobe" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/09/respite-for-adobe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQAQn8-fSp7ImA9Wx5SGEo.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-5173003211774659737</id><published>2010-08-15T06:19:00.000-07:00</published><updated>2010-08-15T06:19:03.155-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T06:19:03.155-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flash General" /><title>Flash's Final Gambit: Droid 2</title><content type="html">&lt;div style="font-family:verdana;font-size:12px"&gt;After some serious lack of imaginative development, shoddy product management and heavy criticism, it seems that Adobe has decided to play an all or nothing hand with Droid 2. This &lt;a target="_blank" href="http://www.pcworld.com/article/203061/with_droid_2_adobe_flash_stakes_its_claim.html?tk=hp_new&amp;goback=.nmp_*1_*1_*1.gde_112239_member_27036286"&gt;article in PC World&lt;/a&gt; brings out the point very well. I think it would help Adobe either defend Flash for mobile devices or seriously re-think its development strategy for the same.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-5173003211774659737?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Nym4-Kkfq_33PzkvYNfs6S80Ees/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nym4-Kkfq_33PzkvYNfs6S80Ees/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Nym4-Kkfq_33PzkvYNfs6S80Ees/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nym4-Kkfq_33PzkvYNfs6S80Ees/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/LsjBQnd3xRs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/5173003211774659737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=5173003211774659737" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5173003211774659737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5173003211774659737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/LsjBQnd3xRs/flashs-final-gambit-droid-2.html" title="Flash's Final Gambit: Droid 2" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/08/flashs-final-gambit-droid-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4HQH46fCp7ImA9WxFRGUo.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-3457118765223771111</id><published>2010-05-04T05:42:00.000-07:00</published><updated>2010-05-04T05:42:11.014-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-04T05:42:11.014-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><category scheme="http://www.blogger.com/atom/ns#" term="HTML5" /><title>Going for the Jugular</title><content type="html">&lt;div style="font-family:verdana;font-size:12px;"&gt;Double wham! On one hand &lt;a href='http://www.apple.com/hotnews/thoughts-on-flash/' target='_blank'&gt;Steve Jobs comes out with an open letter explaining why he won't support Flash on Apple devices&lt;/a&gt;, on other hand &lt;a href= 'http://blogs.msdn.com/ie/archive/2010/04/29/html5-video.aspx' target='_blank'&gt;Microsoft announced that IE9 will use only the H.264 standard to play HTML 5 video&lt;/a&gt;. Bad news for Flash and will definitely affect its reach and power.&lt;br /&gt;
&lt;br /&gt;
In my opinion, it is time for Microsoft to go for the jugular. It has Silverlite coming up as a credible alternative to both Flash Developer 4 and javaScript for developing RIAs. It has the marketing knowledge, distribution network and the good sense to achieve what Flex could not. In the process, it may end up displacing Flash from RIA arena and making good revenues. My free advice would be better start moving on with Silverlite and focus on the obliteration of Flash!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-3457118765223771111?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5ciKQFz3mK38kpxZWV3Dlz7MPq0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ciKQFz3mK38kpxZWV3Dlz7MPq0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5ciKQFz3mK38kpxZWV3Dlz7MPq0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5ciKQFz3mK38kpxZWV3Dlz7MPq0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/vz1pLC9syTU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/3457118765223771111/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=3457118765223771111" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/3457118765223771111?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/3457118765223771111?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/vz1pLC9syTU/going-for-jugular.html" title="Going for the Jugular" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/05/going-for-jugular.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMFQ34yeCp7ImA9WxFSGUk.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-5444874085568335451</id><published>2010-04-22T07:43:00.000-07:00</published><updated>2010-04-22T07:43:32.090-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-22T07:43:32.090-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><title>From Flex 3 to Flash Developer 4: Thumbs Down</title><content type="html">&lt;div style="font-family:verdana;font-size:12px;"&gt;&lt;a href="http://www.infoq.com/news/2010/04/shorten-flex-flash-builder" target="_blank"&gt;Flex 4 has turned out to be Flash Developer 4&lt;/a&gt;. It seems that Adobe decided that since Flash was a stronger brand it would be perhaps wiser to merge Flex with Flash. Ultimately it was about developing flash media more effectively, and in that sense the merger does make some sense. Nevertheless, I feel that first Adobe neglected the Flex brand, slept on its laurels, saw Flex usage drop down, did not know how to catch-up and decided to roll it all into with Flash. After all that's all it was, wasn't it? I am not totally convinced. &lt;br /&gt;
&lt;br /&gt;
We have lost Datagrid and some other Flex 3 components and compile times will not improve substantially either. I am also not convinced that Adobe will be able to effectively mix two different paradigms: Rich Internet Application development and animation. The result may be an unappealing mix that puts off both type of users. Not all is bleak though, as we are promised better debugging and backend integration. I don't even feel like evaluating the new offering, but will to see how bad it really is (or, I hope, perhaps be surprised to discover the opposite).&lt;br /&gt;
&lt;br /&gt;
I am increasingly confident that Flex/Flash will further loose the RIA market to JS based competitors. Yet again, I am disappointed by Adobe's development strategy. As much as I liked Flex, I am sorry to say I may not like sticking with it if this trend continues. And for all newbies to RIA, I would warn keep clear of Adobe till these guys mend their ways and approach product development keeping in mind their target market.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-5444874085568335451?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gxi3Z2fZqsGASbdbpi4LqMZdD8c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gxi3Z2fZqsGASbdbpi4LqMZdD8c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gxi3Z2fZqsGASbdbpi4LqMZdD8c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gxi3Z2fZqsGASbdbpi4LqMZdD8c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/qTpnqKewoqo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/5444874085568335451/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=5444874085568335451" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5444874085568335451?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5444874085568335451?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/qTpnqKewoqo/from-flex-3-to-flash-developer-4-thumbs.html" title="From Flex 3 to Flash Developer 4: Thumbs Down" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/04/from-flex-3-to-flash-developer-4-thumbs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8DRHw-cCp7ImA9WxBUFkw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-5093623125504876711</id><published>2010-03-03T03:13:00.001-08:00</published><updated>2010-03-03T03:14:35.258-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-03T03:14:35.258-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GWT" /><title>A Careful "No" to GWT</title><content type="html">&lt;div style="font-family:verdana;font-size:13px"&gt;Well, GWT is alright. But I am convinced that it may not be the way forward, though many of its ideas and approaches are reasonably good.&lt;br /&gt;&lt;br /&gt;The primary problem is that I really don't like compiling my code every time to see the smallest of changes. This is one biggest reason that I would prefer a JavaScript-HTML5 based framework and an IDE that makes it easier to develop thus. Secondly, learning and using GWT can be simpler if you are a good programmer or have worked with Java Swing. Otherwise the learning curve for a web developer can be quite steep. Finally, I am not really convinced by its handling of testing, its ability to make maintenance easier and browser compatibility issues. &lt;br /&gt;&lt;br /&gt;All-in-all, it is back to exploring other solutions to developing RIA solutions more effectively. Will  keep you posted.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-5093623125504876711?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ookVLgrWMt42h0Wzi1XhWy2mHkk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ookVLgrWMt42h0Wzi1XhWy2mHkk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ookVLgrWMt42h0Wzi1XhWy2mHkk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ookVLgrWMt42h0Wzi1XhWy2mHkk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/JdeUyS5jXHY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/5093623125504876711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=5093623125504876711" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5093623125504876711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5093623125504876711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/JdeUyS5jXHY/careful-no-to-gwt.html" title="A Careful &quot;No&quot; to GWT" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/03/careful-no-to-gwt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHRnc7eip7ImA9WxBUEUw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-6499437888614162511</id><published>2010-02-25T08:45:00.000-08:00</published><updated>2010-02-25T08:47:17.902-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-25T08:47:17.902-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GWT" /><title>Exploring Google Web Toolkit</title><content type="html">&lt;div style="font-family:verdana;font-size:13px"&gt;With YUI, Flex, TIBCO and Ext; somehow I managed to ignore &lt;a href-'http://code.google.com/webtoolkit' target='_blank'&gt;Google Web Toolkit&lt;/a&gt; (GWT). It suddenly struck me that by making JavaScript generation Java based, GWT perhaps addresses two extremely important problems with new-generation UI code: maintainability and debugging. Since there are umpteen Java based IDEs, this should be interesting. I will have to explore it a little to assess how powerful and easy it can be compared to other solutions, but I think it does merit a thorough exploration. More when I am through with it!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-6499437888614162511?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SuUGGVy5jiakmQX73r0OMD37AVA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SuUGGVy5jiakmQX73r0OMD37AVA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SuUGGVy5jiakmQX73r0OMD37AVA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SuUGGVy5jiakmQX73r0OMD37AVA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/YeoUzI2Lqrg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/6499437888614162511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=6499437888614162511" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/6499437888614162511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/6499437888614162511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/YeoUzI2Lqrg/exploring-google-web-toolkit.html" title="Exploring Google Web Toolkit" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/02/exploring-google-web-toolkit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YHRnk4cCp7ImA9WxBUEEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-2471366475209293578</id><published>2010-02-24T02:32:00.000-08:00</published><updated>2010-02-24T04:38:57.738-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-24T04:38:57.738-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Product Ideas" /><category scheme="http://www.blogger.com/atom/ns#" term="Force Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="Ext" /><title>New Developments in the Market</title><content type="html">&lt;div style="font-family:verdana;font-size:13px"&gt;Simply could not wait to write about this: Ext is coming out with &lt;a href='http://www.extjs.com/products/designer' target='_blank'&gt;Ext Designer&lt;/a&gt;. This would be the first Javascript-focussed RIA building tool outside of &lt;a href='http://labs.adobe.com/technologies/spry/' target='_blank'&gt;Adobe Spry in Dreamweaver&lt;/a&gt; and &lt;a href='http://www.tibco.com/software/rich-internet-application/general-interface/default.jsp' target='_blank'&gt;TIBCO General Interface&lt;/a&gt;. And it reaffirms my conviction that an IDE to help developers make RIAs more effectively is desperately needed. This step by Ext is in the right direction. It remains to be seen how far they would be willing to take it. I, for one, would be keenly watching them.&lt;br /&gt;&lt;br /&gt;Parallel to this development is Salesforce coming up with &lt;a href='http://www.salesforce.com/chatter/' target='_blank'&gt;Chatter Collaboration Cloud&lt;/a&gt; to create create collaborative cloud-computing applications. Salesforce, above all, have a strong expertise in making web-based business applications. Yet their venture from CRM into collaborative development, on the face of it, does seem odd. I have no doubt about their technical prowess and their distribution network, but I am curious to understand how they will leverage their CRM experience and brand image to enter this arena. In fact, I feel their strong association with CRM may inhibit them. I understand that they are now promoting the "Force.com platform" with a strong desire to leverage cloud computing, but the CRM shadow may prove a bit hard to loose. For RIA, this development points out at an interesting alternative to desktop based IDEs. Definitely something to ponder upon. The not-so-new &lt;a href='http://draw.labs.autodesk.com/ADDraw/draw.html' target='_blank'&gt;RIA by Autodesk&lt;/a&gt; and the current venture by Salesforce clearly demonstrates that it may be both technically feasible and perhaps even desirable. Definitely something to ponder about.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-2471366475209293578?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RG7u2IoEvoa881vFGCwGk1u_XmY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RG7u2IoEvoa881vFGCwGk1u_XmY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RG7u2IoEvoa881vFGCwGk1u_XmY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RG7u2IoEvoa881vFGCwGk1u_XmY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/qu0FT3dGRAA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/2471366475209293578/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=2471366475209293578" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/2471366475209293578?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/2471366475209293578?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/qu0FT3dGRAA/new-developments-in-market.html" title="New Developments in the Market" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/02/new-developments-in-market.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMASXoyeip7ImA9WxFXEkU.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-55886671805500152</id><published>2010-02-23T07:33:00.000-08:00</published><updated>2010-05-19T07:47:28.492-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T07:47:28.492-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><category scheme="http://www.blogger.com/atom/ns#" term="Opinion" /><title>Future of Flex Revisited</title><content type="html">&lt;div style="font-family:verdana;font-size:14px;"&gt;I remember expressing my doubts about the &lt;a target="_blank" href="http://ajaxandbeyond.blogspot.com/2009/10/future-of-flex.html"&gt;Future of Flex&lt;/a&gt; and &lt;a href="http://ajaxandbeyond.blogspot.com/2009/06/challenging-adobe-possibilities.html" target="_blank"&gt;dissatisfaction with Adobe's work in RIA&lt;/a&gt;. So you can understand that I was intrigued to learn that Apple has decided to continue to not support Flash. In fact, it is alleged that Steve Jobs called Adobe a lazy company. Expectedly, the web was soon full of discussions and arguments between Flash lovers and Flash haters. Myself, I have used Flex for quite some time and now I am keenly following the HTML5 development. I feel that Flash does have a large reach. Even if one could use HTML5 for video streaming and delivering a variety of RIA applications, I will be keen to see how it manages to handle the challenge of drawing vector graphics and animation. Especially in analytics and similar applications, I don't see anybody replacing Flash based charts any time soon. Even most JavaScript based frameworks tap Flash for graphs and other highly interactive visual elements. Hence, with its reach and graphic potential, Flash remains a force to contend with. And Apple is simple not powerful enough to dislodge it, unless somebody can come up with a better alternative and promote it enough.&lt;br /&gt;
&lt;br /&gt;
However, there is some truth to the charge that Adobe has gone a bit lazy. I, for one, will not question Adobe's technical competence. They are simply brilliant when it comes to desktop based graphics and multimedia development applications. In fact they make great IDEs for the same. But when it comes to the web-based application development, as an end user I am totally unhappy and unsatisfied with the way they have screwed up Flex development. They had a clear head-start but lost ground to JavaScript frameworks. This was, mind you, not due to their laziness but lack of closeness to customer needs. No wonder other technologies are fast elbowing it out. Apple may have gone a bit overboard, but it does point out that Adobe needs to change its approach towards RIA development or ultimately face being evicted out of this arena.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-55886671805500152?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2A4Zin3zMpvD7E8H78bLexxd2Gc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2A4Zin3zMpvD7E8H78bLexxd2Gc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2A4Zin3zMpvD7E8H78bLexxd2Gc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2A4Zin3zMpvD7E8H78bLexxd2Gc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/MBlcOmRhE7Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/55886671805500152/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=55886671805500152" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/55886671805500152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/55886671805500152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/MBlcOmRhE7Q/future-of-flex-revisited.html" title="Future of Flex Revisited" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2010/02/future-of-flex-revisited.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4ESHk5eSp7ImA9WxBTGUo.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-7470683175106686552</id><published>2009-12-16T06:28:00.000-08:00</published><updated>2009-12-16T06:31:49.721-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-16T06:31:49.721-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Product Ideas" /><category scheme="http://www.blogger.com/atom/ns#" term="TIBCO General Interface" /><title>TIBCO General Interface</title><content type="html">&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;By chance I came across the "TIBCO General Interface". Coupled with its "AJAX Message Service", at first look it seems to be a credible alternative to likes of "Flex" and "Ext". After digging a bit deeper I realized that overall it is not so. Nevertheless, I feel that it is a step in the right direction and is hence important. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;The most prominent reason that I am excited about it as it is a proper IDE based approach towards developing JavaScript based RIAs. However, it seems that TIBCO is interested in making products for specialized clients as opposed to web applications for the general public. That is why it has blatantly decided to support only Firefox 1.5/2 and Internet Explorer 6/7. You cannot hope to get away with that if you are making a product for the public. You can get away with it if the product is for a particular company that can enforce a standard browser all across the organization. I guess they have simply chosen their battlefield, and it is not anywhere near Flex or Ext. On the other side is Adobe's Spry framework making its way via the Dreamweaver. It supports more browsers but has less functionalities, aiming at "public" applications I guess. I feel that RIA application development community needs something akin to this, albeit more comprehensive.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;I still feel the Flex has the best potential. Sadly, Adobe Engineers seem to be designing from the lab instead of trying to go to the customer's desk and observing competition. Let's see what "Flex 4" brings. Ext, on the other hand, is moving aggressively in terms of feature enhancement and reliability. A good JavaScript plugin for Eclipse, Idea etc. that focuses on RIA development can move the battle decisively in the favor of Ext. Easier debugging would also help. It has already started using flash charts to neutralize one of the most significant advantages of Flex. Combined with Google's data visualization API, one may as well start questioning the existence of Flex. Flex is falling back and Adobe would do itself a favor by waking up to it and taking the fight back to the competition. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-7470683175106686552?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/po4pkPB_oGSNyEeC6c9P8VDpL9k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/po4pkPB_oGSNyEeC6c9P8VDpL9k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/po4pkPB_oGSNyEeC6c9P8VDpL9k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/po4pkPB_oGSNyEeC6c9P8VDpL9k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/vuggpEIofPs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/7470683175106686552/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=7470683175106686552" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7470683175106686552?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7470683175106686552?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/vuggpEIofPs/tibco-general-interface.html" title="TIBCO General Interface" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/12/tibco-general-interface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMCQH45eyp7ImA9WxNVEU8.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-8606867482442487682</id><published>2009-10-14T06:39:00.000-07:00</published><updated>2009-10-21T05:34:21.023-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-21T05:34:21.023-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Product Ideas" /><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><title>The Future of Flex</title><content type="html">&lt;span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"&gt;&lt;p id="u-q0" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;After having a look at the current RIA technologies in the market, I have to say that Adobe RIAs are falling back wrt the JavaScript based ones. Did I hear somebody talk about Microsoft's Silverlight? I feel there is nothing special about it absolutely; I guess web applications is not exactly Microsoft's forte, so I would not consider it very seriously for now. An interesting addition in the foray has been Google with its smart data visualization API. &lt;/p&gt;&lt;p id="ztu8" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="djf-" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;I think that there are a few weaknesses of JavaScript based RIAs. Firstly, JavaScript itself is not a very ordered language. It is easy to copy and using it to build a competitive advantage is difficult, if not down-right impossible. What adds to this difficulty is the absence of any tool that tries to make this development comprehensive. Adobe is trying to move towards it with a combination of its Dreamweaver and Spry framework, but there is still a long way to go. A little discipline in coding can make the JavaScript code manageable, as demonstrated by products like YUI and ext. &lt;/p&gt;&lt;p id="vjn6" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="oyh5" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Secondly, JavaScript's charting capabilities are pretty limited. For serious dashboards demanded by analytics, this is a handicap. Interestingly, JavaScript developers have attempted to cover this gap by using, guess what, flash. With a better integration between swf files and javascript, this has become increasingly possible. While ext has just started on the path, Google's data visualization API and charting widgets are something to watch for. Buying charts from &lt;a href="http://www.fusioncharts.com/"&gt;Fusion Charts&lt;/a&gt; can give you some headstart as well.&lt;/p&gt;&lt;p id="emzs" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="ujcg" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;On the other end of the spectrum lies the flash/flex based RIAs. A few years ago they held a distinct advantage over their JavaScript counterparts in terms of possibilities. The Flex based projects are especially easier to maintain and develop when compared to JavaScript. However, the apparent growth has more or less stagnated. For example, the Datagrid and even the Advanced Datagrid lack the basic pagination feature available in most JavaScript based tables. With very competitive graphing options available in form of Google APIs and Fusion Charts, the case for using Flex becomes weaker. The debugging and testing ability has not improved much over time either. If this continues, in the next two-three years JavaScript based RIA's can play hardball to firmly displace Flex, leaving Adobe to play the catch-up game. It seems Adobe has the right ideas, but its willingness and ability to put these ideas into action will decide the final outcome. With the flex SDK out in the open and javascript using flash to plugin its charting gap, Adobe can win this war by promising to increase the developer's productivity by doing what it does best: developing a desktop IDE for helping RIA developers  to become more effective.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-8606867482442487682?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LKuvckFDljnG3ORtIeSLQNlFkY4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LKuvckFDljnG3ORtIeSLQNlFkY4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LKuvckFDljnG3ORtIeSLQNlFkY4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LKuvckFDljnG3ORtIeSLQNlFkY4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/BqpXZa34_HI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/8606867482442487682/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=8606867482442487682" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/8606867482442487682?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/8606867482442487682?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/BqpXZa34_HI/future-of-flex.html" title="The Future of Flex" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/10/future-of-flex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUAR3w5fSp7ImA9WxNXGUw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-286902008853089421</id><published>2009-10-07T05:07:00.000-07:00</published><updated>2009-10-07T05:24:06.225-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T05:24:06.225-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex and Ext" /><title>Using Flex Within an Ext Panel</title><content type="html">&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;&lt;p id="rdiw" style="margin: 0px;"&gt;Here is an interesting one: integrating ext with flex :p. We built a dashboard application using ext, but realized that for certain visualization needs flex is better equipped. So now, we wanted one panel in the ext tabbed layout to have a flex chart. A brief step-by-step guide to achieve it:&lt;/p&gt;&lt;p id="j9nm" style="margin: 0px;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="v0gy" style="margin: 0px;"&gt;1. Generate the swf file for your flex project. This will, normally, generate the following in the bin-debug folder:&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;An HTML rendering of the whole thing and the main swf file, which will have the same name as your project&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;playerProductInstall.swf, a swf file to help install latest version of flash player if need be&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;AC_OETags.js, a javascript file that takes care of the actual writing of the swf object to the html dom&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px;"&gt;a history folder with three files to help the swf maintain history&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;2. Copy all the files generated above EXCEPT the HTML rendering into an appropriate location in your webapp. For example, to a folder /resources/flex/graphs/ &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;3. In the ext tab panel add another tab. Set the content to be an ext Panel:&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;    var visualizationPanel = new Ext.Panel({&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        id:'graphPanel',&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        title:'Analysis Graphs',&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        bodyStyle:'margin:0;padding:0;',&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        height:400,&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        width:'100%',&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;        contentEl:'graphDiv'&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; font-family: courier new;"&gt;    });&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;Note that we are using the "contentEl" property that will try to find an HTML &lt;span style="font-family: courier new;"&gt;div &lt;/span&gt;by this name in the DOM to render to this panel&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;4. In you main HTML where you have the ext tab panel, add &lt;a href="http://docs.google.com/View?id=ddhf5h22_117gwpxmmdm"&gt;this&lt;/a&gt; to your &lt;span style="font-family: courier new;"&gt;&amp;lt;head&amp;gt;&lt;/span&gt; (lifted and modified from the rendered HTML. Get your paths right)&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;5. To your &lt;span style="font-family: courier new;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt; add &lt;a href="http://docs.google.com/View?id=ddhf5h22_118gsjnrkdm"&gt;this script and a &lt;span style="font-family: courier new;"&gt;&amp;lt;noscript&amp;gt;&lt;/span&gt; tag&lt;/a&gt;. The main changes to be noticed have been made bold.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;6. Now, open AC_OETags.js and add a statement in the switch inside AC_GetArgs function :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: courier new; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;case "content_el":&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;        ret.params["content_el"] = args[i+1];&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px;"&gt;        break;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;7. In the same file, change the &lt;a href="http://docs.google.com/View?id=ddhf5h22_119d7r6d6fx"&gt;AC_Generateobj function&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.google.com/View?id=ddhf5h22_120c5t92ghk"&gt;Here is the full &lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;&lt;a href="http://docs.google.com/View?id=ddhf5h22_120c5t92ghk"&gt;AC_OETags.js file&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px;"&gt;Cool, now you are ready to go. Your very own flex graph in an ext tab. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-286902008853089421?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c9MrOg0h5rmbaFQfwjU-8BSF1ug/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c9MrOg0h5rmbaFQfwjU-8BSF1ug/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c9MrOg0h5rmbaFQfwjU-8BSF1ug/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c9MrOg0h5rmbaFQfwjU-8BSF1ug/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/fsPTYpEkMRQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/286902008853089421/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=286902008853089421" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/286902008853089421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/286902008853089421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/fsPTYpEkMRQ/using-flex-within-ext-panel.html" title="Using Flex Within an Ext Panel" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/10/using-flex-within-ext-panel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8AQHk4eCp7ImA9WxJUEUg.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-287266868536477904</id><published>2009-06-25T06:59:00.000-07:00</published><updated>2009-07-09T08:37:21.730-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-09T08:37:21.730-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Product Ideas" /><title>Challenging Adobe: Possibilities</title><content type="html">&lt;div&gt;Dreamweaver can be a handy website development tool as it can double up as your content management system as well. For PHP websites not looking for too much of RIA, Joomla and Drupal should suffice. For RIA, Joomla and Dreamweaver both can be seriously inadequate. Which brings us back to our friend Flex. As things are at this moment, Flex rules. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pure JavaScript based RIA can be serious challengers to Flex. However, in absence of an IDE seriously focused on developing RIAs using JavaScript AND manage the content effectively, Flex holds an almost unassailable position. In fact, it seems that by slowly (but steadily) developing Spry and integrating the same with Dreamweaver, Adobe may already be working in that direction. That way Adobe would be ultimately able to hold two winners - whichever way people turn.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nevertheless, that may not be Adobe's intentions. It certainly doesn't look like the way it is promoting Flex. I think it would make fabulous business sense to make an IDE at par with Flex that exclusively focuses on making an RIA using JavaScript et al. This would not only break Adobe's impending monopoly but may also benefit the developer community in general.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-287266868536477904?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-WlcEFiPWx8YxrajxNn4ihGrGcg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-WlcEFiPWx8YxrajxNn4ihGrGcg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-WlcEFiPWx8YxrajxNn4ihGrGcg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-WlcEFiPWx8YxrajxNn4ihGrGcg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/79qm4mr34xg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/287266868536477904/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=287266868536477904" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/287266868536477904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/287266868536477904?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/79qm4mr34xg/challenging-adobe-possibilities.html" title="Challenging Adobe: Possibilities" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/06/challenging-adobe-possibilities.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IMR3s4cSp7ImA9WxJWEEo.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-1528223624023027302</id><published>2009-06-15T08:23:00.000-07:00</published><updated>2009-06-15T08:26:26.539-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-15T08:26:26.539-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ext" /><title>A Skeleton Tabbed Layout in ext</title><content type="html">&lt;div style="font-style:verdana;font-size:10;"&gt;Using ext for UI is not a pleasant task after experiencing Flex. Nevertheless, we do what we need to do :).&lt;br /&gt;&lt;br /&gt;I needed to build a tabbed layout and in a series of article I will explain my experience with the same. The first thing to do (after downloading ext) is place a basic skeleton in place - the jsp/html and the javascript.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://docs.google.com/View?id=ddhf5h22_105gq95srf5'&gt;Skeleton html for guidance&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;&lt;a href='http://docs.google.com/View?id=ddhf5h22_104cfxcwndg'&gt;The basic tab manager javascript guidance&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-1528223624023027302?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/phUDyaI54ddu-A-SoOeB1nehWJg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/phUDyaI54ddu-A-SoOeB1nehWJg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/phUDyaI54ddu-A-SoOeB1nehWJg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/phUDyaI54ddu-A-SoOeB1nehWJg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/jULta18-sH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/1528223624023027302/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=1528223624023027302" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/1528223624023027302?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/1528223624023027302?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/jULta18-sH0/skeleton-tabbed-layout-in-ext.html" title="A Skeleton Tabbed Layout in ext" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/06/skeleton-tabbed-layout-in-ext.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIHRnk5eip7ImA9WxVWFEU.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-987462778923949429</id><published>2009-02-24T05:35:00.000-08:00</published><updated>2009-02-24T06:08:57.722-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-24T06:08:57.722-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex general" /><category scheme="http://www.blogger.com/atom/ns#" term="Ext" /><title>Ext or Flex?</title><content type="html">&lt;div style="font-family:Verdana;font-size:12;"&gt;&lt;p&gt;For the past few months I have been evaluating another claimant to the realm of RIA:&lt;a href="http://extjs.com/" target="_blank"&gt;Ext&lt;/a&gt;. Ext looks good. In fact it can be quite formidable if combined with &lt;a href="http://code.google.com/apis/chart/" target="_blank"&gt;Google Charts&lt;/a&gt; and &lt;a href="http://code.google.com/apis/visualization/" target="_blank"&gt;Google Visualization&lt;/a&gt;. So, given a choice, what should one pick? A brief comparison before I give my views:&lt;br /&gt;&lt;/p&gt;&lt;b&gt;Flex&lt;/b&gt;&lt;br /&gt;    &lt;ul&gt;&lt;li&gt;Cost per license: $699&lt;/li&gt;&lt;br /&gt;        &lt;li&gt;Technology: Flash and ActionScript&lt;/li&gt;&lt;br /&gt;        &lt;li&gt;USP:&lt;br /&gt;            &lt;ul&gt;&lt;li&gt;More developer friendly and reliable than JavaScript any day&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Hides your UI code&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Produces very maintainable and testable code for complex dashboards&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Very well tested and reasonably predictable&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Strong user community and support, thanks to Flash and ActionScript legacy&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;From Flex 3, communication between JavaScript and Flex has become easier.BlazeDS is now available as open-source and facilitates integration with various backends&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Weaknesses:&lt;br /&gt;            &lt;ul&gt;&lt;li&gt;Cost&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Learning curve&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Flex can prove to be a hammer to kill a fly for most web applications.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Ext&lt;/b&gt;&lt;br /&gt;    &lt;ul&gt;&lt;li&gt;Cost per license: $289&lt;/li&gt;&lt;br /&gt;        &lt;li&gt;Technology: javaScript&lt;/li&gt;&lt;br /&gt;        &lt;li&gt;USP:&lt;br /&gt;            &lt;ul&gt;&lt;li&gt;If you  don't have a reasonably complex dashboard that needs significant data visualization,it is a good alternative&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Hides your UI code&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Lesser cost&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Less complicated than Flex&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;        &lt;li&gt;Weaknesses:&lt;br /&gt;            &lt;ul&gt;&lt;li&gt;Can be difficult to debug&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;JavaScript&lt;/li&gt;&lt;br /&gt;                &lt;li&gt;Not that strong user community yet&lt;/li&gt;&lt;br /&gt;            &lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I feel, Ext is impressive but not as good enough as Flex due to the inherent evil nature of JavaScript :). I could not find too much help on the web either to address the countless bugs I face when I use Ext. The fact that I expose some part of my business logic when I use a JS based RIA still holds true for Ext. In its attempt to prevent its precious JS code from being nicked away, Ext has taken great pains to obfuscate its files. Even with it debug javascripts, it can get very frustrating and difficult to debug any issues. This brings in my concern for a maintainable and testable code if my UI is reasonably complex.&lt;/p&gt;&lt;p&gt;Nevertheless, it builds significantly on top of other available RIA options and tries to integrate with JQuery, Protoype, YUI and even AIR. It is definitely an upcoming force that will mature in 2-3 years. It also holds the cost advantage against Flex. All-in-all one may think of using it if one's UI is not as complicated.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But if I have a UI to build that has to be complex, extremely reliable, maintainable and testable, my vote goes to Flex any day.&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-987462778923949429?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/96KCLn8WAb-IW949d-ScS5_Ns6A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/96KCLn8WAb-IW949d-ScS5_Ns6A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/96KCLn8WAb-IW949d-ScS5_Ns6A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/96KCLn8WAb-IW949d-ScS5_Ns6A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/JlF8TWjKFBs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/987462778923949429/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=987462778923949429" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/987462778923949429?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/987462778923949429?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/JlF8TWjKFBs/ext-or-flex.html" title="Ext or Flex?" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2009/02/ext-or-flex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EHRn06eip7ImA9WxRWFEg.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-6229976217698536698</id><published>2008-10-31T04:08:00.001-07:00</published><updated>2008-10-31T04:13:57.312-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-31T04:13:57.312-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><title>Removing and Adding Options Dynamically</title><content type="html">&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;Using DHTML is beautiful because you can play with the DOM as you please. However JavaScript is not that consistent. Of all sources I find the one by W3C: &lt;/span&gt;&lt;a href="http://www.w3schools.com"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;W3 Schools&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt; the most comprehensive and technically correct.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;If you are looking to add or remove options from a select box dynamically, using add and remove methods on select element is the most reliable way. For gory details have a look here:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.w3schools.com/htmldom/dom_obj_select.asp"&gt;&lt;span class="Apple-style-span" style="font-family: verdana;"&gt;Select Object Reference&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-6229976217698536698?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Uimq_nQU-pqgoOrI5fIk2YikX2Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uimq_nQU-pqgoOrI5fIk2YikX2Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Uimq_nQU-pqgoOrI5fIk2YikX2Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uimq_nQU-pqgoOrI5fIk2YikX2Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/9BNrNxDj9W0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/6229976217698536698/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=6229976217698536698" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/6229976217698536698?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/6229976217698536698?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/9BNrNxDj9W0/removing-and-adding-options-dynamically.html" title="Removing and Adding Options Dynamically" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/10/removing-and-adding-options-dynamically.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQXk8cCp7ImA9WxRREks.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-8046747718515550543</id><published>2008-09-24T06:50:00.000-07:00</published><updated>2008-09-24T07:01:00.778-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-24T07:01:00.778-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex Data Services" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex Message Service" /><title>Flex Data Services(FDS): FMS</title><content type="html">&lt;span class="Apple-style-span" style="font-size: medium;"&gt;FDS enables you to access and synchronize data across one or more applications built with Flex framework. FDS itself is a server-side java app designed to work with most Java app servers. FDS consists of four parts:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Flex Message Service (FMS)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Flex Data Management Service (FDMS)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Flex Proxy Service (FPS)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Remoting Service&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;FMS helps to build apps that support real-time chat and collaboration. Idea is to update app whenever server side data changes. In this article let us see how we can use FMS Java API (MessageBroker, AsyncMessage) to receive message in Flex.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;1. Take the FDS blank application as your starting point&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;2. Open WEB-INF/flex/messaging-config.xml and add this destination node below default-adapter node:&lt;/span&gt;&lt;a href="http://docs.google.com/Doc?id=ddhf5h22_29rs4bp8sd"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Destination Node Code&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;3. Define message consumer in MXML&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&amp;lt;mx:Consumer id="consumer" destination="feed" message="messageHandler(event.message)"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;4. Subscribe/Unsubscribe to message at desired part of the flex code as:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;consumer.subscribe();&lt;br /&gt;consumer.unsubscribe();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;5. Whenever there is a message generated at the backend, now your flex application will hear it. A very simple sample java file that generates message will look like this:&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://docs.google.com/Doc?id=ddhf5h22_306v6hkfz"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Sample Java Message Generator&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Verdana;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-8046747718515550543?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SfbbPiQXXibdkAxCJ9sZj018akw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SfbbPiQXXibdkAxCJ9sZj018akw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SfbbPiQXXibdkAxCJ9sZj018akw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SfbbPiQXXibdkAxCJ9sZj018akw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/UkcggHZpBgg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/8046747718515550543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=8046747718515550543" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/8046747718515550543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/8046747718515550543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/UkcggHZpBgg/flex-data-servicesfds-fms.html" title="Flex Data Services(FDS): FMS" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/09/flex-data-servicesfds-fms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EBQno-fSp7ImA9WxRWFEg.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-7172894347869234269</id><published>2008-07-24T04:27:00.000-07:00</published><updated>2008-10-31T04:14:13.455-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-31T04:14:13.455-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript Hacks" /><title>Large Numbers in JavaScript</title><content type="html">Recently faced probelms with large numbers in JavaScript. These two resources were extrelely useful:&lt;br /&gt;&lt;a href="http://weblog.philringnalda.com/2003/05/18/the-hazards-of-really-large-numbers"&gt;Hazards of large numbers in JavaScript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.leemon.com/crypto/BigInt.html"&gt;Big Integers in JavaScript&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope it helps you too :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-7172894347869234269?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RsPYmszuaeMF4qg4RKSuxIkmrQs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RsPYmszuaeMF4qg4RKSuxIkmrQs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RsPYmszuaeMF4qg4RKSuxIkmrQs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RsPYmszuaeMF4qg4RKSuxIkmrQs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/P62dTEiGo90" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/7172894347869234269/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=7172894347869234269" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7172894347869234269?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/7172894347869234269?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/P62dTEiGo90/large-numbers-in-javascript.html" title="Large Numbers in JavaScript" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/07/large-numbers-in-javascript.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AGRXwycCp7ImA9WxdVEE8.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-4228701688847585022</id><published>2008-07-14T02:54:00.000-07:00</published><updated>2008-07-14T03:02:04.298-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-14T03:02:04.298-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex and Webservices" /><title>Using Webservices</title><content type="html">using AS or &lt;span style="font-family:courier new;"&gt;&amp;lt;mx:WebService&amp;gt;&lt;/span&gt; tag&lt;br /&gt;&lt;br /&gt;For &lt;span style="font-family:courier new;"&gt;&amp;lt;mx:WebService&amp;gt;&lt;/span&gt; tag, specify &lt;span style="font-family:courier new;"&gt;id&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;url &lt;/span&gt;of the wsdl file and optionally fault handler function. You can trap an event called &lt;span style="font-family:courier new;"&gt;load &lt;/span&gt;that fires when WSDL loads successfully&lt;br /&gt;&lt;br /&gt;You can use methods on a Web Service in three ways:&lt;br /&gt;1.Undeclared Method: Use WS with id. Flex looks at WSDL for the method based on how it is called&lt;br /&gt;2.Declared Method: Operations defined as children of WS tag using &lt;span style="font-family:courier new;"&gt;&amp;lt;mx:operation&amp;gt;&lt;/span&gt; tag. Args validated using WSDL&lt;br /&gt;3.Fully Declared Method: Both operations and arguments declared using &lt;span style="font-family:courier new;"&gt;&amp;lt;mx:operation&amp;gt;&lt;/span&gt; and &lt;span style="font-family:courier new;"&gt;&amp;lt;mx:request&amp;gt; &lt;/span&gt;tag.&lt;br /&gt;&lt;br /&gt;Declaring operations enables specifying event handlers for each operation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;mx:WebService id="myWebservice"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; wsdl="http://myWsdlUrl/myWsdlFile.wsdl"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; fault= handleFaultFunc(event)&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &amp;lt;mx:operation name="funcNameInWsdl" result="resultHandlingFunc(event)"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &amp;lt;mx:request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &amp;lt;paramName1InWsdl&amp;gt; {asVar1ToPickInputFrom} &amp;lt;/paramName1InWsdl&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &amp;lt;paramName2InWsdl&amp;gt; {asVar2ToPickInputFrom} &amp;lt;/paramName2InWsdl&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &amp;lt;/mx:request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &amp;lt;/mx:operation&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/mx:WebService&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then to call the operation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;myWebservice.funcNameInWsdl.send();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To do in AS:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;var myWebservice:WebService = new WebService();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;myWebservice.wsdl =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; "http://myWsdlUrl/myWsdlFile.wsdl";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ws.loadWSDL(); /*Before calling any method we need to load wsdl. Use canLoadWSDL() to check if WSDL was loaded or not*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ws.addEventListener("result", resultHandlingFunc);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ws.addEventListener("fault", handleFaultFunc);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ws.funcNameInWsdl(asVar1ToPickInputFrom, asVar2ToPickInputFrom);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-4228701688847585022?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uW24Hh5u7WNYh6uxCVej0Dhhnc8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uW24Hh5u7WNYh6uxCVej0Dhhnc8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uW24Hh5u7WNYh6uxCVej0Dhhnc8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uW24Hh5u7WNYh6uxCVej0Dhhnc8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/Q2E-ZWVrASA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/4228701688847585022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=4228701688847585022" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/4228701688847585022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/4228701688847585022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/Q2E-ZWVrASA/using-web-services.html" title="Using Webservices" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/07/using-web-services.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIGQ3czfCp7ImA9WxdRFEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-3683606770546080263</id><published>2008-06-02T07:21:00.000-07:00</published><updated>2008-06-02T07:22:02.984-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-02T07:22:02.984-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex and AJAX" /><title>Flex-AJAX Bridge</title><content type="html">Flex-AJAX bridge is a small non-obtrusive code library. Use it to control a Flex component using JavaScript. Uses ExternalInterface class underneath. This is included in Flex3 installation &lt;i id="y6zb"&gt;installation_dir&lt;/i&gt;\frameworks\javascript\fabridge. Has some good samples to start working with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-3683606770546080263?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hJqdoL0Xv5soRJVSyh0JqbiLyZo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hJqdoL0Xv5soRJVSyh0JqbiLyZo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hJqdoL0Xv5soRJVSyh0JqbiLyZo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hJqdoL0Xv5soRJVSyh0JqbiLyZo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/52-D16LlwhU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/3683606770546080263/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=3683606770546080263" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/3683606770546080263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/3683606770546080263?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/52-D16LlwhU/flex-ajax-bridge.html" title="Flex-AJAX Bridge" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/06/flex-ajax-bridge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQAQXszfyp7ImA9WxZUGEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-4556100076722705421</id><published>2008-04-10T01:44:00.000-07:00</published><updated>2008-04-10T01:49:00.587-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-10T01:49:00.587-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><title>Object Introspection in Flex</title><content type="html">Object Introspection can be a handy tool to learn about large objects without documentation or to list all public properties, methods etc at runtime &lt;p id="xaz6"&gt;import &lt;span id="de50"  style="font-family:Courier New;"&gt;flash.utils.*;&lt;/span&gt; and use the method &lt;span id="ba4q"  style="font-family:Courier New;"&gt;describeType()&lt;/span&gt; , passing it target object to be inspected. The result may be parsed using E4X API&lt;/p&gt; &lt;p id="bhn8"&gt;If you call &lt;span id="f:1i"  style="font-family:Courier New;"&gt;describeType(this)&lt;/span&gt; , non-static members returned&lt;/p&gt; &lt;p id="mv.h"&gt;If you call &lt;span id="g_sk"  style="font-family:Courier New;"&gt;describeType(getDefinitionByName("MyClass"))&lt;/span&gt; , static members returned&lt;/p&gt; &lt;p id="hkju"&gt;An example from Adobe Flex 3 reference to use it for a Button. Assume a Button with id button1:&lt;/p&gt;    &lt;p id="w336"&gt;&lt;span id="gktp"  style="font-family:Courier New;"&gt;import flash.utils.*;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p id="c7ie"&gt;&lt;span id="qrxh"  style="font-family:Courier New;"&gt;pubic function inspector():void{&lt;br /&gt;     //get E4X description&lt;br /&gt;    var classInfo:XML = describeType(button1);&lt;/span&gt;&lt;/p&gt;   &lt;p id="o:1e"&gt;&lt;span id="ryo4"  style="font-family:Courier New;"&gt;     //class name&lt;br /&gt;     var className:String = classInfo.@name.toString();&lt;/span&gt;&lt;/p&gt;   &lt;p id="kj25"&gt;&lt;span id="kqr."  style="font-family:Courier New;"&gt;     //variables and their types&lt;br /&gt;     var classVarStr:String="";&lt;/span&gt;&lt;/p&gt;   &lt;p id="ahu-"&gt;&lt;span id="ny5l"  style="font-family:Courier New;"&gt;     for each(var v:XML in classInfo..variable){&lt;br /&gt;         classVarStr+= "Variable "+ v.@name + "=" + button1[v.@name] + "("+v.@type+")\n";&lt;br /&gt;     }&lt;/span&gt;&lt;/p&gt;   &lt;p id="v:lv"&gt;&lt;span id="bku9"  style="font-family:Courier New;"&gt;     //properties, type and value&lt;br /&gt;    var classPropStr:String="";&lt;/span&gt;&lt;/p&gt; &lt;p id="h7x7"&gt;&lt;span id="jptz"  style="font-family:Courier New;"&gt;    for each(var a:XML in classInfo..accessor){&lt;/span&gt;&lt;/p&gt;       &lt;p id="j4_e"&gt;&lt;span id="xf:3"  style="font-family:Courier New;"&gt;         //no need to get value if write only&lt;br /&gt;         if(a.@access == 'writeOnly'){&lt;br /&gt;             classPropStr+="Property "+ a.@name + "(" + a.@type + ")\n";&lt;br /&gt;        }else{&lt;br /&gt;             classPropStr+="Property "+ a.@name + "=" +button1[a.@name] + "(" + a.@type + ")\n";&lt;br /&gt;        }&lt;br /&gt;    } &lt;/span&gt;&lt;/p&gt;   &lt;p id="z.ab"&gt;&lt;span id="gblo"  style="font-family:Courier New;"&gt;     //methods&lt;br /&gt;     var classMethodStr:String="";&lt;/span&gt;&lt;/p&gt;   &lt;p id="fs_0"&gt;&lt;span id="tskk"  style="font-family:Courier New;"&gt;    for each(var m:XML in classInfo..method){&lt;br /&gt;        classMethodStr += "Method " + m.@name + "():" + m.@returnType +  "\n";      &lt;br /&gt;    }    &lt;/span&gt;&lt;/p&gt; &lt;p id="c7ie"&gt;&lt;span id="by9x"  style="font-family:Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-4556100076722705421?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Nnj9VOGTvcK5BeVG4wRB9-Lgd9k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nnj9VOGTvcK5BeVG4wRB9-Lgd9k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Nnj9VOGTvcK5BeVG4wRB9-Lgd9k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Nnj9VOGTvcK5BeVG4wRB9-Lgd9k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/PNtxcatdOLM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/4556100076722705421/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=4556100076722705421" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/4556100076722705421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/4556100076722705421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/PNtxcatdOLM/object-introspection-in-flex.html" title="Object Introspection in Flex" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/04/object-introspection-in-flex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcFQ346fSp7ImA9WxZXGEw.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-1283663025343403603</id><published>2008-03-06T05:37:00.000-08:00</published><updated>2008-03-06T06:00:12.015-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-06T06:00:12.015-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex problems" /><title>Percentage Width For Datagrid Columns</title><content type="html">&lt;span style="font-family:verdana;"&gt;Specifying relative using percentage is a common need for UIs. Unfortunately I dont see a simple way to do this in Flex2.0. Penning down a workaround that works for me.&lt;br /&gt;On &lt;span style="font-family:courier new;"&gt;creationComplete&lt;/span&gt; event of your DataGrid call a function that has a logic similar to this:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;var idx:Number=0; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;//myTable is the id for the dataGrid you want to manipulate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for each(var col:DataGridColumn in myTable.columns{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;switch(idx){ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 0: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.23; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 1: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.13; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 2: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.10; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 3: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.11; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 4: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.11; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 5: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.11; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 6:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.17; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case 7: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col.width = summaryTable.width*0.04; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;} &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;if(idx &amp;lt; summaryTable.columnCount){&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx++; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;} &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yes, this is a bit ugly. Not only you need to know the exact number of columns, you need to also make sure that the sum of parts is 100. For slightly better maintainability at most you can use declared constants in the switch statement.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-1283663025343403603?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vXZ4oEY-hg6jB9C8p8vAdEW_cC8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vXZ4oEY-hg6jB9C8p8vAdEW_cC8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vXZ4oEY-hg6jB9C8p8vAdEW_cC8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vXZ4oEY-hg6jB9C8p8vAdEW_cC8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/i03imTdR_fw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/1283663025343403603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=1283663025343403603" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/1283663025343403603?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/1283663025343403603?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/i03imTdR_fw/percentage-width-for-datagrid-columns.html" title="Percentage Width For Datagrid Columns" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/03/percentage-width-for-datagrid-columns.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYHRXs8cSp7ImA9WxZXEE4.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-2915697076595655172</id><published>2008-02-26T06:11:00.000-08:00</published><updated>2008-02-26T06:45:34.579-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-26T06:45:34.579-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex Drag and Drop" /><title>Drag and Drop Grid of Panels</title><content type="html">&lt;span style="font-family:verdana;"&gt;I needed a grid of panels in which I could exchange the places held by panels by dragging and dropping. I should be able to toggle the visibility of the panel and re-arrange the panels as need be. The grid should be scalable. This would be something like the igoogle panel and is available in most AJAX frameworks like zkoss and yui. Keeping this in mind I have written this code for a 3x3 grid. You can adapt it to any size and any container. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;The grids would look something like this:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://bp3.blogger.com/_I81aeOWZCnM/R8QkygAjQEI/AAAAAAAAACs/FRHAPWSXVNg/s1600-h/grid1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5171298722132475970" style="MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_I81aeOWZCnM/R8QkygAjQEI/AAAAAAAAACs/FRHAPWSXVNg/s320/grid1.JPG" border="0" /&gt;&lt;/a&gt;&lt;/span&gt; &lt;a href="http://bp0.blogger.com/_I81aeOWZCnM/R8QldwAjQFI/AAAAAAAAAC0/Z_5XPlG1rAU/s1600-h/grid2.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5171299465161818194" style="CURSOR: hand" alt="" src="http://bp0.blogger.com/_I81aeOWZCnM/R8QldwAjQFI/AAAAAAAAAC0/Z_5XPlG1rAU/s320/grid2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;You can check out the code at: &lt;/span&gt;&lt;a class="tabcontent" id="publishedDocumentUrl" href="http://docs.google.com/Doc?id=ddhf5h22_69w36cmdh" target="_blank"&gt;&lt;span style="font-family:verdana;"&gt;http://docs.google.com/Doc?id=ddhf5h22_69w36cmdh&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Any queries/problems /suggestions are welcome :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Cheers!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-2915697076595655172?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_9W7TLTdKuwGkYHz5bu7DmWLuHw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_9W7TLTdKuwGkYHz5bu7DmWLuHw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_9W7TLTdKuwGkYHz5bu7DmWLuHw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_9W7TLTdKuwGkYHz5bu7DmWLuHw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/1Y1tV9ZaLvw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/2915697076595655172/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=2915697076595655172" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/2915697076595655172?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/2915697076595655172?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/1Y1tV9ZaLvw/drag-and-drop-grid-of-panels.html" title="Drag and Drop Grid of Panels" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_I81aeOWZCnM/R8QkygAjQEI/AAAAAAAAACs/FRHAPWSXVNg/s72-c/grid1.JPG" height="72" width="72" /><thr:total>11</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/02/drag-and-drop-grid-of-panels.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YHQHY8eip7ImA9WxZQFU8.&quot;"><id>tag:blogger.com,1999:blog-8835074338921219220.post-5098005296981898206</id><published>2008-02-19T03:25:00.000-08:00</published><updated>2008-02-20T09:38:51.872-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-20T09:38:51.872-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex problems" /><title>Datagrid Fix</title><content type="html">&lt;span style="font-family:verdana;"&gt;Was grappling with some Datagrid issues only to discover later that it is a known bug. For a list of datagrid bugs and fix provided by adobe:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=kb401224&amp;amp;sliceId=1"&gt;&lt;span style="font-family:verdana;"&gt;Datagrid Bugs Hotfix at Adobe&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8835074338921219220-5098005296981898206?l=ajaxandbeyond.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PKZZRV5vSqEWy3wWRC9MK6RPI7M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PKZZRV5vSqEWy3wWRC9MK6RPI7M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PKZZRV5vSqEWy3wWRC9MK6RPI7M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PKZZRV5vSqEWy3wWRC9MK6RPI7M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ExploringRias/~4/3NbdCOAsWXA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ajaxandbeyond.blogspot.com/feeds/5098005296981898206/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8835074338921219220&amp;postID=5098005296981898206" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5098005296981898206?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8835074338921219220/posts/default/5098005296981898206?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ExploringRias/~3/3NbdCOAsWXA/datagrid-fix.html" title="Datagrid Fix" /><author><name>Saveen</name><uri>http://www.blogger.com/profile/07011802722179976668</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_I81aeOWZCnM/TJHqIETuQLI/AAAAAAAAAMI/6tP-FtAXk-A/S220/017.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://ajaxandbeyond.blogspot.com/2008/02/datagrid-fix.html</feedburner:origLink></entry></feed>

