<?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>blog.swfjunkie.com &#187; Tutorials</title>
	<atom:link href="http://blog.swfjunkie.com/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.swfjunkie.com</link>
	<description>random gibberish for random people</description>
	<lastBuildDate>Sun, 18 Jul 2010 23:06:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Flash &amp; The Quest for Accessibility &#8211; Part #2</title>
		<link>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/</link>
		<comments>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 09:38:28 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=395</guid>
		<description><![CDATA[Overview Part #2 In this two-part blog post i will cover the technical, as well as overall aspects of implementing accessibility into the EventManager Project. And not just any form of accessibility &#8211; the Game has earned the AA+ Certification from Access For All (their highest certification grade conform to WCAG 2.0). Go here for [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.swfjunkie.com/wp-content/uploads/2010/06/flash_acc_header.jpg" title="EventManager" width="609" height="240" class="aligncenter size-full wp-image-397" border="2" /></p>
<h2>Overview Part #2</h2>
<p>In this two-part blog post i will cover the technical, as well as overall aspects of implementing accessibility into the <a href="http://postfinance-eventmanager.ch" target="_blank">EventManager</a> Project. And not just any form of accessibility &#8211; the Game has earned the <a title="Link to Certification Levels by Access4All" href="http://www.access-for-all.ch/ch/zertifizierung/zertifikatsstufen.html" target="_blank">AA+ Certification</a> from <a title="Link to the Website of Access4All" href="http://www.access-for-all.ch/ch/zertifizierung/zertifikatsstufen.html" target="_blank">Access For All</a> (their highest certification grade conform to <a title="Wikipedia entry for WCAG 2.0" href="http://en.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines#WCAG_2.0" target="_blank">WCAG 2.0</a>).<br/><br />
<a href="http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/">Go here for the first blog post on accessibility</a>. This second part will cover all the technically nitty-gritty, blood and tears that went into implementing accessibility for this project. :)<br />
<span id="more-395"></span></p>
<hr />
<br/></p>
<h2>Some Resources First</h2>
<p>Throughout my research and while developing the accessiblity implementation for EventManager i&#8217;ve collected useful resources on the web which i&#8217;m glad i can share with you <a href="http://delicious.com/SinisterDex/accessibility+flash+flex" target="_blank">via my delicious</a>. There are notes for all the links available that will tell you what type of information you will find behind the click.</p>
<p><br/></p>
<h2>Accessibility Introduction</h2>
<p>If you haven&#8217;t worked with accessiblity in Flash or Flex yet, here&#8217;s a short introduction on how it all works.</p>
<p>Flash has it&#8217;s own package responsible for all the accessibility features. This package is situated under <a title="Link to the AS3 Documentation Package" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/package-detail.html" target="_blank">flash.accessibility.*</a></p>
<p>Within this package (as of this writing) you will find three classes:</p>
<ul>
<li><a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/Accessibility.html" target="_blank">Accessibility</a></li>
<li><a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/AccessibilityProperties.html" target="_blank">AccessibilityProperties</a></li>
<li><a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/AccessibilityImplementation.html" target="_blank">AccessibilityImplementation</a></li>
</ul>
<p>The <strong>Accessibility</strong> class is a static class that allows you to do three important things. From that class you can check if the user is actually using a screenreader and if it is available or not (<a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/Accessibility.html#active" target="_blank">Accessibility.active</a>). It also allows you to make sure that all accessibility properties are updated if you change any of their values (<a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/Accessibility.html#updateProperties%28%29" target="_blank">Accessibility.updateProperties()</a>). The third and in my opinion most important bit of this class is the capability to manually submit an Event to the <a title="Microsoft Active Accessibility - Link to Wikipedia Entry" href="http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility" target="_blank">MSAA</a> API (<a title="Link to the AS3 Documentation" href="http://livedocs.adobe.com/flex/3/langref/flash/accessibility/Accessibility.html#sendEvent%28%29" target="_blank">Accessibility.sendEvent()</a>).</p>
<p>The <strong>AccessibilityProperties </strong>class is the place where you define the properties, such as name, description and shortcut that are being presented to accessibility  aids. You can also set some properties that control the behaviour of your object towards screenreaders. AcessibilityProperties can be attached to any type of <a href="http://livedocs.adobe.com/flex/3/langref/flash/display/DisplayObject.html" target="_blank">DisplayObject</a>.</p>
<p>The <strong>AccessibilityImplementation</strong> class, is a bit of a special one. It is the base class in Flash that allows for the implementation of accessibility. This class you will never really use directly, since Adobe advices us not to instantiate it but instead extends <strong>AccImpl</strong> (which again extends from AccessibilityImplementation) in order to create our own implementation for any custom component we might create. The <strong>AccImpl</strong> class exists in two versions, one for <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/accessibility/AccImpl.html" target="_blank"><strong>flash</strong></a> and one for <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/accessibility/AccImpl.html?allClasses=1" target="_blank"><strong>flex</strong></a>.</p>
<p><br/></p>
<h2>More Than a Million Words</h2>
<p>Instead of boring you any further with details and long paragraphs of information, i figured it&#8217;s easier to understand how this all works by actually showing you. Enjoy the videos, if the quality is a bit low and you would like them to be sharper, make sure to head over to the vimeo site itself to download the original videos directly from there.</p>
<p><br/></p>
<h2>A Basic Example</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="609" height="457" 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=12672524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=DBF232&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="609" height="457" src="http://vimeo.com/moogaloop.swf?clip_id=12672524&amp;server=vimeo.com&amp;show_byline=1&amp;color=DBF232&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><sub><a href="http://labs.swfjunkie.com/vimeoplayer.php?id=12672524" target="_blank"><strong>WATCH IN 800 x 600</strong></a> | <a href="http://downloads.swfjunkie.com/accessibility/BasicAccExample.zip"><em><strong>DOWNLOAD EXAMPLE SOURCE CODE</strong></em></a> </sub></p>
<p><br/></p>
<h2>A Basic AccessibilityImplementation Example</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="319" 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=12673524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=DBF232&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="425" height="319" src="http://vimeo.com/moogaloop.swf?clip_id=12673524&amp;server=vimeo.com&amp;show_byline=1&amp;color=DBF232&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><sub><a href="http://labs.swfjunkie.com/vimeoplayer.php?id=12673524" target="_blank"><strong>WATCH IN 800 x 600</strong></a> | <a href="http://downloads.swfjunkie.com/accessibility/BasicAccImplExample.zip"><em><strong>DOWNLOAD EXAMPLE SOURCE CODE</strong></em></a> </sub></p>
<p><br/></p>
<h2>The Final EventManager Accessibility Approach</h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="319" 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=12674937&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=DBF232&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="425" height="319" src="http://vimeo.com/moogaloop.swf?clip_id=12674937&amp;server=vimeo.com&amp;show_byline=1&amp;color=DBF232&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><sub><a href="http://labs.swfjunkie.com/vimeoplayer.php?id=12674937" target="_blank"><strong>WATCH IN 800 x 600</strong></a> | <a href="http://downloads.swfjunkie.com/accessibility/CustomAccImplExample.zip"><em><strong>DOWNLOAD EXAMPLE SOURCE CODE</strong></em></a> </sub></p>
<p><br/></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Flash+%26+The+Quest+for+Accessibility+-+Part+%232+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;t=Flash+%26+The+Quest+for+Accessibility+-+Part+%232" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%232" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%232" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%232" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%232" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/&amp;bm_description=Flash+%26+The+Quest+for+Accessibility+-+Part+%232&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash &amp; The Quest for Accessibility &#8211; Part #1</title>
		<link>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/</link>
		<comments>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 09:10:41 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=386</guid>
		<description><![CDATA[Preamble The greater part of last year i was heads-down-busy developing the EventManager Game which i had the pleasure to build at Liip for Postfinance. EventManager is an educational but fun game, that approaches topics such as budgeting, financing and investing in a modern way (read: not boring you to death). Today i want to talk [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-397" title="em" src="http://blog.swfjunkie.com/wp-content/uploads/2010/06/em.jpg" border="2" alt="" width="619" height="240" /></p>
<h2>Preamble</h2>
<p>The greater part of last year i was heads-down-busy developing the <a href="http://www.postfinance-eventmanager.ch/" target="_blank"> EventManager</a> Game which i had the pleasure to build <a href="http://liip.ch/" target="_blank">at Liip</a> for <a href="http://www.postfinance.ch/" target="_blank">Postfinance</a>. EventManager is an educational but fun game, that approaches topics such as budgeting, financing and investing in a modern way <em>(read: not boring you to death)</em>.</p>
<p>Today i want to talk to you about the new iteration of the game that we just released a couple of weeks ago. What is new you ask? How about: <strong>Accessibility! </strong>And not just any form of accessibility &#8211; the Game has earned the <a title="Link to Certification Levels by Access4All" href="http://www.access-for-all.ch/ch/zertifizierung/zertifikatsstufen.html" target="_blank">AA+ Certification</a> from <a title="Link to the Website of Access4All" href="http://www.access-for-all.ch/ch/zertifizierung/zertifikatsstufen.html" target="_blank">Access For All</a> (their highest certification grade conform to <a title="Wikipedia entry for WCAG 2.0" href="http://en.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines#WCAG_2.0" target="_blank">WCAG 2.0</a>).<br />
<br/></p>
<h2>Overview Part #1</h2>
<p>In this two-part blog post i will cover the technical, as well as overall aspects of this endeavour. This first part will cover a brief history of accessibility within the Flash  Platform and its current state and hopefully useful insight if you are considering to add accessibility to one of your projects.</p>
<h2><span id="more-386"></span></h2>
<hr />
<h2>Accessibility History in Flash</h2>
<p>Thanks to Adobe (and of course Macromedia back then), the Flash   Platform has been sporting accessibility features since Macromedia   released Flash MX back in 2002. For those that remember, this used to be   Flash Player in version 6 and just introduced the Vector Drawing API   (ahh, nostalgia.. but i digress).</p>
<p>Over the years obviously the feature set has vastly improved and  Adobe (rightly so) can be proud of the level of accessibility  that the  Platform has today, since it allows you to:</p>
<ul>
<li>Create your own tab order</li>
<li>Set alternative text (naming &amp; description text)</li>
<li>Set shortcuts</li>
<li>Set element focus (also visually if needed)</li>
<li>Communicate statuses to screenreaders.</li>
</ul>
<p>As you see, there is really not much to wish for left here. In fact,   if you use the Flex Framework, all these functionalities and features   are just a step away from you. But that&#8217;s not all, Adobe has made it  quite simple to build your own  components within the flex framework,  that can with little work,  implement the accessibility layer. If that  wasn&#8217;t enough you even have the capability to manually trigger an event  to tell attached screenreaders that something has changed within your  application.</p>
<p>For us developers, this means that we have the tools and capabilities   to fully fullfill the guidelines proposed by <a href="http://en.wikipedia.org/wiki/WCAG_2.0#WCAG_2.0" target="_blank">WCAG  2.0</a>.<br />
<br/></p>
<h2>Dark Side of the Accessible Moon</h2>
<p>One of the &#8220;<em>limitations</em>&#8221; when it comes to the Flash   Platform  and accessibility, is that it&#8217;s only available for the Windows   Platform.</p>
<p>There have been many voices that critisized Adobe for &#8220;<em>only</em>&#8221;   implementing the <a href="http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility#Motivation_and_Goals" target="_blank">Microsoft  Active Accessibility (MSAA) API</a>, yet to  this day it seems that it  is the only documented and standardized API  out there. Also it is to be said, that the most popular and wide used   screenreader applications have their home only on the Windows Platform.<br />
<br/></p>
<h2>Misconceptions &amp; Half Truths</h2>
<p><strong>Question: </strong><em>So, since the Flash Platform supports  accessibility so well, how come there are only a few accessible flash sites out there?</em></p>
<p>This question is usually met with one of the following answers:</p>
<blockquote>
<h3>ANSWER: Costs for implementation too high</h3>
<p>There is no denying that implementing   accessibility into a flash application is a high cost investment, if you   do not already have a developer with prior such knowledge.</p>
<p>This has multiple reasons. Depending on  your application it will  require an entire different approach than just  the straight forward  making «Your-Standard-RIA App» or «Form-based GUI  App» accessible. Which obviously, unless you have done it before will  require  tinkering, information gathering, experimenting and lots of  testing.  Hence, it will take time and thereby cost money.</p>
<h3>ANSWER: Too difficult &amp; lack of  documentation</h3>
<p>I have good and bad news. The good news is  if you are considering making your RIA accessible, rejoice! Most of the  information / documentation on accessibility for the Flash Platform is  actually directly aimed at the Flex Framework and at RIA development.</p>
<p>And here is the bad news: if you want to  make something completely custom &#8211; like a game &#8211; accessbile, make sure  you have enough time at your hands, you will need it :). But since you  are reading this, hopefully i&#8217;ll be able to provide you with enough  information to ease your pain :).</p>
<p>The main problem lies not in the fact that  implementing is difficult or complicated, it&#8217;s the fact that real  in-depth documentation is either missing, hard to come by and that  examples usually only cover little ground. So the difficulty of  implementing accessbility really only comes from the fact that you will  have to invest lots of time into testing and debugging.</p>
<h3>ANSWER: No time / No money within the  project</h3>
<p>This really is a convergence of the  previous two points. Lack of knowledge and the possible cost of  implementation, compared to the percentage of users who actually will  benefit from that step, leads often &#8211; and here we have to be honest to  ourselves &#8211; to the quick dismissal of accessibility within projects.</p>
<h3>ANSWER: What? Flash is accessible?</h3>
<p>Yes genius, have you missed the memo? In  fact a few years back when i took Macromedia&#8217;s Certified Flash Developer  exams there was already a huge part dedicated to accessibility within  the exam. Go read up, right now!</p>
<p>Adobe followed in Macromedia&#8217;s footsteps  and continued to improve accessibility, updating the accessibility  features once more in their latest Flex 4.0 Framework and implementing  their entire accessibility layer into the freshly released AIR 2.0.</p></blockquote>
<p><br/></p>
<h2>The Challenge</h2>
<p>Coming back to our topic at hand, for EventManager i was confronted  with a game that had many requirements.</p>
<p>The game&#8217;s flow for example, does not allow a regular tab order, it  just wouldn&#8217;t work. There were also many interactions that would take  place without any prior user action and those had to inform the player  obviously about what is happening.</p>
<p>Depending on where you were in the game or what you wanted to do, the  keyboard had to apply a different layout/scheme that is tailored to the  task at hand. For example, when you are on the eventgrounds, you need  to be able to place/manipulate constructions, which obviously has an  entire different control scheme than for example having to bid on an  artist in the auction part of the game.</p>
<p>To make the matter worse, the game has a strong mix of pure flash  elements and flex components. Oh, and everything had to be multilingual  of course :)<br />
<br/></p>
<h2>Finding a Solution</h2>
<p>Keyboard accessibility was pretty clear from the start. We needed a  class that allows us to set a specified keyboard layout/scheme to be  active when we needed it.</p>
<p>For user-interactions, it was generally agreed that a context-menu  would make most sense and thereby should be used for building  constructions and general interaction with the eventgrounds in the game.</p>
<p>When it came to implementing screenreader accessibility the concept  had to change a couple times, obviously here the lack of knowledge was a  problem and forced me to try out various things until finally finding a  working and valiable solution.</p>
<p>At this point i would like to extend my most grateful thanks to  Adobe&#8217;s Accessibility Evangelist (congrats on the new position!) <a href="http://twitter.com/mattmay" target="_blank">Matt May</a> ,  he was of incredible help and was able to give me just the right hints,  that helped me resolve some key issues that were plaguing me during my  quest for accessibility.<br />
<br/></p>
<h2>The Final Solution</h2>
<p>The final solution can be broken down into three essential parts:</p>
<ul>
<li>A global Keyboard Controller that allows applying different  control schemes at will.</li>
<li>A single class from which we can communicate with a screenreader  to manipulate its focus, send text to be read via speech synthesizer or  displayed on a braille device.</li>
<li>Last but not least a custom context menu component, that allows  us to display a menu of possible actions the user can undertake  depending on the situation.</li>
</ul>
<p>I&#8217;ll be covering all the technical details and attempted approaches  in the second blog post: <a href="http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part2/" target="_blank">Flash &amp; the Quest for Accessibility &#8211; Part #2</a>.<br />
<br/></p>
<h2>The Information Hunt</h2>
<p>I&#8217;ve invested countless hours in information gathering and hunting   down resources concering accessibility and possible ways of   implementation so that most screenreaders are supported.</p>
<p>Sadly, as it turns out, supporting all available Windows   screenreaders seems to be impossible (see <a href="http://www.msfw.com/accessibility/tests/FlashTest.html" target="_blank">these  tests</a>). Thereby i concentrated on <a href="http://www.freedomscientific.com/products/fs/jaws-product-page.asp" target="_blank">JAWS</a> and <a href="http://www.aisquared.com/zoomtext" target="_blank">ZoomText</a> since  these two applications seem to be the most widely used, when it  comes to  <a href="http://en.wikipedia.org/wiki/Assistive_technology" target="_blank">assistive  technologies</a>.</p>
<p>The resources gathered throughout the project that were useful are   publicly available via <a href="http://delicious.com/SinisterDex/accessibility+flash+flex" target="_blank">my delicious account</a>. They have notes as to what  information was  useful and/or if parts of the information was incorrect  or not valid anymore.<br />
<br/></p>
<h2>Conclusion</h2>
<p>All in all, getting the chance to implement accessibility in such a big flex application was an incredibly rewarding experience in multiple aspects.</p>
<p>Getting the chance to actually implement accessibility was a great, allbeit, at times nerve-wracking experience that gave me new and  invaluable knowledge.</p>
<p>The most rewarding aspect of the entire project though, to me  personally, was to receive the excited feedback from our targeted  end-users audience. A big thanks also here to <a href="http://www.access-for-all.ch/" target="_blank">Access4All</a>, the entire team at <a href="http://liip.ch" target="_blank">LIIP</a> and everyone else involved in this big effort and of course to Postfinance for giving us this great opportunity.</p>
<p>Feel free to leave comments or get in touch with me if you have any  further questions about flash, flex or accessibility.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Flash+%26+The+Quest+for+Accessibility+-+Part+%231+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;t=Flash+%26+The+Quest+for+Accessibility+-+Part+%231" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%231" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%231" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%231" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;title=Flash+%26+The+Quest+for+Accessibility+-+Part+%231" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/&amp;bm_description=Flash+%26+The+Quest+for+Accessibility+-+Part+%231&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2010/06/flash-accessibility-quest-part1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Network Issue in AIR</title>
		<link>http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/</link>
		<comments>http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:53:51 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=381</guid>
		<description><![CDATA[I just wasted 4 hours on this problem and figured i might aswell document it, so that if someone else is going to run into the same issue, they won&#8217;t have to suffer the same 4 hours that i just did. If you use AIR Applications under Windows and all of sudden those apps can&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I just wasted 4 hours on this problem and figured i might aswell document it, so that if someone else is going to run into the same issue, they won&#8217;t have to suffer the same 4 hours that i just did.</p>
<p>If you use AIR Applications under Windows and all of sudden those apps can&#8217;t connect to the internet anymore, make sure that your Internet Explorer is not &#8220;Working Offline&#8221;. You can check in the Menu of Internet Explorer under <strong>Tools -&gt; Work Offline</strong>. If it has a checkmark, remove it and your apps should be working fine again.</p>
<p>I&#8217;m really suprised that the Windows Version of AIR apparently retrieves it&#8217;s Network Capabitilies via Internet Explorer and that this behaviour is in no way documented anywhere. Hopefully Adobe will changes this or atleast make sure that people now about this.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Network+Issue+in+AIR+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;t=Network+Issue+in+AIR" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;title=Network+Issue+in+AIR" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;title=Network+Issue+in+AIR" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;title=Network+Issue+in+AIR" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;title=Network+Issue+in+AIR" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/&amp;bm_description=Network+Issue+in+AIR&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2010/06/air-network-issues-on-windows/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tweetr Tutorials &#8211; Part 2: Using OAuth in Tweetr</title>
		<link>http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/</link>
		<comments>http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 06:58:52 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tweetr]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=372</guid>
		<description><![CDATA[I&#8217;ve just finished uploading the second video tutorial to Vimeo on how to use Tweetr &#8211; The AS3 Twitter Library. In the second installment of this series i will show you how to use OAuth in Tweetr. Using OAuth in Tweetr from Sandro on Vimeo. You can grab the Project Sourcecode here. If you want [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just finished uploading the second video tutorial to Vimeo on how to use Tweetr &#8211; The AS3 Twitter Library. In the second installment of this series i will show you how to use OAuth in Tweetr.</p>
<p><center><br />
<object width="800" height="600"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8272511&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8272511&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"></embed></object>
<p><a href="http://vimeo.com/8272511">Using OAuth in Tweetr</a> from <a href="http://vimeo.com/user1167580">Sandro</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p></center></p>
<p>You can grab the Project Sourcecode <a class="snap_noshot" href="http://wiki.swfjunkie.com/_media/tweetr:hotwos:oauthexampleproject.zip" target="_blank">here</a>.</p>
<p>If you want to watch the video in the size it was intended for, go to the <a href="http://wiki.swfjunkie.com/tweetr:hotwos:using-oauth" target="_blank">Tutorial Page</a> on the <a href="http://tweetr.swfjunkie.com" target="_blank">Project Homepage</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;t=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;title=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;title=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;title=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;title=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/&amp;bm_description=Tweetr+Tutorials+-+Part+2%3A+Using+OAuth+in+Tweetr&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2009/12/tweetr-tutorials-part-2-using-oauth-in-tweetr/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>First Tweetr Lib Video Tutorial &amp; v1.0 beta 2 released</title>
		<link>http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/</link>
		<comments>http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 23:45:39 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tweetr]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=369</guid>
		<description><![CDATA[I&#8217;ll make this short and painless ;) I&#8217;ve just uploaded the first Video of a Series of Videotutorials on how-to use the Tweetr Library. The first installment is covering &#8220;Installing &#38; Setting up the TweetrProxy&#8221; and you can watch it in it&#8217;s intended size by following this link. Installing &#38; Setting up the TweetrProxy from [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll make this short and painless ;) I&#8217;ve just uploaded the first Video of a Series of Videotutorials on how-to use the Tweetr Library.</p>
<p>The first installment is covering <strong>&#8220;Installing &amp; Setting up the TweetrProxy&#8221;</strong> and you can watch it in it&#8217;s intended size by following <a title="To the Tutorial" href="http://wiki.swfjunkie.com/tweetr:howtos:installing-the-proxy" target="_blank">this link</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" 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=8224362&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1&amp;group_id=" /><embed type="application/x-shockwave-flash" width="800" height="600" src="http://vimeo.com/moogaloop.swf?clip_id=8224362&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=1&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1&amp;group_id=" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/groups/30018/videos/8224362">Installing &amp; Setting up the TweetrProxy</a> from <a href="http://vimeo.com/user1167580">Sandro</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>On the Tweetr-Front i&#8217;ve already released v1.0 beta 2 which adds a couple fixes. Here a short update:</p>
<ul>
<li><strong>AS:</strong> changed serviceHost call from getter to internal variable _serviceHost <em>[minor]</em></li>
<li><strong>AS:</strong> added serviceHost to OAuth Class since same crossdomain problem applies <em>[major]</em></li>
<li><strong>PROXY: </strong>added OAuth Authorization support <em>[major]</em></li>
<li><strong>ASDOC:</strong> Update Documentations, also added which Methods require Authentication <em>[minor]</em></li>
</ul>
<p>As usual you can download the new version from the <a title="Go to the Project Homepage" href="http://tweetr.swfjunkie.com" target="_blank">Project Homepage</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;t=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;title=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;title=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;title=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;title=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/&amp;bm_description=First+Tweetr+Lib+Video+Tutorial+%26+v1.0+beta+2+released&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2009/12/first-tweetr-lib-video-tutorial-v1-0-beta-2-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Embedding Cascading Style Sheets in Flash/Flex</title>
		<link>http://blog.swfjunkie.com/2009/10/embedding-css-flex/</link>
		<comments>http://blog.swfjunkie.com/2009/10/embedding-css-flex/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 11:32:11 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=303</guid>
		<description><![CDATA[It&#8217;s nice to be able to quickly adapt to clients wishes, when they come to you and ask for this text to be bigger or for that link to be bold when you hover over it. Simply replace the css file and your set. But sometimes you don&#8217;t want to go through the process of [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s nice to be able to quickly adapt to clients wishes, when they come to you and ask for this text to be bigger or for that link to be bold when you hover over it. Simply replace the css file and your set.</p>
<p>But sometimes you don&#8217;t want to go through the process of adding a Loader and EventListeners so you can load that external css file just for a bit of fancy html text. Sometimes it would be nice to just compile that thing into your swf and pretty much be done with it.</p>
<p>Well lucky enough we can embed files in classes with the embed tag. </p>
<p>Example:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// Embed your stylesheet with the octet-stream mime-type</span>
<span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;assets/stylesheet.css&quot;</span>, mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> stylesCSS<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Class</span>;
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> createStyleSheetObject<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">StyleSheet</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #009900;">// create a new StyleSheet instance</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">styleSheet</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">StyleSheet</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">StyleSheet</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
    <span style="color: #009900;">// create a instance of the styles as ByteArray</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> byteArray<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">ByteArray</span> = <span style="color: #0033ff; font-weight: bold;">new</span> stylesCSS<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">ByteArray</span>;
    <span style="color: #009900;">// read the content</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> stylesString<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span> = byteArray.<span style="color: #004993;">readUTFBytes</span><span style="color: #000000;">&#40;</span>byteArray.<span style="color: #004993;">length</span><span style="color: #000000;">&#41;</span>;
    <span style="color: #009900;">// parse the string by the stylesheet and done!</span>
    <span style="color: #004993;">styleSheet</span>.<span style="color: #004993;">parseCSS</span><span style="color: #000000;">&#40;</span>stylesString<span style="color: #000000;">&#41;</span>;
    <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #004993;">styleSheet</span>;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>Of course this would be the proper way, if you want to save some lines you could also do the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// Embed your stylesheet with the octet-stream mime-type</span>
<span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;assets/stylesheet.css&quot;</span>, mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> stylesCSS<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Class</span>;
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> createStyleSheetObject<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">StyleSheet</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #009900;">// create a new StyleSheet instance</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">styleSheet</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">StyleSheet</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">StyleSheet</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
    <span style="color: #004993;">styleSheet</span>.<span style="color: #004993;">parseCSS</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">new</span> stylesCSS<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
    <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #004993;">styleSheet</span>;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>There you go, your StyleSheet is ready to be used. </p>
<p><strong>UPDATE:</strong></p>
<p>Vikas had a very good question concering how to embed multiple stylesheets with this method. I figured i would give another example on how to achieve this very simply. In order to not have to deal with multiple files to embed, you could just join all the styles for a stylesheet into one file, like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* StyleSheet 1 */</span>
&nbsp;
<span style="color: #6666ff;">.myStyle</span>
<span style="color: #00AA00;">&#123;</span>
	fontFamily<span style="color: #00AA00;">:</span> Arial<span style="color: #00AA00;">;</span>
	fontWeight<span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #808080; font-style: italic;">/* @eos */</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* StyleSheet 2 */</span>
&nbsp;
<span style="color: #6666ff;">.myStyle</span>
<span style="color: #00AA00;">&#123;</span>
	fontFamily<span style="color: #00AA00;">:</span> Georgia<span style="color: #00AA00;">;</span>
	fontWeight<span style="color: #00AA00;">:</span> <span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #808080; font-style: italic;">/* @eos */</span></pre></td></tr></table></div>

<p>As you see there is a comment block called <code>/* @eos */</code> that represent the &#8220;end of stylesheet&#8221;. This we will split in our code as follows:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900;">// Embed your stylesheet with the octet-stream mime-type</span>
<span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;assets/stylesheet.css&quot;</span>, mimeType=<span style="color: #990000;">&quot;application/octet-stream&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> stylesCSS<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Class</span>;
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> createStyleSheets<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Array</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #009900;">// create a instance of the styles as ByteArray</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> byteArray<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">ByteArray</span> = <span style="color: #0033ff; font-weight: bold;">new</span> stylesCSS<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">ByteArray</span>;
&nbsp;
    <span style="color: #009900;">// read the content</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> stylesString<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span> = byteArray.<span style="color: #004993;">readUTFBytes</span><span style="color: #000000;">&#40;</span>byteArray.<span style="color: #004993;">length</span><span style="color: #000000;">&#41;</span>;
&nbsp;
    <span style="color: #009900;">// split the string with your delimiter. in this case &quot;/* @eos */&quot;</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> matches<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Array</span> = stylesString.<span style="color: #004993;">split</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;/* @eos */&quot;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
    <span style="color: #009900;">// loop through the generated array and create the stylesheets and push</span>
    <span style="color: #009900;">// them to a new array that will contain those stylesheet objects</span>
    <span style="color: #6699cc; font-weight: bold;">var</span> styleSheets<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Array</span> = <span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span>;
    <span style="color: #6699cc; font-weight: bold;">var</span> n<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = matches.<span style="color: #004993;">length</span>;
    <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #000000; font-weight:bold;">0</span>; i <span style="color: #000000; font-weight: bold;">&lt;</span> n; i<span style="color: #000000; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">styleSheet</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">StyleSheet</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">StyleSheet</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
        <span style="color: #004993;">styleSheet</span>.<span style="color: #004993;">parseCSS</span><span style="color: #000000;">&#40;</span>matches<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
        styleSheets.<span style="color: #004993;">push</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">styleSheet</span><span style="color: #000000;">&#41;</span>;
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #009900;">// return the StyleSheet Array</span>
    <span style="color: #0033ff; font-weight: bold;">return</span> styleSheets;
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>And voila, you got an array of stylesheets that you can apply to wherever you want. Hope that helps!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;t=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;title=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;title=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;title=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2009/10/embedding-css-flex/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;title=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2009/10/embedding-css-flex/&amp;bm_description=Embedding+Cascading+Style+Sheets+in+Flash%2FFlex&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2009/10/embedding-css-flex/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Make your old incompatible Add-ons work in Firefox 3</title>
		<link>http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/</link>
		<comments>http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 08:58:24 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Workarounds]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=27</guid>
		<description><![CDATA[Yes, you could wait until whoevers Extension you are using is updated OR you can use this handy little trick: Open a new Tab Enter about:config in the addressbar Void the warranty! (You&#8217;ll see what i mean) Look for extensions.checkCompatibility Set the value to false You may or may not have to restart Firefox And [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, you could wait until whoevers Extension you are using is updated OR you can use this handy little trick:</p>
<ul>
<li>Open a new Tab</li>
<li>Enter <strong><a class="linkification-ext" title="Linkification: about:config" href="about:config">about:config</a></strong> in the addressbar</li>
<li>Void the warranty! (You&#8217;ll see what i mean)</li>
<li>Look for <strong>extensions.checkCompatibility</strong><strong></strong></li>
<li>Set the value to <strong>false</strong></li>
<li>You may or may not have to restart Firefox</li>
</ul>
<p>And that&#8217;s it! Keep in mind not to blame Firefox for incompatible Extensions that do not work now ;) To reverse those Settings you can always do the same steps and just set the value back to true.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Make+your+old+incompatible+Add-ons+work+in+Firefox+3+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;t=Make+your+old+incompatible+Add-ons+work+in+Firefox+3" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;title=Make+your+old+incompatible+Add-ons+work+in+Firefox+3" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;title=Make+your+old+incompatible+Add-ons+work+in+Firefox+3" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;title=Make+your+old+incompatible+Add-ons+work+in+Firefox+3" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;title=Make+your+old+incompatible+Add-ons+work+in+Firefox+3" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/&amp;bm_description=Make+your+old+incompatible+Add-ons+work+in+Firefox+3&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2008/06/make-your-old-incompatible-add-ons-work-in-firefox-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Follow-up: Pimp Flex Builder some more</title>
		<link>http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/</link>
		<comments>http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 21:54:39 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Builder]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=24</guid>
		<description><![CDATA[After having blogged about enhancing Flex Builder functionality, i also came across another useful extension. Snippets! As the name already tells you it allows you to create and insert snippets of code. Sadly it&#8217;s not as advanced as the template support in FDT. But, it&#8217;s better than nothing isn&#8217;t it  ? ;) Tweet This! Share [...]]]></description>
			<content:encoded><![CDATA[<p>After having <a class="snap_shots" title="First post about enhancing Flex Builder functionality" href="http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/" target="_blank">blogged</a> about enhancing Flex Builder functionality, i also came across another useful extension. <a class="snap_shots" title="Read the Snippet Paragraph" href="http://www.insideria.com/2008/04/flex-builder-enhancements-snippets-and-todo.html" target="_blank">Snippets</a>! As the name already tells you it allows you to create and insert snippets of code. Sadly it&#8217;s not as advanced as the template support in <a class="snap_shots" title="Homepage of FDT" href="http://fdt.powerflasher.com/" target="_blank">FDT</a>. But, it&#8217;s better than nothing isn&#8217;t it  ? ;)</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Follow-up%3A+Pimp+Flex+Builder+some+more+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;t=Follow-up%3A+Pimp+Flex+Builder+some+more" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;title=Follow-up%3A+Pimp+Flex+Builder+some+more" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;title=Follow-up%3A+Pimp+Flex+Builder+some+more" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;title=Follow-up%3A+Pimp+Flex+Builder+some+more" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;title=Follow-up%3A+Pimp+Flex+Builder+some+more" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/&amp;bm_description=Follow-up%3A+Pimp+Flex+Builder+some+more&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2008/06/follow-up-pimp-flex-builder-some-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pimp my Flex Builder</title>
		<link>http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/</link>
		<comments>http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 22:45:39 +0000</pubDate>
		<dc:creator>Sandro</dc:creator>
				<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Builder]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Workflows]]></category>

		<guid isPermaLink="false">http://blog.swfjunkie.com/?p=21</guid>
		<description><![CDATA[I&#8217;ve gotten very used to Eclipse over the past year or so. One feature i absolutely love is the fact that i can write comments prefixed with TODO or FIXME and a handy task window will keep track of those comments. Which in the end tells me exactly what needs to be done without having [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve gotten very used to Eclipse over the past year or so. One feature i absolutely love is the fact that i can write comments prefixed with TODO or FIXME and a handy task window will keep track of those comments. Which in the end tells me exactly what needs to be done without having to seek out that line of code or even having to remember which file it was.<br />
Another feature i was missing, is of course SVN. Nothings safer than having a repository for all your stuff ;)</p>
<p>So obviously i was a little upset seeing that Flex Builder 3 doesn&#8217;t feature either a Task Management or even a modern Versioning System. But don&#8217;t fret!</p>
<p>Since Flex Builder 3 is Eclipse based you can easily install subclipse to get svn running. To find out how to install subclipse to your builder just follow this generic <a class="snap_shots" href="http://subclipse.tigris.org/install.html" target="_blank">installation guide over at the subclipse website</a>.</p>
<p>For the Tasks i tried a couple things before i started scavenging the net. But then i found the <a class="snap_shots" href="http://www.richinternet.de/blog/index.cfm?entry=911D4B57-0F0D-5A73-AF6F4D4D04099757" target="_blank">TODO/FIXME extension</a>, a task plugin done by Dirk Eismann for Flex Builder 2 that still works even with Flex Builder 3.</p>
<p>And there you go. Two helpful features added to your beloved Flex Builder. Hope this helps someone out there.<strong><a href="http://dict.leo.org/ende?lp=ende&amp;p=thMx..&amp;search=scavenging"><strong><br />
</strong></a></strong></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-enjoy">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Pimp+my+Flex+Builder+-+<h3>This domain is forbidden!</h3>&amp;source=shareaholic" rel="nofollow" class="external snap_noshots" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;t=Pimp+my+Flex+Builder" rel="nofollow" class="external snap_noshots" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;title=Pimp+my+Flex+Builder" rel="nofollow" class="external snap_noshots" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;title=Pimp+my+Flex+Builder" rel="nofollow" class="external snap_noshots" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;imageurl=" rel="nofollow" class="external snap_noshots" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;title=Pimp+my+Flex+Builder" rel="nofollow" class="external snap_noshots" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/" rel="nofollow" class="external snap_noshots" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;title=Pimp+my+Flex+Builder" rel="nofollow" class="external snap_noshots" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/&amp;bm_description=Pimp+my+Flex+Builder&amp;plugin=sexybookmarks" rel="nofollow" class="external snap_noshots" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.swfjunkie.com/2008/06/pimp-my-flex-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
