<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Thu, 31 May 2012 22:12:51 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Blog</title><link>http://yonaskolb.com/blog/</link><description></description><lastBuildDate>Mon, 14 May 2012 23:07:03 +0000</lastBuildDate><copyright></copyright><language>en-AU</language><generator>Squarespace Site Server v5.11.81 (http://www.squarespace.com/)</generator><item><title>Flex Toggle Switch Spark Skin</title><dc:creator>Yonas</dc:creator><pubDate>Wed, 18 Jan 2012 16:55:23 +0000</pubDate><link>http://yonaskolb.com/blog/2012/1/18/flex-toggle-switch-spark-skin.html</link><guid isPermaLink="false">468904:5295007:14522026</guid><description><![CDATA[<p>With Flex 4.6 Adobe introduced a new mobile component called the ToggleSwitch. This is toggle button that uses an interaction paradigm made popular with the iPhone. Unfortunately it is a Mobile component and using it in a desktop application or&nbsp;anything under Flex 4.6 requires some <a href="http://devgirl.org/2011/10/19/using-flex-mobile-components-in-a-flexair-desktop-application/">workarounds</a>. In addition, as it's designed for a mobile context the skin is not written in MXML but rather in pure actionscript. This makes customizing difficult.</p>
<p>These limitations made me to decide to write a Spark skin for a Spark <em>CheckBox</em> that functions in the same way. It can be toggled by either clicking/touching or by sliding the toggle. It can be used in any Flex 4 application including desktop applications. That means it also doesn't require Flash Player 11 like Flex 4.6 does.</p>
<p>By default, it uses the labels 'Yes' and 'No'. To be able to define any label just use the&nbsp;<em>ToggleSwitch</em> class which subclasses <em>ToggleButtonBase</em> so it can be used in place of any <em>CheckBox</em> or <em>ToggleButton</em>. It includes <em>selectedLabel</em> and <em>deselectedLabel</em> to define the two labels used. This allows for easier customization of labels as opposed to Adobe's implementation which requires a whole new skin.</p>
<p>Right click for source.</p>
<div style="text-align: center;">
<div id="flashContentToggleSwitch">
<p>You need <a href="http://get.adobe.com/flashplayer/">Adobe Flash</a>&nbsp;10.2&nbsp;to view this.</p>
</div>
<p><script>
swfobject.embedSWF('http://dl.dropbox.com/u/2131241/Flash/ToggleSwitch/Main.swf','flashContentToggleSwitch',194,260,"10.2.0", "/storage/code/expressInstall.swf");
</script></p>
</div>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-14522026.xml</wfw:commentRss></item><item><title>Starling Performance Enhancements</title><dc:creator>Yonas</dc:creator><pubDate>Wed, 18 Jan 2012 11:09:15 +0000</pubDate><link>http://yonaskolb.com/blog/2012/1/18/starling-performance-enhancements.html</link><guid isPermaLink="false">468904:5295007:14632357</guid><description><![CDATA[<p>I had <a href="http://yonaskolb.com/blog/2011/9/21/starling-framework-released.html">previously</a> written some performance tests comparing ND2D and Starling with each other. Starling seemed to lag behind quite significantly. Since then the library has seen a couple of performance enhancements. I've posted some new tests below using Starling 0.9.1. It's still slightly slower (especially as ND2D is automatically smoothing the bitmaps) but the changes have definitely brought it up to a respectable speed. I had to increase the amount of sprites from 2000 to 10000 to be able to see the difference.</p>
<ul>
<br />
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTestsUpdated/BitmapBlitting.html" target="_blank">Native Flash - CPU - Bitmap Blitting </a>- 60 fps</li>
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTestsUpdated/ND2DBatch.html">ND2D framework - GPU - Batch Sprite Cloud</a> - 50 fps</li>
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTestsUpdated/StarlingMovieclip.html">Starling framework 0.9.1 - GPU - MovieClip</a> - 38 fps</li>
</ul>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-14632357.xml</wfw:commentRss></item><item><title>Starling Framework Released</title><category>flash</category><dc:creator>Yonas</dc:creator><pubDate>Wed, 21 Sep 2011 19:19:47 +0000</pubDate><link>http://yonaskolb.com/blog/2011/9/21/starling-framework-released.html</link><guid isPermaLink="false">468904:5295007:12938867</guid><description><![CDATA[<p>Today <a href="http://www.starling-framework.org">Starling</a>&nbsp;was released. It's&nbsp;a new open source Flash framework for running 2D content on the GPU. It's Adobe supported and tries to mimic Flash's native display list. It's great news for game developers for whom it is obviously geared towards.</p>
<p>I've recently being doing some work with <a href="https://github.com/nulldesign/nd2d">ND2D</a> which is a similar framework so I decided to write a few tests to compare performance. They all run an animation on 2000 sprites. You will need Flash Player 11 installed to run these.</p>
<ul>
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTests/BitmapBlitting.html" target="_blank">Native Flash - CPU - Bitmap Blitting </a>- 60 fps</li>
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTests/ND2DBatch.html">ND2D framework - GPU -&nbsp;Batch Sprite Cloud</a>&nbsp;- 60 fps</li>
<li><a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTests/StarlingMovieclip.html">Starling framework - GPU - MovieClip</a>&nbsp;- 15 fps</li>
</ul>
<p>On my computer I get the above framerates which suprised me a bit. Starlight seems to be quite a bit slower. I tried everything to speed it up including disabling error checking, anti aliasing and image smoothing. Here is the&nbsp;<a href="http://dl.dropbox.com/u/2131241/Flash/SpriteTests/SpritesheetTest.zip">source</a>.</p>
<p>The interesting thing about Starling is that it tries to mimic the native display list as much as possible. It contains its own version of native classes such as Sprite, DisplayObject, Stage, TextField, and even Event and EventDispatcher, all with the same name. This makes working with it slightly difficult as you always have to be sure that you're importing the right class and it gets even harder when dealing with the custom event bubbling infrastructure that doesn't support native events.</p>
<p>Looking at this, a reasonable question to ask is why doesn't Adobe work into building this right into the runtime where all native display objects are running on the GPU instead of making people use an external framework that uses the same API anyway. It could be the case that Adobe is already working on this. They see all these 2D frameworks based off Stage3D popping up with varying API's and decide that they'll release one that behaves very much like the display list - one that developers will get behind so that when the functionality arrives in the native run time the effort required for developers to transition will be minimal. Adobe has already made advances to leveraging the GPU in Flash Player 10 with wmode=gpu that composits on the GPU and rendermode=gpu for mobile that renders vectors on the GPU. Doing this automatically across the whole display list though is very difficult.</p>
<p>I think a less interesting but much more likely reason for the similar architecture is simply that that is how <a href="http://www.sparrow-framework.org/">Sparrow</a> is architected, which Starling is a port of. Sparrow was inspired by Flash so when it gets ported back to Flash the similarities become obvious. In Sparrow however class names are prepended with SP, why is it different here? &nbsp;</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-12938867.xml</wfw:commentRss></item><item><title>Sprite Sheet Animation Tagger</title><category>air</category><category>application</category><dc:creator>Yonas</dc:creator><pubDate>Fri, 16 Sep 2011 16:35:03 +0000</pubDate><link>http://yonaskolb.com/blog/2011/9/17/sprite-sheet-animation-tagger.html</link><guid isPermaLink="false">468904:5295007:12810045</guid><description><![CDATA[<p>I've been playing around with spritesheets quite a lot recently. During my experiments I used a lot of prexisting spritesheets such as those from the <a href="http://www.retrogamezone.co.uk/metalslug/news.htm">Metal Slug</a> games . Creating animations out of those spritesheets was tedious though as I had to manually mark every sprite's coordinates because each sprite wasn't the same size. And even if all the sprites were the same size, creating animations out of them still took a bit of work. To help with this I created a simple AIR app that allows you to easily create and edit animations from a given spritesheet.&nbsp;</p>
<p>Once the animations have been marked up you can export the data and import it into your own application to be used. These lets you easily access animations by name.</p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://yonaskolb.com/storage/blog/Screen Shot 2011-09-22 at 8.47.07 PM.png?__SQUARESPACE_CACHEVERSION=1316717249869" alt="" /></span></span></p>
<h4>Features</h4>
<ul>
<li>draggable frame rectangles</li>
<li>keyboard shortcuts for changing frame dimensions</li>
<li>frame duplication with offset to easily create animations out of equally sized sprites</li>
<li>edit multiple frames at once</li>
<li>handles multiple animations</li>
<li>naming of animations</li>
<li>exporting of animations</li>
<li>animation origin point for sprites that grow in a certain direction but are packed together</li>
<li>preview window with playback controls and &nbsp;onion skinning</li>
<li>set animation framerate controls</li>
<li>set animation looping controls (auto reverse or normal)</li>
<li>zoomable source window</li>
<li>auto updating application so you will recieve updates as soon as I make them</li>
</ul>
<div style="text-align: center;">
<div id="flashContent">
<p>Please install the latest <a href="http://get.adobe.com/flashplayer/">Flash Player</a></p>
</div>
<p><script>
embedAIRBadge("flashContent","http://dl.dropbox.com/u/2131241/Apps/SpritesheetTagger/SpritesheetTagger.air","Spritesheet Tagger","com.yonaskolb.SpritesheetTagger","2.7","1.1")
</script></p>
</div>
<p>To start with just drag select around a sprite. Then you can copy it by pressing space or drag another. Select multiple frames in the list and use the arrow keys to shift position and size.</p>
<h4>Controls</h4>
<ul>
<li>1-9 - select frame (shift adds)</li>
<li>Space - insert duplicate frame</li>
<li>Arrow keys - shift position (shift increases distance)</li>
<li>Arrow keys with control/command - change size (shift increases amount)</li>
</ul>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-12810045.xml</wfw:commentRss></item><item><title>How to use Flash Player 11 and Stage 3D in Flash Builder</title><category>flash</category><dc:creator>Yonas</dc:creator><pubDate>Wed, 07 Sep 2011 12:27:51 +0000</pubDate><link>http://yonaskolb.com/blog/2011/9/7/how-to-use-flash-player-11-and-stage-3d-in-flash-builder.html</link><guid isPermaLink="false">468904:5295007:12760032</guid><description><![CDATA[<p>Stage 3D is only available in the Flash Player 11 beta at the moment and there a few steps to get it working correctly. A few of the last ones tripped me up so I thought I'd list them here for anyone else who is having trouble.</p>
<ol>
<li>Download and install&nbsp;<a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11/">Flash Player 11 beta</a></li>
<li>Download at least&nbsp;<a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5">Flex 4.5</a>&nbsp;and unpack anwhere</li>
<li>Install Flash Player 11 playerglobal.swc:  
<ul>
<li><span style="white-space: normal;"><a href="http://labs.adobe.com/downloads/flashplayer11.html">Download</a>&nbsp;playerglobal.swc (bottom of page)</span></li>
<li>Rename downloaded swc to 'playerglobal.swc'</li>
<li>Place playerglobal.swc into Flex SDK folder under /<em>frameworks/libs/player/11.0</em></li>
</ul>
</li>
<li>Install Flex SDK in Preferences -&gt; Flash Builder -&gt; Installed Flex SDKS -&gt; navigate to adobe Flex SDK</li>
<li>Create a web based Actionscript or Flex Project in Flash Builder with the above Flex SDK&nbsp;</li>
<li>Go into the project properties -&gt; compiler settings     
<ul>
<li>Set User specific version to <strong>11.0.0</strong></li>
<li>Add compiler argument -<strong>swf-version=13</strong></li>
<li>Make sure generate HTML wrapper file is checked</li>
</ul>
</li>
<li>Open html-template/index.template.html and add <strong>params.wmode = "direct";</strong> at line 49</li>
<li>Make sure your video card drivers are up to date and are newer than 2009</li>
<li>Lastly right click on any flash content and go to settings and make sure 'Enable hardware acceleration' is ticked.</li>
</ol>
<p>All those steps except the last 3 are required to compile with Flash Player 11. Setting the wmode to direct, having up to date video card drivers and making sure hardware acceleration is enabled are required for Stage 3D to work.&nbsp;</p>
<p>Hope this helps.</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-12760032.xml</wfw:commentRss></item><item><title>Native Extensions in Adobe AIR 3</title><category>air</category><category>flash</category><dc:creator>Yonas</dc:creator><pubDate>Wed, 07 Sep 2011 11:20:12 +0000</pubDate><link>http://yonaskolb.com/blog/2011/9/7/native-extensions-in-adobe-air-3.html</link><guid isPermaLink="false">468904:5295007:12759641</guid><description><![CDATA[<p>Adobe have just posted a <a href="http://labs.adobe.com/technologies/flashplatformruntimes/air3/">new release candidate</a> for AIR 3, which includes support for the new Native Extensions feature.</p>
<p>This will allow people to create extensions that use a combination of native code and Actionscript that lets applications written in AIR leverage the native system capabilities of wherever it is deployed, in effect extending the AIR runtime.</p>
<p>This capability will allow AIR to:</p>
<ul>
<li>Achieve deeper integration with target devices</li>
<li>Incorporate legacy native code in applications</li>
<li>Take andvantage of multiple cpu cores</li>
<li>Offload calculations to the GPU</li>
<li>Achieve maximum performance for critical code</li>
</ul>
<p>Adobe have also posted a detailed&nbsp;<a href="http://www.adobe.com/devnet/air/articles/extending-air.html">article</a>&nbsp;detailing the specifics which is a really good read.</p>
<p>I think this really helps Adobe's aim for Flash to be the go to platform for creating applications across different systems and devices. It was already pretty good but this takes it to a whole new level. It can now compete with the likes of&nbsp;<a href="http://haxe.org">HaXe</a>&nbsp;which has really been gaining ground recently. And with the inclusion of Stage3D (which is also in AIR 3.0) Flash is also becoming a truly powerful platform for games.&nbsp;All in all it gives me high hopes for the future of Flash.</p>
<p>I'm really excited to start playing with this, and to see what extensions the community is going to build.&nbsp;</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-12759641.xml</wfw:commentRss></item><item><title>Site Redesign</title><dc:creator>Yonas</dc:creator><pubDate>Sat, 03 Sep 2011 20:29:23 +0000</pubDate><link>http://yonaskolb.com/blog/2011/9/4/site-redesign.html</link><guid isPermaLink="false">468904:5295007:12722014</guid><description><![CDATA[<p>I decided to do a complete site redesign. Not sure if I'm totally happy yet, but it's better than the old one.</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-12722014.xml</wfw:commentRss></item><item><title>Flash Builder custom metadata for Parsley and FlexXB</title><category>flash</category><category>flex</category><dc:creator>Yonas</dc:creator><pubDate>Thu, 16 Jun 2011 13:43:18 +0000</pubDate><link>http://yonaskolb.com/blog/2011/6/16/flash-builder-custom-metadata-for-parsley-and-flexxb.html</link><guid isPermaLink="false">468904:5295007:11811582</guid><description><![CDATA[<p>Flash Builder 4.5 added code completion for metadata tags. Adding support for custom metadata tags however requires building a swc containing a metadata.xml file outlined in hard to find <a href="http://help.adobe.com/en_US/flashbuilder/using/WSe4e4b720da9dedb56fd3caca12e6bb494bb-7ff3.html">documentation</a>. They could have just added a preferences panel but this is a good way for developers to include custom metadata info right in their library swcs.</p>
<p>Two libraries I use quite often and leverage metadata tags heavily are <a href="http://www.spicefactory.org/parsley/">Parsley</a> and <a href="http://code.google.com/p/flexxb/">FlexXB</a>. Neither of them have included this metadata.xml file in their latest releases so I have created 2 extra swcs containing just the metadata info using xml files found <a href="http://verveguy.blogspot.com/2011/05/custom-metadata-tags-in-flex-45.html">here</a> and <a href="http://www.alexandru-ciobanu.ro/2011/05/26/custom-metadata-flash-builder/">here</a> respectively. I'm sharing them here in case anyone else wants to use them.</p>
<ul>
<li><a href="http://yonaskolb.com/storage/blog/parsley-metadata-2.4.swc">parsley-metadata-2.4.swc</a></li>
<li><a href="http://yonaskolb.com/storage/blog/flexXB-metadata-2.1.swc">flexXB-metadata-2.1.swc</a></li>
</ul>
<p>Note that they just contain the metadata info not the rest of the library. I could have bundled it in, but if the library recieves an update  that still doesn't include the metadata file it will need to be integrated  again.</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-11811582.xml</wfw:commentRss></item><item><title>Braavio and Cricket Australia</title><category>braavio</category><category>flash</category><category>wunderkind</category><dc:creator>Yonas</dc:creator><pubDate>Tue, 24 May 2011 09:23:29 +0000</pubDate><link>http://yonaskolb.com/blog/2011/5/24/braavio-and-cricket-australia.html</link><guid isPermaLink="false">468904:5295007:11558571</guid><description><![CDATA[<p>Work continues on the aforementioned Wunderkind BVR, which in the meantime has been rebranded as Braavio. More information can be found on the new website <a href="http://braavio.com">braavio.com</a>.</p>
<p><span class="full-image-float-right ssNonEditable"><span><a href="http://cricket-aus-careers.com.au/?r=127"><img style="width: 300px;" src="http://yonaskolb.com/storage/blog/ca_splash.jpg?__SQUARESPACE_CACHEVERSION=1306245397553" alt="" /></a></span></span>Cricket Australia is the next big client to utilise Braavio in their efforts to find new <em>Participation </em><em>Growth </em><em>Leaders </em>for the sport<em>.</em> Along with their campaign launch we are rolling out our new Admin site which allows admins to manage submitted applications and get an overview of their campaign. This will be enhanced over the next few months to allow clients to fully set up, customise and manage every part of their campaigns and related roles themselves including: creating interactive forms for applicants to fill out, customise branding with colours and logos, creating video questions, and customising all text content and call to actions.</p>
<p>In the meantime we have also completed the Shortlist site, which is  the  next stop for favoured applications in the recruitment process  after  they have been approved in Admin. It allows managers, HR,  recruiters and  otherwise interested parties to view, vote, comment and  otherwise  decide on suitable applicants for the required roles.</p>
<p>If you are looking to be Cricket Australia's next <em>Participation Growth Leader</em> head on over to their Braavio powered recruitment campaign at <a href="http://cricket-aus-careers.com.au/?r=127">cricket-aus-careers.com.au</a>. Applications open on the 30th of May.</p>
<p><span class="full-image-block ssNonEditable"><span><a href="http://cricket-aus-careers.com.au/?r=127"><img src="http://yonaskolb.com/storage/blog/ca_campaign_header.jpg?__SQUARESPACE_CACHEVERSION=1306408392790" alt="" /></a></span></span></p>
<p>Those interested in utilising Braavio for their own recruitment needs, please note that we are still in private beta at this time, but please register your interest at <a href="http://braavio.com/">braavio.com</a>.</p>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-11558571.xml</wfw:commentRss></item><item><title>Predray Application</title><category>games</category><category>predray</category><category>processing</category><category>simulation</category><dc:creator>Yonas</dc:creator><pubDate>Thu, 14 Apr 2011 06:16:35 +0000</pubDate><link>http://yonaskolb.com/blog/2011/4/14/predray-application.html</link><guid isPermaLink="false">468904:5295007:11152926</guid><description><![CDATA[<p><span class="full-image-float-right ssNonEditable"><span><a href="http://yonaskolb.com/Predray"><img style="width: 200px;" src="http://yonaskolb.com/storage/post-images/index.jpg?__SQUARESPACE_CACHEVERSION=1302769150224" alt="" /></a></span></span></p>
<p>It seems there have been some issues running the <a href="http://yonaskolb.com/Predray">Predray</a> applet with newer versions of the Java runtime. All openGL applets now have to be signed or something. In any case, I thought I'd post some links to download the application so you can run it straight from your desktop. This should have it run faster as well. I also have some fullscreen versions, so if anyone is interested let me know in the comments and I can package them up as well.<br /><a href="../../storage/predray/applications/Predray_macosx.zip"></a></p>
<ul>
<li><a href="../../storage/predray/applications/Predray_macosx.zip">Mac OS X</a></li>
<li><a href="../../storage/predray/applications/Predray_win32.zip">Windows</a></li>
<li><a href="../../storage/predray/applications/Predray_linux32.zip">Linux</a></li>
</ul>
<p>&nbsp;</p>
<ul style="padding-left: 30px;">
</ul>]]></description><wfw:commentRss>http://yonaskolb.com/blog/rss-comments-entry-11152926.xml</wfw:commentRss></item></channel></rss>
