<?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>Ajar Productions &#187; Misc</title>
	<atom:link href="http://ajarproductions.com/blog/category/misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajarproductions.com/blog</link>
	<description>Animation &#124; Design &#124; Development</description>
	<lastBuildDate>Mon, 09 Jan 2012 17:30:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SmartMouth Sales Donated to CA State Parks Follow-up</title>
		<link>http://ajarproductions.com/blog/2011/07/05/ca-parks-follow-up/</link>
		<comments>http://ajarproductions.com/blog/2011/07/05/ca-parks-follow-up/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 18:38:00 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1001</guid>
		<description><![CDATA[In my last post, I detailed how we planned to donate 50% of our gross sales from SmartMouth to the California State Parks Foundation for the remainder of June. This morning I tallied up the sales numbers for the last half of June and entered our donation. AJ and I decided to round up and [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://ajarproductions.com/blog/2011/06/13/smartmouth-sales-to-ca-state-parks/" target="_blank">last post</a>, I detailed how we planned to donate 50% of our gross sales from <a title="SmartMouth: Automatic lipsyncing in Flash" href="http://smartmouth.ajarproductions.com" target="_blank">SmartMouth</a> to the <a title="CA Parks Foundation website" href="http://www.calparks.org/" target="_blank">California State Parks Foundation</a> for the remainder of June. This morning I tallied up the sales numbers for the last half of June and entered our <a href="https://secure3.convio.net/cspf/site/Donation2?df_id=1307&amp;1307.donation=form1" target="_blank">donation</a>. AJ and I decided to round up and donate an even $200. We hope that this modest contribution helps to maintain some part of the CA Parks system and/or supports the fight to keep the parks open to the public.</p>
<p>Thanks to everyone who purchased SmartMouth and thanks to everyone who helped to spread the word!</p>
<p>We still encourage everyone to <a title="Donate to Calparks.org" href="https://secure3.convio.net/cspf/site/Donation2?df_id=1307&amp;1307.donation=form1&amp;JServSessionIdr004=svfs0bsqk3.app332b" target="_blank">donate directly</a>, voice your opinion to California governor, <a title="Contact Jerry Brown" href="http://gov.ca.gov/m_contact.php" target="_blank">Jerry Brown</a>, and if you live in California, please contact <a title="Locate your representatives" href="http://www.leginfo.ca.gov/yourleg.html" target="_blank">your representatives</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2011/07/05/ca-parks-follow-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>50% of SmartMouth Sales to CA State Parks for the rest of June</title>
		<link>http://ajarproductions.com/blog/2011/06/13/smartmouth-sales-to-ca-state-parks/</link>
		<comments>http://ajarproductions.com/blog/2011/06/13/smartmouth-sales-to-ca-state-parks/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 15:45:38 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=985</guid>
		<description><![CDATA[The title says it all, really. AJ and I have been fretting the loss of some of our favorite parks. AJ attended a meeting last Friday for the Assembly Committee on Water, Parks &#38; Wildlife chaired by Jared Huffman. There were several productive ideas voiced at this meeting and it compelled us to take action [...]]]></description>
			<content:encoded><![CDATA[<p>The title says it all, really. AJ and I have been fretting the loss of some of our favorite parks. AJ attended a <a href="http://sonoma.patch.com/articles/environmental-leaders-paint-grim-picture-of-true-cost-of-park-closures-2" target="_blank">meeting last Friday</a> for the Assembly Committee on Water, Parks &amp; Wildlife chaired by <a href="http://www.jaredhuffman.com/" target="_blank">Jared Huffman</a>. There were several productive ideas voiced at this meeting and it compelled us to take action ourselves.</p>
<p>For the rest of the month of June, a full <strong>50% of the gross sales</strong> (before taxes) of <a title="SmartMouth - Auto lipsyncing for Flash" href="http://smartmouth.ajarproductions.com" target="_blank">SmartMouth</a>, our auto-lipsyncing tool for Flash, will be donated to the <a href="http://www.calparks.org/" target="_blank">California State Parks Foundation</a>. For example, if you buy 1 seat of SmartMouth at $49.99, and suppose Paypal takes $1.99 for processing, we&#8217;ll donate $24 of the remaining $48 (and still pay the taxes on $48), and so on.</p>
<p><span id="more-985"></span>We believe that the parks are a valuable public resource not only for residents in the surrounding areas, but also for visitors from other states and other nations. Once the parks are shuttered, they&#8217;re difficult (or impossible) to restore. This may seem like hyperbole, but consider that 50 years is a mere infancy for a redwood. Here&#8217;s a little background on the park system (as quoted from the materials received at the committee meeting):</p>
<blockquote><p>California&#8217;s state park system includes 279 state park units and is second only to the National Park System as the largest and most diverse park system in the country. California&#8217;s state parks include over 1.4 million acres of public lands, 280 miles of coastline, 15,000 campsites, and 3,000 miles of trails. The diversity of the system is unparalleled, ranging from coastal beaches and wetlands, to redwood forests, deserts and historical monuments. The system represents the largest collection of natural, cultural and recreational resources of any state in the nation.</p></blockquote>
<p>The conservation of the parks and the lands in which they reside took  the concerted effort of many individuals and organizations, as well as  decades of perseverance in many cases. All of this work, unfortunately,  can be undone with the stroke of a pen. Not only is it undesirable to lose these parks for their own sake, but it doesn&#8217;t seem to make financial sense, either:</p>
<blockquote><p>According to studies by the California State University and the California State Park Foundation, for every $1 the state spends on state parks, $2.35 are returned to the General Fund through economic activities in local communities surrounding parks, with much of this increased revenue coming from out of state tourists.</p></blockquote>
<p>There are currently <a title="Park Closure List" href="http://www.calparks.org/press/2011/california-state-parks-foundation-opposes-massive-number-of-state-park-closures.html" target="_blank"><strong>70</strong> state parks</a> (of the 279) marked for closure. Once the parks are closed, they can become a breeding ground for illegal activity and invasive species.</p>
<p>We also encourage you to <a href="https://secure3.convio.net/cspf/site/Donation2?df_id=1307&amp;1307.donation=form1&amp;JServSessionIdr004=svfs0bsqk3.app332b" target="_blank">donate directly</a> and voice your opinion to California governor, <a title="Contact Jerry Brown" href="http://gov.ca.gov/m_contact.php" target="_blank">Jerry Brown</a>.</p>
<p><strong>Update (07/05/2011)</strong>: Details on the final donation in the <a title="follow-up" href="http://ajarproductions.com/blog/2011/07/05/ca-parks-follow-up/">next post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2011/06/13/smartmouth-sales-to-ca-state-parks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A look ahead at 2011</title>
		<link>http://ajarproductions.com/blog/2011/01/31/a-look-ahead-at-2011/</link>
		<comments>http://ajarproductions.com/blog/2011/01/31/a-look-ahead-at-2011/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 20:32:42 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=731</guid>
		<description><![CDATA[Well, 2010 was a pretty exciting year for Ajar Productions. We released a new Flash animation book with Chris Georgenes (I served as co-author, and AJ as tech editor). I spoke at the Adobe MAX conference in LA again. Shortly after MAX, we released SmartMouth, our first commercial product. SmartMouth licenses have been selling pretty [...]]]></description>
			<content:encoded><![CDATA[<p>Well, 2010 was a pretty exciting year for Ajar Productions. We released a new <a href="http://ajarproductions.com/blog/books/animation-in-flash/" target="_blank">Flash animation book</a> with <a href="http://keyframer.com" target="_blank">Chris Georgenes</a> (I served as co-author, and <a href="http://petersen.ajarproductions.com/" target="_blank">AJ</a> as tech editor). I spoke at the Adobe MAX conference in LA again. Shortly after MAX, we released <a href="http://smartmouth.ajarproductions.com" target="_blank">SmartMouth</a>, our first commercial product. SmartMouth licenses have been selling pretty regularly ever since. At some point, we hope that our software products will become our primary source of revenue. The income from commercial products should make it easier to continue releasing free products and leave time to produce more tutorials (we hope).</p>
<p>We&#8217;ve hit the ground running this year as well. I collaborated with Adobe to produce a <a href="http://www.youtube.com/watch?v=YGDwxltTl54" target="_blank">video</a> that was featured on the Flash team&#8217;s <a href="http://www.youtube.com/watch?v=YGDwxltTl54" target="_blank">Youtube</a> and <a href=" http://www.facebook.com/flashplatform/posts/164801696899878" target="_blank">Facebook</a> pages, and received some fantastic feedback. Last week, I was also delighted to learn that I&#8217;d been selected to become an <a href="http://blogs.adobe.com/community/2011/01/adobe-community-professionals-2011.html" target="_blank">Adobe Community Professional</a>.</p>
<p>With one month already over in 2011, we&#8217;ve got a lot to look forward to in the remaining 11 months. We&#8217;re going to be pushing some updates for SmartMouth in the coming months and we&#8217;d love to hear from you. Let us know <a href="http://ajarproductions.com/blog/extension-requests/" target="_blank">what you think</a> about the product—good, bad, indifferent—the more details the better. We&#8217;ve also got a long list of ideas for new tools. We&#8217;ll probably only have time to focus on a select few, and we&#8217;ll post updates as we have more information available. If you have ideas for products you&#8217;d like to see from us, let us know using <a href="http://ajarproductions.com/blog/extension-requests/" target="_blank">this form</a>.</p>
<p>I hope to include more tutorials on the blog this year, probably starting with a series on learning JSFL. It sounds like AJ will be involved with some more books this year, more on that later. Let us know in the comments if there&#8217;s anything particular that you&#8217;d like to see on the blog this year.</p>
<p>We very much appreciate all the donations last year! Thanks for another year of reading and supporting us!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2011/01/31/a-look-ahead-at-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple (HTML5) vs. Flash</title>
		<link>http://ajarproductions.com/blog/2010/05/03/apple-html5-vs-flash/</link>
		<comments>http://ajarproductions.com/blog/2010/05/03/apple-html5-vs-flash/#comments</comments>
		<pubDate>Mon, 03 May 2010 22:31:33 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=525</guid>
		<description><![CDATA[Getting bored with this non-comparison. Drew a picture: If you want more of this &#8220;debate&#8221;: http://www.youtube.com/watch?v=aVjIsL8qwNw http://www.flashstreamworks.com/archive.php?post_id=1272747220 http://blog.streamingmedia.com/the_business_of_online_vi/2010/05/h264-is-a-codec-flash-is-a-platform-one-cant-kill-off-the-other.html http://chargedweb.com/labs/2010/05/03/apple-truth-revealed/ http://ntt.cc/2010/05/02/jinnis-thoughts-on-flashstrongly-recommend-to-read.html http://www.blixtsystems.com/2010/04/apples-master-plan/]]></description>
			<content:encoded><![CDATA[<p>Getting bored with this non-comparison. Drew a picture:</p>
<p><img class="size-full wp-image-526 alignnone" title="iVespa" src="http://ajarproductions.com/blog/wp-content/uploads/2010/05/iVespa.jpg" alt="" width="550" height="413" /></p>
<p>If you want more of this &#8220;debate&#8221;:</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=aVjIsL8qwNw" target="_blank">http://www.youtube.com/watch?v=aVjIsL8qwNw</a></li>
<li><a href="http://www.flashstreamworks.com/archive.php?post_id=1272747220" target="_blank">http://www.flashstreamworks.com/archive.php?post_id=1272747220</a></li>
<li><a href="# http://blog.streamingmedia.com/the_business_of_online_vi/2010/05/h264-is-a-codec-flash-is-a-platform-one-cant-kill-off-the-other.html" target="_blank">http://blog.streamingmedia.com/the_business_of_online_vi/2010/05/h264-is-a-codec-flash-is-a-platform-one-cant-kill-off-the-other.html</a></li>
<li><a href="# http://chargedweb.com/labs/2010/05/03/apple-truth-revealed/" target="_blank">http://chargedweb.com/labs/2010/05/03/apple-truth-revealed/</a></li>
<li><a href="# http://ntt.cc/2010/05/02/jinnis-thoughts-on-flashstrongly-recommend-to-read.html" target="_blank">http://ntt.cc/2010/05/02/jinnis-thoughts-on-flashstrongly-recommend-to-read.html</a></li>
<li><a href="# http://www.blixtsystems.com/2010/04/apples-master-plan/" target="_blank">http://www.blixtsystems.com/2010/04/apples-master-plan/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2010/05/03/apple-html5-vs-flash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Look Ma, I&#8217;m on the Internets!</title>
		<link>http://ajarproductions.com/blog/2009/04/06/developers-spotlight/</link>
		<comments>http://ajarproductions.com/blog/2009/04/06/developers-spotlight/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 22:48:16 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[nerdy]]></category>
		<category><![CDATA[adobe]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=465</guid>
		<description><![CDATA[The bona fide internets, even. I&#8217;m in the Adobe Developer Spotlight this month.]]></description>
			<content:encoded><![CDATA[<p>The <em>bona fide</em> internets, even. I&#8217;m in the <a href="http://www.adobe.com/devnet/spotlight/spotlight_jputney.html" target="_blank">Adobe Developer Spotlight</a> this month.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2009/04/06/developers-spotlight/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Help in the Downturn</title>
		<link>http://ajarproductions.com/blog/2009/04/03/help-in-the-downturn/</link>
		<comments>http://ajarproductions.com/blog/2009/04/03/help-in-the-downturn/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 21:49:50 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[employment]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=463</guid>
		<description><![CDATA[Even though the economy is completely haywire, parts of the community have proved to be very reliable. Aaron Simpson at ColdHardFlash is offering help for animators seeking work, and Adobe is offering a free copy of FlexBuilder to members of the community who are unemployed. Kudos to both of them. Hopefully more organizations will follow [...]]]></description>
			<content:encoded><![CDATA[<p>Even though the economy is completely haywire, parts of the community have proved to be very reliable. Aaron Simpson at <a href="http://coldhardflash.com/" target="_blank">ColdHardFlash</a> is offering help for <a href="http://coldhardflash.com/2009/04/need-help-finding-animation-jobs.html" target="_blank">animators seeking work</a>, and Adobe is offering a <a href="https://freeriatools.adobe.com/learnflex/" target="_blank">free copy of FlexBuilder</a> to members of the community who are unemployed.</p>
<p>Kudos to both of them. Hopefully more organizations will follow suit.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2009/04/03/help-in-the-downturn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacked!</title>
		<link>http://ajarproductions.com/blog/2009/03/31/hacked/</link>
		<comments>http://ajarproductions.com/blog/2009/03/31/hacked/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 23:08:22 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=459</guid>
		<description><![CDATA[Two days ago I went to visit the Ajar Productions main page and found that the blog feed was generating an error. In looking at the feed, I found there was a long and obfuscated &#60;script&#62; tag at the end of the file. In searching further, I found that the same script had been appended [...]]]></description>
			<content:encoded><![CDATA[<p>Two days ago I went to visit the Ajar Productions main page and found that the blog feed was generating an error. In looking at the feed, I found there was a long and obfuscated <em>&lt;script&gt;</em> tag at the end of the file. In searching further, I found that the same script had been appended to nearly every page named &#8216;index&#8217; on our webserver. My best guess is that this was a WordPress hack. So I spent quite a bit of time cleaning out the offending code from every page and adding about a dozen new security measures to the site. I think that the intended effect of the hack was to redirect traffic away from our pages, but I don&#8217;t know if it was successful. My apologies if anyone was redirected while visiting our site.</p>
<p>I found these links especially helpful in improving the security of the site:</p>
<ul>
<li><a href="http://wordprezzie.com/wordpress-security-tips/" target="_blank">WordPress Security Tips | Wordprezzie</a></li>
<li><a href="http://www.noupe.com/how-tos/wordpress-security-tips-and-hacks.html" target="_blank">WordPress Security Tips and Hacks | Noupe</a></li>
<li><a href="http://www.smashingmagazine.com/2009/01/26/10-steps-to-protect-the-admin-area-in-wordpress/" target="_blank">10 Steps To Protect The Admin Area In WordPress | Smashing Magazine</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2009/03/31/hacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking the Flash CS4 Motion Model to Create New Extensions</title>
		<link>http://ajarproductions.com/blog/2009/03/04/hacking-the-flash-cs4-motion-model-to-create-extensions/</link>
		<comments>http://ajarproductions.com/blog/2009/03/04/hacking-the-flash-cs4-motion-model-to-create-extensions/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 02:03:43 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[ExtendScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[jsfl]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[cs4]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[tween]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=337</guid>
		<description><![CDATA[This JSFL technique can be used in Flash CS4 in lieu of the non-existent timeline.createMotionObjectTween() command. I refer to this as a "hack" because it's an unsupported method, but given the complexity of what can be created with this new motion model, editing the XML is actually a fairly efficient way to go about creating/editing a tween. I used this technique to create the EaseCaddy, MotionSketch, and MotionBlur extensions.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quote from an email I sent to <a href="http://keyframer.com/" target="_blank">Chris Georgenes</a> and <a href="http://quip.net" target="_blank">David Stiller</a> on 9/29/08 about an extension idea that I had using the new motion tweens in Flash CS4 (before I&#8217;d even used the application):</p>
<blockquote><p>Given that the new motion tween creates a bezier path, I&#8217;m guessing that we&#8217;ll have access to creating such a path with JSFL. Which led me to think about creating that path in real-time, similar to the real-time drawing that I&#8217;d seen from <a href="http://www.keyframer.com/index.php/2007/07/05/scribblebot/" target="_blank">ScribbleBot</a> on Chris&#8217;s blog. Instead of scribbling a line in real-time, I&#8217;d be sketching a motion path. There would be a variable to determine &#8220;smoothness&#8221; so that it doesn&#8217;t create an unmananageable amount of new motion keyframes. And it could probably be done with a custom tool rather than a panel, so that the sketching could be done directly on the stage.</p>
<p>That also leads me to wonder if there&#8217;s a way to record the armature animation in real-time and convert it to a motion tween, similar to the feature that already exists in After Effects CS3.</p></blockquote>
<p>I know, I&#8217;m a nerd. The first idea there became <a href="http://ajarproductions.com/blog/2009/02/10/flash-extension-motionsketch/">MotionSketch</a>. I haven&#8217;t yet found a way to accomplish the second idea with the armature, but I have a few ideas.</p>
<p>Prior to the release of Flash CS4, I had gotten a little hooked on creating Flash extensions. It&#8217;s quite easy to create a classic motion tween with JSFL (Flash Javascript), you can simply make the following call: <em>timeline.createMotionTween()</em>. It was likely that <em>createMotionTween() </em>would remain for legacy support even though the name of the tween had changed from &#8220;motion&#8221; to &#8220;classic.&#8221; I&#8217;d seen all of the great <a href="http://flashthusiast.com/2008/09/22/the-new-way-of-tweening-in-flash-cs4-or-new-motion-in-flash-cs4-makes-your-animations-better-faster-stronger/" target="_blank">new motion features</a> demonstrated online, and I expected there might be an equivalent call for a new motion tween.  When Lee Brimelow <a href="http://theflashblog.com/?p=448" target="_blank">linked to the CS4 documentation</a>, I went right to the <a href="http://help.adobe.com/en_US/Flash/10.0_ExtendingFlash/index.html" target="_blank">Extending Flash</a> section to see what had been added. I didn&#8217;t see any additions for the motion features, but I had also previously seen <a href="http://theflashblog.com/?p=445" target="_blank">Lee&#8217;s post</a> on <a href="http://www.flashcamp.org/" target="_blank">Flash Camp</a> in San Francisco. Fortunately, I live close to San Francisco and I decided to head over try out the application early, and maybe get a chance to talk with some of the Flash team about any undocumented features.</p>
<p>While at Flash Camp, I spoke with <a href="http://blogs.adobe.com/rgalvan/" target="_blank">Richard Galvan</a> and he directed me to John Mayhew, the engineer behind the new motion model in Flash. John was very affable and willing to follow up with me, but he didn&#8217;t know of any undocumented features offhand. Unfortunately, adding features to the JSFL API is usually somewhat of an afterthought because so much of the development time is spent on the new features themselves. I had a few ideas to use the new 3D features while at Flash Camp as well, but they were similarly left out of the JSFL API.</p>
<p>So I let those ideas go for awhile and focused on a <a href="http://ajarproductions.com/blog/2008/10/12/flash-extension-combine-textfields/">different extension</a> as my Flash Camp project. A few weeks later, I got a little antsy and I starting digging around in the Flash configuration directory for clues. I noticed two files in the Javascript directory named <em>MotionXML.jsfl</em> and <em>MotionClipboard.xml</em>. I started looking around in the JSFL file for undocumented commands that I could use, but to little avail. I think I even put some trace calls into the JSFL to spit out info when copying motion from the Flash IDE. I noticed that even though copying and pasting a new motion tween appeared to work the same way in the Flash interface as copying and pasting a classic tween, a new motion tween was not triggering the calls in the JSFL file. Looking at the XML file, I found that even though copying a motion tween wasn&#8217;t using the same JSFL calls, it was saving XML to the same file&#8230;just different XML. The classic tweens were generating XML with a root tag of <em>&lt;Motion&gt;</em> and the new tweens were generating a root tag of <em>&lt;AnimationCore&gt;</em>.</p>
<p>Flash seemed to be able to discern which type of motion it was copying or pasting and acting accordingly. So it occurred to me that I could grab the data from the motion clipboard and alter it before pasting it back. Additionally, if I wanted data from an existing tween, I could run a Copy Motion command, available to JSFL as of Flash CS3 thanks to Robert Penner&#8217;s <a href="http://robertpenner.com/flashblog/2007/08/links-for-copy-motion-as-actionscript-3_10.html" target="_blank">Copy Motion feature</a>, then go about altering and pasting. These are the extensions that I&#8217;ve created thus far using that very technique:</p>
<ul>
<li><a href="http://ajarproductions.com/blog/2009/02/26/the-missing-flash-panel-easecaddy/">EaseCaddy</a></li>
<li><a href="http://ajarproductions.com/blog/2009/02/10/flash-extension-motionsketch/">MotionSketch</a></li>
<li><a href="http://ajarproductions.com/blog/2009/03/02/new-flash-extension-motionblur/">MotionBlur</a></li>
</ul>
<p>Below is a rundown of the steps I used in the extensions mentioned above. This technique can be used in lieu of the non-existent <em>timeline.createMotionObjectTween()</em> command. I refer to this as a &#8220;<a href="http://en.wikipedia.org/wiki/Hack_(technology)" target="_blank">hack</a>&#8221; because it&#8217;s an unsupported method, but given the complexity of what can be created with this new motion model, editing the XML is actually a fairly efficient way to go about creating/editing a tween. If the XML is not properly formed, it can cause Flash to crash when you try to paste the motion, or it can create some funky bugs in the Motion Editor. Be sure to test your code thoroughly before releasing anything for public consumption.  The language is <a href="http://help.adobe.com/en_US/Flash/10.0_ExtendingFlash/WS5b3ccc516d4fbf351e63e3d118a9024f3f-7fe8.html" target="_blank">JSFL</a> (used to automate and manipulate the Flash authoring environment). There&#8217;s a link to documentation for the AnimationCore XML listed in step 3.</p>
<p><span id="more-337"></span></p>
<p><strong>Step 1:</strong> Store the motion clipboard so you can restore it when you&#8217;re done. In some cases, I store it as a file. In this example, I store it as a variable.</p>
<p><code>var MOTION_CLIPBOARD = fl.configURI + "Javascript/MotionClipboard.xml";<br />
var tl = fl.getDocumentDOM().getTimeline();<br />
var storedMotion = FLfile.read(MOTION_CLIPBOARD);</code></p>
<p><strong>Step 2(a):</strong> Copy motion to clipboard, retrieve the new clipboard contents and convert to XML. Use this step if you want alter an existing motion tween. The <a href="http://ajarproductions.com/blog/2009/02/28/new-flash-extension-motionblur/">MotionBlur</a> extension uses this step.</p>
<p><code>tl.copyMotion();<br />
var xmlstr = FLfile.read(MOTION_CLIPBOARD);<br />
var motionXML = new XML(xmlstr)</code></p>
<p><strong>Step 2(b)</strong>: Instead of copying the motion, you can create a new tween by loading a more or less blank motion XML template and adding content to it. The <a href="http://ajarproductions.com/blog/2009/02/10/flash-extension-motionsketch/">MotionSketch</a> extension uses this step.<a href="http://ajarproductions.com/blog/2009/02/10/flash-extension-motionsketch/"><br />
</a></p>
<p><strong>Step 3:</strong> The motion XML can then be altered using <a href="http://robertpenner.com/flashblog/2007/08/jsfl-updated-to-javascript-16-gains-e4x.html">E4X</a>. This portion of the code is different for each extension, depending on what the extension is trying to accomplish. Here&#8217;s the <a href="http://flashthusiast.com/2008/11/04/understanding-flash-cs4-motion-xml/" target="_blank">documentation on CS4 Motion XML</a> that Flash engineer John Mayhew graciously put together.</p>
<p><strong>Step 4:</strong> Write the altered XML to the motion clipboard.</p>
<p><code>FLfile.write(MOTION_CLIPBOARD, motionXML.toXMLString());</code></p>
<p><strong>Step 5:</strong> Paste the altered motion.</p>
<p><code>tl.pasteMotion();</code></p>
<p><strong>Step 6:</strong> Restore the motion clipboard for the user.</p>
<p><code>FLfile.write(MOTION_CLIPBOARD, storedMotion);</code></p>
<p>If you want to know if a motion tween has already been applied, you can retrieve the <em>tweenType</em> property from the current frame. A classic tween will return a value of &#8220;<em>motion</em>&#8221; and a new motion tween will return a value of &#8220;<em>motion object</em>&#8220;. If you use Step 2(a), you&#8217;ll want to check and make sure you have a &#8220;motion object&#8221; selected before proceeding.</p>
<p>And there you have it.</p>
<p>There are other ways to go about this process. You could, since motion presets are just motion XML files, run this process through the <a href="http://help.adobe.com/en_US/Flash/10.0_ExtendingFlash/WS6F01C4D8-31E3-4d68-BB08-2E4C116DA70E.html" target="_blank">Motion Presets panel&#8217;s JSFL calls</a>, but this would require more steps than the process laid out above.</p>
<p><b>Update (1/12/10)</b>: Flash CS5 now has direct JSFL access to the calls documented in this post. Check out this <a href="http://active.tutsplus.com/tutorials/workflow/creating-advanced-motion-presets-in-flash-with-jsfl/" target="_blank">video tutorial</a> that I produced on ActiveTuts for more info.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2009/03/04/hacking-the-flash-cs4-motion-model-to-create-extensions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>LiveHTTPHeaders Firefox Addon: See what&#8217;s being loaded into your page</title>
		<link>http://ajarproductions.com/blog/2008/12/17/livehttpheaders-firefox-addon-see-whats-being-loaded-into-your-page/</link>
		<comments>http://ajarproductions.com/blog/2008/12/17/livehttpheaders-firefox-addon-see-whats-being-loaded-into-your-page/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:11:58 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[activity]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=238</guid>
		<description><![CDATA[A while back, someone tipped my off to the Activity Window in Safari. This window is fantastic if you doing Flash development and need to debug on a live website. It will show you any images, videos, XML files, or anything else that&#8217;s getting loaded into your page. I&#8217;m a Firefox user, so I went [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, someone tipped my off to the <a href="http://www.macworld.com/article/56614/2007/03/safariactivity.html" target="_blank">Activity Window</a> in Safari. This window is fantastic if you doing Flash development and need to debug on a live website. It will show you any images, videos, XML files, or anything else that&#8217;s getting loaded into your page.</p>
<p>I&#8217;m a Firefox user, so I went looking for an add-on that would do the same thing in Firefox. While it&#8217;s not quite as organized (i.e., it isn&#8217;t structured in a tree menu like the Activity Window), the &#8220;generate&#8221; tab of <a href="http://livehttpheaders.mozdev.org/installation.html" target="_blank">livehttpheaders</a> is a pretty close substitution.</p>
<p>Originally found on <a href="http://whatdoiknow.org/archives/002166.shtml" target="_blank">What Do I Know</a>.</p>
<p><strong>UPDATE</strong>:  As Tim notes below, <a href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug</a> also has this capability. It&#8217;s under the &#8216;net&#8217; section of the Firebug window. You have to choose to enable this feature before you see anything.</p>
<p><a href="http://livehttpheaders.mozdev.org/installation.html" target="_blank"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2008/12/17/livehttpheaders-firefox-addon-see-whats-being-loaded-into-your-page/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Ajar Productions Homepage (Finally!)</title>
		<link>http://ajarproductions.com/blog/2008/12/15/new-ajar-productions-homepage-finally/</link>
		<comments>http://ajarproductions.com/blog/2008/12/15/new-ajar-productions-homepage-finally/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 03:54:53 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=232</guid>
		<description><![CDATA[I finally got around to putting up a new Ajar Productions homepage. It&#8217;s pretty minimal, but it&#8217;s better than a placeholder.]]></description>
			<content:encoded><![CDATA[<p>I finally got around to putting up a new <a href="http://ajarproductions.com">Ajar Productions homepage</a>.</p>
<p><a href="http://ajarproductions.com/"><img class="alignnone size-full wp-image-233" title="Ajar Homepage Screen Capture" src="http://ajarproductions.com/blog/wp-content/uploads/2008/12/ajar_screencap.gif" alt="Ajar Homepage Screen Capture" width="450" height="369" /></a></p>
<p>It&#8217;s pretty minimal, but it&#8217;s better than a placeholder.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2008/12/15/new-ajar-productions-homepage-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

