<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3155837776761738886</id><updated>2012-01-30T09:08:46.700-05:00</updated><category term='Parsley'/><category term='Google TV'/><category term='Sneak Peeks'/><category term='tablet'/><category term='unit tests'/><category term='ActionScript'/><category term='UI'/><category term='Falcon'/><category term='Livecycle'/><category term='SQLite'/><category term='RIA'/><category term='AdvancedDataGrid'/><category term='Web'/><category term='Web design'/><category term='Testing'/><category term='MAX'/><category term='LCDS'/><category term='Flash'/><category term='Browsers'/><category term='FlashCamp'/><category term='CS5.5'/><category term='Flash Player'/><category term='Asus'/><category term='Chrome'/><category term='Framework'/><category term='Flex Builder'/><category term='Flex'/><category term='User Group'/><category term='Blaze'/><category term='Android'/><category term='PopUpManager'/><category term='flexcamp'/><category term='HTML5'/><category term='Adobe'/><category term='Mobile'/><category term='JBoss'/><category term='jQuery'/><category term='flexcommon'/><category term='Montreal'/><category term='Flash Builder'/><category term='Intellij'/><category term='Flash Catalyst'/><category term='AIR'/><category term='UX'/><category term='Opera'/><category term='Design'/><category term='Hero'/><category term='Dreamweaver'/><category term='SWFMontreal'/><category term='PHP'/><category term='Cairngorm'/><category term='iPhone'/><category term='Firefox'/><category term='Linux'/><category term='HTML'/><category term='AUG'/><category term='JavaScript'/><title type='text'>Flex Force</title><subtitle type='html'>"These aren't the Flex developers you are looking for..."</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default?start-index=101&amp;max-results=100'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>144</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4826828940289583328</id><published>2012-01-26T22:49:00.001-05:00</published><updated>2012-01-26T22:49:10.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Two great books to study JavaScript</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;Since I've been concentrating mostly on Flex development since 2004 and have been getting back to JavaScript development in the last year, I thought it would be a good idea to get a couple of books to refresh my skills. Thus I've listed below two books which I've picked up recently to this effect:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.ca/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752/ref=sr_1_5?ie=UTF8&amp;amp;qid=1327635676&amp;amp;sr=8-5"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;JavaScript Patterns&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.amazon.ca/High-Performance-JavaScript-Nicholas-Zakas/dp/059680279X/ref=pd_sim_b_6"&gt;High Performance JavaScript&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;I've just started reading the second book and I must say both books are well written and are worth the dollars I spent. Both are for intermediate to advanced level and you sure do learn some little nuances of the language that go the extra step to help a developer write the most efficient JavaScript code. So go check them out and become and better developer!&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/3155837776761738886-4826828940289583328?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4826828940289583328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4826828940289583328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4826828940289583328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4826828940289583328'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2012/01/two-great-books-to-study-javascript.html' title='Two great books to study JavaScript'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3693712854173680804</id><published>2012-01-26T22:39:00.001-05:00</published><updated>2012-01-26T22:39:45.485-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash saved my hockey viewing</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;I've been meaning to write about this since the day it happened, but haven't gotten around to it until tonight. Call me buzy or lazy, doesn't really matter, but hopefully you will find this short story interesting.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;I was at home a couple of nights before Christmas 2011 and the Canadian World Junior Team was playing that night. So, like any good Canadian I turned on my TV to watch in HD the fastest sport in the world. But alas there was a little problem. Since early December I had been experiencing problems with my HD receiver on a on-and-off basis. Unfortunately the problem&amp;nbsp;occurred&amp;nbsp;that night and watching the hockey game on my TV was simply impossible. At that same moment I remembered that &lt;a href="http://www.tsn.ca/"&gt;TSN&lt;/a&gt; was streaming the game live on their website, so I went to my PC to watch the game. But sitting on a chair and watching a hockey game is not as comfortable as sitting on my couch. That's when the light blub went off in my head: "wait a minute, why don't I watch it on my Android tablet?". So sure enough, I turned on my tablet, surfed to the &lt;a href="http://tsn.ca/"&gt;tsn.ca&lt;/a&gt; website and watched the game in its&amp;nbsp;entirety - and while sitting in my bed now, which was even more comfortable :)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Thing is, it didn't occur to me until the next day, that it was thanks to the Flash Player running on my Android tablet that I was able to watch the game streaming live. If I would have had an iPad, I would not have been able to comfortably watch the game that night. Just goes to show you, that in 2011 you still need Flash to get the full web experience and that HTML5 browsers still have a ways to go.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3693712854173680804?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3693712854173680804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3693712854173680804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3693712854173680804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3693712854173680804'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2012/01/flash-saved-my-hockey-viewing.html' title='Flash saved my hockey viewing'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4328628544434938240</id><published>2012-01-13T23:17:00.001-05:00</published><updated>2012-01-17T19:14:03.711-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>My mini-browser review</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;Being the first post of 2012 and seeing how I am currently brushing up on my&amp;nbsp;JavaScript&amp;nbsp;skills, I'd thought I'd post a mini-browser review.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0b5394; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Chrome&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Over the last month, this has been my browser of choice at both home and work. Based on my perception, it is the fastest browser out there. It is also smooth (meaning initial start-up &amp;amp; opening app tabs) and when something goes wrong, you can just open up the Chrome Task Manager and kill the offending tab. I think its what most people think Firefox should be like. The only downside is that the developer tools are clunky to work with.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0b5394; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Firefox 4+&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;I have always love this browser from the start and it has been my main browser since then. But do I dare say, it seems bloated at times? The initial&amp;nbsp;start-up&amp;nbsp;can cause it to freeze for 30 secs (with only 2 app tabs mind you) and if a tab crashes, it takes a moment or two to recover. But for development purposes, its tools are unmatched.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0b5394; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Internet Explorer 9&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;I just can't use it. Its UI, while trying to catch up to Chrome and Firefox is still ugly. Some web sites still don't render properly and it is still behind its in implementation of HTML5/CSS3 web standards. Also how many releases have Chrome and Firefox have their been since IE9 came out? That's what I thought. Slow output from a company that needs to greatly pick up the pace. I'll wait till version 10 to see if my mind changes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0b5394; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Opera 10+&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;I think Firefox stole its UI :) I use it from time-to-time to just see what it can offer and its pretty good. Pages load fast and it has interesting built-in development tools. How fonts look could use a little work however. It truly is the little browser that could.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4328628544434938240?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4328628544434938240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4328628544434938240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4328628544434938240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4328628544434938240'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2012/01/my-mini-browser-review.html' title='My mini-browser review'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5013367581925805091</id><published>2011-11-22T21:06:00.001-05:00</published><updated>2011-11-22T21:12:50.799-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Official Adobe page about recent news</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;Adobe has put up a more official &lt;a href="http://www.adobe.com/devnet/flashplatform/articles/recent-updates.html"&gt;page&lt;/a&gt; about the recent news, confirming that they will not continue work on Flash for mobile and reaffirming their commitment to such technologies as Flash Player on the desktop, AIR for the mobile and desktop, Flash Builder and Flash Professional. Go read for yourself!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5013367581925805091?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5013367581925805091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5013367581925805091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5013367581925805091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5013367581925805091'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/official-adobe-page-about-recent-news.html' title='Official Adobe page about recent news'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4413836447793858636</id><published>2011-11-22T20:59:00.001-05:00</published><updated>2011-11-22T21:03:11.431-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Montreal'/><title type='text'>Meeting of Montreal AUG</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;The Montreal Adobe User Group will be holding their next meeting on Wednesday December 7th, 2011 at the &lt;span itemprop="locality" itemscope="" itemtype="http://data-vocabulary.org/Organization"&gt;Istory II Bar Billard. The main topic as you can imagine revolves around &lt;/span&gt;the recent Adobe news regarding Flash on mobile. Go &lt;a href="http://www.meetup.com/Flash-and-Flex-Montreal/events/41385912/"&gt;here&lt;/a&gt; to sign up.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Unfortunately I cannot make it since I have prior commitments that day. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4413836447793858636?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4413836447793858636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4413836447793858636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4413836447793858636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4413836447793858636'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/meeting-of-montreal-aug.html' title='Meeting of Montreal AUG'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3435580983905452291</id><published>2011-11-16T09:05:00.001-05:00</published><updated>2011-11-16T09:41:42.167-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex goes to Apache</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Needless to say that due to last week's Adobe blog post, their communication skills leave much to be desired. The entire Flash/Flex community is up in arms and wondering about the future. A couple of follow up blog posts were made by Adobe employees (&lt;a href="http://www.mikechambers.com/blog/2011/11/11/clarifications-on-flash-player-for-mobile-browsers-the-flash-platform-and-the-future-of-flash/"&gt;here&lt;/a&gt; and &lt;a href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html"&gt;here&lt;/a&gt;), but that asked more questions than it answered. Well as of last night, one of those follow up blog posting was updated (go &lt;a href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html"&gt;here&lt;/a&gt; and scroll down after the red comment) in an attempt to provide more clarity. Here is a summary:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Current Flex SDK development work will be completed (new components and super fast compiler)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The Flex SDK, BlazeDS and more will be donated to Apache Software Foundation, Adobe will have people on the Open Source Flex SDK management team&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Future versions of Flash Builder will be released with previously communicated new&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;features&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;As for the future, Adobe believes that Flex is still the best solution for the development of large&amp;nbsp;enterprise&amp;nbsp;applications. Eventually, HTML/&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;JavaScript&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;will catch up in this regard, maybe 5-10 years from now, but for the near future, Flex is still the better solution. And I agree, until I see an update to the JavaScript language, I don't see how it can surpass Flex for large application development.&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/3155837776761738886-3435580983905452291?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3435580983905452291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3435580983905452291' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3435580983905452291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3435580983905452291'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/flex-goes-to-apache.html' title='Flex goes to Apache'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6594102655355175405</id><published>2011-11-12T09:40:00.003-05:00</published><updated>2011-11-12T11:26:18.122-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>When is Javascript going to be updated?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Do you know since when has JavaScript been around? Well if you don't, I'm going to tell you. 1995. That's 16 years ago and since then, it feels like the language has not evolved one bit. Well at least it doesn't feel like it. Having worked with ActionScript&amp;nbsp;allot&amp;nbsp;over the recent years, it makes me yearn for the day that JavaScript takes on some of its characteristics. So here are a few random thoughts on the subject:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Why is everything still loosely typed? Why can't I declare the data type of my variable. Once we are allowed to do this, it also means we have greater support for the language in our development tools, meaning less typo mistakes and shorter development times.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;When will we be able to finally declare a class like any normal person can. You know by using the &lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;class&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; keyword. No more of this everything is a function mumbo jumbo. Proper class inheritance would be nice as well.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;How about having a compiler that can run through our code, to advise us in advance of any syntax errors. Rather than random discovery at run-time of any simple programming errors.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6594102655355175405?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6594102655355175405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6594102655355175405' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6594102655355175405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6594102655355175405'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/when-is-javascript-going-to-be-updated.html' title='When is Javascript going to be updated?'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5089574766168724557</id><published>2011-11-12T09:40:00.001-05:00</published><updated>2011-11-12T10:44:47.862-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Times are changing: Flash and Flex</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;They say that the only constant is change. And another great example was given to us this week following Adobe's announcement (&lt;a href="http://betanews.com/2011/11/09/adobe_puts_full_support_behind_html5/"&gt;article 1&lt;/a&gt;, &lt;a href="http://www.zdnet.com/blog/perlow/exclusive-adobe-ceases-development-on-mobile-browser-flash-refocuses-efforts-on-html5-updated/19226"&gt;article 2&lt;/a&gt; and &lt;a href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html"&gt;article 3&lt;/a&gt;) about the future of Flash on mobile browsers - that basically there isn't any. For the last couple of days I've been thinking about how to write this blog post, so here goes :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Were all the Flash haters right?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Anyone who "hates" is never right. They are most likely ignorant and perhaps even mis-informed. For 7 years now, since 2004, I've been developing web applications using Flex for my personal projects and at my job. At my job, I am perhaps one of maybe 3 developers who have used Flex at home and work and loved the capabilities the technology offers. Others used it cause they had too, and some wouldn't touch it with a 10 foot pole. That's fine, we are all different people. But you know what the most important thing is, I tried and I learned something new. I did something not many people can say they did and because of it, I am better developer today than was back in 2004. For 7 years, I have been ahead of the curve, doing things that were not possible or very time-consuming to do without Flex. Basically what I am saying is that I wasn't going to stand still waiting for HTML/JavaScript/CSS to catch up. And I must say that was thanks to Stacy Young for giving me a CD labeled "Royale Beta" back in the Fall of 2003.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;What about my skills set, my job?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;So finally in 2011, HTML/JavaScript/CSS have finally caught up. Well at least up to a certain point, there are still things you can't do in a browser that only the Flash Player can do. But with the rapid evolution of browsers these days, especially for Firefox and Chrome (IE is still slow), they will soon catch up, but it will still take some time. It might still take 10 years before browsers have totally replaced what the Flash Player can do it. So what does a Flex developer like myself do? Am I out of a job? Am I useless? Nope, au contraire, I have just spent 7 years acquiring knowledge in how to better develop web applications and I thus will continue to do so. Just means I am using different tools to do so. Actually over the past year I have already started doing more&amp;nbsp;HTML/JavaScript/CSS developement than ever before and I have been applying &amp;nbsp;my Flex skillset to all the JavaScript development I have been doing. I have created my own jQuery DataGrid widget, you can set&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;the columns to display and specify a labelFunction for each column object. Sounds familiar? :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Let's no forget&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Since 1996 we have been using the little plugin that could to stream and watch Dallas Cowboys games which were not available on national TV (ok, that was just me), share funny/sad/dramatic/historical/great/not so great moments with family and friends on YouTube, watch sport highlights and much more. Were would we be today without the Flash Player? Probably stuck in the web technology stone ages. The web is a better place cause of the Flash Player and hopefully the future will be better because of it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;What Adobe is saying&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;But don't just listen to me, some Adobe employees have made some posts as well in the days since the announcement. Mike Chambers has a great post &lt;a href="http://www.mikechambers.com/blog/2011/11/11/clarifications-on-flash-player-for-mobile-browsers-the-flash-platform-and-the-future-of-flash/"&gt;here&lt;/a&gt; and then there is one &lt;a href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html"&gt;here&lt;/a&gt; from a couple of product managers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;What's next?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Well, I'm going to keep doing what I've always been doing, creating great web applications. And I'm going to start by bitching as to why JavaScript hasn't grown in 15 years. Oh, but that's another blog post all in itself :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5089574766168724557?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5089574766168724557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5089574766168724557' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5089574766168724557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5089574766168724557'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/times-are-changing-flash-and-flex.html' title='Times are changing: Flash and Flex'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1509085255030311996</id><published>2011-11-03T19:38:00.002-04:00</published><updated>2011-11-03T19:38:25.038-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>ActionScript 101</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;New to ActionScript (or Flex in general) and don't know how to learn the basics? Need a quick crash course? Then I have the hyperlink for you! Adobe has put together some small articles about the basics of ActionScript 3, such as language syntax, how to declare variables, namespaces and much more. The first article which talks about ActionScript Syntax is &lt;a href="http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/syntax.html"&gt;here&lt;/a&gt; and once you are done with that one, at the bottom of the page are the links to the subsequent articles.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;So go get started if you are new to ActionScript/Flex/AIR, or share it with a friend/colleague who is looking to get started in this domain. &lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&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/3155837776761738886-1509085255030311996?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1509085255030311996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1509085255030311996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1509085255030311996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1509085255030311996'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/11/actionscript-101.html' title='ActionScript 101'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4859422725403353488</id><published>2011-10-20T20:42:00.003-04:00</published><updated>2011-10-20T20:42:25.623-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Sneak Peeks'/><title type='text'>MAX 2011 Sneak Peeks</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;One of the most anticipated portions of any MAX Conference is the Sneak Peeks event. This is when the Adobe wizards take the time to leave their laboratories and show us what features they have been working over the last little while. Features that *might* make their way into some product in some future release. This year was no exception, so follow this &lt;a href="http://tv.adobe.com/show/max-2011-sneak-peeks/"&gt;link&lt;/a&gt; to see about a dozen sneak peeks from MAX 2011. My favorites include &lt;i&gt;Image Deblurring&lt;/i&gt;, &lt;i&gt;GPU Parallelism&lt;/i&gt; and &lt;i&gt;Reverse Debugging in Flash Builder&lt;/i&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4859422725403353488?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4859422725403353488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4859422725403353488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4859422725403353488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4859422725403353488'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/10/max-2011-sneak-peeks.html' title='MAX 2011 Sneak Peeks'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6672927302809133230</id><published>2011-10-17T23:17:00.001-04:00</published><updated>2011-10-17T23:17:14.434-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>New components in Flex 4.6</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;One of the best Flex Evangelists out there, &lt;a href="http://coenraets.org/blog/"&gt;Christopher Coenraets&lt;/a&gt;, has recently made a &lt;a href="http://coenraets.org/blog/2011/10/video-new-components-in-flex-4-6/"&gt;blog post&lt;/a&gt; where he demonstrates the newest components added to the Flex 4.6 SDK. It is a must see for those developing mobile applications, as these new components were added specifically for this use case. My favorites are the Spinner (like a regular ComboBox) and the Callout components, cause I remember looking for components such as these earlier this summer when I was building some prototype applications (for Android). So what are you still doing here, go see the &lt;a href="http://coenraets.org/blog/2011/10/video-new-components-in-flex-4-6/"&gt;demo&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/3155837776761738886-6672927302809133230?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6672927302809133230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6672927302809133230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6672927302809133230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6672927302809133230'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/10/new-components-in-flex-46.html' title='New components in Flex 4.6'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3780892015732549090</id><published>2011-10-11T19:21:00.001-04:00</published><updated>2011-10-11T19:21:27.988-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='MAX'/><category scheme='http://www.blogger.com/atom/ns#' term='User Group'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Montreal'/><title type='text'>Montreal User Group meeting tomorrow</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;For those interested, the Montréal Adobe User Group is having a meeting tomorrow night from 6:00 PM to 9:00 PM to recap the information from last week's Adobe MAX. Click &lt;a href="http://www.eventbrite.com/event/2322157636"&gt;here&lt;/a&gt; for full details and to sign up.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3780892015732549090?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3780892015732549090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3780892015732549090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3780892015732549090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3780892015732549090'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/10/montreal-user-group-meeting-tomorrow.html' title='Montreal User Group meeting tomorrow'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8941193727139390425</id><published>2011-10-09T09:37:00.002-04:00</published><updated>2011-10-09T09:37:53.389-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>Learning the basics of HTML5</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Yes, yes, I know. This is my blog about Flex, but you know what, it is always good to learn and know as much as you can. Cause face it, HTML is here to stay and we need to know the most we can't about this latest specification (version 5). The version 5 specification is finally catching up to the things we already have in Flex, but I still don't understand why JavaScript is not strongly typed :(&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Anyways, take a look at this &lt;a href="http://tv.adobe.com/watch/max-2011-develop/html5-the-2012-of-the-web/"&gt;video&lt;/a&gt;, which is a presentation from Adobe MAX 2011 from a Mozilla developer. He talks about the new tags, form elements, open video codecs and then some.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8941193727139390425?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8941193727139390425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8941193727139390425' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8941193727139390425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8941193727139390425'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/10/learning-basics-of-html5.html' title='Learning the basics of HTML5'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8410104272197779927</id><published>2011-10-09T09:03:00.003-04:00</published><updated>2011-10-09T09:04:34.109-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>The future of Flash Platform</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Although I did not attend MAX this year, I did find this nice &lt;a href="http://tv.adobe.com/watch/max-2011-develop/flash-platform-roadmap-flex-flash-builder-flash-player-air/"&gt;video&lt;/a&gt; about several Adobe Product Managers discussing the changes coming to the Flash Platform in 2012. Its great video that shows the performance improvements they will be making, the 10x faster Flex compiler, new encryption/decryption APIs, more components converted to the Spark framework and a feature called "Workers" (think of this as threads, but its not threads within the Flash Player).&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;So don't delay, get the lowdown on whats coming down the pipe for the Flash Platform!&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/3155837776761738886-8410104272197779927?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8410104272197779927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8410104272197779927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8410104272197779927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8410104272197779927'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/10/future-of-flash-platform.html' title='The future of Flash Platform'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1212632881560162602</id><published>2011-08-01T22:12:00.003-04:00</published><updated>2011-08-01T22:14:27.769-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Montreal AUG meeting August 3rd</title><content type='html'>There is another Montreal Adobe User Group meeting coming up this week,  on Wednesday August 3rd to be specific. This one is being held at a pool hall like the last one and will involve  open talk about the mobile development. So if you are interested in dropping by,  there is a $20 entry fee (hey, there's beer involved) and you can sign  up &lt;a href="http://montrealaug5a7.eventbrite.com/?ref=enivtefor&amp;amp;invite=MTEwMTYxMS9hbmdlbG9uZTE5NzU1NUBnbWFpbC5jb20vMA%3D%3D&amp;amp;utm_source=eb_email&amp;amp;utm_medium=email&amp;amp;utm_campaign=inviteformal&amp;amp;utm_term=eventpage"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1212632881560162602?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1212632881560162602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1212632881560162602' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1212632881560162602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1212632881560162602'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/08/montreal-aug-meeting-august-3rd.html' title='Montreal AUG meeting August 3rd'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1680074379207384609</id><published>2011-07-29T19:32:00.023-04:00</published><updated>2011-07-31T10:59:48.908-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Parsley'/><title type='text'>Fixing multiple parsley result handlers being called [Update]</title><content type='html'>This passed week I was testing my application and noticed some odd behavior. After some debugging, I noticed that two command result handlers were being called, when in fact only one of them should be. The application was built using the &lt;a href="http://www.spicefactory.org/parsley/"&gt;Parsley&lt;/a&gt; framework, so to quickly explain the problem and solution, here is what was happening:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Application was dispatching the MyEvent1 event&lt;/li&gt;&lt;li&gt;The MyCommand1 was being executed and the MyCommand1 result handler was being called&lt;/li&gt;&lt;li&gt;Then the problem, the MyCommand2 result handler was being called.&lt;/li&gt;&lt;/ol&gt;So why was the MyCommand2 result handler being called? Because Parsley didn't know any better based on how I coded both handlers. Here is how both handlers were coded:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult]&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( event:MyEvent1 ):void&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult]&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( event:MyEvent2 ):void&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In both cases, the remote java call returns void, so I declared only one parameter for each function, the event that dispatches the command class. Since I didn't specify the event class name (the type as Parsley calls it) in the CommandResult metadata tag, Parsley will use the 2nd parameter to determine the type. Oh, but I don't have a second parameter! Hence the problem, so Parsley just ended up calling both handlers. So there are two ways to solve this problem...&lt;br /&gt;&lt;br /&gt;1) Add another parameter to the handler function of type Object that will not be used, like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult]&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( obj:Object, event:MyEvent1 ):void&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult]&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( obj:Object, event:MyEvent2 ):void&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2) Declare the event type in the metadata tag, like so:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult(type="bla.MyEvent1")]&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( event:MyEvent1 ):void&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult(type="bla.MyEvent2")]&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( event:MyEvent2 ):void&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I ended up using solution #1 and then I only had the one result handler being called, which is what I wanted.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;UPDATE: Actually good catch by Devin, if you just use the &lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);font-size:85%;" &gt;[CommandComplete]&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt; metadata tag, then your handler method only requires one parameter, the associated event object. Totally missed this one while reading the documentation.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1680074379207384609?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1680074379207384609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1680074379207384609' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1680074379207384609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1680074379207384609'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/07/fixing-multiple-parsley-result-handlers.html' title='Fixing multiple parsley result handlers being called [Update]'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-944287980049802936</id><published>2011-07-13T20:49:00.013-04:00</published><updated>2011-07-13T21:00:15.612-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><title type='text'>AIR 3.0 beta and Flash Player 11 beta available!</title><content type='html'>Well a big day today, shows that Adobe is busy at work even though we are in the middle of the summer. Today Adobe has announced the beta availability of the next major versions of AIR and Flash Player.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://labs.adobe.com/technologies/flashplatformruntimes/air3/"&gt;AIR 3 beta&lt;/a&gt;, is a run-time only beta at the moment, so as to test backward compatibility with applications built with the AIR 2.7 SDK. The AIR 3 SDK beta will be made available at a later date. Major speed improvements are the highlight of this release, but more details will come I'm sure.&lt;br /&gt;&lt;br /&gt;As for the &lt;a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11/"&gt;Flash Player 11 beta&lt;/a&gt;, we have a bit more details on this side. The next version of our little player that could will contain Stage 3D APIs, 64-bit support (finally!), HD Surround Sound, Socket Progress Events (you can now built FTP clients), G.711 audio compression and H.264/AVC for higher quality video encoding. Well that was a mouthful, go check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-944287980049802936?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/944287980049802936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=944287980049802936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/944287980049802936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/944287980049802936'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/07/air-30-beta-and-flash-player-11-beta.html' title='AIR 3.0 beta and Flash Player 11 beta available!'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7886262857269319521</id><published>2011-07-13T20:39:00.005-04:00</published><updated>2011-07-13T20:49:01.206-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Great AIR for Android tutorial</title><content type='html'>As I was building my first AIR application for Android, I was naturally doing some research into how to get started. No article helped me more than this &lt;a href="http://www.adobe.com/devnet/flex/articles/mobile-development-flex-flashbuilder.html"&gt;one&lt;/a&gt; from Narcico Jaramillo from Adobe. It properly explained the basics about the new Flex components that you need to use for mobile development and also had some links to some great step-by-step tutorials (scroll all the way to the bottom of the page) on how to build your first application using Flash Builder.&lt;br /&gt;&lt;br /&gt;Kudos to Narcico for the great articles!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7886262857269319521?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7886262857269319521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7886262857269319521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7886262857269319521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7886262857269319521'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/07/great-air-for-android-tutorial.html' title='Great AIR for Android tutorial'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4094516261105050581</id><published>2011-06-29T17:15:00.004-04:00</published><updated>2011-06-29T17:23:36.568-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Catalyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='AUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Montreal'/><title type='text'>Montreal AUG meeting July 6th</title><content type='html'>There is another Montreal Adobe User Group meeting coming up next week, on Wednesday July 6th to be specific. This one is a little different than the previous ones, it's being held at a pool hall and will involve open talk about the designer/developer workflow using Photoshop, Flash Catalyst and Flash Builder. So if you are interested in dropping by, there is a $20 entry fee (hey, there's beer involved) and you can sign up &lt;a href="http://maug5a7.eventbrite.com/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4094516261105050581?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4094516261105050581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4094516261105050581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4094516261105050581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4094516261105050581'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/06/montreal-aug-meeting-july-6th.html' title='Montreal AUG meeting July 6th'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3015016713099175003</id><published>2011-06-29T16:18:00.047-04:00</published><updated>2011-06-29T17:12:43.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Asus'/><category scheme='http://www.blogger.com/atom/ns#' term='tablet'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>My first Flex 4.5.1 android mobile application</title><content type='html'>So I finally got myself an Android tablet this passed week and needless to say I've been playing with it ever since. And of course today, I build my first application with it using both the Android SDK and Flex 4.5.1. But it wasn't just click a button and voila! I had to go thru several steps and just wanted to note them all here, just in case someone else is getting started in the mobile development environment anytime soon and will be going thru the same thing as I experienced.&lt;br /&gt;&lt;br /&gt;Before I get started, the tablet I bought is the &lt;span style="color: rgb(0, 102, 0);"&gt;Asus Eee Pad Transformer TF101&lt;/span&gt;, which you can read all about &lt;a href="http://ca.asus.com/en/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/"&gt;here&lt;/a&gt;. Its a nice 10 inch tablet at an affordable price of $399 CAD. And my PC is running Windows 7 Service Pack 1.&lt;br /&gt;&lt;br /&gt;So here are the steps that I took to build my first "Hello World" application:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Enable Debug mode on your device.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Download and install the USB driver for your device. The Android &lt;a href="http://developer.android.com/sdk/oem-usb.html"&gt;web site&lt;/a&gt; links to whole list of OEM sites, so you can find the one for your device. In my case, Windows 7 installed it on its own.&lt;/li&gt;&lt;li&gt;Download the latest Android SDK from &lt;a href="http://developer.android.com/sdk/index.html"&gt;here&lt;/a&gt;. I downloaded the zip version and extracted to my folder of preference.&lt;/li&gt;&lt;li&gt;Since we are using Eclipse for our development, install the ADT plugin by following the instructions on this &lt;a href="http://developer.android.com/sdk/eclipse-adt.html"&gt;page&lt;/a&gt;. I am using Eclipse Helios (3.6).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once the ADT plugin is installed, start Eclipse and go to Window &amp;gt; Android SDK and AVD Manager. You can now download and install some extra components related to the Android SDK. The most important one as I recall is the "Android SDK Platform-Tools".&lt;/li&gt;&lt;li&gt;Again within the Android SDK and AVD Manager (see above step), under Virtual Devices, add your device... I just had to specify Name, Target, SD Card size.&lt;/li&gt;&lt;/ol&gt;Once I had done all these steps, I was ready to rock'n'roll. Once way to check that your device and your PC are talking to each other is to do the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open a console window&lt;/li&gt;&lt;li&gt;Goto &lt;span style="font-family:courier new;"&gt;&lt;android sdk=""&gt;&amp;lt;android sdk&amp;gt;\platform-tools&lt;/android&gt;&lt;/span&gt; folder&lt;/li&gt;&lt;li&gt;Run the following command: &lt;span style="font-family:courier new;"&gt;adb devices&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;You should see your device listed with some alphanumeric identifier assigned to it. If you dis-connect it from the USB port and run this command again, you should see that the device is no longer listed.&lt;br /&gt;&lt;br /&gt;The next thing that I did was to create a Flex Mobile Project and just add a label to the UI and set its text property to "Hello World". Then I ran the application and voila, the application was compiled and auto-deployed and auto-launched on my device!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NOTE: Make sure that the Run Configuration has it's Launch Method set to &lt;span style="font-weight: bold;"&gt;On Device&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I hope these steps help out all those that are getting started in Android development with Flex!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3015016713099175003?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3015016713099175003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3015016713099175003' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3015016713099175003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3015016713099175003'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/06/my-first-flex-451-android-mobile.html' title='My first Flex 4.5.1 android mobile application'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4770504059045900293</id><published>2011-06-24T16:09:00.015-04:00</published><updated>2011-06-24T16:40:13.803-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS5.5'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><title type='text'>Dreamweaver 5.5 is solid for HTML development</title><content type='html'>I recently upgraded to CS5.5 and I've been using Dreamweaver to build an HTML5/jQuery site with PHP on the server-side and I must say, it is one good product. It has everything you need a modern day development tool, from code-hinting (for HTML5 and PHP), to a design view (so you can see what you are building) and easy remote server synchronization.&lt;br /&gt;&lt;br /&gt;Also, the CS5.5 release added much needed code-hinting for jQuery, one of the best JavaScript frameworks out there IMHO (I don't know where I'd be without it for JavaScript development). They have taken the jQuery support one step further and also added templates for &lt;a href="http://jquerymobile.com/"&gt;jQuery Mobile&lt;/a&gt;, so you can use the framework to build mobile applications as fast as possible. There is further evidence of mobile development, in the way of support for CSS3 media queries and a magic "Multiscreen" button in the toolbar that allows you to preview what your page will look like on a phone, tablet or browser all in one go. Needless to say, Adobe has added some nice features to support current development trends.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4770504059045900293?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4770504059045900293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4770504059045900293' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4770504059045900293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4770504059045900293'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/06/dreamweaver-55-is-solid-for-html.html' title='Dreamweaver 5.5 is solid for HTML development'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3008973227586465172</id><published>2011-05-28T17:12:00.006-04:00</published><updated>2011-05-28T17:23:31.824-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SWFMontreal'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='AUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Montreal'/><title type='text'>Montreal AUG meeting June 1st</title><content type='html'>This upcoming Wednesday June 1st 2011, will be the first Montreal AUG meeting in a year. The event will be held at the Atwater Library (Google map details &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=Atwater+Library+%26+Computer+Centre,+Westmount,+QC,+Canada&amp;amp;aq=0&amp;amp;sll=45.488148,-73.583502&amp;amp;sspn=0.002986,0.006968&amp;amp;ie=UTF8&amp;amp;hq=Atwater+Library+%26+Computer+Centre,&amp;amp;hnear=Westmount,+Communaut%C3%A9-Urbaine-de-Montr%C3%A9al,+Quebec,+Canada&amp;amp;z=15"&gt;here&lt;/a&gt;) from 6:00 to 9:00 pm. You can find some details &lt;a href="http://groups.adobe.com/index.cfm?event=post.display&amp;amp;postid=36230"&gt;here&lt;/a&gt;. The primary presentation will be about the newly released Flex SDK 4.5 and Flash Builder 4.5, which will be given by Martin Arvisais, a Flex/Flash developer and trainer here in Montreal.&lt;br /&gt;&lt;br /&gt;There is no need to sign up, you just need to show up and bring any friends/colleagues along with you. I will not be able to attend due to a prior commitment, otherwise I would have loved to give a presentation of my own.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3008973227586465172?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3008973227586465172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3008973227586465172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3008973227586465172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3008973227586465172'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/05/montreal-aug-meeting-june-1st.html' title='Montreal AUG meeting June 1st'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3306760488950180944</id><published>2011-04-25T22:24:00.006-04:00</published><updated>2011-04-25T22:49:20.350-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>HTML5 Development and Flash/Flex by Coenraets</title><content type='html'>Just saw a very nice &lt;a href="http://www.infoq.com/presentations/HTML5-Design-Development-Tooling"&gt;presentation&lt;/a&gt; given by Adobe Evangelist Christopher Coenraets over at InfoQ. The presentation was mostly about doing HTML5 design/development with Adobe products such as Illustrator and Dreamweaver. He also shows how to test your site for browser compatibility (for layout specifically) using Adobe &lt;a href="https://browserlab.adobe.com/en-us/index.html"&gt;BrowserLab&lt;/a&gt;. He then shows off some experimental technologies, you will have to watch the video for what exactly and finishes off by demonstrating some cool Flex/AIR features using various tablet devices.&lt;br /&gt;&lt;br /&gt;Very cool presentation indeed, so what are you still standing around here for, go watch it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3306760488950180944?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3306760488950180944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3306760488950180944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3306760488950180944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3306760488950180944'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/04/html5-development-and-flashflex-by.html' title='HTML5 Development and Flash/Flex by Coenraets'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1042664266411444884</id><published>2011-03-23T00:48:00.014-04:00</published><updated>2011-03-24T00:18:50.256-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Adobe AIR 2.6 released</title><content type='html'>Adobe released yesterday AIR version 2.6 which contains numerous changes. One of the big things with this release is to bring back iOS support to AIR development. As you know there was a big hoopla last year about other development tools compiling for the iOS platform, well since the change late last year, companies like Adobe can again support iOS development (using AIR in this case) once again.&lt;br /&gt;&lt;br /&gt;The biggest change that I see and welcome, cause I actually tried to do AIR development on my iPhone 4 late last year, is that the Packager for iPhone (PFI) is no more, the AIR Developer Tool (ADT) which comes standard with the AIR SDK, now handles the iOS platform as well; making it easier to package and deploy an application to an iOS device.&lt;br /&gt;&lt;br /&gt;Of course there are numerous changes, and rather than me listing them all here, some other wonderful people have done that already, so there is a nice feature &lt;a href="http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html"&gt;list&lt;/a&gt; (courtesy of Christian Cantrell) and quick &lt;a href="http://tv.adobe.com/watch/adc-presents/developing-for-ios-with-air-for-mobile-26/"&gt;video&lt;/a&gt; (by Ryan Stewart) showing off some of the new features.&lt;br /&gt;&lt;br /&gt;You can download the Adobe AIR 2.6 SDK &lt;a href="http://www.adobe.com/products/air/sdk/"&gt;here&lt;/a&gt; and get the run-time &lt;a href="http://get.adobe.com/air/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1042664266411444884?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1042664266411444884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1042664266411444884' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1042664266411444884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1042664266411444884'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/03/adobe-air-26-released.html' title='Adobe AIR 2.6 released'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3035831273245496098</id><published>2011-03-17T22:48:00.021-04:00</published><updated>2011-03-17T23:05:16.796-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex is sexy</title><content type='html'>This week I got called into my President's office to talk about the new web application I've been building over the past few months. He wanted to comment on certain elements of the UI, some of which are little changes that totally make sense to me and that I will certainty do.&lt;br /&gt;&lt;br /&gt;However he got me at the "it's not so sexy". He tried to explain it to me, but he couldn't find the correct words to express what he meant by that. So I tried to ask him various questions, such as: is it the colors? Do elements look floating in space? Are elements misaligned? And he would always answer with "it's not sexy". He then went about telling me how the first 9 children (applications) I had built were sexy and how this one was not. How it wasn't very Apple-like. Then it hit me, the first 9 applications are all Flex based! And this last one was purely done in HTML.&lt;br /&gt;&lt;br /&gt;This reminds me of how the Flex engineers are always fond of saying how alot of Flex applications use the default theme, and that skinning is not done as often as they would like. Of course they were saying that about Flex when it was version 2/3, and hence we got version 4, were you can skin everything about it to your hearts content. Needless to say, I use the default theme, cause skinning is just not a priority for us.&lt;br /&gt;&lt;br /&gt;So now I have to go make little visual changes, meaning make changes to the CSS, and possibly even add some gradients here and there to give it more umph! Not to say it's not possible, it totally is... just that... all this to say... with only that default theme... Flex is sexy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3035831273245496098?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3035831273245496098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3035831273245496098' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3035831273245496098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3035831273245496098'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/03/flex-is-sexy.html' title='Flex is sexy'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2822328314616631108</id><published>2011-03-05T14:21:00.004-05:00</published><updated>2011-03-10T18:54:35.613-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><title type='text'>Molehill demo</title><content type='html'>Here is a &lt;a href="http://clockmaker.jp/blog-en/2011/03/molehill-first-inpression/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+clockmaker-en+%28ClockMaker+Demos%29"&gt;demo&lt;/a&gt; of the 3D capabilities found in the Flash Player version codenamed "Molehill" (will this be in Flash Player 11 some day?). Actually the demo compares the performance of the "Molehill" APIs versus how things run in version 10 and it is impressive. Go check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2822328314616631108?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2822328314616631108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2822328314616631108' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2822328314616631108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2822328314616631108'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/03/molehill-demo.html' title='Molehill demo'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-485346547817916323</id><published>2011-03-05T14:12:00.007-05:00</published><updated>2011-03-05T14:21:06.466-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='unit tests'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex testing frameworks</title><content type='html'>As we all know, creating applications is loads of fun, but since we are not perfect developers, we do tend to create applications with bugs in them (but you know, that doesn't happen often :) ). And because of that, we need to properly test our applications, including our Flex/AIR applications. I have mentioned various testing frameworks many times on my blog, but just came across this &lt;a href="http://ntt.cc/2011/03/04/10-unit-testing-frameworks-for-flexflash-applications-and-libraries.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+nttdotcc+%28Ntt.cc%29"&gt;list&lt;/a&gt; of 10 unit testing frameworks with a brief description to each.&lt;br /&gt;&lt;br /&gt;Not on this list if &lt;a href="http://www.riatest.com/index.php"&gt;RIATest&lt;/a&gt;, an application used to perform recording and playback of Flex/AIR applications, which is what we use at my company.&lt;br /&gt;&lt;br /&gt;In any case, research and use the one you fell is best for the job so that you can deliver the best applications out there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-485346547817916323?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/485346547817916323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=485346547817916323' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/485346547817916323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/485346547817916323'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/03/flex-testing-frameworks.html' title='Flex testing frameworks'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6247500349448298891</id><published>2011-02-28T20:01:00.019-05:00</published><updated>2011-02-28T20:18:46.572-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Creating AIR applications using Google's GWT</title><content type='html'>Just saw this cool project on &lt;a href="http://tech.groups.yahoo.com/group/flexcoders/"&gt;Flexcoders&lt;/a&gt;: &lt;a href="http://code.google.com/p/gwt4air/"&gt;gwt4air&lt;/a&gt;. Gwt4air is project that allows you to use Google's Web Toolkit (GWT) to build Adobe AIR applications without having to learn MXML or Actionscript at all. For myself personally this has never been a problem, as I am fond of saying, if you know Java, you know MXML and Actionscript. Mind you, there are some things to learn, that goes without saying when learning any new programming language, but the similarities between the two technologies is so similar that the learning curve is small.&lt;br /&gt;&lt;br /&gt;But with gwt4air, that learning curve is further minimized, and this now becomes one of these easiest ways for someone to immerse themselves in Adobe AIR programming coming from a Java development background. Basically write some Java code and voila, an AIR application is born! Then once the programmer is comfortable with that, they can then take the next step of programming directly in MXML and Actionscript, using the compiler, etc... Just another great tool for a great technology I say :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6247500349448298891?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6247500349448298891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6247500349448298891' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6247500349448298891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6247500349448298891'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/creating-air-applications-using-googles.html' title='Creating AIR applications using Google&apos;s GWT'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8471795310570103079</id><published>2011-02-28T19:47:00.007-05:00</published><updated>2011-02-28T20:00:01.989-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><title type='text'>The Incubator</title><content type='html'>Adobe has a new thing over at the &lt;a href="http://labs.adobe.com/"&gt;Labs web site&lt;/a&gt;: the &lt;a href="http://labs.adobe.com/technologies/flashplatformruntimes/incubator/"&gt;Incubator&lt;/a&gt;. The Incubator contains pre-beta versions of the Adobe Flash Player and Adobe AIR. These versions are highly unstable, but do contain the latest cutting edge features that developers might want to play around with and get a glimpse into the far future and help mold it at the same time :) But it is important to remember that such features might never actually be included into any final release of these aforementioned products.&lt;br /&gt;&lt;br /&gt;And just to give you an idea of what currently can be done with the Incubator version of the Adobe Flash Player (codenamed "Molehill"), check out these cool &lt;a href="http://www.flashrealtime.com/videos-3d-flash-molehill/"&gt;videos&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8471795310570103079?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8471795310570103079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8471795310570103079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8471795310570103079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8471795310570103079'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/incubator.html' title='The Incubator'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4198552715112897668</id><published>2011-02-14T19:27:00.003-05:00</published><updated>2011-02-14T19:33:36.635-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Looks like a great year for Flash in 2011</title><content type='html'>On the heals of the Flash Player 10.2 release, which includes great performance enhancements, 2011 seems to be a great year for Flash overall. With the increase in competitiveness between manufacturers in the mobile and tablet space, basically many new devices will include support for Flash, which is great news for content creators. You can basically create your content in one language/platform and have it delivered to many devices thus reaching millions of end-users.&lt;br /&gt;&lt;br /&gt;There are a couple of short videos released today that describe this in numbers. Go &lt;a href="http://blogs.adobe.com/flashplatform/2011/02/flash-and-air-soars-mwc-2011.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4198552715112897668?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4198552715112897668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4198552715112897668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4198552715112897668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4198552715112897668'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/looks-like-great-year-for-flash-in-2011.html' title='Looks like a great year for Flash in 2011'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1900388811446920451</id><published>2011-02-12T15:15:00.010-05:00</published><updated>2011-02-12T15:26:29.381-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Flash Player 10.2 makes Linux users happy</title><content type='html'>With this week's release of Flash Player 10.2, Linux users are very happy. I was just over at my mom's, and my brother who uses Linux everyday for his school work, just upgraded to the latest version of the Flash Player and the speed improvement is noticeable. We were watching some YouTube videos with version 10.1 when I told him to upgrade to 10.2, and then we re-watched the same videos and you can definitely tell the difference. Especially in full screen mode, where before it was completely choppy and now playback is a lot smoother. It is still not as smooth as it can be, as I find the same videos still play better on Windows based PCs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is good news all round for the Linux community and also bodes well for mobile phones and tablets that run the Android OS. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you run Chrome on Linux, you just need to update your Chrome to the latest 9.x release and it will include Flash Player 10.2. For those using FireFox, just download the latest Flash Player from &lt;a href="http://get.adobe.com/flashplayer/?promoid=BUIGP"&gt;Adobe's site&lt;/a&gt; and you are set!&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/3155837776761738886-1900388811446920451?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1900388811446920451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1900388811446920451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1900388811446920451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1900388811446920451'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/flash-player-102-makes-linux-users.html' title='Flash Player 10.2 makes Linux users happy'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6320556611540645651</id><published>2011-02-08T19:41:00.006-05:00</published><updated>2011-02-08T19:49:38.933-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><title type='text'>Flash Player 10.2 now available</title><content type='html'>As of today, Flash Player 10.2 is available from Adobe. Below I've highlighted the main changes in this release, but you can read about them in full detail on this &lt;a href="http://blogs.adobe.com/flashplayer/2011/02/flash-player-10-2-launch.html"&gt;page&lt;/a&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Stage Video! Basically means full hardware acceleration for video playback on Windows and Mac (something that started back in version 10.1). Suppliers such as Vimeo and YouTube will be upgrading their content to take advantage of this feature.&lt;/li&gt;&lt;li&gt;Full screen support on multi-screen systems&lt;/li&gt;&lt;li&gt;Support for custom native mouse cursors&lt;/li&gt;&lt;li&gt;Text-rendering enhancements&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Support for GPU rendering in upcoming IE 9&lt;/li&gt;&lt;/ul&gt;You can get it from their web site as always, but here is the directly &lt;a href="http://get.adobe.com/flashplayer/"&gt;link&lt;/a&gt; for anyone who needs it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6320556611540645651?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6320556611540645651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6320556611540645651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6320556611540645651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6320556611540645651'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/flash-player-102-now-available.html' title='Flash Player 10.2 now available'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7012841435700311858</id><published>2011-02-05T16:55:00.004-05:00</published><updated>2011-02-05T17:05:40.783-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Google TV'/><title type='text'>Optimize your app for Google TV</title><content type='html'>Was just reading an article about how Google is now providing an HTML5 and Flex 4.5 library to help build applications that will run better on Google TV. The library can be downloaded from the following location: &lt;a href="http://code.google.com/p/gtv-resources/"&gt;http://code.google.com/p/gtv-resources/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From what I've read it seems that the library contains a set of components that are optimized and better suited for the Google TV experience. I haven't built any such applications myself, but if you have or are going too in the near future, I suggest you check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7012841435700311858?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7012841435700311858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7012841435700311858' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7012841435700311858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7012841435700311858'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/02/optimize-your-app-for-google-tv.html' title='Optimize your app for Google TV'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4680209619322640545</id><published>2011-01-11T21:44:00.008-05:00</published><updated>2011-01-11T22:02:22.854-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Parsley'/><title type='text'>Parsley Framework tips</title><content type='html'>As I have been using Parsley lately, thought I'd share a couple of tips. Here goes...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Selectors on result methods&lt;/span&gt;&lt;br /&gt;When declaring the result method of your command class, it probably looks like this:&lt;br /&gt;&lt;br /&gt;[CommandResult]&lt;br /&gt;public function onResult( ... ):AsyncToken { ... }&lt;br /&gt;&lt;br /&gt;That's nice, but if you have several commands classes in your project, Parsley will end up calling all of them once a remote method completes. You need to specify a selector which has the same event code as the associated event class in each command. So the above becomes:&lt;br /&gt;&lt;br /&gt;[CommandResult(selector="getContacts")]&lt;br /&gt;public function onResult( ... ):AsyncToken { ... }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Global error handler&lt;/span&gt;&lt;br /&gt;Following the same theme, for fault methods, you probably want to have a global one, so that you can display a uniform message when things go wrong. You can accomplish this by creating a class that has a single method with the following declaration:&lt;br /&gt;&lt;br /&gt;[GlobalRemoteObjectFaultHandler]&lt;br /&gt;public function handleFault( event:FaultEvent ):void { ... }&lt;br /&gt;&lt;br /&gt;And then just declare it in your Parsley configuration file, like so:&lt;br /&gt;&lt;br /&gt;&amp;lt;someNS:GlobalAlertHandler /&amp;gt;&lt;br /&gt;&lt;br /&gt;And finally, since this is not a Parsley feature directly, but a Cairngorm 3 add-on, you will need to download and include in your project the Cairngorm Integration Library, which you can get from &lt;a href="http://sourceforge.net/adobe/cairngorm/wiki/CairngormLibraries/#Integration"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CloseEvent and PopUps&lt;/span&gt;&lt;br /&gt;If you are using the &lt;a href="http://sourceforge.net/adobe/cairngorm/wiki/CairngormLibraries/#Popup"&gt;Cairngorm PopUp Library&lt;/a&gt;, then careful when your popup MXML component is throwing the CloseEvent. Throwing this event will cause the popup to close, but if your MXML component is overriding the close handler, you won't get the result you expect!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4680209619322640545?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4680209619322640545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4680209619322640545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4680209619322640545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4680209619322640545'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2011/01/parsley-framework-tips.html' title='Parsley Framework tips'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4468919225300049590</id><published>2011-01-02T22:07:00.001-05:00</published><updated>2011-01-03T09:20:00.111-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Cairngorm'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Parsley'/><title type='text'>Parsley Framework Basics</title><content type='html'>After studying the &lt;a href="http://www.spicefactory.org/parsley/"&gt;Parsley&lt;/a&gt; framework lately, I obviously decided to created a mini-application to learn the basics of how the framework operates. And I've decided to share that here. Some concepts like custom Events and Commands will seem familiar if you have used the &lt;a href="http://sourceforge.net/adobe/cairngorm/home/"&gt;Cairngorm&lt;/a&gt; framework in the past.&lt;br /&gt;&lt;br /&gt;Note: Some code omitted for brevity.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Creating View and Presentation Model&lt;/span&gt;&lt;br /&gt;Our mini-application will simply display a list of Contacts in a DataGrid that is loaded from a remote source. So needless to say, create an MXML file (Contacts.mxml) that contains a DataGrid control with appropriate settings. The next part is important...no Script blocks! The whole point of the Parsley framework is to put all UI business logic in Presentation Model class, so unit testing is easy.&lt;br /&gt;&lt;br /&gt;So the next step is to create the Presentation Model class called ContactsPM. This class should extend EventDispatcher (to be explained later), have a bindable field called contacts of type ArrayList and contain an empty method called search()... like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class ContactsPM extends EventDispatcher {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Bindable]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public var contacts:ArrayList;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public function search():void {}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last part is to go back into your MXML view file (Contacts.mxml) and add two things. First, declare a bindable instance of the ContactsPM class you just created and also add the [Inject] metadata tag to it, like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Inject]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Bindable]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public var model:ContactsPM;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The [Inject] metadata tag will be used by Parsley to set an instance of the class when the framework initializes. Secondly, bind the contacts field of the ContactsPM class to the dataProvider of the DataGrid, such that when the contacts are set, the DataGrid will display them. Example is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;mx:DataGrid dataProvider="{model.contacts}"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So far, we have setup our view to use our Presentation Model class to display a list of contacts. How this will actually happen, comes next.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Creating custom Event and Command&lt;/span&gt;&lt;br /&gt;The next steps are much like what you would do if you were using the Cairngorm framework. We will dispatch an Event that will in-turn execute a Command to retrieve our contacts. And in the case of Parsley, this is easier cause there are no classes to extend or interfaces to implement (is this better or worse? for you to debate).&lt;br /&gt;&lt;br /&gt;First, create the GetContactsEvent class that extends the Flex Event class and simply calls the super constructor with the event name to set. Like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public GetContactsEvent extends Event {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  public function GetContactsEvent() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    super( "getContacts" );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next we need to create the GetContactsCommand class. It must declare two injectable fields, one for the remote object to use and another for the Presentation Model class (ContactsPM) we created earlier. Again, Parsley will set the values on these fields when the Command class is initialized. Example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Inject] public var service:RemoteObject;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Inject] public var model:ContactsPM;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then we need our command class to declare two methods. First, the execute method that takes our event class as a parameter and calls the remote Java method (notice the [Command] metadata tag that tells parsley which method to call when the event is fired):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Command]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public function execute( event:GetContactsEvent ):AsyncToken {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  return service.getContacts() as AsyncToken;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Secondly, a result method that takes an ArrayList as a parameter and sets it on our model so that the view will refresh itself (notice the [CommandResult] metadata tag that tells parsley which method to call once the remote call returns).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[CommandResult]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public function onResult( items:ArrayList ):void {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  model.contacts = items;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: You can also declare a fault method for handling any failures.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dispatching the Event&lt;/span&gt;&lt;br /&gt;Now that we have created certain parts of our application, we need to connect them together, basically how to fire the command when our custom event is fired. Well remember the search() method in our Presentation Model class (ContactsPM) which we left empty earlier? Well time to fill it up with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public function search():void {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  dispatchEvent( new GetContactsEvent() );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, you need to add some metadata atop the ContactsPM class so that Parsley is aware that it will broadcast this event. This done by adding the following to the top of the class declaration:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[Event(name="GET_CONTACTS", type="demo.commands.GetContactsEvent")]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[ManagedEvents(names="GET_CONTACTS")]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class ContactsPM extends EventDispatcher {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last thing to do is to call the search() method once a button is pressed, as an example. Because the ContactsPM class extends EventDispatcher and the metadata information that was just added, the dispatch() method will use Flex's internal event mechanism to fire the event and then Parsley will take of calling the appropriate method on the appropriate class - in this case the execute method in the command class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configuring Parsley&lt;/span&gt;&lt;br /&gt;Now the last part of our exercise is to create our Parsley configuration so that it can properly initialize the classes we have created and make our application work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Creating Parsley configuration file&lt;/span&gt;&lt;br /&gt;Like in the world of Spring, we must create a configuration file were all the objects that we need Parsley to manage will be declared. This will be in done in a simple MXML file (ContactsParsleyConfig.mxml):&lt;br /&gt;&lt;br /&gt;&amp;lt;Objects xmlns:fx="http://ns.adobe.com/mxml/2009"&lt;br /&gt;      xmlns:s="library://ns.adobe.com/flex/spark"&lt;br /&gt;      xmlns:mx="library://ns.adobe.com/flex/mx"&lt;br /&gt;      xmlns="http://www.spicefactory.org/parsley"&lt;br /&gt;      xmlns:dom="demo.domain.*"&lt;br /&gt;      xmlns:cmd="demo.commands.*"&amp;gt;&lt;br /&gt;&amp;lt;fx:Declarations&amp;gt;&lt;br /&gt;&amp;lt;dom:ContactsPM /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;cmd:GetContactsCommand/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:RemoteObject id="contactManager" destination="contactManager"/&amp;gt;&lt;br /&gt;&amp;lt;/fx:Declarations&amp;gt;&lt;br /&gt;&amp;lt;/Objects&amp;gt;&lt;br /&gt;&lt;br /&gt;The root tag of this MXML file is the Objects class that is defined by Parsley. Then we declare the Presentation Model class (ContactsPM), the command class (GetContactsCommand) and finally the RemoteObject class that the will be called by the command (in my demo it refers to a Java class).&lt;br /&gt;&lt;br /&gt;Notice none of the declared objects have identifiers (id), but for such a small demo, this is not needed. More on that in future blog post :) .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Initializing Parsley&lt;/span&gt;&lt;br /&gt;Now only two more changes remain to be done. In our root Application MXML file, we need to tell Parsley to load our configuration file. You do this by using Parsley's ContextBuilder tag as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;s:Application xmlns:sf="http://www.spicefactory.org/parsley"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;fx:Declarations&amp;gt;&lt;br /&gt;&amp;lt;sf:ContextBuilder config="ContactsParsleyConfig"/&amp;gt;&lt;br /&gt;&amp;lt;/fx:Declarations&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/s:Application&amp;gt;&lt;br /&gt;&lt;br /&gt;And the final change is to add a single tag to the view (Contacts.mxml) component created earlier to tell it that it is part of the Parsley setup and will need to configured by Parsley when initialized - remember the view has the Presentation Model class as an injectable property:&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:VBox xmlns:sf="http://www.spicefactory.org/parsley"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;fx:Declarations&amp;gt;&lt;br /&gt;&amp;lt;sf:Configure /&amp;gt;&lt;br /&gt;&amp;lt;/fx:Declarations&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/mx:VBox&amp;gt;&lt;br /&gt;&lt;br /&gt;And folks that's it. If anyone needs the actual demo source, please let me know and I will be happy to send them to you. I will be writing more about Parsley in the New Year as I learn more, with some some advanced posts and maybe some tips and tricks.&lt;br /&gt;&lt;br /&gt;Until then, Happy New Year to all!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4468919225300049590?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4468919225300049590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4468919225300049590' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4468919225300049590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4468919225300049590'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/12/parsley-framework-basics.html' title='Parsley Framework Basics'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-948267115711238633</id><published>2010-12-28T23:21:00.014-05:00</published><updated>2010-12-28T23:38:46.370-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Cairngorm'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Parsley'/><title type='text'>Studying Parsley Framework</title><content type='html'>I've been building this pretty big application at work, its the main application we use to manage all of our internal accounts. The application has been in construction for 2 years now, its all done in Flex and Java and on the Flex side of things, I've been using &lt;a href="http://sourceforge.net/adobe/cairngorm/home/"&gt;Cairngorm&lt;/a&gt; as my application framework. However as we've being adding different parts (some are not often used) the application has gotten bigger and I've been looking to break things up into modules to help manage everything. Both from a run-time perspective (memory consumption) and from a development perspective (maintenance).&lt;br /&gt;&lt;br /&gt;Of course using modules got me to thinking about how everything would work with Cairngorm, so I started doing some research and came across the &lt;a href="http://www.spicefactory.org/parsley/"&gt;Parsley&lt;/a&gt; application framework. Parsley is an Inversion-of-control (IOC) framework much like Spring is in the Java programming world. Meaning you have a config file that describes all the objects you want framework to manage for you and then it injects the appropriate object(s) into other object(s) for you, so no one object knows about the other. This makes your code loosely coupled, easier to update and maintain and finally, easy to unit test.&lt;br /&gt;&lt;br /&gt;The framework appears to be well designed and like I just mentioned, reminds me of Spring, so the concepts are easy to understand. Also, it seems that parts of the latest Cairngorm (version 3.0) can be used along with it, so this will help as well. And the biggest point is that it has build in support for working with Flex modules, so I am eager to use it.&lt;br /&gt;&lt;br /&gt;I'll be writting some blog posts of my experiences with Parsley, so look for them soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-948267115711238633?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/948267115711238633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=948267115711238633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/948267115711238633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/948267115711238633'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/12/studying-parsley-framework.html' title='Studying Parsley Framework'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2835446655564021878</id><published>2010-12-05T20:43:00.005-05:00</published><updated>2010-12-05T20:50:48.407-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Installing Flash Builder Burrito as a plug-in</title><content type='html'>If you are like me and develop in Java and Flex all day long and Eclipse is your IDE, then most likely you will want to install Flash Builder as a plug-in within Eclipse. Well I just installed the beta version of &lt;a href="http://labs.adobe.com/technologies/flashbuilder_burrito/"&gt;Flash Builder codenamed "Burrito"&lt;/a&gt; and noticed it was installed as a standalone application. After a quick Google search I found the following &lt;a href="http://blogs.adobe.com/jasonsj/2010/11/burrito-feature-plug-in-installer.html"&gt;article&lt;/a&gt;, which allowed me to install Burrito as a plug-in within Eclipse in a matter of seconds.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So here is what I did exactly (cause I upgraded my Eclipse version as well):&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Uninstall previous version of Flash Builder 4&lt;/li&gt;&lt;li&gt;Deleted my eclipse installation (d:\opt\eclipse)&lt;/li&gt;&lt;li&gt;Downloaded and installed &lt;a href="http://eclipse.org/downloads/"&gt;latest version&lt;/a&gt; of Eclipse&lt;/li&gt;&lt;li&gt;Installed Flash Player "Burrito" and then followed the instructions &lt;a href="http://blogs.adobe.com/jasonsj/2010/11/burrito-feature-plug-in-installer.html"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2835446655564021878?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2835446655564021878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2835446655564021878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2835446655564021878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2835446655564021878'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/12/installing-flash-builder-burrito-as.html' title='Installing Flash Builder Burrito as a plug-in'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5144036069296456575</id><published>2010-12-02T23:03:00.003-05:00</published><updated>2010-12-02T23:09:28.084-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><title type='text'>Flash Player 10.2 beta is out</title><content type='html'>The beta version of the next iteration of the Flash Player, version 10.2 is now available for download on &lt;a href="http://labs.adobe.com/technologies/flashplayer10/"&gt;Adobe Labs&lt;/a&gt;. The biggest new feature is related to using hardware acceleration to improve performance. So if you do lots of video/animation using the Flash Player, what are you waiting for? go over to the labs website and get it!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a another &lt;a href="http://www.bytearray.org/?p=2373"&gt;website&lt;/a&gt; with some pretty good info on this release.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5144036069296456575?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5144036069296456575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5144036069296456575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5144036069296456575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5144036069296456575'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/12/flash-player-102-beta-is-out.html' title='Flash Player 10.2 beta is out'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4513416290894731206</id><published>2010-12-02T19:57:00.004-05:00</published><updated>2010-12-02T20:02:00.418-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash one of big selling points for Android</title><content type='html'>Just saw a commercial for a &lt;a href="http://www.videotron.com/service/mobile/appareils/details.do?lang=ENGLISH&amp;amp;noAppareil=1012&amp;amp;init=true"&gt;Videotron Nexus One&lt;/a&gt; (Videotron is a cell phone provider here in Montreal) and of the main points was the fact that it ran Flash. Love it. Well how else will I see ads, watch YouTube videos, view sport highlights on ESPN.com and TSN.ca and see news articles on CNN.com? Flash is a big part of the web experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4513416290894731206?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4513416290894731206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4513416290894731206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4513416290894731206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4513416290894731206'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/12/flash-one-of-big-selling-points-for.html' title='Flash one of big selling points for Android'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8854114456746245149</id><published>2010-11-19T08:55:00.000-05:00</published><updated>2010-11-19T19:54:26.493-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Flex, HTML/JS Pros and Cons from a developers point-of-view</title><content type='html'>Having worked these last couple of months on a pure HTML/JS project at work, I'd thought I'd share a few pros and cons and random notes of working in both Flex and HTML/JS programming languages.&lt;br /&gt;&lt;br /&gt;I'm not here to bash one or the other, enough people do that, just some thoughts for you guys to draw your own conclusions. Also this is from a developer stand-point, building web applications, not a web site with simple text and images...but an app, where you load, create and update data.&lt;br /&gt;&lt;br /&gt;Note: Was using jQuery 1.4.2 for the javascript portion.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Flex&lt;/span&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AS3 is very similar to the Java programming language&lt;/li&gt;&lt;li&gt;Development, build and unit testing is almost exactly like in Java&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Great IDE (Flash Builder) provides an easy and fast way to code in MXML/AS3&lt;/li&gt;&lt;li&gt;Online documentation is excellent and thus helps newbies learn the language&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SDK is open source, so a developer can learn and extend the base classes himself if need be&lt;/li&gt;&lt;li&gt;In Flex, you manipulate the data directly and send it back to the server for processing, no need to worry about re-drawning the UI&lt;/li&gt;&lt;li&gt;No cross-browser, cross-OS issues&lt;/li&gt;&lt;li&gt;Object layout is flexible and easy to do&lt;/li&gt;&lt;li&gt;With its a default theme, the app can look good and professional&lt;/li&gt;&lt;li&gt;Can create re-usable controls/classes&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Cons&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Takes time for new developers to realize that the app is one entity that just sends data to/from the server and not a collection of pages&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Compile times can be long&lt;/li&gt;&lt;li&gt;Developer can get into the bad habit of loading lots of static data (countries, provinces, etc..) up-front, that will never be used, thus causing an unnecessary long load time for the app&lt;/li&gt;&lt;li&gt;You application SWF can be de-compiled&lt;/li&gt;&lt;li&gt;If end user can to copy data from multiple controls (or from DataGrid) to paste into another app (say an email), you pretty much have to code this, where its a default functionality with an HTML page since 1975&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dealing with timezones can be a chore (Flex loves to deal with it on its own)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;HTML/JS&lt;/span&gt;&lt;br /&gt;Pros&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Faster load times&lt;/li&gt;&lt;li&gt;The development cycle is quicker: update the page and reload in the browser&lt;/li&gt;&lt;li&gt;In some cases you can have a single page and use Ajax calls to get the data you need, no need for a page refresh&lt;br /&gt;&lt;/li&gt;&lt;li&gt;End users have been working with browsers for a long time now so the default copy'n'paste functionality is very useful to them and almost second nature&lt;/li&gt;&lt;/ul&gt;Cons&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cross-browser issues still exist!&lt;/li&gt;&lt;li&gt;IDE support not great for JS third-party frameworks like jQuery&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In my case, no documentation existing for how to built a jQuery widget, had to find an online tutorial after searching. So no real API doc.&lt;/li&gt;&lt;li&gt;Object layout is a pain - tables still the way to go - and inconsistent across browsers sometimes&lt;/li&gt;&lt;li&gt;As a developer you need some design skills to make the app look good.&lt;/li&gt;&lt;li&gt;Handling the proper z-order of objects can be a chore&lt;/li&gt;&lt;li&gt;Reading someone's jQuery plugin/widget can be interesting (enough braces and commas for you?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The browser BACK button can take your app out of proper state&lt;/li&gt;&lt;/ul&gt;A final thought...I like working in both technologies, I love to learn new things and working with jQuery has made working with data in JavaScript a heck of allot easier that it used to be 10 years ago. But I still look at it this way, if you want to build something people are going to read, you use HTML/CSS/JS. If you want to build an application, you use Flex.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8854114456746245149?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8854114456746245149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8854114456746245149' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8854114456746245149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8854114456746245149'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/11/flex-htmljs-pros-and-cons-from.html' title='Flex, HTML/JS Pros and Cons from a developers point-of-view'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4394919570828964172</id><published>2010-11-10T23:25:00.002-05:00</published><updated>2010-11-10T23:28:57.894-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>New Firefox 4 beta 7 is really fast</title><content type='html'>I just downloaded and installed the latest Firefox 4 beta 7 and man it is fast! The browser loads in an instant, not like beta 6 that took a minute to initialize and the pages come up in a flash! - couldn't avoid the pun :) There are also minor UI tweaks that are easy to notice.&lt;br /&gt;&lt;br /&gt;You download it &lt;a href="http://www.mozilla.com/en-US/firefox/beta/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4394919570828964172?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4394919570828964172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4394919570828964172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4394919570828964172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4394919570828964172'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/11/new-firefox-4-beta-7-is-really-fast.html' title='New Firefox 4 beta 7 is really fast'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2608138068320823911</id><published>2010-11-04T22:19:00.004-04:00</published><updated>2010-11-04T22:26:57.959-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Hero'/><category scheme='http://www.blogger.com/atom/ns#' term='Falcon'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Great prez about the future of Flex (from MAX 2010)</title><content type='html'>Just saw Deepa Subramaniam's &lt;a href="http://tv.adobe.com/watch/max-2010-develop/flex-roadmap-/"&gt;MAX 2010 presentation&lt;/a&gt; on the future of Flex and it is cool! If you are doing Flex development or are planning on doing so for the first time anytime soon, then I recommend you view her prez. She begins by talking about Hero, the latest Flex version currently being worked and then to talk about the future of Flex and the Flash platform and my favorite part was "Falcon"; the complete re-write of the Flex compiler. With "Falcon", we will be able to keep the "auto-compile" feature in Eclipse ON for good and not worry about slow downs while working on projects. But don't take my word for it...watch the prez for yourself!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2608138068320823911?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2608138068320823911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2608138068320823911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2608138068320823911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2608138068320823911'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/11/great-prez-about-future-of-flex-from.html' title='Great prez about the future of Flex (from MAX 2010)'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3255047159438375659</id><published>2010-11-04T18:33:00.003-04:00</published><updated>2010-11-04T18:39:25.271-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>So I guess Flash is popular afterall</title><content type='html'>With all the negative comments Flash has been getting in the last year, especially since the Steve Jobs essay back in April, it is nice to see that &lt;a href="http://www.neowin.net/news/flash-on-the-iphone-ipod-and-ipad---seriously"&gt;Skyfire&lt;/a&gt;, an iOS application built to convert Flash content to HTML5 has &lt;a href="http://www.neowin.net/news/skyfire-for-ios-sold-out-temporarily-removed-from-app-store"&gt;sold out&lt;/a&gt; 1 day after its initial release. Basically the Skyfire servers have been overloaded because too many users were viewing Flash content! Well time to get more servers eh?! :)&lt;br /&gt;&lt;br /&gt;Skyfire sells for $2.99 on the app store.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3255047159438375659?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3255047159438375659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3255047159438375659' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3255047159438375659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3255047159438375659'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/11/so-i-guess-flash-is-popular-afterall.html' title='So I guess Flash is popular afterall'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4347959800740153663</id><published>2010-10-10T11:23:00.028-04:00</published><updated>2010-10-10T20:44:37.163-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Built my first AIR app for iPhone</title><content type='html'>Well this past week I got my first ever smartphone, namely an Apple iPhone 4. It wasn't my first choice, I would have preferred a phone running Android, but my carrier had no such phones available...until this week of course (got to love how that works eh?).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Needless to say, after getting familiar with this iPhone, I wanted to see if I could build an app for it and after some research I found out there are several ways to do this:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;use XCode&lt;/li&gt;&lt;li&gt;use HTML/JS/CSS&lt;/li&gt;&lt;li&gt;use AS3/Flash&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The first method described above is what is used in 98% of cases. You need a Mac and must have downloaded the XCode development environment and you can build an iPhone app (actually any iOS app...so it can run on iPhone/iPad/iPod) in the Objective C language. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using the second method, you build a web application using traditional HTML/JS/CSS technologies and then compile them into a native iPhone app. There is a tool called &lt;a href="http://www.appcelerator.com/"&gt;Titanium Developer&lt;/a&gt; that I found that allows you to do this.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The third and final way to build an iPhone app is to use the &lt;a href="http://labs.adobe.com/technologies/packagerforiphone/"&gt;Adobe Packager for iPhone&lt;/a&gt;. This little piece of technology if you remember caused a big stir back in April 2010  - cause Apple end-up changing its developer agreement and basically did not allow any third party tools, such as this one to compile any code for the iOS. Well I guess people complained and on Sept 9th, 2010, Apple changed their agreement once again, this time allowing such tools to be used. So basically I download it and build a very simple temperature conversion app (Fahrenheit to Celsius). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Adobe Packager for iPhone allows you to take a SWF file an converted it to a native iPhone application. You can create your SWF file either by using the Flash CS5 authoring tool or by creating an AS3 project using the AIR 2.0.1 SDK in Flash Builder. In my case I built an AS3 project using Flash Builder and once the SWF was generated, I then used the iPhone packager to generate an IPA file. Then this IPA file is imported into iTunes so you can install (sync) the app onto the iPhone itself.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So its pretty cool to create your first iPhone app using AS3 and see it running. But there is a caveat. As I mentioned before, within Flash Builder you have to create an AS3 project to build the app. You can't create a regular Flex project that uses mx:Application or mx:WindowedApplication as its root class. You have to create a simple HelloWorld.as class that extends Sprite. So you can't use any of the regular controls such as mx:Label or mx:Button. Within an AS3 project you can only use the flash.text.TextField class and use that as a label, textbox and as a button where needed. So building an app in this way can be very time consuming to say the least.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Assuming that Apple doesn't change its stance once again, I'm pretty sure Adobe will be improve how we can build AIR apps for the iPhone in the very near future.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Important Note:&lt;/span&gt;&lt;/b&gt; In order to develop an app for the iPhone you first much purchase an iPhone Developer Certificate and this costs $99/year. Or you can jailbreak your iPhone :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4347959800740153663?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4347959800740153663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4347959800740153663' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4347959800740153663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4347959800740153663'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/10/built-my-first-air-app-for-iphone.html' title='Built my first AIR app for iPhone'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2106862475783813166</id><published>2010-08-31T18:00:00.001-04:00</published><updated>2010-08-31T18:03:31.390-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Setting focus on a Flex app after its loaded</title><content type='html'>Every notice that after a Flex application is loaded by the browser that it doesn't have focus? So if your Flex application has a login screen, you actually have to grab the mouse and click somewhere on the Flex app for it to gain focus and for you to start typing. Well here is a quick and simple &lt;a href="http://www.webappsolution.com/wordpress/2010/08/31/set-flex-to-focus-on-application-load/"&gt;example&lt;/a&gt; of how to solve this problem on Firefox and IE. Doesn't work on Chrome and Safari...ah those bloody browsers again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2106862475783813166?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2106862475783813166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2106862475783813166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2106862475783813166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2106862475783813166'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/08/setting-focus-on-flex-app-after-its.html' title='Setting focus on a Flex app after its loaded'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6091272392543817904</id><published>2010-08-31T17:56:00.002-04:00</published><updated>2010-08-31T18:00:06.627-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Hero'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>AIR using "Hero" beta running on Android video</title><content type='html'>Need I say more...great &lt;a href="http://blogs.adobe.com/koestler/2010/08/adobe-flex-on-android.html"&gt;video&lt;/a&gt; that demos a simple AIR app running on Android 2.2. This is a beta version of AIR, which was built using a beta version of the next Flex SDK, codenamed "Hero". The presenter also goes thru most of the code, so this is a great peak into the future of Flex/AIR development for Android phones.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6091272392543817904?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6091272392543817904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6091272392543817904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6091272392543817904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6091272392543817904'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/08/air-using-hero-beta-running-on-android.html' title='AIR using &quot;Hero&quot; beta running on Android video'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4092216630096241414</id><published>2010-08-30T08:59:00.015-04:00</published><updated>2010-08-30T09:35:13.153-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Ottawa Mobile Dev day recap</title><content type='html'>On Saturday I went to the Mobile Dev Day in Ottawa and here is a brief recap of what I saw.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Windows Phone 7&lt;/span&gt;&lt;br /&gt;It was the last prez of the day and for me it was by far the most interesting, so you could say they saved the best for last. The presenter actually demoed a beta version of the phone (due out in Nov of this year) with all of its features and then proceeded to use Visual Studio to create a couple of simple apps and run them in the simulator to demonstrate a simple development cycle. A couple of the sample apps he built used the Azure services (provinded by MS for a monthly fee of $12 - dont quote me on that) to push information to the phone. The development was done in C# so easy for existing Windows developers to pick up on (or even Java developers like me!).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Adobe AIR on Android&lt;/span&gt;&lt;br /&gt;Unfortunately there was no demo, just a look at sample code and what extra APIs are provided to AIR for the Android OS. Again this is just a beta, so you can try it out yourself by downloading the add-on &lt;a href="http://labs.adobe.com/technologies/air2/android/"&gt;here&lt;/a&gt;. Although you can access things like the Geolocation API and the Accelerometer, you cannot unfortunately access the phone's contacts or any over local data. Maybe in the next version.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;iPhone&lt;/span&gt;&lt;br /&gt;Two words: Objective C. We had two presenters for the iPhone and although the apps looked great (like they always do), I can't say that programming in Objective C turns me on. It looks so archaic. Dealing with pointers? Remembering to free up memory? That's so 15 years ago! There is a glimmer of hope however, you can use &lt;a href="http://www.phonegap.com/"&gt;PhoneGap&lt;/a&gt; to create HTML/JS/CSS apps and deploy them to the iPhone. But you have to have a Mac in either case to do iPhone development. Bah!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4092216630096241414?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4092216630096241414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4092216630096241414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4092216630096241414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4092216630096241414'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/08/ottawa-mobile-dev-day-recap.html' title='Ottawa Mobile Dev day recap'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8343031877579749358</id><published>2010-08-22T11:40:00.017-04:00</published><updated>2010-08-22T12:04:20.029-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>HTML/CSS not as intuitive</title><content type='html'>So you have the root container of your application and want to center it on the screen (regardless of screen resolution). How do you do that in HTML? I use Dreamweaver CS5, so I thought the CSS code hinting would make this easy for me to figure out. "position" property? Nope. There is a "vertical-align" property, but not "horizontal-align" property. "float" property maybe? Nope. How about "display"? Nadda, again.&lt;br /&gt;&lt;br /&gt;Finally after some google I found this and it worked:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;.rootContainer {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; width: 1000px;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; position: absolute;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; left: 50%;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; margin-left: -500px;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So in essence a hack as I see it. The above CSS basically says take your container, makes it 1000 pixels wide, position it as 50% from the left border and then goes back 500 pixels (always half of the container's width) in the left direction. Basically it is doing a mathematical calculation for you. In 2010, shouldn't things be easier for you than this?&lt;br /&gt;&lt;br /&gt;The equivalent in Flex you ask? If your container is nested within a Canvas, just set the horizontalCenter like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;horizontalCenter="0"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Simplicity. I love it. And in the case that the parent was a non-Canvas type container, then you could use:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;horizontalAlign="center"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Again, simplicity. You know just but looking at either one of those lines what the positioning of child elements is going to be.&lt;br /&gt;&lt;br /&gt;The conclusion here is not to say that I don't want to learn, or that I am being lazy. Neither that a simple math calculation is beyond my abilities. It's to say that it is not intuitive! We use the word intuitive when talking about a user using a UI for the first time, how easy it is to figure out how to perform some task; well same goes for developers. In Flex it is easy to figure out how to position elements within a container, in HTML it is not so easily apparent.&lt;br /&gt;&lt;br /&gt;Another one is the CSS "float" property. Allows you to push elements to the right or left. But top and/or bottom? No idea, haven't discovered that one yet :)&lt;br /&gt;&lt;br /&gt;P.S.: Don't ever use the HTML &amp;lt;center&amp;gt; tag to center elements...it doesn't just center its immediate children, but children of children as well. Don't ask me what algorithm it uses!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8343031877579749358?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8343031877579749358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8343031877579749358' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8343031877579749358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8343031877579749358'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/08/htmlcss-not-as-intuitive.html' title='HTML/CSS not as intuitive'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7052213518191054097</id><published>2010-08-01T23:04:00.001-04:00</published><updated>2010-08-01T23:05:32.625-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UX'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>Very nice UI design for Windows 7 tablet</title><content type='html'>Here is an &lt;a href="http://www.neowin.net/news/ui-centric-hits-a-homerun-with-potential-windows-7-tablet-interface"&gt;article &lt;/a&gt;I came across today about a possible UI for the upcoming Windows 7 tablet. Very nice indeed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7052213518191054097?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7052213518191054097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7052213518191054097' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7052213518191054097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7052213518191054097'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/08/very-nice-ui-design-for-windows-7.html' title='Very nice UI design for Windows 7 tablet'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6645833116084590735</id><published>2010-07-31T10:10:00.002-04:00</published><updated>2010-07-31T10:14:42.317-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Adobe Ottawa Mobile Developer day</title><content type='html'>Adobe is holding a developer day on Saturday August 28th, 2010. They will showcase development for mobile devices using Adobe tools for various platforms, including iPhone and Windows Phone. The mini-conference is free, so better sign up as soon as possible &lt;a href="http://ottawamobileday.eventbrite.com/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6645833116084590735?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6645833116084590735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6645833116084590735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6645833116084590735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6645833116084590735'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/07/adobe-ottawa-mobile-developer-day.html' title='Adobe Ottawa Mobile Developer day'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3060310297199177277</id><published>2010-07-04T09:21:00.005-04:00</published><updated>2010-07-04T09:27:00.367-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AdvancedDataGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Specify formatter on AdvancedDataGridColumn</title><content type='html'>The AdvancedDataGrid in Flex certain contains way more functionality than the regular DataGrid in Flex. It contains features like multi-column sorting, multi-cell selection, grouped columns and much more.&lt;br /&gt;&lt;br /&gt;Once feature I recently discovered is that you can specifier the formatter to be used on a particular AdvancedDataGridColumn. This allows you to quickly format, say monetary values, without the need for creating a label function or using a renderer.&lt;br /&gt;&lt;br /&gt;Example is as follows:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mx:NumberFormatter id="nf" precision="2" rounding="none"/]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mx:AdvancedDataGrid id="dg2"]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[mx:columns]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  [mx:AdvancedDataGridColumn headerText="Name" dataField="name"/]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  [mx:AdvancedDataGridColumn headerText="Balance" dataField="balance" formatter="{nf}"/]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[/mx:columns]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;[/mx:AdvancedDataGrid]&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/3155837776761738886-3060310297199177277?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3060310297199177277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3060310297199177277' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3060310297199177277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3060310297199177277'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/07/specify-formatter-on.html' title='Specify formatter on AdvancedDataGridColumn'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1045283124109687277</id><published>2010-07-04T09:02:00.002-04:00</published><updated>2010-07-04T09:03:58.189-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flash Player 10.1 release notes</title><content type='html'>Just in case anyone is interested, the Flash Player 10.1 release notes can be found &lt;a href="http://kb2.adobe.com/cps/838/cpsid_83808.html#known%20issues"&gt;here&lt;/a&gt;. Very useful cause it contains a list of all new features and known issues, which might explain some odd behavior for some :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1045283124109687277?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1045283124109687277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1045283124109687277' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1045283124109687277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1045283124109687277'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/07/flash-player-101-release-notes.html' title='Flash Player 10.1 release notes'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6840882492727025800</id><published>2010-06-29T22:44:00.005-04:00</published><updated>2010-06-29T23:08:34.655-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Opera'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 4 is the new Opera</title><content type='html'>&lt;p&gt;Downloaded &lt;a href="http://www.opera.com/browser/"&gt;Opera 10.54&lt;/a&gt; just now and playing around with it and couldn't notice that the upcoming &lt;a href="http://www.neowin.net/news/firefox-4-beta-1-to-flaunt-new-theme-with-tabs-on-top"&gt;Firefox 4&lt;/a&gt; is going to look very much like it.&lt;/p&gt;&lt;p&gt;And the reason why I am toying with Opera? Well we are going to be doing some heavy re-work of of one website at work and it will be all done in HTML (using JQuery for coolness). So yes that means I need to test the site as I go along in the most popular browsers: IE, Firefox and Chrome. So then I thought why not Opera as well. Heck I should also try Safari I guess. The worse is IE, cause so many still use version 6.0 (27% of internet users as of 2009). What a pain!&lt;/p&gt;&lt;p&gt;Oh wait, with Flex you just have test once :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6840882492727025800?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6840882492727025800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6840882492727025800' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6840882492727025800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6840882492727025800'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/06/firefox-4-is-new-opera.html' title='Firefox 4 is the new Opera'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3476442287700787184</id><published>2010-06-10T20:05:00.001-04:00</published><updated>2010-06-10T20:05:14.456-04:00</updated><title type='text'>Adobe Flash Player 10.1 and AIR 2.0 released!</title><content type='html'>&lt;p&gt;Today Adobe released the final versions of &lt;a href="http://get.adobe.com/flashplayer/?promoid=BUIGP"&gt;Flash Player 10.1&lt;/a&gt; and &lt;a href="http://get.adobe.com/air/?promoid=BUIGQ"&gt;AIR 2.0.2&lt;/a&gt; for public consumption.&lt;/p&gt;  &lt;p&gt;Both are long awaited releases, especially for the Flash Player since it can now be installed on mobile devices and contains several important features (most notably speed improvements) for running on this platform type.&lt;/p&gt;  &lt;p&gt;For you developers out there, don’t forget to download the debug version of the latest Flash Player 10.1 from &lt;a href="http://www.adobe.com/support/flashplayer/downloads.html"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3c01374b-c16e-4057-9b9f-99409882fa89" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Flex" rel="tag"&gt;Flex&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AIR" rel="tag"&gt;AIR&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Flash+Player" rel="tag"&gt;Flash Player&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Flash+Player+10.1" rel="tag"&gt;Flash Player 10.1&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3476442287700787184?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3476442287700787184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3476442287700787184' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3476442287700787184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3476442287700787184'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/06/adobe-flash-player-101-and-air-20.html' title='Adobe Flash Player 10.1 and AIR 2.0 released!'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4760036906161685685</id><published>2010-05-23T11:22:00.036-04:00</published><updated>2010-05-24T19:00:27.253-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Fixing File upload session issue with non IE browsers</title><content type='html'>I did a lot of learning this passed week about security and how to protect web applications written in HTML and Flex against various attacks. I would like to prepare an entire lecture on the subject but I thought I'd share one particular topic on my blog for now.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The topic I want to talk about is securing file uploads to a server via Flex. If you have added file upload functionality to a Flex application you have probably run into the issue of session information being lost during the upload. And this makes server-side security validation a big issue.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Note: This problem description and solution is using Java application server running BlazeDS or LCDS.&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;The problem&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem occurs whenever you perform a file upload using Flex. I'm not going to write all the lines of code here, but basically the following lines of code will do the trick:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;var req:URLRequest = new URLRequest();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;req.method = URLRequestMethod.POST;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;req.data = someData;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;var fileReference:FileReference = new FileReference();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;fileReference.upload( req, "/phoenix/FileServlet" );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Those lines of code will upload whatever file the user selected to the FileServlet servlet under the phoenix context. Under non-IE browsers this operation will occur in a different browser thread thus causing a different session to be created on the server-side. Thus the application session and upload session are different and are not sharing information. This is basically the root cause of the problem. This means that if you wanted to retrieve the login name of the user currently authenticated, you will get no value. So the following line of code will return NULL:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;request.getRemoteUser();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also if you try to validate that the user has the appropriate role using the standard &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;request.isUserInRole( "UPLOAD_ROLE" );&lt;/span&gt; method call, it will always return FALSE. Needless to say this is a critical issue from a security perspective as you need to know who is doing the file upload and if he is allowed to perform the operation. Without this information basically anybody can perform a file upload request and in some cases with malicious intent.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;The solution&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since a new session is being created for the file upload operation, we need to tell the server to associate this session with our existing authentication session. We accomplish this in two parts, first by giving Flex our server session ID and then sending it back during the file upload. Here are the details of these two operations.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Sending back the server-session ID&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Right after the Flex application initializes, call the remote server method to retrieve the server-session ID. In Java the remote method will look like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;public String getSessionInfo()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  return FlexContext.getFlexSession().getId();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Sending the session ID during the upload operation&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that you have the session ID, you need to send it back with the call to the FileServlet along with the session cookie name. So from our sample above, the following line:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;fileReference.upload( req, "/phoenix/FileServlet" );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Should be changed to:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;fileReference.upload( req, "/phoenix/FileServlet;cookieName=" + sessionID );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Note: The variable cookieName  needs to be the actual session cookie name you have configured for your Java web application (ex.: myappcookie).&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So now, when the file upload operation occurs it will send back the session ID along with the file and so the server will associated that with your existing authenticated session. Now you can retrieve the login name of the currently authenticated user and validate that the user has the appropriate roles (see sample code above).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4760036906161685685?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4760036906161685685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4760036906161685685' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4760036906161685685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4760036906161685685'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/05/fixing-file-upload-session-issue-with.html' title='Fixing File upload session issue with non IE browsers'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7134273326447869776</id><published>2010-05-18T09:17:00.010-04:00</published><updated>2010-05-18T10:33:22.378-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flexcommon 1.2 released</title><content type='html'>I have just uploaded the latest version (1.2) of my &lt;a href="http://code.google.com/p/flexcommon/"&gt;FlexCommon library&lt;/a&gt; to its home on GoogleCode. This latest release contains the following changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Compiled with Flex 3.2&lt;/li&gt;&lt;/ul&gt;I dont see this as a problem and should allow a wider audience to use the library.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DataComboBox&lt;/li&gt;&lt;/ul&gt;This is an extension of the ComboxBox control. Lots of times we set the &lt;span style="font-family: courier new;"&gt;dataProvider &lt;/span&gt;and then want to set the &lt;span style="font-family: courier new;"&gt;selectedIndex &lt;/span&gt;based on some value withing the dataProvider. For this purpose I have created the DataComboBox control, which has two new properties: &lt;span style="font-family: courier new;"&gt;dataField &lt;/span&gt;and &lt;span style="font-family: courier new;"&gt;dataValue&lt;/span&gt;. The dataField property tells the control which property within each item of the dataProvider to examine and the dataValue property is the value to compare against. Once a match is found. the selectedIndex is set. See the documentation for an example.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New &lt;span style="font-family: courier new;"&gt;StringUtils.isNumeric()&lt;/span&gt; method&lt;/li&gt;&lt;/ul&gt;New convenience method to determine if a string contains only numeric digits.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Comes with en_US and fr_CA language bundles&lt;/li&gt;&lt;/ul&gt;All the error messages returned by validators are now contained with resource bundles: en_US (English) - the default - and fr_CA (French). You can of course create your own and if you wish to submit it to me I will include it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7134273326447869776?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7134273326447869776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7134273326447869776' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7134273326447869776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7134273326447869776'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/05/flexcommon-12-released.html' title='Flexcommon 1.2 released'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7804588099808560048</id><published>2010-05-11T21:36:00.005-04:00</published><updated>2010-05-11T21:43:42.805-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Fixing the "unable to export SWC oem" error in Flash Builder</title><content type='html'>If you created a project using Flex Builder 3 and wish to upgrade it to Flash Builder 4, you might see the following error in the Eclipse "Problems" view when you attempt to compile for the first time:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;unable to export SWC oem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I read on several sites how to fix the problem but here is my little piece of details with step-by-step instructions:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Shutdown eclipse&lt;/li&gt;&lt;li&gt;Using your favorite text editor, open the .flexLibProperties file in the root of your project&lt;/li&gt;&lt;li&gt;Erase all lines between the &lt;span style="font-family: courier new;"&gt;&amp;lt;includeResources&amp;gt;&lt;/span&gt; tags and just replace with an empty version of that tag (e.x.: &lt;span style="font-family: courier new;"&gt;&amp;lt;includeResources/&amp;gt;&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Save updated .flexLibProperties file&lt;/li&gt;&lt;li&gt;Start eclipse&lt;/li&gt;&lt;li&gt;Use the clean and build options under the "Project" menu&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;And voila, your project now compiles under Flash Builder 4&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7804588099808560048?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7804588099808560048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7804588099808560048' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7804588099808560048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7804588099808560048'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/05/fixing-unable-to-export-swc-oem-error.html' title='Fixing the &quot;unable to export SWC oem&quot; error in Flash Builder'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5132742213791015485</id><published>2010-05-02T09:03:00.006-04:00</published><updated>2010-05-02T09:17:06.895-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Open Source Week in Montreal (MonDev)</title><content type='html'>For those interested,  "Open Source Week' is happening this month in Montreal from May 24th to the 28th, also known as &lt;a href="http://mondev.org/"&gt;MonDev&lt;/a&gt;. Go to the site to see what topics and being presented and to register as a speaker if that interests you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5132742213791015485?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5132742213791015485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5132742213791015485' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5132742213791015485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5132742213791015485'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/05/open-source-week-in-montreal.html' title='Open Source Week in Montreal (MonDev)'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-421351819524434943</id><published>2010-04-27T22:51:00.017-04:00</published><updated>2010-06-29T23:10:40.149-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Copy operation between List / DataGrid</title><content type='html'>One of the great things about Flex is how much is available out-of-box. One feature that is provided out-of-box is the ability to easily drag'n'drag data from one control to another. One great example of this is to drag'n'drop data from a source List control to a destination List control and vice-versa. A example use case is where you are allowing the user to assign "users" to a "group" from an available list of "users".&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is code to implement this functionality is as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999;"&gt;[List id="availUsers" dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" dataProvider="{availbleUsers}"]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FFFF00;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999;"&gt;[List id="assignUsers" dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" dataProvider="{assignedUsers}"]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pretty simple eh? Basically what this code is saying is that both List controls are drag sources (&lt;span style="color:#999999;"&gt;dragEnabled="true"&lt;/span&gt;), that both are drop destinations (&lt;span style="color:#999999;"&gt;dropEnabled="true"&lt;/span&gt;) and that when data is dragged from the control, that the data should be removed (&lt;span style="color:#999999;"&gt;dragMoveEnabled="true"&lt;/span&gt;) - since it will be moved to the destination.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In some cases, as it happened to me just yesterday, you don't want the data to go back and forth between the two controls. In my case, I need the available list of users to remain as-is and that you could assign a user multiple times to the destination list.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To accomplish this, you just need to make the following changes:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color:#999999;"&gt;[List id="availUsers" dragEnabled="true" dragMoveEnabled="false" dropEnabled="false" dataProvider="{availbleUsers}"]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999;"&gt;&lt;/span&gt;&lt;span style="color:#999999;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#999999;"&gt;[List id="assignUsers" dragEnabled="false" dragMoveEnabled="true" dropEnabled="true" dataProvider="{assignedUsers}"]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With the changes, this will allow data to be copied from the available users list (&lt;span style="color:#999999;"&gt;dragMoveEnabled="false"&lt;/span&gt;) to the assigned users and you can't go back (&lt;span style="color:#999999;"&gt;dragEnabled="false"&lt;/span&gt;).&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-421351819524434943?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/421351819524434943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=421351819524434943' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/421351819524434943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/421351819524434943'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/04/copy-operation-between-list-datagrid.html' title='Copy operation between List / DataGrid'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1761299325182909696</id><published>2010-04-07T19:45:00.007-04:00</published><updated>2010-04-07T19:49:49.292-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flash Player 10.1 pre-release</title><content type='html'>Adobe has setup a &lt;a href="http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html"&gt;page &lt;/a&gt;that allows you to download a pre-release version of the next version of the Flash Player. That's version 10.1, which is heavily geared for running on mobile devices; but the desktop version gets all the advantages as well.&lt;br /&gt;&lt;br /&gt;You can view some demos on the page showing the Flash Player 10.1 running on various devices and at the bottom of the page there are some quick interviews with Adobe employees; each one talking about one of the new changes that are present in the upcoming release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1761299325182909696?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1761299325182909696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1761299325182909696' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1761299325182909696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1761299325182909696'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/04/flash-player-101-pre-release.html' title='Flash Player 10.1 pre-release'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3485046673699824871</id><published>2010-04-03T17:57:00.015-04:00</published><updated>2010-04-03T18:07:38.835-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Handling change - the YouTube way</title><content type='html'>Just noticed today that &lt;a href="http://www.youtube.com/"&gt;YouTube &lt;/a&gt;changed their site a little bit - more like tweaked. No big deal really, they have added some video controls and changed others. What I do like is that at the top-right corner of the page, their is a little blue information box that allows you to "take a tour of the changes". And like it says, it uses a little JavaScript overlay to take you on a tour of the page you are looking and explains the various parts of the page that have changed and how it now works. Simple and ingenious.&lt;br /&gt;&lt;br /&gt;Some people hate changes, even of the smallest kind (Napoleon would be outraged! - internal friendly joke). This is a good way I think of showing users that the changes are no big deal really and you can continue on using YouTube to enjoy your favorite videos as you always have and with a smile :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3485046673699824871?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3485046673699824871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3485046673699824871' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3485046673699824871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3485046673699824871'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/04/handling-change-youtube-way.html' title='Handling change - the YouTube way'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2669873809593872577</id><published>2010-04-03T17:13:00.034-04:00</published><updated>2010-04-03T17:50:14.975-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Careful building hybrid Flex/HTML applications</title><content type='html'>Building a Flex application from the ground up is fun experience. But since Flex has only been around for 6 years and if your company has been around for longer than that, this means that your Flex application might have to co-exist with an existing HTML application (most likely server driven such as a PHP, JSP or ASP web site). In essence, you have a hybrid Flex/HTML application and there is pros and cons to this.&lt;br /&gt;&lt;br /&gt;PROS:&lt;br /&gt;If your company will continue to use Flex going forward, for all the good reasons, then basically you are getting ahead of the game. The parts are being built as you want them and you can eventually convert the old parts later on. Eventually you will end up with a 100% Flex built web application.&lt;br /&gt;&lt;br /&gt;CONS:&lt;br /&gt;You hybrid design will cause confusion with end-users. If your web application (as an example) deals with managing user records, maybe the general page (the main page) and address page is in HTML and the contact page is done in Flex. Meaning, end-users will, in the course of administrating a user then be jumping from HTML to Flex and vice-versa. Here is a list of negative effects that this might cause:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Users might use the browser's back-button and not get the intended result (in my example this might not seem like the case, but in a complex Flex app, you can imagine such a scenario)&lt;/li&gt;&lt;li&gt;Every time the Flex UI loads, it might need to retrieve the same data over and over again (country list in this case)...so there will be a little wait time, although in seconds, some might perceive this as annoying.&lt;/li&gt;&lt;/ol&gt;The way I see it, if your "root" page is HTML based and the sub pages are in Flex, then confusion might be minimized. If the reverse is true however, meaning the "root" page is in Flex and the sub-pages are in HTML, then when the user hits the back-button, he might go back to a Flex UI and find it not in the state he left it in (However I believe there is a way to save application state in Flex - I just thought of this actually, but hey, I've got a million things on my mind, can't think of everything at once). At my company we ended-up doing the later and in hind sight it might not have been the best decision. We basically wanted people to use the new version of the web application as soon as possible and now because it is not yet complete, then are jumping from Flex to HTML and back in some cases, and this causes confusion and frustration.&lt;br /&gt;&lt;br /&gt;Obviously if we had to do it all over again, we would have left the "root" page in HTML and built all the sub pages as Flex and then finally migrated the "root" page once all the sub pages were converted.&lt;br /&gt;&lt;br /&gt;Also another way would have been to leave the old web application in HTML as is, build the new application using Flex, not given anyone access to it and then when it was 100% in Flex, release it to everyone. Not sure this would have worked well either because of the following reasons:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You would have to maintain the HTML and Flex applications at the same time&lt;/li&gt;&lt;li&gt;You would be getting no feedback at all on the new Flex app&lt;/li&gt;&lt;li&gt;You would sell-shock users when the new Flex app would be released&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So has anyone else ever have to deal with this type of issue? What did you do? How did you handle it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2669873809593872577?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2669873809593872577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2669873809593872577' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2669873809593872577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2669873809593872577'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/04/careful-building-hybrid-flexhtml.html' title='Careful building hybrid Flex/HTML applications'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2181785200212884666</id><published>2010-03-30T19:38:00.011-04:00</published><updated>2010-03-30T19:49:10.908-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flash Player crashes?</title><content type='html'>Been reading alot of Flash Player bashing lately and one of the main cons against the "little" player is the fact that it crashes so often. It does? Like when? It has happened once to me while visiting a web site and it was so long ago I don't remember. And like most people, I visit websites where I have to watch Flash content; like tsn.ca, espn.com, youtube.com, etc... It's not like I don't touch websites with Flash content with a 10-foot pole. Heck I develop in this stuff.&lt;br /&gt;&lt;br /&gt;And then you have to wonder...if the Flash Player crashed so often, wouldn't nobody develop for this platform at all? Why would it still exist 15 years after it original release?&lt;br /&gt;&lt;br /&gt;So wake-up people, Flash Player is here to stay for a little while longer, we can do more with it today than we ever could, and the web is more dynamic because of it. Will it cease exist some day? Perhaps, but not for another 10 years I hope :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2181785200212884666?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2181785200212884666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2181785200212884666' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2181785200212884666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2181785200212884666'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/flash-player-crashes.html' title='Flash Player crashes?'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-465047619511196609</id><published>2010-03-30T19:33:00.031-04:00</published><updated>2010-03-30T20:26:42.004-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>HTML has spoiled end-users</title><content type='html'>"People are quick to learn (in most cases), but slow to change."&lt;br /&gt;&lt;br /&gt;Change happens all the time. We change our shoes, our clothes, the car we drive, what we eat for breakfast, where we live and where we work. But change certain things on people and wow, you are in a world of hurt.&lt;br /&gt;&lt;br /&gt;I've recently been re-writing/migrating/enhancing an application at work, which used to be in JSP pages to Flex 3 and things have been progressing well. Until of course people started using the application. Main complaint? "Why can't I highlight this page and copy it into an email?" Well what the end-user was referring to as a page is actually a TitleWindow that has some information on it and a DataGrid with the financial information in it. What he basically wants to do would be possible if it was an HTML page, cause you can highlight anything in an HTML page. But the real reason for having to do this? The person needing this information did not want to take the time to access the application to see this information for himself. (so is the main issue here lazyness?)&lt;br /&gt;&lt;br /&gt;So the simplest thing has caused negative feedback for the new version application and not just from one person. And it is the most basic thing really, copy'n'paste functionality that is normally part of the OS/browser. Something people have been able to do since forever is now no longer possible. They could use screen capture applications, but they don't support the Flash Player and its DataGrid control. People don't see that the information is more presentable and easier to navigate, they are only taking about the simplest basic feature that is no longer working.&lt;br /&gt;&lt;br /&gt;So what to do? I will have to do some research to see if anyone else has had this problem and basically make Flex more HTMLism I guess. But mostly, in the end, I will have to change.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-465047619511196609?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/465047619511196609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=465047619511196609' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/465047619511196609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/465047619511196609'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/html-has-spoiled-end-users.html' title='HTML has spoiled end-users'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5706023642561300998</id><published>2010-03-30T19:26:00.002-04:00</published><updated>2010-03-30T19:32:00.116-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Chrome 5 comes with Flash Player</title><content type='html'>Been reading alot lately of how HTML5 will spell the end of the Flash Player and then today, bam! Google release an alpha version of Chrome 5 that comes with the Flash Player! Wonder what that's all about really.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5706023642561300998?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5706023642561300998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5706023642561300998' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5706023642561300998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5706023642561300998'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/chrome-5-comes-with-flash-player.html' title='Chrome 5 comes with Flash Player'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2444387260020478123</id><published>2010-03-24T12:06:00.008-04:00</published><updated>2010-03-24T13:16:23.955-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Loading CSS at runtime</title><content type='html'>Just spent like 7 hours trying to debug a problem and finally found the solution by reading someone's &lt;a href="http://riaevolution.wordpress.com/2009/05/16/flex-style-manager-issue/"&gt;blog&lt;/a&gt;. Basically was trying to load the CSS settings at runtime in my Flex 3 application. It didn't work at all, kept getting the following error:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Error #1034: Type Coercion failed: cannot convert bla to IFlexModule&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally the problem was... the CSS filename (bla.css), was the same as the application MXML file (bla.mxml)! Changing the name of the CSS file to something different (app.css) basically solved the problem. Guess when you compile a CSS file to SWF, internally the generated ActionScript class is named the same as your CSS file and thus conflicts with the main application classname.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To learn how to load at runtime, read the "Loading style sheets at run time" in the Flex &lt;a href="http://livedocs.adobe.com/flex/3/html/"&gt;Livedocs&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/3155837776761738886-2444387260020478123?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2444387260020478123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2444387260020478123' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2444387260020478123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2444387260020478123'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/loading-css-at-runtime.html' title='Loading CSS at runtime'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1578762797779055603</id><published>2010-03-12T19:36:00.004-05:00</published><updated>2010-03-12T19:41:52.532-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Data Visualization Components now part of SDK</title><content type='html'>Just saw this &lt;a href="http://iamdeepa.com/blog/?p=53"&gt;post&lt;/a&gt; by one of the Flex engineers, Deepa, that the upcoming Flex 4 SDK will now contain the Data Visualization Components. These components include the AdvancedDataGrid, OLAPDataGrid and all the Charting components. This means you no longer need a serial number to use these components within any Flex projects build with version 4 of the Flex SDK. This is a great way for Adobe to continue promoting Flex and allowing developers to create even better applications without having to spend a penny. You can download the latest beta version of the Flex 4 SDK &lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4"&gt;here&lt;/a&gt; (the nightly builds contain the Data Visualization Components).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1578762797779055603?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1578762797779055603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1578762797779055603' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1578762797779055603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1578762797779055603'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/data-visualization-components-now-part.html' title='Data Visualization Components now part of SDK'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-415669238103519047</id><published>2010-03-02T20:53:00.002-05:00</published><updated>2010-03-02T20:58:28.373-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Things that inspire</title><content type='html'>Everyone once in a while I visit a website where I read an article that inspires me to do better. Today I happened to see the new Home Tab Design for next version of Firefox (4.0). It was a contest actually and the winner is a gentleman by the name of Yatrik Solanki. Check out the video on this &lt;a href="http://mozillalabs.com/conceptseries/2010/03/01/home-tab-design-challenge-peoples-choice-award/"&gt;page&lt;/a&gt; where he basically explains his design for the page. Now I've got ideas for the main internal application used at my work place. Seems like I'll have some extra work to do :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-415669238103519047?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/415669238103519047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=415669238103519047' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/415669238103519047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/415669238103519047'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/03/things-that-inspire.html' title='Things that inspire'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7925946655581437240</id><published>2010-02-19T10:17:00.008-05:00</published><updated>2010-02-19T10:23:51.571-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Change mouse cursor on a Label control</title><content type='html'>Since I was using a Label control to display some HTML text (monetary amount with its appropriate currency symbol), I also wanted to use it to display a detail pop-up window. Easy enough just need to code a handler for the click event.&lt;br /&gt;&lt;br /&gt;However there is no visual cue that tells you that the Label is click-able, like the mouse cursor changing to a hand. But there is a way, you can make it do this automatically when someone hovers over the Label control. Its not obvious, so here are the 3 properties you have to set:&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:Label buttonMode="true" useHandCursor="true" mouseChildren="false"/&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7925946655581437240?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7925946655581437240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7925946655581437240' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7925946655581437240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7925946655581437240'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/02/change-mouse-cursor-on-label-control.html' title='Change mouse cursor on a Label control'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8606755342315880720</id><published>2010-02-16T21:04:00.002-05:00</published><updated>2010-02-16T21:07:23.720-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Ottawa Flash User Group meeting</title><content type='html'>The Ottawa Flash User Group is holding their next meeting in a couple weeks; specifically on Wednesday March 3rd @ 7:00 PM EST. So if you are from Ottawa or the neighboring region (like Montreal for me), you should consider attending the event. I have in the past and you can see and learn some interesting things.&lt;br /&gt;&lt;br /&gt;Full details and registration &lt;a href="https://mail.google.com/mail/?ui=2&amp;amp;view=bsp&amp;amp;ver=1qygpcgurkovy"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8606755342315880720?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8606755342315880720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8606755342315880720' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8606755342315880720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8606755342315880720'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/02/ottawa-flash-user-group-meeting.html' title='Ottawa Flash User Group meeting'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-578580342199493211</id><published>2010-02-13T16:47:00.007-05:00</published><updated>2010-02-13T16:57:26.690-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>French accent characters in Flex</title><content type='html'>Just this past week we added support for the French language (fr_CA) to a Flex application we are building at work. Nothing complicated really, just had to make use of resource bundles as described in the Flex &lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=l10n_1.html"&gt;livedocs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However we did notice that when running the Flex application, certain French characters that contain accents (ex.: é - ALT-130) were displaying as little empty boxes in the UI. Found the answer to this problem on this &lt;a href="http://bjw.co.nz/developer/flex/92-quick-tip-lanuage-accents-not-showing-up-in-flex"&gt;website&lt;/a&gt;. Basically the encoding for our french properties file was incorrect. It was using ISO-8859-1 instead of UTF-8.&lt;br /&gt;&lt;br /&gt;To resolve this problem, in Eclipse, perform these steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Right-click on your french properties file and select "Properties"&lt;/li&gt;&lt;li&gt;Select "Resource" from the left side panel&lt;/li&gt;&lt;li&gt;Change the "Text file encoding" from the default to "Other" and select "UTF-8"&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-578580342199493211?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/578580342199493211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=578580342199493211' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/578580342199493211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/578580342199493211'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/02/french-accent-characters-in-flex.html' title='French accent characters in Flex'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8444714144512514973</id><published>2010-02-07T09:18:00.017-05:00</published><updated>2010-02-13T16:47:32.322-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Player'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flash Player truly brings web sites to life</title><content type='html'>I find as I browse the web everyday, it is sometimes easy to forget that the Flash Player is what breathes life into web sites all over the world.&lt;br /&gt;&lt;br /&gt;On one website, I see an silent teaser playing for a upcoming movie. Turn on the sound for the teaser and you are transported to a fictional world, but only for a few seconds. Goto Youtube.com and the whole experience revolves around the Flash Player, enabling the user to view a music video he hasn't seen in years, watch a clip from a favorite movie or watch a short funny movie created by a friend.&lt;br /&gt;&lt;br /&gt;For myself, I am big NFL fan and I love going to either nfl.com or espn.com and watching a pre-game show debate about my favorite team's upcoming game (Cowboys in case anyone in wondering) or watching a post-game review for that matter. Furthermore, because not all the Cowboy games are presented on a national cable channel, I have a way to watch those games on my computer via the web because of the Flash Player.&lt;br /&gt;&lt;br /&gt;So next time you are browsing some website, look around the page, you won't see just static data like it used to be just 15 years ago, but a portion of it will be dynamic and that is thanks to the little plug-in that could.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8444714144512514973?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8444714144512514973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8444714144512514973' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8444714144512514973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8444714144512514973'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2010/02/flash-player-truly-brings-web-sites-to.html' title='Flash Player truly brings web sites to life'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8327245945274568159</id><published>2009-12-30T08:47:00.005-05:00</published><updated>2009-12-30T08:58:28.645-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Error 1069 with item renderers/editors</title><content type='html'>&lt;div&gt;Just in case you happen to be working with a DataGrid and itemRenderers / itemEditors, as you test (in my case a CheckBox was used as an itemRenderers / itemEditors), you might see the error below get thrown:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ReferenceError: Error #1069: Property null not found on [some class] and there is no default value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGridBaseEx/itemEditorItemEditEndHandler()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at flash.events::EventDispatcher/dispatchEventFunction()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at flash.events::EventDispatcher/dispatchEvent()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.core::UIComponent/dispatchEvent()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGridBaseEx/endEdit()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGridBaseEx/deactivateHandler()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at flash.events::EventDispatcher/dispatchEventFunction()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at flash.events::EventDispatcher/dispatchEvent()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.core::UIComponent/dispatchEvent()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGridBaseEx/endEdit()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGridBaseEx/mouseDownHandler()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;at mx.controls::AdvancedDataGrid/mouseDownHandler()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The mistake I made was dumb, I basically forgot to specify the dataField and editorDataField properties on the DataGridColumn. So make sure you specify those values when working with itemRenderers / itemEditors!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8327245945274568159?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8327245945274568159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8327245945274568159' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8327245945274568159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8327245945274568159'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/12/error-1069-with-item-rendererseditors.html' title='Error 1069 with item renderers/editors'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1614627232556836594</id><published>2009-12-22T19:40:00.002-05:00</published><updated>2009-12-22T19:40:48.906-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Participate in Flex Survey</title><content type='html'>Here is your chance to help improve Flex, go take the following &lt;a href="https://www.evansresearchonline.com/s.php?s=FLUS&amp;amp;d=SMS:1:EN:0:0:3"&gt;survery&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1614627232556836594?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1614627232556836594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1614627232556836594' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1614627232556836594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1614627232556836594'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/12/participate-in-flex-survey.html' title='Participate in Flex Survey'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-9076773519159331827</id><published>2009-12-01T19:21:00.003-05:00</published><updated>2009-12-01T19:22:54.712-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Anyone know how to display currency symbols?</title><content type='html'>Anyone know how to display currency symbols in Flex (for euro, pound, yen, etc...)? Without the use of icons?Any help is greatly appreciated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-9076773519159331827?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/9076773519159331827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=9076773519159331827' title='32 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/9076773519159331827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/9076773519159331827'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/12/anyone-know-how-to-display-currency.html' title='Anyone know how to display currency symbols?'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4575372250893244305</id><published>2009-11-19T18:44:00.012-05:00</published><updated>2009-11-19T18:59:37.222-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>ChromeOS could be game changer</title><content type='html'>Just got home and was reading the news today about Google's ChromeOS. And after seeing a couple of &lt;a href="http://www.neowin.net/news/main/09/11/19/google-releases-chrome-os-information--source-code"&gt;videos&lt;/a&gt; of what this OS is going to be about, I think this can be a game changer. Think about it, every day we spend most of our time doing something on the web: email, chatting, social networking, buying, selling, research, studying, etc... Now granted, being a developer, my work is done all on the local machine, thus on the local OS, but that's true for a very small portion of the population. For the vast majority of people using a computer, all the actions mentioned previously are done on the internet via a web browser. The only thing they need the local computer for is to store pictures and music.&lt;br /&gt;&lt;br /&gt;What Google is doing with the ChromeOS is making using a computer simpler and thus more accessible to people who still don't want to use a computer, or simply find one hard to use. Recently I've had a friend get a MacBook and an iPhone, one of the first things she mentioned is how easy it was to setup everything she uses on a daily basis for her professional and personal life. If people can eventually say that about a computer running ChromeOS, then Google has won. Ever hear anyone say that about Windows? hmmm. It has become easier yes (especially with Windows 7), but it is still not as simple.&lt;br /&gt;&lt;br /&gt;Another good thing about ChromeOS is that it is basically a browser frontend. So that means more Flex and AIR applications will be able to reach the masses. So one unified platform to create applications that can run of various devices (netbook, mobile, PCs)...one step closer to utopia :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4575372250893244305?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4575372250893244305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4575372250893244305' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4575372250893244305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4575372250893244305'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/11/chromeos-could-be-game-changer.html' title='ChromeOS could be game changer'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7781464658365321943</id><published>2009-10-05T19:50:00.007-04:00</published><updated>2009-10-05T19:59:36.424-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Adobe Flash news from MAX</title><content type='html'>Although I am not there this year, I did have a chance to follow the Adobe MAX Day 1 Keynote today and there is some great news that was announced. In no particuliar order:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Flash Player 10.1 will run on all devices, yup that includes smartphones, no need for FlashLite anymore.&lt;/li&gt;&lt;li&gt;Flash Player 10.1 reduced application footprint by 50% in some cases (like DataGrids)...important for running on smartphones.&lt;/li&gt;&lt;li&gt;Flash Player 10.1 will run on BlackBerry, Palm Pre and...and...iPhone, cool! (sample Flash iPhone source code &lt;a href="http://onflash.org/ted/2009/10/source-to-4-flash-iphone-apps.php"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Flash Catalyst beta 2 has been released (more info &lt;a href="http://www.insideria.com/2009/10/flash-catalyst-beta-2-new-feat.html"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;AIR 2.0 is going to have some killer features: microphone integration, touchscreen, launch native applications and more&lt;/li&gt;&lt;li&gt;LiveCycle Enterprise new features related to some points above... details &lt;a href="http://www.borrewessel.com/?p=119"&gt;here&lt;/a&gt; and &lt;a href="http://stacyyoung.org/2009/10/05/adobe-lc-workspace-on-iphone-blackberry-and-windows-mobile/"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Can't wait for tomorrow's keynote :)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7781464658365321943?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7781464658365321943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7781464658365321943' title='245 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7781464658365321943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7781464658365321943'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/10/adobe-flash-news-from-max.html' title='Adobe Flash news from MAX'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>245</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-689802678164533578</id><published>2009-10-05T19:45:00.004-04:00</published><updated>2009-10-05T19:49:47.425-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Administering SQLite for AIR projects</title><content type='html'>During AIR development I have found that using &lt;a href="http://sqliteadmin.orbmu2k.de/"&gt;SQLite Administrator&lt;/a&gt; is pretty good. Allows me to easily create/update table structures, run queries and edit data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-689802678164533578?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/689802678164533578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=689802678164533578' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/689802678164533578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/689802678164533578'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/10/administering-sqlite-for-air-projects.html' title='Administering SQLite for AIR projects'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6246627038617194523</id><published>2009-10-05T19:28:00.014-04:00</published><updated>2009-10-05T19:45:35.037-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Error #3132 in AIR and SQLite Data Types</title><content type='html'>I was working on an AIR project which makes use of the embedded SQLite database this week and ran into the following error:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Error #3132: Data Type Mismatch.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At first I thought no big deal, I am doing something wrong at the coding level. The code in question was doing an insert on a table and so I thought I was passing the wrong data to the database, but at first glance, I could not see anything wrong. Then I started by removing parts of the columns I was inserting into in order to figure out which one was the problem and I still couldn't figure it out. After some googling and confusion I remembered I changed the data type (from &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Boolean &lt;/span&gt;to &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Text&lt;/span&gt;) on a column on that exact table. So what I did was to drop (delete) the table and re-create it from scratch and voila, problem solved. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the error was correct, but didn't occur because the data I was passing was incorrect, but because SQLite still thought the data type of the column &lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;was &lt;/span&gt;a &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Boolean&lt;/span&gt;. Deleting and re-creating the table was the solution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That brings me to point and wondering if I can get some feedback, I have seen that working &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Boolean &lt;/span&gt;and &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Timestamp &lt;/span&gt;data types in SQLite and AS3 is not working as fluently as it should be, so I use &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Text &lt;/span&gt;and &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Numeric &lt;/span&gt;for each respectively (at the DB level that is). Specifically for date information, I simply do a &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Date.getTime()&lt;/span&gt; in AS3 to get the number of milliseconds since 1970-01-01 and store that, seems to work for me. Anyone else have these problems?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6246627038617194523?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6246627038617194523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6246627038617194523' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6246627038617194523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6246627038617194523'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/10/error-3132-in-air-and-sqlite-data-types.html' title='Error #3132 in AIR and SQLite Data Types'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1841015430390143779</id><published>2009-09-25T20:54:00.006-04:00</published><updated>2009-09-25T21:05:09.230-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Additional Flex 3 charting components</title><content type='html'>I've recently been working on re-building our reporting UI for our customers at work using Flex, Spring and iBatis. I've had lots of fun doing it and have got it done in a pretty short amount of time. This has given me the opportunity to add some pre-defined charts to the application that display the data in a more visual manner. This was also quick to implement because of how easy it is to use the various charting components (Pie, column, bar, etc...) that come with Flex.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My boss however, wanted me to look into something advanced regarding charting and I saw that it was not possible with the out-of-the-box charts that Flex provided. So I started to google for alternatives and found that some people have created additional charting components that are really great. I have included a couple of them here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.anychart.com/products/anychart/overview/"&gt;AnyChart&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.fusioncharts.com/flex/demos/"&gt;FusionCharts&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Funny thing as well this week I attended an online demo of BIRT, which actually uses Flex to draw it's charts. So take a look at the links above and enjoy :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1841015430390143779?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1841015430390143779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1841015430390143779' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1841015430390143779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1841015430390143779'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/09/flex-3-chart-extensions.html' title='Additional Flex 3 charting components'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4447416082216528378</id><published>2009-09-25T20:46:00.005-04:00</published><updated>2009-09-25T20:50:44.690-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Comparing various RIA technologies</title><content type='html'>Just viewed this &lt;a href="http://www.infoq.com/presentations/Parleys.com-Stephan-Janssen"&gt;presentation&lt;/a&gt; from one of the guys from &lt;a href="http://www.parleys.com"&gt;parleys.com&lt;/a&gt; about his comparison of various RIA technologies. Basically he talks about how they went about choosing Flex to create the parleys.com website and then demonstrates the same website done with &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/a&gt; and &lt;a href="http://javafx.com/"&gt;JavaFX&lt;/a&gt; all the while pointing out the pros and cons of each technology. Very well done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4447416082216528378?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4447416082216528378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4447416082216528378' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4447416082216528378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4447416082216528378'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/09/comparing-various-ria-technologies.html' title='Comparing various RIA technologies'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3249091439333975926</id><published>2009-08-23T17:56:00.009-04:00</published><updated>2009-08-23T18:14:53.534-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>DisableIcon for Buttons</title><content type='html'>Assigning an icon to a button is a fairly trivial task in Flex. It is so easy in fact that I use it quite often. At the same time buttons often will become disabled depending on the state of the application and this then leads to a problem. Although the button will not respond to user interaction, the icon on the button itself will still appear the same, thus the user might think that the button is enabled when it fact it is not.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In order to resolve this you must use the disabledIcon style of the button to specify a "greyed-out" version of your icon that will be displayed when the button is disabled (refer to Flex &lt;a href="http://livedocs.adobe.com/flex/3/langref/index.html"&gt;API&lt;/a&gt;). Then the question arises how do you get a "greyed-out" look of your icon to use on your button? What I did was use Fireworks to set the saturation level of the original icon to -100. I did so by going into the following menu:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Filters &gt; Adjust Color  &gt; Hue/Saturation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You will get a window that will pop open and allow you to change the Saturation level to -100. Then save the icon with a new name and use it in your Flex application as so:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;icon="@Embed('/assets/ok.png')" &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;disabledIcon="@Embed('/assets/ok_disabled.png')"&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/3155837776761738886-3249091439333975926?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3249091439333975926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3249091439333975926' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3249091439333975926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3249091439333975926'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/08/disableicon-for-buttons.html' title='DisableIcon for Buttons'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-6464824440608140834</id><published>2009-07-14T19:40:00.012-04:00</published><updated>2009-07-14T19:55:12.968-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Using SharedObject across SWFs</title><content type='html'>At work we have a web application that is comprised of various SWF files written using Flex 3. Just this past week I was trying to share some data amongst two of those SWFs and was wondering why SWF B could not read the ShareObject created by SWF A.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See normally to read/create a SharedObject you write code like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;var so:SharedObject = SharedObject.getLocal( "mySO" );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The above line of code will read the SharedObject called &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;mySO &lt;/span&gt;or create one if it does not already exist in a similar folder structure as the one that follows (varies based on OS - I am using Vista):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C:\Users\Jimmy\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\blabla\localhost\SWFA\mySO.sol&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since the SharedObject is created in a folder specific to SWF A (see the "&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;\localhost\SWFA&lt;/span&gt;" above), SWF B, will not be able to read this SharedObject, thus the both applications cannot share data between eachother. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In order to solve this, you must specify an additional parameter to the getLocal() method call to tell it to save the SharedObject in a folder location accessible by both applications. An example is:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;var so:SharedObject = SharedObject.getLocal( "mySO", "/" );&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What this will do now is create the SharedObject in the following folder structure:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;C:\Users\Jimmy\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\blabla\localhost\mySO.sol&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this is helpful to some when working with SharedObjects. It is a simple, yet primitive way to share data amongst two Flex applications without requiring the use of a server of any kind.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-6464824440608140834?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/6464824440608140834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=6464824440608140834' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6464824440608140834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/6464824440608140834'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/07/using-sharedobject-across-swfs.html' title='Using SharedObject across SWFs'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-880354068210186016</id><published>2009-06-19T19:28:00.010-04:00</published><updated>2009-06-19T20:07:17.014-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livecycle'/><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='LCDS'/><title type='text'>Livecycle Data Services 3 preview</title><content type='html'>With Flex 4 and its great new features in the pipe, Adobe is also working on the next version of Livecycle Data Services (LCDS) (version 3). If you know a little about of Flash Builder 4, there are new features in there to help with model driven development. Well with the new LCDS extensions for Flash Builder 4, you can take this even a step further (codenamed: fiber).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically what you can do is define you model, connect it to your favorite database and then generate an interface to interact with the data. Basically I see it as tools to create/update small applications quickly or to perform rapid prototyping for larger enterprise class applications. Flash Builder in combination with LCDS 3 can really do alot for you by generating the database structure from your model definition and then will also generate an interface with the basic c.r.u.d. operations ready to go. It will also do things like allow you to easily apply field validation to your model. Sort of reminds me of my good old days working in VB!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To actually see some of this in action, go &lt;a href="http://labs.adobe.com/technologies/livecycle_dataservices3/videos/"&gt;here&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/3155837776761738886-880354068210186016?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/880354068210186016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=880354068210186016' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/880354068210186016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/880354068210186016'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/livecycle-data-services-3-preview.html' title='Livecycle Data Services 3 preview'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8834391851274660173</id><published>2009-06-13T15:01:00.003-04:00</published><updated>2009-06-13T15:06:00.323-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>FlexCommon 1.1 released</title><content type='html'>I have just uploaded version 1.1 of my &lt;a href="http://code.google.com/p/flexcommon/"&gt;Flexcommon&lt;/a&gt; library. This release contains a simple bug fix to the RFCEmailValidator class and also adds a new validator: the AdvancedCreditCardValidator class. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The AdvancedCreditCardValidator class is actually a partial re-write of the CreditCardValidator class that comes with Flex. It validates more card brands than the included validator and does so by using regular expressions that are found inside a resource bundle.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope you enjoy this release, any feedback is appreciated.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8834391851274660173?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8834391851274660173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8834391851274660173' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8834391851274660173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8834391851274660173'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/flexcommon-11-released.html' title='FlexCommon 1.1 released'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-5959756087355020145</id><published>2009-06-13T07:55:00.009-04:00</published><updated>2009-06-13T08:05:57.000-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Looking for Flex developer in Montreal or Ottawa/Gatineau</title><content type='html'>My company is currently looking for a Flex developer like myself to add to the team. So if you are in the Montreal or the Ottawa/Gatineau area (we have offices there too), please send me an email with your resume to: jimmyg1975@gmail.com&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are basically looking for someone with the following skillset/qualities:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Flex 2 or higher&lt;/li&gt;&lt;li&gt;AIR is a nice to have&lt;/li&gt;&lt;li&gt;Java (thats our server-side technology)&lt;/li&gt;&lt;li&gt;BlazeDS / LiveCycle&lt;/li&gt;&lt;li&gt;Creative&lt;/li&gt;&lt;li&gt;Keeps up-to-date with the Flex community&lt;/li&gt;&lt;li&gt;Keeps up-to-date with recent technological advancements (likes to dabble)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-5959756087355020145?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/5959756087355020145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=5959756087355020145' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5959756087355020145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/5959756087355020145'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/looking-for-flex-developer-in-montreal.html' title='Looking for Flex developer in Montreal or Ottawa/Gatineau'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1096235676522443643</id><published>2009-06-09T21:02:00.005-04:00</published><updated>2009-06-09T21:05:12.597-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web design'/><title type='text'>Alertbox, nice web site</title><content type='html'>Reading the 37signals.com &lt;a href="http://www.37signals.com/svn"&gt;blog&lt;/a&gt; today as I do everyday, they mentioned an interesting web site called &lt;a href="http://www.useit.com/alertbox/"&gt;Alertbox&lt;/a&gt;. It basically contains some articles regarding web design and usability which is well done. I have read a couple articles already and I would recommend it to everyone who is interested in such things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1096235676522443643?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1096235676522443643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1096235676522443643' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1096235676522443643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1096235676522443643'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/alertbox-nice-web-site.html' title='Alertbox, nice web site'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-2794795443667463577</id><published>2009-06-09T20:09:00.014-04:00</published><updated>2009-06-12T19:41:16.232-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Careful using rowIndex in an itemrenderer</title><content type='html'>&lt;div&gt;The original title of this blog post was different to begin, but as I was coding I discovered that what I thought was going to be a great tip to share, was in fact not. You see I was trying to do some specialized display in an itemRendererer (in a DataGrid) but was not able to do it. As-is, each row in a particuliar column was displaying an amount, but the requirement came to me to display an amount range based on the value in the next row. For example, say the first row of data was displaying 2.00, and the amount value in the next row was 5.00...the first row should then display 2.00 - 4.99.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was thinking I could accomplish this by using an itemRenderer and making use of the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;this.listData.rowIndex&lt;/span&gt; property to allow me to "know" the current index in the ArrayCollection, to therefore be able to get the data from the next row, if available. However the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;rowIndex &lt;/span&gt;property gives you the index of the current row being display by the itemRenderer, not the index in the ArrayCollection. Thus my idea backfired.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The reason is, the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;this.listData.rowIndex&lt;/span&gt; property returns the index of the current row being displayed, not the current index of the ArrayCollection as it is being traversed. So if your DataGrid (or any list control for that matter) is only displaying 4 rows, then the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;rowIndex&lt;/span&gt; property will only have values that go from 0 to 3; but your ArrayCollection might have X items in it, so its index will go from 0 to X - 1. And as the user scrolls the list control, although the rowIndex property will always have a range of 0 to 3, the current items from the ArrayCollection that are being displayed, might be items that have index of 14 to 17.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I still don't know how to resolve this issue, if anyone has any ideas, please let me know.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-2794795443667463577?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/2794795443667463577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=2794795443667463577' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2794795443667463577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/2794795443667463577'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/careful-using-rowindex-in-itemrenderer.html' title='Careful using rowIndex in an itemrenderer'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7065583000142904521</id><published>2009-06-09T20:02:00.004-04:00</published><updated>2009-06-09T20:09:40.892-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><title type='text'>ebuddy.com should run on AIR</title><content type='html'>I have a couple of friends that use &lt;a href="http://www.ebuddy.com"&gt;ebuddy.com&lt;/a&gt; as their IM client at work to stay in touch with friends. I just tried it today and it is a cute little application that is also very useful if you have firewall issues at work that prevent you from using the regular desktop clients. Of course, using this application for a short while I was thinking that this would make a great AIR application.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The advantages would be that would get toaster notifications, use desktop drag'n'drop to share images/files, custom chrome and no browser related issues. This is a perfect example for the AIR use-case, so hopefully they will come around and do it someday.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7065583000142904521?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7065583000142904521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7065583000142904521' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7065583000142904521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7065583000142904521'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/ebuddycom-should-run-on-air.html' title='ebuddy.com should run on AIR'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8776236104885776100</id><published>2009-06-03T20:12:00.011-04:00</published><updated>2009-06-03T20:34:55.818-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Buzy week for Adobe Labs</title><content type='html'>The first week of June has been a buzy one for the &lt;a href="http://labs.adobe.com/"&gt;Adobe Labs web site&lt;/a&gt;, where several new applications have been posted. First and foremost is the beta release of two important development with regards to the Flex community, Flash Builder 4 and Flash Catalyst 1. Yes you read that right, with the next release, Flex Builder has been renamed Flash Builder so that it fits properly under the Flash Platform umbrella. I also believe that the renaming is also a good idea, because too many times in the past people got confused about the cost of Flex, or shall I say Flex Builder. See now you can clearly distinguish between the two and say, the Flex SDK is 100% free and open source, whereas the development tool called Flash Builder is not, it costs XX dollars to purchase for use. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also the first build of Flash Catalyst is available, which is the tool built for designers. Meaning a designer can create the look-and-feel of an application and then pass it on to a developer who will use Flash Builder to add the business functionality and complete the application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another cool thing announced this week is the &lt;a href="http://labs.adobe.com/technologies/browserlab/"&gt;BrowserLab&lt;/a&gt;, a web-based tool that you use to preview a web site you are developing on different browser and OSes, so you can tweak your web site to look the same across the board. The are limited spaces however to try this tool out, so better sign up now if interested.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last, but not least, &lt;a href="http://blog.digitalbackcountry.com/2009/06/building-a-p2p-chat-application-with-adobe-stratus/"&gt;Status &lt;/a&gt;was announced, a framework that allows you to built Flex applications that can incorporate peer-to-peer communications between two Flash Player instances at run-time. I remember seeing this at MAX last year and thought this was one of the cooler demos that were shown. Think of chat application with the server basically.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So like a said, a buzy week indeed :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8776236104885776100?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8776236104885776100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8776236104885776100' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8776236104885776100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8776236104885776100'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/06/buzy-week-for-adobe-labs.html' title='Buzy week for Adobe Labs'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1908954535858923723</id><published>2009-04-26T19:21:00.002-04:00</published><updated>2009-04-26T19:27:44.372-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flexcommon'/><title type='text'>FlexCommon 1.0 library launched</title><content type='html'>Well my first ever venture into open source has happened. I have created a Flex library called &lt;a href="http://flexcommon.googlecode.com/"&gt;FlexCommon&lt;/a&gt; on the GoogleCode web site. This library contains some utility classes and validators which I have been using at work lately and that I wanted to share with the Flex community. It is not much to start, but hopefully I will be adding some more as the months go by and hopefully it will be useful to some of you.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Any feedback is welcomed, but for now, just go download it and use it!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1908954535858923723?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1908954535858923723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1908954535858923723' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1908954535858923723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1908954535858923723'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/04/flexcommon-10-library-launched.html' title='FlexCommon 1.0 library launched'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8575088638597398041</id><published>2009-04-17T12:23:00.003-04:00</published><updated>2009-04-17T12:28:35.097-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex Single Sign On Example (SSO)</title><content type='html'>I already provided a &lt;a href="http://jimmyflex.blogspot.com/2008/10/single-sign-on-sso-with-flex.html"&gt;Single Sign On example &lt;/a&gt;using Flex and BlazeDS last year as a download but now I have put it up on Google Code along with the rest of my examples. In order to access the example go to this site: &lt;a href="http://code.google.com/p/jimmycode/"&gt;http://code.google.com/p/jimmycode/&lt;/a&gt;. It runs on Apache Tomcat and you should be able to check it out and make it run with just a few clicks of the mouse.&lt;br /&gt;&lt;br /&gt;Enjoy and if there are any questions, please don't hesitate to ask.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8575088638597398041?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8575088638597398041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8575088638597398041' title='120 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8575088638597398041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8575088638597398041'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/04/flex-single-sign-on-example-sso.html' title='Flex Single Sign On Example (SSO)'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>120</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4981768865744721939</id><published>2009-03-28T17:51:00.004-04:00</published><updated>2009-03-28T17:56:47.744-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FlashCamp'/><title type='text'>FlashCamp sample code</title><content type='html'>Thanks to all for coming out this past Thursday to the first ever Montreal FlashCamp! It was a great success with a full crowd on hand to take in all the various sessions. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had particuliar fun giving my Flex 101 session and actually was a given a little extra time to make sure I got everything in. It was great fun and got some good feedback, so hopefully I will be able to do this again in the not so distant future. I think most people were interested in my simple LCDS demo which showcased the auto-sync capabilities of the server. For those interested, I have put up the code from that demo at the following site: &lt;a href="http://code.google.com/p/jimmycode/" style="text-decoration: none;"&gt;http://code.google.com/p/jimmycode/&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/3155837776761738886-4981768865744721939?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4981768865744721939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4981768865744721939' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4981768865744721939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4981768865744721939'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/03/flashcamp-sample-code.html' title='FlashCamp sample code'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1066949545854481886</id><published>2009-03-25T19:32:00.003-04:00</published><updated>2009-03-25T19:34:47.843-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Montreal Flash Camp tomorrow</title><content type='html'>Tomorrow is a big day for me, I'll be giving the Flex 101 presentation at the first ever Montreal Flash Camp. Just doing final rehearsals now, so hopefully I will give a good presentation tomorrow :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1066949545854481886?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1066949545854481886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1066949545854481886' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1066949545854481886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1066949545854481886'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/03/montreal-flash-camp-tomorrow.html' title='Montreal Flash Camp tomorrow'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1302077980869360651</id><published>2009-03-25T19:27:00.002-04:00</published><updated>2009-03-25T19:32:09.535-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Loading config settings at run-time</title><content type='html'>Great &lt;a href="http://coenraets.org/blog/2009/03/externalizing-service-configuration-using-blazeds-and-lcds/"&gt;article&lt;/a&gt; by Christopher Coenraets over on his blog about how to loading configuration settings for your application at run-time. I suggest you read the article but in a nutshell, make an HTTPService call to load an XML file with all your configuration settings and voila!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1302077980869360651?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1302077980869360651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1302077980869360651' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1302077980869360651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1302077980869360651'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/03/loading-config-settings-at-run-time.html' title='Loading config settings at run-time'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-7720661849778711060</id><published>2009-03-04T22:15:00.016-05:00</published><updated>2009-03-04T22:37:59.402-05:00</updated><title type='text'>Dis-liking your old code means you are growing</title><content type='html'>At the Ottawa FlashCamp last night I was talking with my friend Stacy Young and both of us noted how we always find that looking at code we wrote 2-3 years ago is always bad. Well, the code obviously works, but we hate the way we actually went about writing the code to accomplish something or to solve a particular problem.&lt;br /&gt;&lt;br /&gt;The way I see it, this is a good thing, it means that as developers we are growing. We are learning from our various experiences and finding better ways to write applications. It means we are researching how others do things and applying new techniques to Flex development. For me it primarily mean looking into how to better unit test my ActionScript code thus making my applications as robust as possible by using some of what I read on Paul William's &lt;a href="http://weblogs.macromedia.com/paulw/"&gt;blog &lt;/a&gt;(Adobe Consulting).&lt;br /&gt;&lt;br /&gt;So if you ever see some old code and think its the best thing you have ever written...start asking yourself some questions :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-7720661849778711060?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/7720661849778711060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=7720661849778711060' title='61 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7720661849778711060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/7720661849778711060'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/03/hate-looking-at-your-own-old-code-means.html' title='Dis-liking your old code means you are growing'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>61</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-3448291912288835044</id><published>2009-03-04T22:08:00.006-05:00</published><updated>2009-03-04T22:15:01.462-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FlashCamp'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Back from Ottawa FlashCamp, looking forward to Montreal one</title><content type='html'>I'm back in Montreal after spending the entire day yesterday in Ottawa and attending FlashCamp at the Adobe offices at night. Was a great evening, saw some cool stuff, like Ryan Stewart demoing Flash Catalyst (Ryan, I hope you found the cigar lounge :) ), my friend Stacy Young doing the Flex 101 session, a look into the future of Flex 4 and some other interesting applications from various individuals.&lt;br /&gt;&lt;br /&gt;And now, the next FlashCamp for me is the one in Montreal later this &lt;a href="http://swfmontreal.eventbrite.com/"&gt;month&lt;/a&gt;. Actually the cool thing about that night is that I will be doing the Flex 101 session! That will be really fun for myself personally since I haven't spoken in public for a while now. Also I might be doing a second session, but that is yet to be determined. So don't forget to sign up if you are from the Montreal region.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-3448291912288835044?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/3448291912288835044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=3448291912288835044' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3448291912288835044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/3448291912288835044'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/03/back-from-ottawa-flashcamp-looking.html' title='Back from Ottawa FlashCamp, looking forward to Montreal one'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-4201116924324911849</id><published>2009-02-08T11:34:00.002-05:00</published><updated>2009-02-08T11:40:34.914-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flexcamp'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Montreal Flash Camp</title><content type='html'>The first ever (as far as  I know) Montreal Flash Camp is taking place next month on exactly March 25, 2009. Click &lt;a href="http://swfmontreal.eventbrite.com/"&gt;here&lt;/a&gt; to register now! The contents of the day are the same as the Ottawa Flash Camp which is taking place earlier in the month.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-4201116924324911849?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/4201116924324911849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=4201116924324911849' title='33 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4201116924324911849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/4201116924324911849'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/02/montreal-flash-camp.html' title='Montreal Flash Camp'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>33</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-1110675396904459770</id><published>2009-02-05T19:40:00.004-05:00</published><updated>2009-02-05T19:42:42.147-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Ottawa Flash Camp (Flex)</title><content type='html'>The lastest FlashCamp event in Ottawa has been announced and will be held on Tuesday, March 5th, 2009. Full details and registration information can be found &lt;a href="http://flashcampfordevelopers.eventbrite.com/"&gt;here&lt;/a&gt;. I will definitely be making the trip from Montreal, as I am interested in seeing Flash Catalyst in action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-1110675396904459770?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/1110675396904459770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=1110675396904459770' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1110675396904459770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/1110675396904459770'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/02/ottawa-flash-camp-flex.html' title='Ottawa Flash Camp (Flex)'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3155837776761738886.post-8387593647882502159</id><published>2009-02-05T19:03:00.014-05:00</published><updated>2009-02-05T19:28:24.219-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Compiled code is bliss</title><content type='html'>In the past couple of days I've working on updating some functionality in one of our legacy apps at work. The app consists of many JSP pages and after making making one must considered minor changes, the Javascript on the page failed to function as it should. I keep getting an error stating that a hidden form field was no longer available. I was using Firebug in hopes of finding the issue and then resorted to looking thru all the HTML with my eyes and couldn't find any missing tags or anything of the sort. Also doing a "view source" was clearly showing me that the hidden form field was indeed there. So what was wrong?&lt;br /&gt;&lt;br /&gt;After looking at the code I changed, I noticed that my IFRAME tag was not being closed with a corresponding IFRAME tag. And that is what cause the Javascript error. Of course nothing told me this was the case, so lost a couple hours of development trying to the root cause of my problem.&lt;br /&gt;&lt;br /&gt;Needless to say in Flex this would have never happened. In Flex Builder, if I would have forgotten a closing tag in some MXML file the editor would have shown it to me right away and I would have corrected it immediately. And for those using only the command line Flex compiler, the same would have happened, the compilation would have failed and the appropriate error message displayed with the exact line number.&lt;br /&gt;&lt;br /&gt;Needless to say compiled code is a bliss :)&lt;br /&gt;&lt;br /&gt;Also, the amount of Java code written to populate HTML Comboboxes is crazy, long live Flex and its data-driven controls, where simple data-binding does wonders. Fewer lines of code, less error prone and thus better productivity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3155837776761738886-8387593647882502159?l=jimmyflex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jimmyflex.blogspot.com/feeds/8387593647882502159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3155837776761738886&amp;postID=8387593647882502159' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8387593647882502159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3155837776761738886/posts/default/8387593647882502159'/><link rel='alternate' type='text/html' href='http://jimmyflex.blogspot.com/2009/02/html-how-i-despise-thee.html' title='Compiled code is bliss'/><author><name>Dimitrios "Jimmy" Gianninas</name><uri>http://www.blogger.com/profile/07799512042728286815</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
