<?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>EqSim</title>
	<atom:link href="http://www.eqsim.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.eqsim.com/blog</link>
	<description>Product simulations for marketing and training, Flash/Flex, state machines, and observations</description>
	<lastBuildDate>Mon, 16 Apr 2012 00:36:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Dawn of a New Age &#8230; SimsUShare Mobile Released!</title>
		<link>http://www.eqsim.com/blog/?p=340</link>
		<comments>http://www.eqsim.com/blog/?p=340#comments</comments>
		<pubDate>Mon, 16 Apr 2012 00:36:50 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[simulation-based training]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=340</guid>
		<description><![CDATA[I have been working with my team on our SimsUShare Mobile project for the past while, and I&#8217;m happy to say we finally got it into the Google Play / Android Market! It&#8217;s not just a mobile app for fire service training, behind the scenes, it is a platform that has the potential for oh [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D340"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D340&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I have been working with my team on our SimsUShare Mobile project for the past while, and I&#8217;m happy to say we finally got it into the Google Play / Android Market!</p>
<p>It&#8217;s not just a mobile app for fire service training, behind the scenes, it is a platform that has the potential for oh so much (not to say fire and safety training is nothing!).  Check it out by visiting <a href="http://simsushare.mobi">http://simsushare.mobi</a>, the product&#8217;s micro-site.  We&#8217;re launching it this coming week at <a href="http://www.fdic.com">FDIC</a>, and we plan for it to make a big splash!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=340</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash ActionScript (AS3) 3.0 Making a Variable Speed MovieClip</title>
		<link>http://www.eqsim.com/blog/?p=329</link>
		<comments>http://www.eqsim.com/blog/?p=329#comments</comments>
		<pubDate>Wed, 15 Feb 2012 14:31:22 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=329</guid>
		<description><![CDATA[I needed to make a MovieClip run potentially at different frame rates.  This is pretty easy to do, but I figured others might want example code, so I&#8217;m posting it here.  I noticed over at StackOverflow, people were suggesting using the Timer class, but I think an ENTER_FRAME solution is better, especially for trying to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D329"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D329&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I needed to make a MovieClip run potentially at different frame rates.  This is pretty easy to do, but I figured others might want example code, so I&#8217;m posting it here.  I noticed over at StackOverflow, people were suggesting using the Timer class, but I think an ENTER_FRAME solution is better, especially for trying to make the MovieClip run faster than the frame rate of the real SWF.</p>
<p><span id="more-329"></span>For this code, I used Flash CS5 and created a <code>TextInput</code> instance with the name &#8220;<code>newrate</code>&#8220;.  I created a Button with the name <code>changeratebutton</code>, which reset the processing based on the user&#8217;s input. The animation is in a MovieClip on the stage, and the instance name is <code>anim</code>.</p>
<p>The idea is very simple: if the clip is set to run at the same rate as the stage, just use <code>play()</code>.  If it&#8217;s different, compute the number of frames we need to advance (<code>frameIncrement</code>), knowing that we will be given control on each frame based on the SWF&#8217;s frame rate.  When we get control in a frame, advance the playhead by the whole number of frames we should advance, but accumulate the decimal portion in another value which accumulates (<code>accumulatedPortion</code>).  We add that accumulation into the computation for advancing the playhead.  Lastly, if we reach the end of the movie, move the playhead back to the start but add in any frames we should skip based on the frame increment and any accumulated frame amount.</p>
<p>Here is the code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> desiredrate<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #004993;">parseInt</span><span style="color: #000000;">&#40;</span>newrate<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
newrate<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = <span style="color: #004993;">String</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">frameRate</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #6699cc; font-weight: bold;">var</span> frameIncrement<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #6699cc; font-weight: bold;">var</span> accumulatedPortion<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> changerate <span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
	stopAnim<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	desiredrate = <span style="color: #004993;">parseInt</span><span style="color: #000000;">&#40;</span>newrate<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	startAnim<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
changeratebutton<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">CLICK</span><span style="color: #000066; font-weight: bold;">,</span> changerate<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> startAnim <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>desiredrate == <span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">frameRate</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">play</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span>
		accumulatedPortion = <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span>
		frameIncrement = desiredrate<span style="color: #000066; font-weight: bold;">/</span><span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">frameRate</span><span style="color: #000066; font-weight: bold;">;</span>
		anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> checkTime<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> stopAnim <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
	anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">removeEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">ENTER_FRAME</span><span style="color: #000066; font-weight: bold;">,</span> checkTime<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #339966; font-weight: bold;">function</span> checkTime <span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> framesToAdvance<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">nextFrame</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	framesToAdvance = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">floor</span><span style="color: #000000;">&#40;</span>accumulatedPortion <span style="color: #000066; font-weight: bold;">+</span> frameIncrement<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	accumulatedPortion = <span style="color: #000000;">&#40;</span>accumulatedPortion <span style="color: #000066; font-weight: bold;">+</span> frameIncrement<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">-</span> framesToAdvance<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #004993;">nextFrame</span> = anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">currentFrame</span> <span style="color: #000066; font-weight: bold;">+</span> framesToAdvance<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #004993;">nextFrame</span> <span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span> anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">totalFrames</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		<span style="color: #004993;">nextFrame</span> <span style="color: #000066; font-weight: bold;">-</span>= anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">totalFrames</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>framesToAdvance <span style="color: #000066; font-weight: bold;">&amp;</span>gt<span style="color: #000066; font-weight: bold;">;</span>= <span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
		anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">gotoAndStop</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">nextFrame</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
anim<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stop</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
startAnim<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>It should be pretty straightforward, but I&#8217;m certainly open to clarifying anything people want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=329</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice and Simple Product Feature Demo for HP TouchSmart on CNET.COM</title>
		<link>http://www.eqsim.com/blog/?p=322</link>
		<comments>http://www.eqsim.com/blog/?p=322#comments</comments>
		<pubDate>Sun, 11 Dec 2011 15:44:39 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[product simulation advertising]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=322</guid>
		<description><![CDATA[I was checking out cnet.com today and right at the top was an ad for the HP TouchSmart 520t, which had a DEMO button I was eager to check out: When clicked on, the panel opened up to reveal a graphic overlaid with an animation of a hand that moved in response to my mouse. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D322"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D322&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was checking out <a href="http://www.cnet.com">cnet.com</a> today and right at the top was an ad for the HP TouchSmart 520t, which had a DEMO button I was eager to check out:</p>
<p style="text-align: center;"><img src="http://www.eqsim.com/blog/wp-content/uploads/2011/12/hpadsmall.jpg" border="1" alt="" width="600" height="131" /></p>
<p>When clicked on, the panel opened up to reveal a graphic overlaid with an animation of a hand that moved in response to my mouse.</p>
<p style="text-align: center;"><img src="http://www.eqsim.com/blog/wp-content/uploads/2011/12/hplarge.jpg" border="1" alt="" /></p>
<p>When I clicked on something, the hand made a point gesture.  When I moved to the side, it made a swiping gesture.</p>
<p>Though this was incredibly simple, it did give me a sense of the ease in which I could navigate if I had this computer.  I thought it did a nice job of illustrating an important product feature.</p>
<p>Only one small complaint &#8212; I am left handed, and the image was for right-handed people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=322</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FDT5 Problem Solved &#8211; &#8216;application descriptor not found&#8217; &#8211; compiling mobile project on desktop</title>
		<link>http://www.eqsim.com/blog/?p=313</link>
		<comments>http://www.eqsim.com/blog/?p=313#comments</comments>
		<pubDate>Mon, 28 Nov 2011 14:28:35 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=313</guid>
		<description><![CDATA[I really like working in FDT5 and was eager to try out mobile app development. The first test I did I had no problem, then all of a sudden, any new app was not launching, giving the error: application descriptor not found I thought it was a machine-to-machine problem, i.e., working on my desktop and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D313"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D313&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I really like working in FDT5 and was eager to try out mobile app development. The first test I did I had no problem, then all of a sudden, any new app was not launching, giving the error:</p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; white-space: pre;">application descriptor not found</span></p>
<div><span id="more-313"></span>I thought it was a machine-to-machine problem, i.e., working on my desktop and not on my laptop, then I found I had an app on my desktop that would run but not a new project.  Hmm.  It looked like the arguments to the adl call was not handled properly.  In the correctly working version, the output was:</div>
<p style="padding-left: 30px;"><code>adl.exe<br />
</code><span style="font-family: monospace;">-nodebug<br />
</span><span style="font-family: monospace;">-profile<br />
</span><span style="font-family: monospace;">mobileDevice<br />
</span><span style="font-family: monospace;">-screensize<br />
</span><span style="font-family: monospace;">480&#215;816:480&#215;854<br />
</span><span style="font-family: monospace;">C:\Users\Jonathan\workspace\workingapp\bin/workingapp-app.xml<br />
</span><span style="font-family: monospace;">C:\Users\Jonathan\workspace\workingapp\bin</span></p>
<div>but in the non-working (new) app, the output was:</div>
<p style="padding-left: 30px;"><code>adl.exe<br />
</code><span style="font-family: monospace;">-nodebug<br />
</span><span style="font-family: monospace;">-profile<br />
</span><span style="font-family: monospace;">mobileDevice<br />
</span><span style="font-family: monospace;">-screensize<br />
</span><span style="font-family: monospace;">480&#215;816:480&#215;854<br />
</span><span style="font-family: monospace;">C:\Users\Jonathan\workspace\trycompile<br />
</span><span style="font-family: monospace;">C:\Users\Jonathan\workspace\trycompile\bin</span></p>
<div>so it seemed an adl argument issue.  This was not immediately obvious to me, even reaching this point took a couple of hours.  I had also found this <a href="http://bugs.powerflasher.com/jira/browse/FDT-2407" target="_blank">recent FDT bug report on JIRA</a>.</div>
<h2>Solution</h2>
<div>I started mucking around with compiler settings, and eventually tracked it down into the <code>.settings &gt; launch</code> folder, for my app called &#8220;trycompile&#8221;, the file <code>.settings &gt; launch &gt; trycompile.launch</code>. In the working version, FDT had inserted the line:</div>
<div>
<p style="padding-left: 30px;"><code>&lt;stringAttribute key="ADL_DESCRIPTOR_FILE" value="bin/workingapp-app.xml"/&gt;</code></p>
<p>but this was absent in the non-working file. So I added the following line to that file:</p>
<p style="padding-left: 30px;"><code>&lt;stringAttribute key="ADL_DESCRIPTOR_FILE" value="bin/trycompile-app.xml"/&gt;</code></p>
<p>When I added that line, the project worked (both desktop and laptop). Yay for me!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=313</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FDT5 mobile app &#8216;could not connect to player&#8217; when trying to debug &#8211; embarrassingly simple</title>
		<link>http://www.eqsim.com/blog/?p=308</link>
		<comments>http://www.eqsim.com/blog/?p=308#comments</comments>
		<pubDate>Mon, 21 Nov 2011 15:42:48 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=308</guid>
		<description><![CDATA[I was struggling for several hours trying to get the debugger to connect to my simple FDT5 mobile app, testing it on Android. I could not find anything on the Internet that solved my issue, and I was sure I was running the debugger Flash player.  What&#8217;s more, I was able to connect to the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D308"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D308&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div id="_mcePaste">I was struggling for several hours trying to get the debugger to connect to my simple <a href="http://fdt.powerflasher.com" target="_blank">FDT5</a> mobile app, testing it on Android.</div>
<div></div>
<div id="_mcePaste">I could not find anything on the Internet that solved my issue, and I was sure I was running the debugger Flash player.  What&#8217;s more, I was able to connect to the debugger using Flash Builder 4.5, so I thought it had to to with Windows Firewall, or maybe Symantec blocking port 7935, or something.</div>
<div></div>
<div id="_mcePaste">It turns out that in my project (Android) manifest, I did not request Internet access for my simple app.  When I selected that, then the debugger connected fine.  I don&#8217;t know if that qualifies as a bug &#8212; why should an app have to have internet access for debugging?  Anyway, I point it out in case someone else is searching on this same problem.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=308</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adventures in Component Writing for Flash AS3</title>
		<link>http://www.eqsim.com/blog/?p=303</link>
		<comments>http://www.eqsim.com/blog/?p=303#comments</comments>
		<pubDate>Tue, 15 Nov 2011 19:52:55 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=303</guid>
		<description><![CDATA[To say it is a long time coming is an understatement, but I found myself last week with a little time that I could devote to updating my Flash Equipment Interface component set. I didn&#8217;t quite get to them all, but I hit the ones I thought were the most important.  Over the next few [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D303"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D303&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>To say it is a long time coming is an understatement, but I found myself last week with a little time that I could devote to updating my <a href="http://www.flashsim.com/FMXISComponents/">Flash Equipment Interface component set</a>. I didn&#8217;t quite get to them all, but I hit the ones I thought were the most important.  Over the next few days, I&#8217;m going to clean things up and release them somewhere.  <span style="text-decoration: line-through;">I am not completely decided yet where/how I will distribute them</span>.  When I do that, if you have some need for one or more of the remaining components, let me know and I&#8217;ll do my best to create them.</p>
<p><strong>Update: I decided to release the components as open source under the New BSD License.  Check out my <a href="https://code.google.com/p/eqsim-state-machine-and-interface-components/" target="_blank">Google Code project</a> to get them.</strong><br />
<span id="more-303"></span></p>
<p>First off, I had made AS3 components over the years, here and there, and <a href="http://www.adobe.com/devnet/flash/articles/creating_as3_components.html">Jeff Kamerer&#8217;s multi-part series</a> is really good (though I seem to discover new things each time I read it!).  Here are few more I found useful to help fill in some details, or get other perspectives:</p>
<ul>
<li><a href="http://redbjarne.wordpress.com/actionscript-3-0-custom-components-from-hell/">ActionScript 3 Custom Components from Hell</a> (Red Bjarne)</li>
<li><a href="http://www.flashgrind.com/blog/2010/06/25/building-an-as3-component-with-a-swfpanel-and-a-livepreview/">Building an AS3 FLA based component with SWFPanel and LivePreview</a> (FlashGrind)</li>
<li><a href="http://active.tutsplus.com/tutorials/actionscript/creating-flash-components-for-distribution/">Creating Flash Components for Distribution</a> (Andre Cavallari)</li>
<li><a href="http://www.flexiblefactory.co.uk/flexible/?p=16">Creating FLA-based Components with ActionScript 3 in Flash CS3</a> (Flexible Factory)</li>
<li><a href="http://jeffkamerer.com/blog/2009/04/03/custom-component-ui-with-actionscript-30/">Custom Component UI with ActionScript 3.0</a> (Jeff Kamerer)</li>
</ul>
<p>In general, it was a somewhat benign (yet tedious) experience, but there were a few gotcha&#8217;s that I wanted to document.</p>
<h3>Events</h3>
<p>The first question I asked myself was whether I should follow the pattern of the standard static constant-based events that are in the AS3 event model, for example, MouseEvent.MOUSE_DOWN.  I realized that at the top of my priorities was integrating the interface components with my State Engine, and the constant-based approach is not directly compatible with that.  For example, if all buttons issue MouseEvent.CLICK, and a state wants to listen to a specific click on a button, it means the state can really only subscribe to one button &#8212; without the handler having a mess to distinguish which button sent the event.  I prefer the ability to allow the instance to customize the event message.  Therefore, in my implementation, two buttons can send different events, such as &#8220;onPower&#8221; and &#8220;onNextPage&#8221;.  In reality, this gives developers the option to use the default event name, or rename it for their purpose.  I realize one of the complaints of the AS3 event model is that event handler typing is not enforced at compile time, and my approach flies in the face of that direction, but I didn&#8217;t see a compatible alternative.</p>
<h3>Skinning</h3>
<p>Most of my work is done within Flash Professional, FlashDevelop, or FDT.  I have not used CSS much at all, and so I decided for the first go around to make skinning something easy to accomplish with Flash Pro.  I added a property that gives the class name for the skin, using the default skin class name as the default property value.  That way, anyone who wants to create a skin just needs to make a Sprite or MovieClip (depending on the component) and give it a class name, then stick in the class name into the appropriate property.  I need to work on documenting how the skin should be created (rotation base, size, etc.) but I hope it is straightforward.  I played around a bit with setStyle() and the like, but in the end I went with what was easiest.</p>
<h3>ASDoc</h3>
<p>The most natural way of writing documentation is using ASDoc, but I struggled quite a lot getting it to work with my *.as files.  It was one of those things that I thought would take 30 minutes that turned into more than half a day affair. One big discovery was hearing that I needed to use JRE 5, instead of the more recent JRE 6 or JRE 7 versions.  I am shocked that this could have been the culprit, as Adobe seems to depend heavily on ASDoc and I wonder what the dependency is to version 5.  I am surprised I don&#8217;t see it somewhere in Flash CS5, but then again, maybe not so surprised, as Adobe is pushing development through Flash Builder.  <a href="http://www.wastedpotential.com/?p=252">This article from Wasted Potential</a> helped a lot, though I still had some tweaks (hard earned through several hours).  BTW, here is my batch file that worked:</p>
<pre style="padding-left: 30px;">cls
set path=C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.5.1\bin
set JAVA_HOME="C:\Program Files (x86)\Java\jre1.5.0_22"
asdoc.exe -source-path "C:\Users\Jonathan\Documents\My Dropbox\FMXIS3" -doc-sources "C:\Users\Jonathan\Documents\My Dropbox\FMXIS3\com" -window-title "EqSim Hierarchical State Engine and Equipment Interface Components" -main-title "Flash State Engine and Components" -footer "Copyright 2011&lt;br/&gt;www.eqsim.com" -output "C:\Users\Jonathan\Documents\My Dropbox\FMXIS3\docs" -library-path "C:\Users\Jonathan\Documents\My Dropbox\FMXIS3\fl-shim.swc"
pause</pre>
<p>You&#8217;ll see I set the path variable at top because I didn&#8217;t want to interfere with the real JAVA_HOME (and get inundated with Java update messages, just for ASDoc).  Before having the library-path argument, I remember I had a lot of trouble with weird errors like UIComponent not being defined.  That eventually led me to a site that discussed creating a shim with the UIComponent code, which you can see here.  That site basically said to create a MovieClip that includes any Flash component (from Adobe), then export that clip as a SWC, then add the library-path argument above.  With the benefit of foresight, I bet I could just drop a component on the stage, then go find the ComponentShim component in the _private folder that gets added when one brings in one of those components (I used a Button), and use that, but I&#8217;m too lazy to go back and try that.</p>
<h3>LivePreview</h3>
<p>I struggled with the decision about whether I would produce FLA-based components or SWC-based components.  I have not come down conclusively on either side, yet.  The easiest process seems to be letting Flash produce the file as part of an exported SWC, then using that SWF file in the Components panel under Live Preview.  That wasn&#8217;t so helpful for two of my components, Timer and Stopwatch, because they have no visible presence at run-time, so the Live Preview would empty.  I tried to follow Jeff Kamerer&#8217;s suggestions in his <a href="http://www.adobe.com/devnet/flash/articles/creating_as3_components_pt3.html#articlecontentAdobe_numberedheader_6">Part 3 on LivePreview</a>, but I found he glossed over the most important part, unfortunately:</p>
<blockquote><p>If I had wanted the UILoader Live Preview to handle component parameters, I would have simply implemented those parameters.</p></blockquote>
<p>He doesn&#8217;t say how to implement the parameters, and his example doesn&#8217;t show how to retrieve a UILoader-specific parameter &#8212; the live preview movie itself is not of the type of the component, so I don&#8217;t know how to access the parameters I want to display.  For example, in my Timer component,  I want to show the timing interval.  I don&#8217;t know how to access the timing interval of the real instance from the Live Preview movie.  Very frustrating.  Maybe someday I&#8217;ll figure it out, but for now I just created a box that shows up if isLivePreview is true (only during Live Preview).  So I will deploy my Timer and Stopwatch as SWC components, and then using the default preview mechanism will show the box I wanted.  Kind of gnawing at me how to access the parameters from a Live Preview movie, though.</p>
<p>UPDATE: I had some insight into the LivePreview, after giving it some more thought, but still did not get it to work.  Here is my comment I added to Jeff Kamerer&#8217;s article on making a LivePreview:</p>
<blockquote><p>This series has been great, but I have one problem for the life of me I can&#8217;t overcome (and this part, #3, does not give the details).  I also have searched over the Internet at other tutorials, but to no avail.</p>
<p>I want to create a LivePreview movie for my component that has no visual representation on the stage.  The UILoader example is good, but it leaves out a few critical details.  For example, it says if you need to get component parameters, define them.  However, it does not say how to reach the parameters in the instance.  I looked in fl.livepreview.LivePreviewParent to find the answer: myInstance.  That property is the component instance.  Great, I&#8217;m thinking, almost there!</p>
<p>So inside the class I define for my LivePreview, for my component&#8217;s property &#8220;instance&#8221;, I retrieve &#8220;LivePreviewParent(parent).myInstance.interval&#8221; (because parent inherits from the LivePreviewParent class).  If &#8220;interval&#8221; is defined as a public variable (with Inspectable), great, I get the value as I want.  However, my &#8220;interval&#8221; happens to be a getter/setter (with an Inspectable tag, of course), and nothing happens.  I&#8217;m stuck.  I don&#8217;t know why it works for a public variable but not for a getter/setter.</p>
<p>Furthermore, even with an Inspectable variable, when I update the value in the property inspector, it does not change in the LivePreview.  I see in the LivePreviewParent class there is a method called &#8220;onUpdate&#8221;.  If I define that in my LivePreview movie, I&#8217;m thinking I will get notified when the properties change.  Nope.  I even tried defining it in the parent, and then having a function call into the LivePreview clip, but still nothing.</p>
<p>I have spent many hours on this, and just can&#8217;t afford to continue, so I have to go back to my fallback, which is adding the live preview into the real component and using the basic process.  This inflates the size of my component, but it is the only thing I can see reliably working.</p></blockquote>
<h3>The Future</h3>
<p>It was a somewhat fun exercises, but it&#8217;s time to get back to my other work that has piled up.  It did occur to me that I may in the future want to port these to HTML5/JavaScript, which I don&#8217;t think would be too bad, or port them to Flex components (even easier).  Maybe someone out there would like to do this!  Stay tuned and I will post where I ultimately put the component set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=303</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Karl Kapp &#8212; Nice Resources for Games, Learning, and Simulations</title>
		<link>http://www.eqsim.com/blog/?p=299</link>
		<comments>http://www.eqsim.com/blog/?p=299#comments</comments>
		<pubDate>Thu, 03 Nov 2011 21:23:48 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[games]]></category>
		<category><![CDATA[simulation-based training]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=299</guid>
		<description><![CDATA[I was going through my usual sources for interesting information about simulations, and came across Karl Kapp&#8217;s website and blog.  Karl is a business consultant and professor at Bloomsburg University who writes about games, simulations, and learning, or as he describes it, he &#8220;consult[s] with businesses on topics related to the convergence of learning, manufacturing, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D299"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D299&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was going through my usual sources for interesting information about simulations, and came across Karl Kapp&#8217;s <a href="http://www.karlkapp.com/">website</a> and <a href="http://www.kaplaneduneering.com/kappnotes/">blog</a>.  Karl is a business consultant and professor at Bloomsburg University who writes about games, simulations, and learning, or as he describes it, he &#8220;consult[s] with businesses on topics related to the convergence of learning, manufacturing, and e-technology&#8221;.  In a world where people like to throw around claims like the superiority of simulations, 3D immersion, etc. Karl seems concerned about substantiating them and digging deeper, kind of what I like about <a href="http://www.work-learning.com">Will Thalheimer</a>.</p>
<p>Here are a few blog posts that really made a lot of sense to me.  I can see investigating these as I work to substantiate my own claims!</p>
<ul>
<li><a href="http://www.kaplaneduneering.com/kappnotes/index.php/2010/11/table-key-advantages-of-serious-gamesimmersive-learning-simulations/">Table: Key Advantages of Serious Games/Immersive Learning Simulations</a></li>
<li><a href="http://www.kaplaneduneering.com/kappnotes/index.php/2010/12/some-shortcomings-around-gamesimulation-research/">Some Shortcomings Around Game/Simulation Research</a></li>
<li><a href="http://www.kaplaneduneering.com/kappnotes/index.php/2010/11/research-to-practice-games-and-simulations/">The Role of Games and Simulations in Learning</a></li>
</ul>
<p>Nice work, Karl!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=299</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Increasing the Market Penetration for Simulations</title>
		<link>http://www.eqsim.com/blog/?p=287</link>
		<comments>http://www.eqsim.com/blog/?p=287#comments</comments>
		<pubDate>Fri, 07 Oct 2011 08:41:16 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[personal observations]]></category>
		<category><![CDATA[simulation-based training]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=287</guid>
		<description><![CDATA[In this post, I want to discuss some ideas I have had on how to dramatically increase the market penetration of simulations, where it is possible, which offers some insights into why I believe my new project, SimsUShare, is going to be big (and you should sign up here!).  That having been said, what I [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D287"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D287&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In this post, I want to discuss some ideas I have had on how to dramatically increase the market penetration of simulations, where it is possible, which offers some insights into why I believe my new project, <a href="http://www.simsushare.com" target="_blank">SimsUShare</a>, is going to be big (and you should <a href="http://www.simsushare.com" target="_blank">sign up here</a>!).  That having been said, what I put here is only a first effort at putting down my thoughts so as to better evolve them.<span id="more-287"></span></p>
<p>While my growing experience in simulation-based training and product simulation marketing have continued to move me closer to recognizing solutions to underlying issues preventing widespread adoption of simulation today, I had trouble articulating the issues clearly.  Last year, I think I was able to do so. I believe that widespread adoption and benefit from simulation is held back largely because:</p>
<div id="_mcePaste" style="padding-left: 30px;">
<ol>
<li>It takes too much time/expense to create simulations;</li>
<li>There is no efficient way to share and localize existing simulations; and,</li>
<li>Current tools often require IT support for installation and maintenance.</li>
</ol>
</div>
<p>As luck would have it, as I was developing my ideas further, I came across Clark Aldrich&#8217;s blog post from June, 2010, &#8220;<a href="http://www.clarkaldrichdesigns.com/2010/06/next-step-for-simulations-and-serious.html" target="_blank">The Next Step for Simulations and Serious Games: Multi-Genre Authoring Tools and a Vibrant Marketplace</a>&#8220;, that really summed up this yearning beautifully:</p>
<blockquote><p>&#8220;&#8230;the process to create [simulations] today is too long and too expensive for most organizations to use them beyond the 5% to 10% of their high value/mission critical and external facing courses today. Further, the marketplace for selling and otherwise sharing them is too fragmented to provide reliable returns to attract many content creators. This has resulted in an identified, but unfulfilled need&#8230;.What is now needed are powerful, flexible, and accessible simulation creation tools as well as a viable, persistent simulation repository and marketplace.&#8221;</p></blockquote>
<p>One of the nagging things I walked away from this quote with was the question: why is the penetration stuck in the 5-10% range, and how can it be extended?  The idea of making more powerful tools is the mantra for many technologists &#8212; make more features, that&#8217;ll get them buying chopsticks (please excuse the Eddie Murphy reference).  I think Clark really nailed the issues &#8212; a combination of tools, repository, and marketplace.</p>
<p>On a slight digression, ever since I met David Castillo (my co-author) in about 2000, we have been discussing whether creating a simulation-building tool based on statecharts would bring statecharts and simulations more into the mainstream by making it easier to create simulations (particularly around equipment).  We looked at the Rapid CBT example&#8211;a beautiful tool, which seemed to garner more success for its services arm than for its own product sales&#8211;and we wondered if having a Flash-based tool would take this further.  Though it went unstated, I hesitated to go &#8216;all in&#8217; on something like that because I didn&#8217;t feel we really nailed the idea of how a Flash-based (or HTML5, or whatever) tool would solve the market problem.  In my heart of hearts, it couldn&#8217;t just be about improving the tool itself &#8212; there had to be at least a community component.</p>
<h3>Distilling Experience into Key Dimensions</h3>
<p>Having the years to ponder these thoughts, I have come up with three dimensions that can help me give this problem something visual to work from:</p>
<ol>
<li>Content Creation Simplicity.  How easy is it to use the tool to create appropriate simulation content, that is, what kind of functions does the tool provide to make the task of creating content simpler.  This can range from all content has to be created from scratch, to an ideal, perfect tool in which content can be magically reassembled with no effort.  Clearly, neither extreme is plausible in reality, but there is a great continuum between these points.</li>
<li>Cost &#8211; I don&#8217;t mean purely the purchase price, rather, a more overarching resource cost for what it takes to acquire and apply the tool in the workplace.</li>
<li>Community Sharing Proclivity (CSP).  A term I just made up meaning some measure of how inclined the community is to share existing work.</li>
</ol>
<p>The last dimension requires more explanation and probably more thought to flesh out.  One could argue that if a tool made it easier to share work (i.e., going higher on the scale for #1), then the community sharing would be easier and therefore impact #3.  However, I am aiming at a more subtle definition of #3 &#8212; how likely would the community be to share any material generated.  For example, if the community consists of commercial competitors, then making a tool simpler will not affect the CSP.</p>
<p>One of my first observations was that the &#8220;community&#8221; is not anywhere near a single community.  I even have some trouble circumscribing exactly what is a community.  For my purposes, it is a group of people and businesses that seek to solve a set of common problems.  Therefore, a community can be very specific, or very general.  How you define the community issues is going to be a big factor in how close you can get to the perfect combination, or 100% market penetration (though I assume virtually no practical community could reach 100%).  Maybe that is pretty obvious.  Different communities have different needs and assumptions regarding simulations, and therefore trying to answer how to increase penetration for simulations as a whole is going to fail.</p>
<h3>My Hypothesis</h3>
<p>My hypothesis is that the potential penetration of simulation in a community is proportional to the<em> closest distance</em> between values assigned for a particular set of tools and the intersection of lines at the maximum of each of those 3 dimensions.  The purpose of declaring a hypothesis is to use it to understand how much we can improve market penetration practically.</p>
<p>Here is a rough sketch of what I propose:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.eqsim.com/blog/sim-penetration-graph.png" alt="" /></p>
<p>The blue rectangular prism is a range of what one would consider practically achievable for a given community, since it is impossible to reach the perfect target.</p>
<p>To use this practically, you have to assign values (I would say qualitative) to:</p>
<ol>
<li>Tool or set of tools (along the Content Creation Simplicity axis):  Farthest from the perfect target along this axis is a tool in which you have to re-create everything to make a simulation, and closest is a tool in which everything is provided magically so that simulation assembly is effortless</li>
<li>How inclined is the community to share work product (Community Sharing Proclivity): Farthest from the perfect target along this axis is a community that refuses to share anything; closest is the community that shares everything</li>
<li>The resource costs for implementing simulation solutions (Cost). Farthest from the perfect target is a tool with infinite cost (acquisition and resources); closest is a tool that has no resource costs.</li>
</ol>
<p>To reiterate my hypothesis, I believe that given some tool (which embodies a methodology and process), given a measure of its cost to implement for an individual or organization in the community, and given some measure of how cooperative the community is at sharing, you can derive a distance to the &#8216;perfect target&#8217;, or maximum of all dimension values.</p>
<h3>The Purpose: What the Hypothesis Suggests</h3>
<p>Market penetration is important both commercially, for the tool producers, and the community, to help solve problems.  The purpose of defining these dimensions is to permit questions about:</p>
<ol>
<li>What is the best description of a community fit to the tools/processes (for the tool vendor, who is really your target customers and target users?  For the community members, who are the people you need to associate with closer to increase the CSP?)</li>
<li>How can we decrease the distance to the perfect target, and thereby increase the market penetration.</li>
</ol>
<p>Ultimately, by examining the values we assign, and the &#8220;maximum values&#8221; we determine for each axis given the community&#8217;s issues, we need to ask ourselves how difficult it would be to increase each value.  Depending on the extent of this space, we may be able to prioritize increases in which dimension(s) bring us closer to the perfect target at the least effort.  Improving tools may only go so far if the resource costs and the proclivity are working against us.  Similarly, the greatest intentions of a community to share (CSP) can be sidetracked if the tool costs too much to implement, or is not sufficiently easy to accomplish the needs of the community.</p>
<p>This is really a first stab at something that has been gnawing at me for some time.  I hope you can provide some feedback as to the soundness of these ideas and how your own thoughts might influence the direction I&#8217;m heading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=287</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Simulation Supports an Experience in Content Marketing</title>
		<link>http://www.eqsim.com/blog/?p=282</link>
		<comments>http://www.eqsim.com/blog/?p=282#comments</comments>
		<pubDate>Wed, 06 Jul 2011 14:55:34 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=282</guid>
		<description><![CDATA[It&#8217;s been awhile since my last post, but I really haven&#8217;t seen anything that has caught my eye enough to comment on.  Of course I am also involved in my super-secret project, called SimsUShare, and then taking care of regular business and such hasn&#8217;t left me a lot of time for exploring.  In a few [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D282"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D282&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>It&#8217;s been awhile since my last post, but I really haven&#8217;t seen anything that has caught my eye enough to comment on.  Of course I am also involved in my super-secret project, called <a href="http://www.simsushare.com" target="_blank">SimsUShare</a>, and then taking care of regular business and such hasn&#8217;t left me a lot of time for exploring.  In a few months, I will begin talking about SimsUShare and why I believe it will be the next generation in product marketing (hint: it&#8217;s about making simulations easier to build, change, share, and deploy).</p>
<p>Today I came across an intriguing post entitled &#8220;<a href="http://www.contentmarketinginstitute.com/2011/07/what-content-marketing-is-about/" target="_blank">What Content Marketing is Really About</a>&#8220;, by <a href="http://www.contentmarketinginstitute.com/author/robert-rose/">Robert Rose</a> at the <a href="http://www.contentmarketinginstitute.com/" target="_blank">Content Marketing Institute</a>.  In his quest to explain what &#8216;Content Marketing&#8217; is about, Robert boils it down to:</p>
<blockquote><p><strong>The content marketing process is <em>really</em> centered on marketers becoming better storytellers. <strong>Our jobs are to create a lasting impression with our content with the goal of maintaining or changing behavior.</strong></strong></p></blockquote>
<p>As I&#8217;ve talked about in other posts, I am convinced that simulations lend themselves naturally to develop compelling content that helps tell a story, because they can provide a vivid environment in which stories can be set, even stories that the viewer helps to &#8216;write&#8217; (albeit in a directed way, &#8220;<a href="http://www.eqsim.com/blog/?p=67">Successful selling by using simulations o put your prospects in their own (future) success story</a>&#8220;).  Robert suggests we have to consider how each piece of content fits into an overall theme, into a picture of the kind of story (the &#8216;theme&#8217;) we want to tell about our product(s).</p>
<p>This led to me to think about a conversation I had this past weekend with my cousin Wyatt, a film editor who recently completed editing a major 3-D movie.  I was wondering whether he felt that 3-D was waning, because several of the ones I have seen recently really seemed to use 3-D pretty gratuitously.  In the course of the conversation, he expressed that in his view, movies like Avatar work well for 3-D because an important part of the movie was about inviting the viewers into a world to explore.  With many of the movies that follow (especially, it seems, the ones I&#8217;ve seen), the use of 3-D is for pure effect.</p>
<p>The relation I see to storytelling and simulation is that the good simulations, through depictions of meaningful interactions and details, help to recreate a vivid experience in which one can tell a great story.  Just as a great storyteller does not necessarily need a lot of theatrics, a great simulation does not need the full Hollywood effect to be compelling, provided that it has the right elements in which to allow the story to unfold &#8212; and resolve the problems/issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=282</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implanting False Memories &#8212; Good for Training, Bad for Marketing?</title>
		<link>http://www.eqsim.com/blog/?p=276</link>
		<comments>http://www.eqsim.com/blog/?p=276#comments</comments>
		<pubDate>Mon, 30 May 2011 14:05:14 +0000</pubDate>
		<dc:creator>Jonathan Kaye</dc:creator>
				<category><![CDATA[advertising]]></category>
		<category><![CDATA[product simulation advertising]]></category>
		<category><![CDATA[product simulation marketing]]></category>

		<guid isPermaLink="false">http://www.eqsim.com/blog/?p=276</guid>
		<description><![CDATA[I came across an interesting post today entitled &#8220;Study Demonstrates False Memories Implanted Via Advertising&#8221; (which referred to an earlier post at Wired) about a research study I Imagine I Experience, I Like: The False Experience Effect (the odd part is that people say it is published in the Journal of Consumer Research, but I can&#8217;t find it in vol. 38 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D276"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.eqsim.com%2Fblog%2F%3Fp%3D276&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I came across an interesting post today entitled &#8220;<a href="http://www.neurobonkers.com/?p=3010" target="_blank">Study Demonstrates False Memories Implanted Via Advertising</a>&#8221; (which referred to an earlier post at <a href="http://www.wired.com/wiredscience/2011/05/ads-implant-false-memories/" target="_blank">Wired</a>) about a research study <a href="http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1739953" target="_blank">I Imagine I Experience, I Like: The False Experience Effect</a> (the odd part is that people say it is published in the <a href="http://www.jstor.org/action/showPublication?journalCode=jconsrese" target="_blank">Journal of Consumer Research</a>, but I can&#8217;t find it in vol. 38 there).</p>
<p>What immediately struck me on my first reading was possibly two opposite feelings it evoked based on the same mechanism, that is, re-creating an experience that results in (&#8216;implanted&#8217;) false memories.  In the advertising domain, it made me feel like implanting false memories is a sneaky and almost immoral thing, that is, trying to manipulate our mind towards the product.  In the training domain (especially with simulations), however, we actively strive to re-create experiences exactly for the purpose of having the viewer develop and retain the skills.</p>
<p>This is the crux of why I believe product simulation marketing can be so effective &#8212; it employs the same mechanism.  In the study, the authors achieved the results using a &#8216;high-imagery commercial&#8217;, but I think it&#8217;s not a big leap from there to a more immersive experience using simulation.  I can see how making the right type of advertising about a product, in which the viewer solves a problem using that product, could implant the memory in the viewer that he or she has solved the problem with that product &#8211;thereby making the useful connection for the marketer.  While this may sound a bit slimy, I think it all depends on how much one considers such content as manipulative or helpful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eqsim.com/blog/?feed=rss2&#038;p=276</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

