<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Thanks, Mister! &#187; API</title>
	<atom:link href="http://www.thanksmister.com/index.php/archive/tag/api/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thanksmister.com</link>
	<description>Adobe Flex &#38; AIR Development</description>
	<lastBuildDate>Mon, 19 Jul 2010 17:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>SuperImage Redux</title>
		<link>http://www.thanksmister.com/index.php/archive/superimage-redux/</link>
		<comments>http://www.thanksmister.com/index.php/archive/superimage-redux/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 01:20:12 +0000</pubDate>
		<dc:creator>Mister</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Component]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[List]]></category>

		<guid isPermaLink="false">http://thanksmister.com/?p=265</guid>
		<description><![CDATA[I have been meaning for so long to post this code. Some time ago I had the pleasure of working with John Yanarella from Universal Mind. John was helping my employer at the time to put together an application that allows users to upload, manage, and share media assets. We needed an efficient way to [...]]]></description>
			<content:encoded><![CDATA[<p>I have been meaning for so long to post this code.  Some time ago I had the pleasure of working with John Yanarella from <a href="http://universalmind.com/">Universal Mind</a>.  John was helping my employer at the time to put together an application that allows users to upload, manage, and share media assets.   We needed an efficient way to cache and display images to optimize the performance of loading and viewing a large number of thumbnails.  </p>
<p><strong>SuperImage</strong></p>
<p>Last year Ely Greenfield posted on his blog <a href="http://www.quietlyscheming.com/blog/">QuietlyScheming</a> a way to end images from flickering when you display them in a Flex List control.   Ely created a new component called <a href="http://www.quietlyscheming.com/blog/2007/01/23/some-thoughts-on-doubt-on-flex-as-the-best-option-orhow-i-made-my-flex-images-stop-dancing/">SuperImage</a> that replaces the Flex Image control.  SuperImage fixes a few issues with the current Image control layout in addition to adding the ability to cache loaded images to stop them from constantly reloading (causing the flicker when scrolling a list).    </p>
<p><strong>SuperImage Update</strong></p>
<p>In our project we wanted use SuperImage, but what we wanted was for SuperImage to behave more like the Flex Image control. Specifically we wanted the control to broadcast the same standard events as the Image control; ioError, securityError, imageComplete, progress, completem, completeEffect.  The new SuperImage also implements IDataRenderer, IDropInListItemRenderer, and IListItemRenderer interfaces.   John Yanarella did a great job cleaning up the SuperImage control and add the missing functionality.  We ended up not using the SuperImage and instead used a simpler implementation for caching the Image control.</p>
<p><span id="more-265"></span></p>
<p><strong>Example</strong></p>
<p>Below is an example similar to <a href="http://www.quietlyscheming.com/blog/2007/01/23/some-thoughts-on-doubt-on-flex-as-the-best-option-orhow-i-made-my-flex-images-stop-dancing/">Ely&#8217;s SuperImage</a> that demonstrates the problem (on the left) with the Image control and the fix (on right) using the updated SuperImage.   This example also shows a text dump of events broadcast from the new SuperImage control.</p>
<div id="flexapp">
        <object type="application/x-shockwave-flash" id="superimage" data= "http://thanksmister.com/examples/superimage/superimageredux.swf" width="640" height="540"><param name="movie" value= "http://thanksmister.com/examples/superimage/superimageredux.swf" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /></object>
</div>
<p><strong>Limitations</strong></p>
<p>One thing the updated SuperImage still lacks is the ability to display loaded SWF files.  Since our company never used the code in any project and it was based on Ely&#8217;s code, I thought it only fair to repost the update and the code for everyone to use as needed.   If anyone has an further updates to the code or suggestions to fix the SWF loading issue, please post them here and I will continue to update the component.   </p>
<p><strong>Code</strong></p>
<p>You can download the code for the above project <a href="http://thanksmister.com/examples/superimage/superimageredux.zip">here</a>.  You will need your own <a href="http://www.flickr.com/services/">Flickr API</a> key to make the application work.   Be sure to also read Ely&#8217;s original <a href="http://www.quietlyscheming.com/blog/2007/01/23/some-thoughts-on-doubt-on-flex-as-the-best-option-orhow-i-made-my-flex-images-stop-dancing/">post</a> to see the other benefits of SuperImage.  Many thanks to John Yanarella who actually did the coding on the project, I finally posted it as I promised him many months ago <img src='http://www.thanksmister.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>-Mister</p>
<p><map name='google_ad_map_265_1452acacd61817fb'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/265?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_265_1452acacd61817fb' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=265&amp;url= http%3A%2F%2Fwww.thanksmister.com%2Findex.php%2Farchive%2Fsuperimage-redux%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.thanksmister.com/index.php/archive/superimage-redux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Xdrive AS3 Library</title>
		<link>http://www.thanksmister.com/index.php/archive/xdrive-as3-library/</link>
		<comments>http://www.thanksmister.com/index.php/archive/xdrive-as3-library/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 22:25:41 +0000</pubDate>
		<dc:creator>Mister</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://thanksmister.com/?p=89</guid>
		<description><![CDATA[I have not posted in a long long while it seems. That would be nice if I were just hanging out on a beach some place. However, I have been busy doing lots of things for work and working on a new AS3 library. I have been developing for the past few months an AS3 [...]]]></description>
			<content:encoded><![CDATA[<p>I have not posted in a long long while it seems. That would be nice if I were just hanging out on a beach some place. However, I have been busy doing lots of things for work and working on a new AS3 library.</p>
<p>I have been developing for the past few months an AS3 library (<a title="as3xdrivelib" href="http://code.google.com/p/as3xdrivelib/" target="_blank">as3xdrivelib</a>) wrapper for the <a href="http://dev.aol.com/api/xdrive">Open Xdrive JSON API</a>.  Xdrive is an online storage platform and they offer a free JSON API for developers to create storage and other types of applications upon their service.   With Xdrive, each user gets a 5GB account for free, with additional costs for more storage.</p>
<p>I finally got around to making an AS3 library that wraps much of the Xdrive API and abstracts the inner workings from those developing Flex, AIR, or Flash applications.  The Xdrive API is extremely rich, it offers ways for users to share folders, collaborate on shared collections (look for a later post and application on this feature), and publish assets.  However,  main part of the platform is file management. </p>
<p><span id="more-89"></span></p>
<p>I have placed the library on Google Coders and included a Flex sample application for doing some basic operations with Xdrive. You just need an Xdrive account to start using the library.  I am hoping this helps developers starts to build some cool applications using the Xdrive plaform. Along with the library, I included an example application called Xdrive SlimDrive, which demonstrates the basic functionality for doing file management and shows how to work with the library.</p>
<p>===============<br />
as3xdrivelib<br />
===============</p>
<p>The as3xdrivelib project is a wrapper for the Open Xdrive JSON API. It provides much of the client-side functionality for applications; for example, authentication, uploading files, sharing files, and basic file management.</p>
<p>Project Page: <a href="http://code.google.com/p/as3xdrivelib">http://code.google.com/p/as3xdrivelib</a><br />
Project Group: <a href="http://groups.google.com/group/as3xdrivelib">http://groups.google.com/group/as3xdrivelib</a></p>
<p>Authors: Michael Ritchie, Maria Vazquez, Lucas McGregor, Joe Provost<br />
Dependencies: corelib (<a href="http://code.google.com/p/as3corelib">http://code.google.com/p/as3corelib</a>)</p>
<p><strong>How to use the as3xdrivelib with Cairngorm.</strong></p>
<p>I didn&#8217;t get a chance to post this to the Google Code, but I wanted to show a quick login example that uses the library with Cairngorm. The following example uses a very simplistic login screen with a Cairngorm Event/Command/Delegate to login to a users Xdrive account.  The example is pretty straight forward if you know Cairngorm already.  There are some things to notice in the Delegate and Command.  In the Delegate, notice how the I setup the delegate to use the as3xdrivelib as a service and how I mapped the events back to the command.</p>
<p><div class="codecolorer-container actionscript mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> login<span style="color: #66cc66;">&#40;</span>user:User<span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span> &nbsp;<span style="color: #66cc66;">&#123;</span> &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">var</span> token : XdriveAPIToken = service.<span style="color: #006600;">login</span><span style="color: #66cc66;">&#40;</span>user<span style="color: #66cc66;">&#41;</span>; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp;token.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>XdriveAPIEvent.<span style="color: #006600;">API_RESULT</span>, responder.<span style="color: #006600;">result</span><span style="color: #66cc66;">&#41;</span>; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp;token.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>XdriveAPIEvent.<span style="color: #006600;">API_FAILURE</span>, responder.<span style="color: #006600;">fault</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></td></tr></tbody></table></div>
</p>
<p>In the Command notice how I map the payload (user) on the API result to the Model.  This is explained in the documentation for the library, but basically the payload contains a return variable(s) name on the payload event that almost always represents the object you send to the library method. </p>
<p><div class="codecolorer-container actionscript mac-classic" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> result<span style="color: #66cc66;">&#40;</span> event : <span style="color: #0066CC;">Object</span> <span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span> &nbsp; &nbsp; &nbsp; &nbsp; <br />
<span style="color: #66cc66;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">var</span> resultEvent : XdriveAPIEvent = XdriveAPIEvent<span style="color: #66cc66;">&#40;</span>event<span style="color: #66cc66;">&#41;</span>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;model.<span style="color: #006600;">user</span> = resultEvent.<span style="color: #006600;">payload</span>.<span style="color: #006600;">user</span> as User; <span style="color: #808080; font-style: italic;">// store value in model for binding &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><br />
<span style="color: #66cc66;">&#125;</span></div></td></tr></tbody></table></div>
<p><a href="http://thanksmister.com/examples/xdrivelogincairngorm/main.html">Example File</a> (right-click to view source/download)</p>
<p><strong>Update</strong></p>
<p>AOL killed Xdrive and so the API is also dead, code still available but its not defunct and won&#8217;t work with Xdrive.   Thanks AOL for killing yet another good product. </p>
<p>- Mister</p>
<p><map name='google_ad_map_89_1452acacd61817fb'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/89?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_89_1452acacd61817fb' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=89&amp;url= http%3A%2F%2Fwww.thanksmister.com%2Findex.php%2Farchive%2Fxdrive-as3-library%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.thanksmister.com/index.php/archive/xdrive-as3-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Share</title>
		<link>http://www.thanksmister.com/index.php/archive/adobe-share-why/</link>
		<comments>http://www.thanksmister.com/index.php/archive/adobe-share-why/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 15:26:29 +0000</pubDate>
		<dc:creator>Mister</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex News]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Share]]></category>

		<guid isPermaLink="false">http://thanksmister.com/?p=76</guid>
		<description><![CDATA[Adobe recently launched a new beta application called Share that allows you to upload and share files.&#160; You can share file to a rostered list, the URL to the file, or embed the file on your web page (as I have done below).&#160;&#160;&#160;Adobe also&#160;has a Share API that uses simple REST-based protocol for developers to [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe recently launched a new beta application called <a href="http://labs.adobe.com/technologies/share/" target="_blank">Share</a> that allows you to upload and share files.&nbsp; You can share file to a rostered list, the URL to the file, or embed the file on your web page (as I have done below).&nbsp;&nbsp;&nbsp;Adobe also&nbsp;has a <a href="http://labs.adobe.com/wiki/index.php/Share">Share API</a> that uses simple REST-based protocol for developers to build their own applications or mashups with using Share.&nbsp;&nbsp; I wasn&#8217;t clear from the documentation how the commercial pricing will work or if building an application for others to manage or share their files will count against your account or bandwidth.&nbsp; In fact, I am not sure what the pricing schema is for Share.&nbsp; </p>
<p></font></p>
<p>Another puzzling thought is why did Adobe develop share to begin with?&nbsp;&nbsp; You have a lot of existing vendors in the storage service provider arena already, in fact, you have many that use Adobe&#8217;s existing software to develop tools around storage and sharing.&nbsp; So it is strange that a software company decided to compete with companies that already use its software to provide the same service (<a href="http://www.bluestring.com" target="_blank">Bluestring</a> by AOL is one example).&nbsp;&nbsp; Does this mean that Adobe intends to become an online service for storage, document editing (<a href="http://www.adobe.com/special/buzzword/faq.html" target="_blank">Buzzword</a>) and media editing (<a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200702/022107Photobucket.html" target="_blank">Remix</a>&nbsp;and <a href="http://www.techcrunch.com/2007/09/07/adobes-online-image-editor-previewed/" target="_blank">Photoshop Express</a>)?&nbsp;&nbsp; </p>
<p>I mean, its cool that the applications Adobe&nbsp;builds use their own software (Flex, Flash, etc.), but when they start competing with other companies using also using Adobe software to provide&nbsp; similar services (aka, the bread and butter of those organizations), then I am wondering what will be the outcome? Is Adobe to&nbsp;become a huge conglomerate that not only provides services and software, but competes with its own food source for resources? What&#8217;s next, Adobe phones?&nbsp; Of course I am joking.&nbsp; I love Adobe and I love their products.&nbsp; I guess as&nbsp;Flex developer, I&#8217;m just comfortable with Adobe providng me with the tools to create applications and not competing with the tools I create. &nbsp;I could totally be misreading this move by Adobe, which is most likely the case (I say this so that a big black panel&nbsp;van with tinted windows&nbsp;doen&#8217;t pull up beside me one day and take me away). </p>
<p>Well, time will tell for sure.&nbsp; The storage business is extremely expensive (bandwidth,&nbsp;banks of servers)&nbsp;and there&nbsp;are a lot of established companies already out there with storage and sharing services that offer more space and possibly a lower cost (<a href="http://xdrive.com" target="_blank">Xdrive</a>, <a href="http://box.net" target="_blank">Box</a>, <a href="http://mozy.com" target="_blank">Mozy</a>, <a href="http://bluestring.com" target="_blank">Bluestring</a>, <a href="http://aws.amazon.com/s3" target="_blank">Amazon S3</a>) with sharing capabilities and API&#8217;s.&nbsp; For now, the Share API looks to be a simple to use and easy service providing minimal sharing capabilities and less complexity than some other API&#8217;s.&nbsp; </p>
<p><map name='google_ad_map_76_1452acacd61817fb'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/76?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_76_1452acacd61817fb' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=76&amp;url= http%3A%2F%2Fwww.thanksmister.com%2Findex.php%2Farchive%2Fadobe-share-why%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.thanksmister.com/index.php/archive/adobe-share-why/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bluestring Flex application launches at Techcrunch40</title>
		<link>http://www.thanksmister.com/index.php/archive/bluestringcom-launches/</link>
		<comments>http://www.thanksmister.com/index.php/archive/bluestringcom-launches/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 23:03:01 +0000</pubDate>
		<dc:creator>Mister</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex News]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[TechCrunch40]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://thanksmister.com/?p=72</guid>
		<description><![CDATA[I just arrived at Techcrunch40 as AOL prepares to launch a brand new Flex application our team has been working on for the past few months (though it seems like years). Our group is releasing an application called Bluestring that allow users&#160;upload, share, and&#160;make&#160;&#8221;creations&#8221;.&#160;&#160;Bluestring also offers&#8217;s users the ability to pull assets from&#160;other online services [...]]]></description>
			<content:encoded><![CDATA[<p>I just arrived at Techcrunch40 as AOL prepares to launch a brand new <a href="http://www.adobe.com/products/flex/" target="_blank">Flex</a> application our team has been working on for the past few months (though it seems like years). Our group is releasing an application called <a href="http://www.bluestring.com">Bluestring</a> that allow users&nbsp;upload, share, and&nbsp;make&nbsp;&#8221;creations&#8221;.&nbsp;&nbsp;Bluestring also offers&#8217;s users the ability to pull assets from&nbsp;other online services into their creations without actually moving&nbsp;the files into their Bluestring account.&nbsp;&nbsp; We&nbsp;reference the files from aggregated sources and save that to the RSS&nbsp;that is feeding our&nbsp;embedded Flash player.&nbsp;&nbsp;&nbsp;</p>
<p><a href="http://www.flickr.com/photos/thanksmr/1403687167/" title="Just arrived at Techcrunch40 by thanksmr, on Flickr"><img src="http://farm2.static.flickr.com/1257/1403687167_cf3e17ca24.jpg" width="500" height="400" alt="Just arrived at Techcrunch40" /></a> </p>
<p>Yep, that is me <img src='http://www.thanksmister.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Bluestring represents the second enterprise level Flex application launched by our team in the last year. The reason I mention Enterprise is because there are a lot of really cool Flex applications out there, but Bluestring is built, and tested to withstand time and traffic of millions of users.&nbsp; You don&#8217;t need an AOL account to sign up for Bluestring, probably for the first time you can use whatever email account you already have to register.&nbsp; Though Bluestring is a beta, its still offers robust file management and sharing capabilities.&nbsp; This is because we built Bluestring is built entirely upon the <a href="http://dev.aol.com/xdrive_api">Xdrive Open API</a>&nbsp;which offers a lot of different ways to share.&nbsp; This also means that any media file you upload to your Xdrive account will show up in Bluestring, and vice versa.&nbsp;&nbsp; </p>
<p>&nbsp;<a href="http://www.flickr.com/photos/thanksmr/1398606598/" title="AOL booth at Techcrunch40 by thanksmr, on Flickr"><img src="http://farm2.static.flickr.com/1169/1398606598_01e2fd6187.jpg" width="500" height="400" alt="AOL booth at Techcrunch40" /></a> </p>
<p>The AOL Techcrunch40 Booth.&nbsp; </p>
<p>Your Bluestring files and creations can be shared privately, publicly, or even as a collaborate show with rostered list of users.&nbsp;&nbsp;Users can contribute to a &#8220;String It&#8221; creation from their own accounts and then pass that creation to a friend to add his/her own media.&nbsp;&nbsp; People editing the show can rearrange and even delete other peoples content, but it never wipes it from that persons account.&nbsp; Items within shows are referenced back to either the aggregated sources or to other Bluestring accounts. </p>
<p><a href="http://www.flickr.com/photos/thanksmr/1403703923/" title="Bluestring.com launches by thanksmr, on Flickr"><img src="http://farm2.static.flickr.com/1217/1403703923_60019bb500.jpg" width="500" height="400" alt="Bluestring.com launches" /></a>
<p>Our team presenting Bluestring to the Techcrunch audience.</p>
<p>I am very proud of this product, it was certainly a lot of Flex coding by both myself and Larry (the other Flex dude working for AOL in Beverly Hills with me).&nbsp; Something nice about Bluestring is that the graphics used were almost entirely vector graphics in a single Flash 9 library.&nbsp;&nbsp; This gives&nbsp;Bluestring the appearance of not appearing like every other Flex application on the market (with the exception of Picnik, which&nbsp;I adore). &nbsp; The graphics were mostly imported as PNG files saved from Photoshop while others were imported from Illustrator (simple copy/paste).&nbsp; All the images were then converted to Flash vector graphics and given instance names within the library.&nbsp; The CSS file and a shared assets class file referenced the instance names within the SWF.&nbsp; </p>
<p>We also used about 15 different Flex&nbsp;modules using the new&nbsp;Flex&nbsp;&lt;mx:Module&gt; tag introduced in Flex&nbsp;2.01.&nbsp;&nbsp;Each module&nbsp;gets loaded as the user navigates through the major views. Modules really slimmed down the size of the application and decreased the initial load time.&nbsp;&nbsp;However,&nbsp;it was a bit challenging at first devising a method of using modules with Cairngorm, but I think we have a really proven method that I might talk about in future posts.&nbsp;&nbsp; Most of the text within Bluestring resides in a single external xml file that can eventually be localized into different languages.&nbsp; The XML file is loaded at runtime before any of the graphics libraries or modules are loaded, making sure the text is ready before we load any views that bind to the text in the model. </p>
<p>I will be working to post some more code samples and components that we use for Bluestring in upcoming posts as time permits.&nbsp; We also have some new items coming down the pipe for AIR.&nbsp;&nbsp; For those of you interested, please check our the presentation&nbsp;<a href="http://www.fitc.ca/speaker_detail.cfm?festival_id=21&amp;speaker_id=10574" target="_blank">Larry</a> and <a href="http://www.fitc.ca/speaker_detail.cfm?festival_id=21" target="_blank">I</a> will be giving&nbsp;at the upcoming <a href="http://www.fitc.ca/event_detail.cfm?festival_id=21" target="_blank">FITC Hollywood</a>&nbsp;called <a href="http://www.fitc.ca/presentation_detail.cfm?festival_id=21&amp;presentation_id=541" target="_blank">Concepts on AIR</a>.</p>
<p>For those of you at the last 360Flex conference, you now know what the Bluestring <a href="http://www.360conferences.com/360flex/2007/09/360flex-had-bluestring-before.html">lanyards</a> around your necks means. Due to some legal reasons and duct tape, we were unable to talk about Bluestring when we were at 360Flex. Maybe next year when 360Flex comes to Los Angeles???? we can talk about other products we are working on <img src='http://www.thanksmister.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>-Mister</p>
<p><map name='google_ad_map_72_1452acacd61817fb'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/72?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_72_1452acacd61817fb' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=72&amp;url= http%3A%2F%2Fwww.thanksmister.com%2Findex.php%2Farchive%2Fbluestringcom-launches%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.thanksmister.com/index.php/archive/bluestringcom-launches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
