<?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>Jon Voth [Interactive Specialist]</title>
	<atom:link href="http://www.jonvoth.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonvoth.com</link>
	<description>Portfolio and Blog of Jon Voth, Interactive Developer</description>
	<lastBuildDate>Thu, 29 Jul 2010 18:14:25 +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>Five Minutes to Kill Yourself: Reloaded</title>
		<link>http://www.jonvoth.com/work/five-minutes-to-kill-yourself-reloaded/</link>
		<comments>http://www.jonvoth.com/work/five-minutes-to-kill-yourself-reloaded/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 15:29:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Adult Swim]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ham]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=497</guid>
		<description><![CDATA[Ham&#8217;s fourth installment of Five Minutes to Kill Yourself, launched this week. Subtitled &#8220;Reloaded,&#8221; it expands on the original game&#8217;s premise and environment. In addition to rebuilding the game using - <a href="http://www.jonvoth.com/work/five-minutes-to-kill-yourself-reloaded/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://games.adultswim.com/five-minutes-to-kill-yourself-reloaded-adventure-online-game.html" target="_blank"><img src="http://www.jonvoth.com/wp-content/uploads/2010/07/work_adultSwim_fmtky4-300x216.jpg" alt="" title="work_adultSwim_fmtky4" width="300" height="216" class="alignleft size-medium wp-image-501" /></a></p>
<p>Ham&#8217;s fourth installment of Five Minutes to Kill Yourself, launched this week. Subtitled &#8220;Reloaded,&#8221; it expands on the original game&#8217;s premise and environment. In addition to rebuilding the game using the damage cutscene system developed for the third installment (Wedding Day), new rooms like the gym and CEO&#8217;s office have been added, along with some goodies like a Malkovich door and printable Successories-style trophies.</p>
<p>As senior developer I oversaw the development team on the project. Because this game was built on the engine I helped develop for the <a href="http://www.jonvoth.com/work/five-minutes-to-kill-yourself-wedding-day/">previous FMTKY game</a>, I was able to familiarize the team with the engine&#8217;s core systems. I also helped concept and architect the game&#8217;s new features, and later optimized some of these new features for system performance.</p>
<p>If you liked the previous FMTKY games, this one will not disappoint. With four new rooms and many new ways to injure yourself, there&#8217;s plenty of dark and irreverent hilarity to go around.  [<a href="http://games.adultswim.com/five-minutes-to-kill-yourself-reloaded-adventure-online-game.html" target="_blank">Play Online</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/work/five-minutes-to-kill-yourself-reloaded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neighbors From Hell: Doggie Driver</title>
		<link>http://www.jonvoth.com/work/neighbors-from-hell-doggie-driver/</link>
		<comments>http://www.jonvoth.com/work/neighbors-from-hell-doggie-driver/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 17:37:21 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[TBS]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=488</guid>
		<description><![CDATA[If you havent seen Neighbors From Hell on TBS yet, you should. It&#8217;s pretty funny. Ham was recently contacted about making a &#8220;launcher&#8221; style game for the new franchise based - <a href="http://www.jonvoth.com/work/neighbors-from-hell-doggie-driver/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tbs.com/stories/story/0,,222978,00.html" target="_blank"><img src="http://www.jonvoth.com/wp-content/uploads/2010/07/work_tbs_doggieDriver-300x192.png" alt="" title="work_tbs_doggieDriver" width="300" height="192" class="alignleft size-medium wp-image-492" /></a>If you havent seen <a href="http://www.tbs.com/shows/neighborsfromhell/" target="_blank">Neighbors From Hell</a> on TBS yet, you should. It&#8217;s pretty funny.</p>
<p>Ham was recently contacted about making a &#8220;launcher&#8221; style game for the new franchise based on a golfing scene where the main character&#8217;s boss uses his dog in place of a golf ball. Though we had an external resource in the trenches writing the code, I oversaw the project&#8217;s technical details and aspects of gameplay as they related to development.</p>
<p>The game launched this week and don&#8217;t worry, no animals (demonic or otherwise) were harmed in the production of the game. [<a href="http://www.tbs.com/stories/story/0,,222978,00.html" target="_blank">Play Online</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/work/neighbors-from-hell-doggie-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Firefox and Javascript play nice together</title>
		<link>http://www.jonvoth.com/blog/making-firefox-and-javascript-play-nice-together/</link>
		<comments>http://www.jonvoth.com/blog/making-firefox-and-javascript-play-nice-together/#comments</comments>
		<pubDate>Sun, 16 May 2010 16:00:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=438</guid>
		<description><![CDATA[A word to the wise; when including an external javascript file on an HTML page, always terminate your script tag with a closing script tag, not an inline closing slash. - <a href="http://www.jonvoth.com/blog/making-firefox-and-javascript-play-nice-together/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="Fox-Deer Kiss" src="http://img.visualizeus.com/thumbs/09/02/01/animals,deer,fox,kiss,so,cute-a34ebacfa855b69ad757bb8e24e2bcbf_h.jpg" alt="Fox-Deer Kiss" width="300" /></p>
<p>A word to the wise; when including an external javascript file on an HTML page, always terminate your script tag with a closing script tag, not an inline closing slash.</p>
<p>I ran into an issue where Firefox does not recognize that the script tag is closed and therefore does not render the remainder of your HTML code. This is quite confusing when you specify your JavaScript include in the Head tag and end up with a completely plank render page in Firefox.</p>
<p>Simply put, for Firefox compatibility use this:</p>
<p><span style="font-family: monospace;">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;/js/externalFile.js&#8221;&gt;&lt;/script&gt;</span></p>
<p>Not this:</p>
<p><span style="font-family: monospace;">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;/js/externalFile.js&#8221; /&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/making-firefox-and-javascript-play-nice-together/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MPLSArt iPhone App</title>
		<link>http://www.jonvoth.com/work/mplsart-iphone-app/</link>
		<comments>http://www.jonvoth.com/work/mplsart-iphone-app/#comments</comments>
		<pubDate>Fri, 07 May 2010 16:42:14 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Objective C]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=446</guid>
		<description><![CDATA[I undertook this project as a principal of Walker.Voth with designer Seth Walker. We were tasked with creating an engaging mobile experience for Minneapolis art review blog MPLSArt.com. The primary - <a href="http://www.jonvoth.com/work/mplsart-iphone-app/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonvoth.com/wp-content/uploads/2010/05/iTunesArtwork-300x300.jpg" alt="MPLSArt Icon" title="MPLSArt Icon" width="200" height="200" class="alignleft size-medium wp-image-449" /></p>
<p>I undertook this project as a principal of <a href="http://twitter.com/walkerdotvoth" target="LinkOut">Walker.Voth</a> with designer <a href="http://www.placegraphichere.com" target="LinkOut">Seth Walker</a>. We were tasked with creating an engaging mobile experience for Minneapolis art review blog <a href="http://www.mplsart.com" target="LinkOut">MPLSArt.com</a>.</p>
<p>The primary challenge of the project was concepting an experience what would deliver the site&#8217;s content to iPhone users in a clear and useful way while making use of the iPhone&#8217;s native features. We could have easily created a mobile version of the site to simple deliver content to the mobile user, but we wanted to take it one step further.</p>
<p>What we ended up with was an app that both delivers the site&#8217;s content in a straightforward list format, and also allows the user to draw a line with their finger (in effect creating their own primitive &#8220;art&#8221;) which then populates with the most relevant content.</p>
<p>View the App&#8217;s page <a href="http://mplsart.com/iphone/" target="LinkOut">here</a>, or download it from the iTunes Store <a href="http://itunes.apple.com/us/app/mplsart/id369820823?mt=8" target="LinkOut">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/work/mplsart-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HamInTheFridge.com</title>
		<link>http://www.jonvoth.com/work/haminthefridge-com/</link>
		<comments>http://www.jonvoth.com/work/haminthefridge-com/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 15:57:52 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=519</guid>
		<description><![CDATA[The plan was ambitious: create a site where content provides the basis for navigation, present that content in a way that highlights Ham&#8217;s style and capabilities, and do it without - <a href="http://www.jonvoth.com/work/haminthefridge-com/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.haminthefridge.com" target="_blank"><img src="http://www.jonvoth.com/wp-content/uploads/2010/07/work_ham_hamSite-300x216.jpg" alt="" title="work_ham_hamSite" width="300" height="216" class="alignleft size-medium wp-image-521" /></a></p>
<p>The plan was ambitious: create a site where content provides the basis for navigation, present that content in a way that highlights Ham&#8217;s style and capabilities, and do it without using Flash.</p>
<p>We chose to present our work without using Flash because we wanted to provide users an experience available on any device, in any standards-compliant browser. We also felt that our Flash work speaks for itself, and a standards-based site provided a prefect &#8220;canvas&#8221; for our Flash and non-Flash work alike.</p>
<p>We had originally intended to create a Content Management System from scratch, tightly linked to our specific needs. This proved challenging as the project was self-promotional and thus non-billable to a client. After realizing the futility of building a custom CMS the dev team began researching existing open-source CMS systems, finally deciding to use WordPress. The WordPress system allowed the greatest stability and flexibility with a massive community of developers and library of plugins.</p>
<p>The site&#8217;s navigation system is by no means revolutionary, but ingenieus in it&#8217;s simplicity. The underlying concept is to allow the user to determine their path, by providing them with content related to each choice they make. We accomplished this by treating each blog post, portfolio piece, image, video and client as a separate piece of content with an associated set of descriptive tags. While the user is viewing a single piece of content, the site creates a navigation system dynamically by displaying the pieces of content most relevant to what they are viewing.</p>
<p>As the development team created the structure and logic of the tag-based navigation system, the design team got to work on creating a theme using CSS and JavaScript magic. The end result was an experience that is fluid, functional and usable on any device. [<a href="http://www.haminthefridge.com" target="_blank">View Online</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/work/haminthefridge-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set friction on circles in Box2D</title>
		<link>http://www.jonvoth.com/blog/how-to-set-friction-on-circles-in-box2d/</link>
		<comments>http://www.jonvoth.com/blog/how-to-set-friction-on-circles-in-box2d/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 18:42:46 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=417</guid>
		<description><![CDATA[This one stumped me for a while the other day. While building a game I was trying to use a circular Box2D physics object for the main character. I wanted - <a href="http://www.jonvoth.com/blog/how-to-set-friction-on-circles-in-box2d/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p>This one stumped me for a while the other day. While building a game I was trying to use a circular Box2D physics object for the main character. I wanted to apply different friction settings to it in different situations (i.e. lower friction while walking on the ground, higher friction while falling/landing to stop quickly).</p>
<p>After attempting to set the Shape and Body&#8217;s friction property several ways, I stumbled upon the section in the Box2D <a href="http://www.box2d.org/wiki/index.php?title=Friction" target="_blank">documentation</a> that states: &#8220;Box2d does not support rolling resistance. As a consequence, circles roll forever on flat surfaces with no damping.&#8221;</p>
<p>A ha! No wonder the friction setting had no effect; I was applying a friction parameter that was being ignored by the engine. The solution was more simple than I could have imagined.</p>
<p>Since Box2D ignores &#8220;rolling resistance&#8221; all one has to do is prevent the circle from &#8220;rolling.&#8221; To accomplish this, there is a handy Boolean in b2BodyDef called &#8220;fixedRotation.&#8221; Setting fixedRotation to true prevents the body from rotating or responding to angular force. Here&#8217;s how that looks in pseudocode:</p>
<p><code><br />
//Create Body Definition<br />
_bodyDef = new b2BodyDef();	</p>
<p>//Prevent rotation<br />
_bodyDef.fixedRotation = true;</p>
<p>//Create body in new b2World<br />
_box2DWorld = new b2World();<br />
_box2DWorld.CreateBody(_bodyDef);<br />
</code> </p>
<p>As I mentioned, this solution cost me a couple hours. Hopefully it can save you a couple in return.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/how-to-set-friction-on-circles-in-box2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adventures in Box2D</title>
		<link>http://www.jonvoth.com/blog/adventures-in-box2d/</link>
		<comments>http://www.jonvoth.com/blog/adventures-in-box2d/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 20:55:11 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[side-scroller]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=413</guid>
		<description><![CDATA[At Ham we recently expanded our game framework to include the Box2D physics engine (for AS3). We started down this road while building our latest side-scroller using Actionscript Physics Engine - <a href="http://www.jonvoth.com/blog/adventures-in-box2d/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p>At Ham we recently expanded our game framework to include the <a href="http://www.box2d.org/" target="_blank">Box2D</a> physics engine (for AS3). We started down this road while building our latest side-scroller using Actionscript Physics Engine (<a href="http://www.cove.org/ape/" target="_blank">APE</a>), which was previously the only third-party physics engine integrated into our framework. The trouble was, rectangular shapes in APE were not reacting to applied forces correctly. At this point we decided that instead of finding a quick fix for APE we would take the time to do it right, and incorporate a second physics engine into our framework.</p>
<p>Box2D was a clear choice for this role. Not only is it better documented and supported than APE, it is also vastly more flexible, stable and efficient.</p>
<p>Originally written in C++ by Erin Catto, the version we used was a port to AS3 found <a href="http://sourceforge.net/projects/box2dflash/files/" target="_blank">here</a>. We ended up using version 2.0.2 as opposed to the most current 2.1, as the <a href="http://www.box2d.org/wiki/index.php?title=Manual/AS3" target="_blank">documentation</a>, example projects, and many support articles are still written for 2.0.x. There also exists a Cocoa port that may be useful for future iPhone development.</p>
<p>The API for Box2D has several important differences from APE. Most notably, the World object. APE works through a static APEngine object, physics objects are created independently and then added to and removed from the static engine instance. In Box2d the World object handles similar functions, however all physics object are created and destroyed inside the World object for performance optimization purposes. Furthermore, multiple World objects can exist simultaneously, although using this technique should be carefully managed to avoid performance issues.</p>
<p>Similar to physics object creation, collisions are also handled in a centralized manner through the World object. Where one would listen to individual objects for collisions in APE, a Contact Listener object must be used in Box2D and assigned to a World object. From this Contact Listener class it is then possible to notify physics objects and other systems of collisions.</p>
<p>Perhaps the most disorienting difference in Box2D is it&#8217;s unit system. Instead of pixels and arbitrary force values, the Box2D system uses the Meters/Kilograms/Newtons system of units. Anything being moved, sized or placed in the Box2D world must be translated into this system and then translated back out to pixels for things like updating a display object&#8217;s position based on it&#8217;s corresponding physics object. There is a general rule of thumb that 30 pixels equals 1 meter, which we adopted and currently use.</p>
<p>Overall, the transition to Box2D has been a smooth one. We are currently enjoying a sizable performance increase, increased flexibility (with things like object rotation, a variety of joint types, and separate control over mass and density), as well as a wider community and support base.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/adventures-in-box2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I learned to stop worrying and block Flash</title>
		<link>http://www.jonvoth.com/blog/how-i-learned-to-stop-worrying-and-block-flash/</link>
		<comments>http://www.jonvoth.com/blog/how-i-learned-to-stop-worrying-and-block-flash/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 20:38:54 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[banners]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=366</guid>
		<description><![CDATA[For an &#8220;Actionscript Developer&#8221;, you may think that installing a Flash blocker plugin is tantamount to treason. And for platform-devout Flash evangelists, this may be true. But in the platform-agnostic - <a href="http://www.jonvoth.com/blog/how-i-learned-to-stop-worrying-and-block-flash/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonvoth.com/wp-content/uploads/2010/03/dr_strangelove.01-300x240.jpg" alt="" title="dr_strangelove" width="300" height="240" class="alignleft size-medium wp-image-406" />For an &#8220;Actionscript Developer&#8221;, you may think that installing a Flash blocker plugin is tantamount to treason. And for platform-devout Flash evangelists, this may be true. But in the platform-agnostic world, a Flash blocker is a useful tool.</p>
<p>Let&#8217;s face it, there&#8217;s a LOT of poorly-produced Flash content out there. We&#8217;ve all seen our share of visually assaulting banners. But let&#8217;s not forget the processor-hogs, the unnecessary site headers and the flashterbating intro &#8220;splash&#8221; screens. As you navigate your way down the freeway of the internet, wouldn&#8217;t it be nice if you could avoid these potholes?</p>
<p>Enter, the Flash blocker.</p>
<p>Of course the primary function of a blocker plugin is, well, blocking your browser from downloading and displaying Flash content. This will keep out all the riff-raff, but also block the &#8220;good&#8221; content as well. What happens when you visit Hulu or YouTube expecting to watch a video?</p>
<p>Any blocker plugin worth it&#8217;s salt (I use <a href="https://chrome.google.com/extensions/detail/cdngiadmnkhgemkimkhiilgffbjijcie" target="_blank">FlashBlock</a>) will also include a &#8220;whitelist&#8221; option, which allows the user to specify specific sites or pages on which Flash content will NOT be blocked. Also, good blockers will provide the user with a simple way to allow Flash content to display on a case-by-case basis, such as masking the Flash content area with a button that loads the SWF behind it when clicked.</p>
<p>These features turn a blocker plugin from wall into a gateway, only allowing content the user approves to get through. As someone who spends most of their day on the internet, my Flash blocker plugin has become a vital part of reclaiming my time and sanity as a browse.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/how-i-learned-to-stop-worrying-and-block-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Helping Flex 3 find your class in a SWC</title>
		<link>http://www.jonvoth.com/blog/helping-flex-3-find-your-class-in-a-swc/</link>
		<comments>http://www.jonvoth.com/blog/helping-flex-3-find-your-class-in-a-swc/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 23:52:10 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[SWC]]></category>

		<guid isPermaLink="false">http://www.jonvoth.com/?p=306</guid>
		<description><![CDATA[SWCs are wonderful little digital creatures. They provide you with a compact and portable way to manage and transfer a library of classes. However, sometimes they need a little help - <a href="http://www.jonvoth.com/blog/helping-flex-3-find-your-class-in-a-swc/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p>SWCs are wonderful little digital creatures. They provide you with a compact and portable way to manage and transfer a library of classes. However, sometimes they need a little help doing their job.</p>
<p>I recently created a new class in the Flex Library Project that houses my core codebase. The Library Project is set up to automatically compile a SWC when it builds, this SWC is then imported in to any other projects that require the core by referencing the SWC in their build path (pretty slick little workflow). Only this time, the projects referencing the core SWC couldn&#8217;t find the class I had just added. Fail.</p>
<p>After trying all varieties of refreshing, cleaning, closing/opening the project, quitting/restarting Flex 3, I was beginning to wonder what had actually happened to my class. How had it gotten swallowed up in the gears of the Flex compiler?</p>
<p>The problem ended up being not with the new class, or the compiler, but with the .flexLibProperties. This is the XML file that stores a list of classes to include in a SWC. By default, it&#8217;s hidden from the list of files in your Flex project so you have to &#8220;un-filter&#8221; it from the Flex Navigator panel.</p>
<p>To do this:<br />
• Click the downward-facing triangle icon in the upper left of the Flex Navigator panel.<br />
• Now select &#8220;Filters&#8230;&#8221;<br />
<a href="http://www.jonvoth.com/wp-content/uploads/2010/03/swcFlexLib_1.png" target="images"><br />
<img class="wp-image-375" style="max-height: 100px; float:none;" src="http://www.jonvoth.com/wp-content/uploads/2010/03/swcFlexLib_1.png" alt="" /><br />
</a><br />
• Then un-check the box next to &#8220;.flexLibProperties&#8221; and the file magically appears in your project file structure.<br />
<a href="http://www.jonvoth.com/wp-content/uploads/2010/03/swcFlexLib_2.png" target="images"><br />
<img class="wp-image-376" style="max-height: 100px; float:none;" title="swcFlexLib_2" src="http://www.jonvoth.com/wp-content/uploads/2010/03/swcFlexLib_2.png" alt="" /><br />
</a></p>
<p>My new class was notably absent from this list, so I included it using this syntax:</p>
<pre>&lt;classEntry path="core.path.path.ClassName"/&gt;</pre>
<p>After building the Library Project again the SWC was recompiled, now complete with my new class.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/helping-flex-3-find-your-class-in-a-swc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Notifier</title>
		<link>http://www.jonvoth.com/blog/google-wave-notifier/</link>
		<comments>http://www.jonvoth.com/blog/google-wave-notifier/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 01:08:10 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://blog.jonvoth.com/?p=246</guid>
		<description><![CDATA[If you&#8217;re using Google Wave you&#8217;re probably grappling with how to use it in your workflow, or trying to figure out how it could make communicating easier for you. This - <a href="http://www.jonvoth.com/blog/google-wave-notifier/">View Post ..</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jonvoth.com/wp-content/uploads/2010/02/googleWaveNotifier.png"><img class="alignleft size-medium wp-image-311" title="Google Wave Notifier" src="http://www.jonvoth.com/wp-content/uploads/2010/02/googleWaveNotifier-300x178.png" alt="Google Wave Notifier" width="300" height="178" /></a>If you&#8217;re using Google Wave you&#8217;re probably grappling with how to use it in your workflow, or trying to figure out how it could make communicating easier for you. This app is very useful in both cases&#8230;</p>
<p><a href="http://blog.yakitara.com/2009/10/unofficial-google-wave-notifier-for-mac.html" target="_blank">http://blog.yakitara.com/2009/10/unofficial-google-wave-notifier-for-mac.html</a> (<a href="http://github.com/hiroshi/unofficial-Google-Wave-Notifier/downloads" target="_blank">Download Link</a>)</p>
<p>It&#8217;s still quite primitive, but very functional. The app sits in your Mac&#8217;s toolbar and lights up when you have new blips on a wave, displaying a number of total un-viewed blips. This simple functionality has allowed me to <em>actually</em> pay attention to Google Wave, turning Wave from a novelty into a tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonvoth.com/blog/google-wave-notifier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
