<?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>noCreativity.com &#187; Download</title>
	<atom:link href="http://nocreativity.com/blog/tag/download/feed" rel="self" type="application/rss+xml" />
	<link>http://nocreativity.com</link>
	<description>The life and discoveries of a new media artist</description>
	<lastBuildDate>Sat, 07 Jan 2012 17:03:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Dooodl 1.1 released</title>
		<link>http://nocreativity.com/blog/dooodl-1-1-released</link>
		<comments>http://nocreativity.com/blog/dooodl-1-1-released#comments</comments>
		<pubDate>Thu, 24 Feb 2011 06:30:38 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Dooodl]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[you can haz Dooodl too]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=1199</guid>
		<description><![CDATA[It took a little over a year, but it&#8217;s finally here: Dooodl 1.1.0 1.1.1 is a fact! What has been done? You can now manage the Dooodl&#8217;s that were submitted to your blog. I even went one better: There&#8217;s now an option that enables you to first approve Dooodls before they appear on the site. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2011/02/demo.jpg"><img class="alignnone size-full wp-image-1201" title="Dooodl" src="http://nocreativity.com/blog-engine/wp-content/uploads/2011/02/demo.jpg" alt="" width="580" height="282" /></a></p>
<p>It took a little over a year, but it&#8217;s finally <a href="http://wordpress.org/extend/plugins/dooodl/" target="_blank" target="_blank">here</a>: Dooodl <span style="text-decoration: line-through;">1.1.0</span> 1.1.1 is a fact!<br />
What has been done?</p>
<ul>
<li>You can now manage the Dooodl&#8217;s that were submitted to your blog.</li>
<li>I even went one better: There&#8217;s now an option that enables you to first approve Dooodls before they appear on the site.</li>
<li> You can choose to get an email everytime a new Dooodl is submitted (with links to approve, disapprove or delete the new Dooodl)</li>
<li>Your blog, your style: You can make the Flash Gallery and the HTML gallery look exactly the way you want (well, you can choose the colors <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</li>
<li>What&#8217;s better than choosing the colors of the gallery? Being able to completely edit the look of the widget so it fits into your theme perfectly!</li>
<li>Don&#8217;t like the Flash gallery? Disable it in the Dooodl settings. Hurray for Flash-haters!</li>
<li>Previous versions would load all Dooodls at once. That is now <em>history</em>: I added endless scrolling to the HTML version: People with lots of Dooodls will have less trouble showing the HTML version from now on.</li>
</ul>
<p>I&#8217;m really excited about this release because Dooodl has now finally grown up. It&#8217;s able to fit in to your theme using the different options.<br />
It finally fits your philosophy too as from now on you can choose to moderate them!</p>
<p>If you haven&#8217;t got Dooodl yet, but this release sparks some love for a fun plugin, I&#8217;d say: <a href="http://wordpress.org/extend/plugins/dooodl/stats/ " target="_blank" target="_blank">Go get it</a>! It&#8217;s free and it will be a good laugh. <strong>More than 4200 downloads</strong> can&#8217;t be wrong!</p>
<p>Oh and by the way: I wanted to take a moment and thank every single one of you guys for downloading and installing the plugin! Seeing that many people use something I created really excites me to make things even better! Thanks for the continuous support and suggestions! You guys rock!</p>
<p>And as always, if you have problems, suggestions, questions: Go crazy in the comments! Drop me a line if you like it! I&#8217;d love to see how it looks/works on your site!</p>
<p>Enjoy!</p>
<p><strong>[Update]</strong></p>
<p>A few people commented they didn&#8217;t get the widget to show up in the sidebar automatically. That&#8217;s because you need to add it to the sidebar yourself. But don&#8217;t worry: It&#8217;s easy!</p>
<ul>
<li>Go to the WP-admin</li>
<li>Go to the Appearance panel</li>
<li>Select the Widgets-submenu</li>
<li>Drag the Dooodl-widget into your sidebar</li>
<li>Done. Ready. Finito. Party!!!</li>
</ul>
<p>If you don&#8217;t see a sidebar in your widget-manager, it means your theme is not widget ready. In that case you can use the Dooodl PHP template tags, somewhere in your theme (yes I really thought of everything!) where you&#8217;d like the widget to show up. Use this code:</p>
<p><code>&lt;? if (function_exists("Dooodl_widget")) Dooodl_widget(); ?&gt;</code></p>
<p>There you go! Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/dooodl-1-1-released/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Creating worlds</title>
		<link>http://nocreativity.com/blog/creating-worlds</link>
		<comments>http://nocreativity.com/blog/creating-worlds#comments</comments>
		<pubDate>Mon, 21 Feb 2011 18:26:09 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Cinema4D]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Background]]></category>
		<category><![CDATA[Cinema 4D]]></category>
		<category><![CDATA[City kit]]></category>
		<category><![CDATA[graphic]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[GreyscaleGorilla]]></category>
		<category><![CDATA[motion]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=1188</guid>
		<description><![CDATA[Actually it&#8217;s more like &#8216;creating cities&#8217;&#8230; A few days ago, Nick Campbell finally released the much awaited GSG City Kit. This kit is an Xpresso powered rig for Cinema4D that allows you to build very high detail cities in minutes. Check out this link if you wish to see a demo about it. Nick wrote [...]]]></description>
			<content:encoded><![CDATA[<p>Actually it&#8217;s more like &#8216;creating cities&#8217;&#8230; A few days ago, <a href="http://greyscalegorilla.com/blog/" target="_blank" target="_blank">Nick Campbell</a> finally released the much awaited <a href="http://greyscalegorilla.com/citykit/" target="_blank" target="_blank">GSG City Kit</a>. This kit is an Xpresso powered rig for Cinema4D that allows you to build very high detail cities in minutes. Check out <a href="http://greyscalegorilla.com/blog/2011/02/city-kit-for-cinema-4d-demo" target="_blank" target="_blank">this link</a> if you wish to see a demo about it. Nick wrote about this for months and I&#8217;ve been waiting to get my hands on this ever since the first time back in September! So when it came out, I immediately got it and checked it out. Yesterday I decided to make a desktop background using the kit and this is what I came up with.</p>
<p><a href="http://nocreativity.com/blog/wp-content/plugins/download-monitor/download.php?id=11"><img class="alignnone size-full wp-image-1190" title="city_preview" src="http://nocreativity.com/blog-engine/wp-content/uploads/2011/02/city_preview.jpg" alt="" width="580" height="300" /></a></p>
<p><strong>Download this background</strong></p>
<ul>
<li>1920 x 1200 version: <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=11" title="CIty BG 1920 - Downloaded 257 times">Click</a></li>
<li>Dual 1920 x 1200: <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=12" target="_blank">LEFT</a> and <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=13" target="_blank">RIGHT</a></li>
</ul>
<p>The City Kit is absolutely amazing! It&#8217;s so powerful and the amount of detail is immense. Pretty unbelievable! If you were wondering wether to get it or not: I can assure you, you won&#8217;t regret it if you do <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
I had a great time setting up the city the way I liked it and then start making photos from any angle that I fancied (there&#8217;s more to come <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). In the end I spent most of the time in Photoshop making it look less generated and more realistic. I&#8217;m quite pleased with the result.</p>
<p>Do you like it? Or do you think it looks like absolute crap? You don&#8217;t like the pink tones? Would you like your pet&#8217;s name spelled in the clouds? Does it need a blimp (I&#8217;m looking at you, <a href="http://twitter.com/MrBrightSky/status/39668720834052096" target="_blank" target="_blank">Davy</a> )? Let me know what you think about it! I&#8217;d love to hear your feedback/suggestions on this.</p>
<p>Have a nice day!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/creating-worlds/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spread the word, an iPad app built in Flash!</title>
		<link>http://nocreativity.com/blog/spread-the-word-an-ipad-app-built-in-flash</link>
		<comments>http://nocreativity.com/blog/spread-the-word-an-ipad-app-built-in-flash#comments</comments>
		<pubDate>Wed, 01 Sep 2010 16:35:28 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Red5]]></category>
		<category><![CDATA[3.3.1]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[cydia]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[jailbroken]]></category>
		<category><![CDATA[spread the word]]></category>
		<category><![CDATA[spread the word for ipad]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=1098</guid>
		<description><![CDATA[Near the end of June, I started a little experiment, just for fun, which would just immitate fridge magnets. I wanted to make it a multi-user experience. So everybody hitting the page would see the changes that are being made realtime. I built the first version and was quite happy. But a few days ago, it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://spreadtheword.nocreativity.com"><img class="alignnone size-full wp-image-1099" title="spreadTheWord" src="http://nocreativity.com/blog-engine/wp-content/uploads/2010/09/spreadTheWord.jpg" alt="" width="580" height="280" /></a></p>
<p>Near the end of June, I started a little experiment, just for fun, which would just immitate fridge magnets. I wanted to make it a multi-user experience. So everybody hitting the page would see the changes that are being made realtime. I built the first version and was quite happy.</p>
<p>But a few days ago, it struck me: I can just use the code I used for that experiment and port it to the iPad using the iPhone Packager (which comes with Flash CS5). So I did!</p>
<p>Although I had to change some of the code (loading settings files, etc), I was actually able to build this application rather quickly. I also added a multi-room feature, so everybody can have their own <em>fridge</em> with magnets <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
So you can now actually leave your boy/girlfriend a message on a virtual <em>fridge </em>(with no food in it) and then mail him/her the link! He/She can then rearrange the letters and leave you a message in return; Fridge-magnet style! That&#8217;s geeky, right!? <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<h3>About the application</h3>
<p>&#8216;Spread the word&#8217; is both an iPad and a browser application.<br />
The clients are built using Flash Builder (for the browser app) and Flash CS5 (iPad app). The multi-user support is a Red5 application.</p>
<h3><strong>&#8216;Spread the word&#8217; online</strong></h3>
<p>You can view the application in the browser by hitting the following URL:</p>
<p><a href="http://spreadtheword.nocreativity.com" target="_blank">http://spreadtheword.nocreativity.com</a></p>
<p>If you want to have your own <em>fridge</em>, just add &#8216;?myOwnFridge&#8217; (replace &#8216;<em>myOwnFridge</em>&#8216; with a name of your choice). For example</p>
<ul>
<li><a href="http://spreadtheword.nocreativity.com?test" target="_blank">http://spreadtheword.nocreativity.com?test</a></li>
<li><a href="http://spreadtheword.nocreativity.com?mySecretRoom" target="_blank" target="_blank">http://spreadtheword.nocreativity.com?mySecretRoom</a></li>
<li><a href="http://spreadtheword.nocreativity.com?imOnAHorse" target="_blank" target="_blank">http://spreadtheword.nocreativity.com?imOnAHorse</a></li>
</ul>
<h3>&#8216;Spread the word&#8217; for iPad</h3>
<p>Currently the iPad application is only available though my Cydia repo. I will however be trying to get it into the Apple App Store (I know about <a href="http://nocreativity.com/blog/section-3-3-1-fuck-off-devs" target="_blank">3.3.1</a>, I&#8217;m still giving it a shot <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ). The app also supports rooms, so feel free to go crazy (but be nice, there&#8217;s kids on the internet <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )<span id="more-1098"></span></p>
<p>If you want to install the iPad application you need a jailbroken iPad. If you haven&#8217;t added my repository to your Cydia sources yet, follow these instructions:</p>
<ol>
<li>Open Cydia on your jailbroken iPad</li>
<li>Go to the &#8216;Manage&#8217; tab</li>
<li>Tap &#8216;Sources&#8217;</li>
<li>Tap &#8216;Edit&#8217; in the upper right corner</li>
<li>Tap &#8216;Add&#8217; in the upper left corner</li>
<li>Fill in the following URL: &#8216;http://nocreativity.com/cydia&#8217;</li>
<li>Tap &#8216;Add source&#8217;</li>
<li>You&#8217;re done!</li>
</ol>
<p>To install Spread The Word for iPad, do this:</p>
<ol>
<li>Open Cydia on your jailbroken iPad</li>
<li>Go to the &#8216;Sections&#8217; tab</li>
<li>Find the &#8216;noCreativity&#8217; section</li>
<li>Tap on the application (there&#8217;s only one in that list right now, so you can&#8217;t do anything wrong from this point on <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</li>
<li>Tap &#8216;install&#8217; in the upper right corner</li>
<li>Tap &#8216;Confirm&#8217; in the upper right corner</li>
<li>When the installation is done, exit Cydia. Spread the word should be installed now. Have fun!</li>
</ol>
<h3>Credits</h3>
<p>Eventhough I created this app myself, I owe a big thank you to <a href="http://www.etsy.com/shop/evgie" target="_blank" target="_blank">Eugenia Furman</a> for letting me use her beautiful letters. Those are actually real letters, which she created herself. They&#8217;re for sale on Etsy. They&#8217;re really awesome. Make sure you go and check out <a href="http://www.etsy.com/shop/evgie" target="_blank" target="_blank">her other work</a>. I totally love it!<strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/spread-the-word-an-ipad-app-built-in-flash/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>We &lt;3 it dashboard widget</title>
		<link>http://nocreativity.com/blog/we-heart-it-dashboard-widget</link>
		<comments>http://nocreativity.com/blog/we-heart-it-dashboard-widget#comments</comments>
		<pubDate>Thu, 08 Apr 2010 13:06:07 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[We heart it]]></category>
		<category><![CDATA[Widget]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=983</guid>
		<description><![CDATA[For the longest time I wanted to join We &#60;3 it (Beware, there happens to be a lot of nudity in my stream&#8230; What can I say: I love women ). A few days ago I finally did. I like the simplicity of the site and the concept of it. Whatever you run into: If [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-984" title="default" src="http://nocreativity.com/blog-engine/wp-content/uploads/2010/04/default.png" alt="" width="220" height="129" />For the longest time I wanted to join <a href="http://weheartit.com/" target="_blank" target="_blank">We &lt;3 it</a> (Beware, there happens to be a lot of nudity in my stream&#8230; What can I say: I love women <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  ). A few days ago <a href="http://weheartit.com/Ronny" target="_blank" target="_blank">I finally did</a>. I like the simplicity of the site and the concept of it. Whatever you run into: If you like it, you can <em>heart</em> it! Simple.</p>
<p>Since I&#8217;m such a sucker for &#8216;<em>b</em><em>eauty in one frame</em>&#8216; I happen to <em>heart</em> a lot of stuff. That&#8217;s where the <em>We &lt;3 it</em> <a href="http://" target="_blank" target="_blank">bookmarklet</a> comes in handy. I love that thing! It&#8217;s probably my most clicked bookmark in the past few days. However, I noticed quickly that this bookmarklet does not come without any bugs&#8230; Only part of the images in a page were &#8216;<em>heartable</em>&#8216;. And what is even more annoying: when I run into a cool picture in one of my RSS feeds I have to open the URL before I can (try to) submit it using the bookmarklet.</p>
<p>So that workflow kinda didn&#8217;t suit me&#8230; I figured I could create an OSX dashboard widget that fixes this problem&#8230; So I did.</p>
<p><span id="more-983"></span>It&#8217;s simple: If somewhere you run into an image that is served from the web, you just drag the image (from your webbrowser, your RSS feed, your email client, your IM client, etc) into your dashboard, drop it on the widget&#8230; <em>Magic happens</em>&#8230; and it&#8217;s <em>hearted</em>!</p>
<p>It&#8217;s simplicity in a box! I love simple! Simple is good!<br />
Anyway: I thought I might share this with you, guys and girls. Some of you might actually have use for this, too.</p>
<p><strong>Download</strong>:  <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=8" title="We Heart It dashboard widget - Downloaded 191 times">Click</a></p>
<p>Notes:</p>
<ol>
<li>Submitting images using this widget results in entry titles taken from the filenames of the images you drop onto the widget.</li>
<li>The source (blogpost, article, Flickr set, etc) of the file will never point to the actual page where the image originally resides. It will point straight to the original image location.</li>
</ol>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/we-heart-it-dashboard-widget/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fixing the NetStatusEvent.info.code ugliness in Actionscript 3</title>
		<link>http://nocreativity.com/blog/fixing-the-netstatusevent-info-code-ugliness-in-actionscript-3</link>
		<comments>http://nocreativity.com/blog/fixing-the-netstatusevent-info-code-ugliness-in-actionscript-3#comments</comments>
		<pubDate>Sun, 21 Mar 2010 14:06:42 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[NetStatusEvent]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=921</guid>
		<description><![CDATA[Everything in AS3 is pretty straight forward once you get your head around it but the guys at Adobe seem to have become sloppy when they wrote the NetstatusEvent structure. Ever since I got started with Red5, remote shared objects and all kind of different remote animals about 3 years ago, I ran into this [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-931 alignleft" title="Actionscript " src="http://nocreativity.com/blog-engine/wp-content/uploads/2010/03/Picture-1041.jpg" alt="" width="178" height="151" />Everything in AS3 is pretty straight forward once you get your head around it but the guys at Adobe seem to have become sloppy when they wrote the NetstatusEvent structure.<br />
Ever since I got started with Red5, remote shared objects and all kind of different remote animals about 3 years ago, I ran into this ugly &#8216;<em>NetstatusEvent.info.code</em>&#8216; thing which is basically just a string. In order to know which one it is you have to use a switch statement to figure this out using real strings (instead of class constants) (which looks like the following).</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onNetStatus<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">NetStatusEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">switch</span> <span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">info</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
		<span style="color: #0033ff; font-weight: bold;">case</span><span style="color: #990000;">&quot;Netconnection.Connect.Success&quot;</span><span style="color: #000066; font-weight: bold;">:</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;You connected!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #990000;">&quot;Netconnection.Connect.Closed&quot;</span><span style="color: #000066; font-weight: bold;">:</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;You disconnected!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>As a very lazy developer, I tend to think that comparing strings like this is just crazy. And ugly! So I made my life just a little better by creating my own class that holds &#8216;<em>InfoObjects</em>&#8216; with the &#8216;<em>code</em>&#8216;, &#8216;<em>level</em>&#8216; and &#8216;<em>meaning</em>&#8216; properties. That way you can just compare the &#8216;<em>event.code.info&#8217;</em> to a class constant. No need for copy-pasting codes from <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/events/NetStatusEvent.html#info" target="_blank" target="_blank">the Adobe site</a>, or debugging your code in order to find you made a typo in one of those strings&#8230;</p>
<p>I ran <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/events/NetStatusEvent.html#info" target="_blank" target="_blank">the table</a> (listing all of the <em>NetStatus codes</em>) through <a href="http://shots.nocreativity.com/6eb07dee166bcf61acea0ae6413d5fb7.jpg" target="_blank">a simple XML parser</a> and ended up with a very neat Actionscript class (which I&#8217;m sharing, so it&#8217;s up for grabs! Download link at the end of this blogpost!). Using it looks way more natural!</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> onNetStatus<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">NetStatusEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">switch</span> <span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">info</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
		<span style="color: #0033ff; font-weight: bold;">case</span> NetStatusInfo<span style="color: #000066; font-weight: bold;">.</span>NETCONNECTION_CONNECT_SUCCESS<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000066; font-weight: bold;">:</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;You connected!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
			<span style="color: #009900; font-style: italic;">// returns the code property (same as 'toString()')</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>NetStatusInfo<span style="color: #000066; font-weight: bold;">.</span>NETCONNECTION_CONNECT_SUCCESS<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> 
&nbsp;
			<span style="color: #009900; font-style: italic;">// returns the level property</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>NetStatusInfo<span style="color: #000066; font-weight: bold;">.</span>NETCONNECTION_CONNECT_SUCCESS<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">level</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> 
&nbsp;
			 <span style="color: #009900; font-style: italic;">// returns the meaning of this status change</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>NetStatusInfo<span style="color: #000066; font-weight: bold;">.</span>NETCONNECTION_CONNECT_SUCCESS<span style="color: #000066; font-weight: bold;">.</span>meaning<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">case</span> NetStatusInfo<span style="color: #000066; font-weight: bold;">.</span>NETCONNECTION_CONNECT_CLOSED<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">code</span><span style="color: #000066; font-weight: bold;">:</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;You disconnected!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
		<span style="color: #0033ff; font-weight: bold;">break</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h2>However&#8230;.</h2>
<p>Why isn&#8217;t this just event based? Right now the <em>Netconnection</em> dispatches a <em>NetStatusEvent.NET_STATUS</em>. Most people find this very acceptable. I, myself, tend to think it&#8217;s funny. The classname (<em>NetStatusEvent</em>) is pretty darn clear about the fact that the event triggered is related to the netstatus&#8230; Duh?!<br />
Anyway: after having listened to that event and having caught it, we now need to evaluate the <em>event.info.code</em> property (which will return a string like &#8216;<em>NetConnection.Connect.Success</em>&#8216;)&#8230; Why is that??<br />
Why not just dispatch <em>NetStatusEvent.NETCONNECTION_CONNECT_SUCCESS</em>? Wouldn&#8217;t this be more consistent with the rest of Actionscript?</p>
<p>It would only make life better:</p>
<ol>
<li>No more copy-pasting of &#8216;<em>codes</em>&#8216;. They&#8217;re just constants in the <em>NetStatusEvent</em> class.</li>
<li>No chance of runtime bugs because of typo&#8217;s made in the string itself. The use of constants makes sure the compiler knows when you&#8217;re doing something horrible, and allows him to throw that error right in your face!</li>
<li>Auto-completion! Because life should be made easier by computers; not harder!</li>
</ol>
<p>I think that an implementation like mentioned above would be pretty cool (and perhaps more logical). At least to me&#8230;</p>
<h2>Download</h2>
<p>Feel free to use, modify, marry this class (and pass it on onto your children) if needed. If I overlooked anything or there&#8217;s a better way of doing this, feel free to ping me and I shall correct myself asap!</p>
<p>Enjoy!</p>
<p><strong>Download</strong>: <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=6" title="NetStatusInfo class - Downloaded 330 times">Click</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/fixing-the-netstatusevent-info-code-ugliness-in-actionscript-3/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updated version of Playr</title>
		<link>http://nocreativity.com/blog/updated-version-of-playr</link>
		<comments>http://nocreativity.com/blog/updated-version-of-playr#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:53:06 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Playr]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=867</guid>
		<description><![CDATA[It took a while&#8230; A long while&#8230; Like&#8230; A year. But I finally updated Playr and made actual plans for V3. Thanks again for all of your great support and feedback during the past year! It really means a lot to me! It was really great to see how Playr popped up on different blogs; [...]]]></description>
			<content:encoded><![CDATA[<p>It took a while&#8230; A long while&#8230; Like&#8230; A year.<br />
But I finally updated Playr and made actual plans for V3. Thanks again for all of your great support and feedback during the past year! It really means a lot to me!</p>
<p>It was really great to see how Playr popped up on different blogs; Sometimes mentioned as part of a project/experiment, sometimes mentioned in lists of handy AS3 classes. That really made me happy and it inspired me to add even more features, and make it even more useful. But those are to yet to be built <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>For now I just fixed a few bugs and I added a pretty important feature which wasn&#8217;t there yet: the <em>debug</em> property. Set <em>debug</em> to <em>true</em> and Playr will trace any errors that occur without breaking your app, without you having to listen to these errorEvents.</p>
<p>I also changed the shuffle internals (I still wonder what I was thinking when I wrote a &#8216;setShuffle&#8217; instead of simple getters/setters&#8230;) and as far as I know: Nothing seems broken after updating old projects using Playr to the new Playr version (but I&#8217;ve been wrong before&#8230;).</p>
<p>And the last thing I want to mention: I changed the way Playr handles stream errors. The old version would just skip the track, and try again later. However I think the new implementation is better: The &#8216;broken&#8217; track just gets removed from the playlist before proceeding to the next track.</p>
<p>So there you go: It&#8217;s online, it&#8217;s free, it&#8217;s open-source, it&#8217;s for you to use and save time!<br />
(And it&#8217;s created by me, so you&#8217;ll probably find bugs sooner or later: Do tell me about them and I&#8217;ll look into fixing them <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>Happy playing!</p>
<p>Playr Site: <a href="http://playr.nocreativity.com/" target="_blank">Playr.noCreativity.com</a><br />
Download Playr: <a href="http://playr.nocreativity.com/download.php" target="_blank">Click</a><br />
Playr Documentation: <a href="http://playr.nocreativity.com/docs/" target="_blank">Playr.noCreativity.com/docs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/updated-version-of-playr/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Snow Leopard broke your Grabup? Create your own!</title>
		<link>http://nocreativity.com/blog/snow-leopard-broke-your-grabup-create-your-own</link>
		<comments>http://nocreativity.com/blog/snow-leopard-broke-your-grabup-create-your-own#comments</comments>
		<pubDate>Tue, 22 Sep 2009 00:29:14 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Everything else]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[Grabup]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Screenshots]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=634</guid>
		<description><![CDATA[About a year ago I bought GrabUp, a small application that sits in your menu bar, waiting for you to take a screenshot. Once you do so, it immediately takes the file and uploads it to my FTP server. When it&#8217;s done it copies the url to the screenshot to my clipboard. The simplicity might [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-639" title="banner" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/09/banner1-300x203.jpg" alt="banner" width="173" height="117" />About a year ago I bought <a href="http://www.grabup.com/" target="_blank" target="_blank">GrabUp</a>, a small application that sits in your menu bar, waiting for you to take a screenshot. Once you do so, it immediately takes the file and uploads it to my FTP server. When it&#8217;s done it copies the url to the screenshot to my clipboard. The simplicity might not impress but the workflow amazes the more.</p>
<p><strong>However&#8230;</strong><br />
Ever since I got myself Snow Leopard GrabUp died on me: Whenever I take a screenshot GrabUp won&#8217;t upload it to the server anymore&#8230; And I&#8217;m not alone. Lot&#8217;s of users are experiencing this issue.<br />
The people at GrabUp HQ probably don&#8217;t give a damn about their customers because they don&#8217;t seem to be working on an updated version.</p>
<p><strong>So&#8230;</strong><br />
<img class="alignleft size-thumbnail wp-image-637" title="automator" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/09/automator-150x150.jpg" alt="automator" width="150" height="150" />I&#8217;ve been looking for a replacement but nothing really compares to the power and yet the simplicity of GrabUp.<br />
So what does a good developer do? Create his own workflow in Automator&#8230; I won&#8217;t go into the details of this. If you love GrabUp but Snow Leopard broke yours, this is a simple walkthrough to get a (free) GrabUp-like workflow running on your own FTP server <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <span id="more-634"></span></p>
<ol style="clear:left;">
<li>If you don&#8217;t already have it: Download and install this <a href="http://www.apple.com/downloads/macosx/automator/uploadtoftp.html" target="_blank" target="_blank">Upload To FTP</a> automator action.</li>
<li>Download <a href="http://nocreativity.com/blog/wp-content/plugins/download-monitor/download.php?id=5">this Automator workflow</a> and open it</li>
<li>Edit the <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_01_48_48.jpg">FTP details</a> in the &#8216;Upload to FTP&#8217; action</li>
<li>Save this workflow using &#8216;Save as&#8217; and <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_01_49_30.jpg">give it a name</a>.</li>
<li>Open Finder and navigate to the folder where screenshots are saved to (mine is -/Ronny/Pictures/screenshots/), right click it and <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_01_50_35.jpg">select</a> &#8216;Folder Actions Setup&#8230;&#8217;</li>
<li>The <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_01_46_06.jpg" target="_blank">Folder Actions Setup dialog</a> opens. You will be presented a list with possible actions. Choose the action you just saved in step 4. Click &#8216;Attach&#8217;</li>
<li>The window should look like <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_01_47_12.jpg">this</a> now (notice all the checked boxes).</li>
<li>Now take a screenshot, wait for Growl to tell you the upload is done and enjoy your CMD+V.</li>
</ol>
<p>The only minor (depending on your sense of patience) downside of this is that Snow Leopard needs a few (5-10) seconds on order to get started executing the workflow whereas GrabUp starts immediatly. But having done some research regarding this last note, I have come to the conclusion that this is not intended behaviour. I&#8217;m not an Apple Developer of any kind so if you know how to make this delay go away, feel free to help me out here <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In the meanwhile: I&#8217;ve found a pref-pane called <a href="http://www.noodlesoft.com/hazel.php" target="_blank" target="_blank">Hazel</a>. This tool does all kinds of stuff regarding files and folders. One of them is monitoring a folder of your choice and executing an Automator script of your choice&#8230; Well ain&#8217;t that just perfect? The intresting thing is that Hazel reacts a bit faster to changes in folders than OSX itself does (as in &#8217;3 seconds&#8217;). If I got their <a href="http://www.noodlesoft.com/faq.php#G2" target="_blank" target="_blank">FAQ explanation for the pricing</a> right, using it for this sole purpose is free&#8230;</p>
<blockquote><p><strong>What is the difference between the evaluation, demo and registered mode?</strong></p>
<p>When you first install Hazel, it is in evaluation mode. In this mode all features except rule exporting are available. This mode lasts for 14 days giving you a chance to put Hazel through its paces.</p>
<p>After the evaluation period is up, Hazel switches to <strong>demo mode</strong>. In this mode, Hazel is <strong>limited to monitoring one folder </strong>and for that folder, <strong>only two rules </strong>can be active at any one time. Also, in demo mode, you cannot import or export rules and trash functions are disabled.</p>
<p>You may purchase a full license at any time to fully enable all features.</p></blockquote>
<p>I have installed Hazel, configured it to be working with the above workflow* and guess what&#8230; <a href="http://shots.nocreativity.com/screenshot_2009-09-22_at_02_06_32.jpg">Demo mode will do</a> <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>*When asked for the Automator workflow: Navigate to <code>/Users/YourUsername/Library/Workflows/Applications/Folder Actions/</code>. You&#8217;ll find the workflow you saved earlier in that folder.</p>
<p>So there you go! A free alternative to GrabUp Pro and the baby&#8217;s working on Snow Leopard! What else do you need?</p>
<p>Feel free to report any problems you run into while trying to set this up. Now go and share some screenshots!</p>
<p><span style="font-size:10px;">PS: To any TinyGrab employee who got here through one of these automated notifiers: I don&#8217;t like the aggresive attitude you guys seem to be handling (on getSatisfaction, TUAW, Twitter, anywhere) so don&#8217;t even bother commenting here in order to promote your product. I tried it and I didn&#8217;t like it anyway. Any comments by one of you will be marked as spam. Long story short: Leamme alone.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/snow-leopard-broke-your-grabup-create-your-own/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dooodls for everyone!</title>
		<link>http://nocreativity.com/blog/dooodls-for-everyone</link>
		<comments>http://nocreativity.com/blog/dooodls-for-everyone#comments</comments>
		<pubDate>Sun, 20 Sep 2009 14:46:49 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[doodles]]></category>
		<category><![CDATA[Dooodl]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[I can haz Dooodl]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[you can haz Dooodl too]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=623</guid>
		<description><![CDATA[A few days ago I presented the Dooodle application I built. You guys created some cool doodles and I totally love it! But it&#8217;s still an independent application hacked into WordPress using basic widget.  That means I can&#8217;t just share the code so you can use it too on your website (since you&#8217;ll have to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-624 alignleft" title="Wordpress logo" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/09/screenshot-2009-09-20-at-17.36.18.jpg" alt="Wordpress logo" width="342" height="80" /> A few days ago <a href="http://nocreativity.com/blog/dooodle-fun" target="_self">I presented</a> the Dooodle application I built. You guys created some cool doodles and I totally love it!</p>
<p>But it&#8217;s still an independent application hacked into WordPress using basic widget.  That means I can&#8217;t just share the code so you can use it too on your website (since you&#8217;ll have to set up a database, fill in config files, etc&#8230; Boring stuff). So yesterday I decided to compact this into a handy WordPress plugin.<br />
And this is what I did: <em>I give you Dooodl!</em></p>
<p>[UPDATE] <a href="http://blog.stroep.nl" target="_blank" target="_blank">Mark</a> asked me to share the source of the Dooodl Creator App, so I did <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Feel free to send me links to your own creator. I might add different creators to the plugin, and let you choose in the WP-admin which one you&#8217;d like your visitors to use <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><span id="more-623"></span></em></p>
<p>Plugin page: <a href="http://wordpress.org/extend/plugins/dooodl/" target="_blank" target="_blank">http://wordpress.org/extend/plugins/dooodl</a><br />
Direct download: <a href="http://downloads.wordpress.org/plugin/dooodl.zip" target="_blank" target="_blank">http://downloads.wordpress.org/plugin/dooodl.zip</a><br />
Dooodl Creator source (Flash Builder Beta): <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=4" title="Dooodl Creator Source - Downloaded 541 times">Click</a></p>
<p>If you install it, feel free to drop me a line. Feel free to post the url to your blog as well. I&#8217;d be happy to see who&#8217;s using it and what people are drawing <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>(And yes: If you find any bugs, do post them as comment underneath <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/dooodls-for-everyone/feed</wfw:commentRss>
		<slash:comments>74</slash:comments>
		</item>
		<item>
		<title>Bezier animation fun revisited</title>
		<link>http://nocreativity.com/blog/bezier-animation-fun-revisited</link>
		<comments>http://nocreativity.com/blog/bezier-animation-fun-revisited#comments</comments>
		<pubDate>Mon, 07 Sep 2009 22:17:36 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Bezier]]></category>
		<category><![CDATA[BezierAnimation]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=600</guid>
		<description><![CDATA[A few months ago I experimented with Bezier Animation and allthough I uploaded my SWF files and shared them, I never really shared the source. This is what I wanted to do a few days ago when I thought &#8220;Oh, what the hell&#8230; Let&#8217;s clean that code up before uploading it&#8230;&#8221;. So I started moving [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago <a href="http://nocreativity.com/blog/bezier-animation-fun" target="_blank">I experimented</a> with Bezier Animation and allthough I uploaded my SWF files and shared them, I never <span style="text-decoration: line-through;">really</span> shared the source. This is what I wanted to do a few days ago when I thought &#8220;Oh, what the hell&#8230; Let&#8217;s clean that code up before uploading it&#8230;&#8221;.</p>
<p>So I started moving some code around and after a few minutes, I found myself rewriting the whole thing&#8230; That&#8217;s not a bad thing since now we&#8217;ve got one handy class that can do about just everything a Bezier Animator should be able to do. <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<a href="http://labs.nocreativity.com/bezier/BezierAnimationDemo.html"rel="shadowbox;width=900;height=450" >Demo time</a>!</p>
<p style="text-align: center;"><a href="http://labs.nocreativity.com/bezier/BezierAnimationDemo.html"rel="shadowbox;width=900;height=450" ><img class="size-full wp-image-601 aligncenter" title="Bezier Animation Demo" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/09/screenshot-2009-09-07-at-23.38.10.JPG" alt="Bezier Animation Demo" width="559" height="262" /></a></p>
<p style="text-align: left;">There&#8217;s still a little bug somewhere which allows the target to &#8216;run away&#8217; from the bezier, and I haven&#8217;t gotten quite to the root of the problem, but I really felt I had to share this. Also there are some imperfections when you disable the orientToPath and scaleByPath properties. I will look into fixing those asap.</p>
<p style="text-align: left;">I really love the idea of animation movieclips using bezier curves. It looks so natural and yet zo intriguing&#8230; I will do some experiments and upload them later on, showing the coolness behind this simple animation engine.</p>
<p><strong>Sources<br />
</strong>Download the above demo source (Flash Builder 4 project): <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=2" title="BezierAnimation Demo Sources - Downloaded 373 times">Click</a><br />
Download the BezierAnimatioin class: <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=3" title="BezierAnimation class - Downloaded 400 times">Click</a></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/bezier-animation-fun-revisited/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>4 &#8220;WTF?!&#8221; moments during a Flex/AIR experiment</title>
		<link>http://nocreativity.com/blog/4-wtf-moments-during-a-flexair-experiment</link>
		<comments>http://nocreativity.com/blog/4-wtf-moments-during-a-flexair-experiment#comments</comments>
		<pubDate>Thu, 11 Jun 2009 11:56:30 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Alchemy]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[JPGEncoding]]></category>
		<category><![CDATA[Photo Booth]]></category>
		<category><![CDATA[timelapse]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=551</guid>
		<description><![CDATA[On a shiny day I was sitting inside, and I don&#8217;t know what bug just bit me, but I felt like experimenting with Flex and AIR (instead of heading outside into the light). For some reason I felt like creating a Photobooth clone with only one feature: Taking a snapshot every few seconds and saving [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-558" title="picture-1462" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/06/picture-1462-278x300.jpg" alt="picture-1462" width="278" height="300" />On a shiny day I was sitting inside, and I don&#8217;t know what bug just bit me, but I felt like experimenting with Flex and AIR (instead of heading outside into the light). For some reason I felt like creating a Photobooth clone with only one feature: Taking a snapshot every few seconds and saving it to the disk. During my quest I came across a few findings that were either extremely weird or just plain awesome. Here goes my list of &#8216;WTF?!&#8217;<br />
(If you don&#8217;t like reading, but you do want to check out the AIR app, click <a href="http://nocreativity.com/stuff/Alchyboot.air" target="_blank">here</a>)<span id="more-551"></span></p>
<h2>HorizontalList and ItemRenderers in Flex</h2>
<p>I must&#8217;ve done something wrong&#8230; I can&#8217;t imagine this being so hard.<br />
What I did was: I used a simple HorizontalList component, set the columnWidth to 80, built my own itemrenderer and put them together. The itemrenderer basically loads a JPG and displays it. Seen as my images were larger than 80px I decided to do some maths the resize the image on the fly.<br />
To start with, i went into my itemrenderer, and traced the with of the bitmap, and the width of the itemrenderer itself. Just to make sure those properties are actually ready. First thing to notice: <em>this.width</em> inside the itemrenderer randomly traced 80 and 85.<img class="alignright" title="Flex" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/09/flex-icon.jpg" alt="" width="100" height="100" /></p>
<p>What the f-&#8230; Wait&#8230; Eh&#8230; No, what?</p>
<p>I didn&#8217;t really find out why that is, but if anybody feels like enlightning me: go right ahead. (After that, I noticed that sometimes the first or the last (or both) items in the list weren&#8217;t updating at all&#8230; I must be misunderstanding some fundamentals of the framework I guess&#8230; [Btw: I did NOT manage to fix this in a decent way, so at some point I gave up an threw it away...])</p>
<h2>The panel titlebar in Flex</h2>
<p>So this is AIR, right? Goodbye system chrome, hello you science-fiction-looking chrome! I created my own (very Flex-looking) chrome and disabled the system chrome. I wanted my app to be able to be moved around on the desktop&#8230; You know: Like windows do (not Windows&#8230;).<br />
I figured: Hell, the Panel component looks a lot like a basic window. Why not use it as the main window? So what&#8217;s the first thing a regular human brain would do? Right, you&#8217;ll try to get to the titleBar via the panel instance&#8230; But you can&#8217;t! I figured I must be misunderstanding the construction of the panel. So there I go, reading about the titleBar on the <a href="http://livedocs.adobe.com/flex/3/langref/mx/containers/Panel.html#titleBar" target="_blank" target="_blank">Panel Class page</a> in the Flex Livedocs. Most of you already know but just let me spell it out for you: It&#8217;s <em>protected</em>&#8230; So you can&#8217;t get to it right away&#8230; You have to built your own panel class that extends the original Panel class, and create your own public getter for the titleBar&#8230;</p>
<p>Excuse me: WTF? Oh, I think I understa&#8230; Oh, no I don&#8217;t: Why again?</p>
<p>No seriously: What&#8217;s the deal with that? I can see how you don&#8217;t want a setter there&#8230; But no getter? What good is that supposed to do? Anyway, let&#8217;s fix this&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">&lt;</span> <span style="color: #000066; font-weight: bold;">?</span>xml <span style="color: #004993;">version</span>=<span style="color: #990000;">&quot;1.0&quot;</span> encoding=<span style="color: #990000;">&quot;utf-8&quot;</span><span style="color: #000066; font-weight: bold;">?&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;</span>mx <span style="color: #000066; font-weight: bold;">:</span>Panel xmlns<span style="color: #000066; font-weight: bold;">:</span>mx=<span style="color: #990000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #990000;">&quot;absolute&quot;</span> <span style="color: #004993;">width</span>=<span style="color: #990000;">&quot;400&quot;</span> <span style="color: #004993;">height</span>=<span style="color: #990000;">&quot;300&quot;</span><span style="color: #000066; font-weight: bold;">&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;/</span>mx<span style="color: #000066; font-weight: bold;">&gt;&lt;</span>mx <span style="color: #000066; font-weight: bold;">:</span>Script<span style="color: #000066; font-weight: bold;">&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;</span> <span style="color: #000066; font-weight: bold;">!</span><span style="color: #000000;">&#91;</span>CDATA<span style="color: #000000;">&#91;</span>
<span style="color: #0033ff; font-weight: bold;">import</span> mx<span style="color: #000066; font-weight: bold;">.</span>core<span style="color: #000066; font-weight: bold;">.</span>UIComponent<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #0033ff; font-weight: bold;">get</span> theTitlebar<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span>UIComponent<span style="color: #000000;">&#123;</span>
<span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>titleBar<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #000000;">&#125;</span>
<span style="color: #009900; font-style: italic;">// There are probably way easier/simpler ways than this...</span>
<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">&gt;</span>
<span style="color: #000066; font-weight: bold;">&lt;/</span>mx<span style="color: #000066; font-weight: bold;">&gt;</span></pre></div></div>

<p>And now I can use theTitlebar of my DraggablePanel class to actually drag my panel like a real window&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">pnlMain<span style="color: #000066; font-weight: bold;">.</span>theTitlebar<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MOUSE_DOWN</span><span style="color: #000066; font-weight: bold;">,</span> startTheDrag<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> startTheDrag<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span>
nativeWindow<span style="color: #000066; font-weight: bold;">.</span>startMove<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>That looks pretty straight forward, and actually works like a charm&#8230; But why did I have to do this? Why is the titleBar protected??</p>
<h2>AS3 JPGEncoder for FP9, FP10 and the one on speedballs</h2>
<p>So at one point I actually got to building the thing I actually wanted to build: A Photobooth-clone that takes a picture and saves it to the harddrive. Drawing the bitmap went fine, saving the encoded JPG to disk went perfectly smooth as well. The AIR API is really fun to work with. Pretty straight foward&#8230; But I will get back to that in just a minute&#8230;</p>
<p>The problem at hand right now was the Bitmap encoding: I draw a bitmap (480 x 360) and I want to write it to disk. So I include the <a href="http://code.google.com/p/as3corelib/" target="_blank" target="_blank">AS3corelib</a> in my project and continue my quest. When testrunning I notice the application freezes while the bitmapdata is encoded. And not just for a moment. Noooo&#8230; For a full second (or longer)! I can hear you thinking: &#8216;A second&#8230;? So?&#8217;. Well if you want to shoot a picture every second this application will just completely freeze. And let&#8217;s just face the fact: it&#8217;s just plain annoying the have an application the freezes every few seconds for that amount of time.</p>
<p>So I started playing with quality settings, and bitmap sizes. All to no avail. The encoder is just too slow. <a href="http://Peterelst.com" target="_blank" target="_blank">Peter</a> suggested taking a look at the Vector implementation found <a href="http://www.bytearray.org/?p=775" target="_blank" target="_blank">here</a>. That went way faster already: Up to 4 times faster. But still: 0.3 seconds is pretty slow&#8230; So I read through the comments and run into the magic word: &#8216;<a href="http://labs.adobe.com/technologies/alchemy/" target="_blank" target="_blank">Alchemy</a>&#8216;. I haven&#8217;t been playing with Alchemy myself (mainly because I don&#8217;t know C), but I knew Alchemy would be the key to he solution of this problem. So I downloaded <a href="http://segfaultlabs.com/blog/post/asynchronous-jpeg-encoding" target="_blank" target="_blank">this SWC</a> (<a href="http://segfaultlabs.com/swf/alchemy/alchemyJpegUpdate_sv/alchemy_flex.zip" target="_blank" target="_blank">direct link</a>), implemented this version of the encoder, ran the script and&#8230;<br />
&#8230;.I went &#8216;WHAT THE FUUUUCK?&#8217; (You can see what that looks like below)</p>
<div style="text-align:center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="368" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5101218&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffff00&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="480" height="368" src="http://vimeo.com/moogaloop.swf?clip_id=5101218&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffff00&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>This video was made using the pictures Alchemy created. Alchemy was encoding these bitmaps in .05 seconds per frame! (I swear, I went on for at least 15 minutes WTF-ing over and over again&#8230;). So: From 1.2 seconds to 0.05 seconds&#8230; That&#8217;s about 24 times faster. Ain&#8217;t that amazing?</p>
<p>The coolest thing? I didn&#8217;t even have to compile the C code myself as I was given the .swc file. (Believe me I gave C compiling a try, but me and Terminal&#8230; It&#8217;s just not gonna happen&#8230;)</p>
<h2>File.nativePath and File.url in AIR</h2>
<p><img class="alignleft" title="AIR" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/09/air_icon_special.jpg" alt="" width="100" height="100" />The one thing I love about AIR? The combination of creating crossplatform applications using the tools I&#8217;m familiar with from online development. The keyword here is <em>crossplatform</em>. Creating AIR apps is supposed to be a straight forward process. You shouldn&#8217;t worry about platform specific issues. AIR is handling the heavy lifting for you. The only thing you need to do is create the app using the crossplatform API. Or so you would think.</p>
<p>One of the first things I noticed was the fact that the <em>file.nativePath </em>property isn&#8217;t all that crossplatform. And nobody can&#8217;t really explain why. Even <a href="http://theflashblog.com" target="_blank" target="_blank">Lee Brimelow</a> didn&#8217;t manage to explain that in <a href="http://www.gotoandlearn.com/play?id=42" target="_blank" target="_blank">his tutorial</a>&#8230;</p>
<p>I mean: How can the <em>native path</em> not be <em>cross platform</em>? It&#8217;s native to it&#8217;s own platform! (I really went WTF when learning that).</p>
<p>Apparently you can do anything using the <em>file.url</em> property. To me <em>file.nativePath</em> isn&#8217;t intended to be used when trying to access a file, but more intended to show the end-user where on the filesystem the file resides using a <em>platform native notation</em>.</p>
<p>Examples</p>
<ul>
<li>Windows XP: c:\Documents and Settings\noCreativity\My Documents\myFile.jpg</li>
<li>Windows Vista: c:\Users\noCreativity\My Documents\myFile.jpg</li>
<li>OSX: /Users/noCreativity/Documents/myFile.jpg</li>
</ul>
<p>instead of</p>
<ul>
<li>file:///c:/Documents%20and%Settings/noCreativity/My%20Documents/myFile.jpg</li>
<li>file:///Users/noCreativity/Documents/myFile.jpg</li>
</ul>
<p>I am no Adobe AIR expert so please, feel free to correct me. Because this really itches me. How can a crossplatform API have a property which is not crossplatform-compatible (and don&#8217;t get me started on the whole OSX Dock/menubar vs Windows Start Menu/taskbar thing&#8230; But somehow, that&#8217;s different&#8230;)</p>
<h2>Finally&#8230; The end&#8230;</h2>
<p>Yes, I had a hard time doing all this but I learned a lot! My conclusions?</p>
<p>I like Flex and how it enables you to rapidly create data driven applications, but I&#8217;m pretty sure I&#8217;d really have to look into the inner workings of the framework before trying to build something, using the framework&#8230; And basically that &#8216;really looking into it&#8217; ruins the mood for me&#8230; Definitely when experimenting.</p>
<p>Alchemy is amazing! I can&#8217;t wait to get a good C development environment up on my iMac and start playing with C and lean how I can get the best from both worlds. If you have got any decent suggestions on how to do that [without Terminal] feel free to tell me <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Oh and by the way: If you&#8217;re experimenting with Alchemy and you&#8217;re open-sourcing code or libraries, I encourage you to add a .swc file with the compiled C code. Thanks in advance!</p>
<p>I love the AIR API. Although that nativePath thing will keep haunting me until somebody can give me a straight answer, &#8217;cause I feel like a complete idiot right now.</p>
<p>Oh, and if you care: Feel free to check out the application!</p>
<p><strong>Download</strong>: <a href="http://nocreativity.com/blog-engine/wp-content/plugins/download-monitor/download.php?id=1" title="Alchyboot - Downloaded 277 times">Click</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/4-wtf-moments-during-a-flexair-experiment/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

