<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Chris at IMM 2009-2010</title>
	<atom:link href="http://chrisatimm.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrisatimm.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 30 Mar 2010 00:31:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chrisatimm.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Chris at IMM 2009-2010</title>
		<link>http://chrisatimm.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chrisatimm.wordpress.com/osd.xml" title="Chris at IMM 2009-2010" />
	<atom:link rel='hub' href='http://chrisatimm.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Do the (Loco)Motion&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2010/03/30/do-the-locomotion/</link>
		<comments>http://chrisatimm.wordpress.com/2010/03/30/do-the-locomotion/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 00:31:14 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=63</guid>
		<description><![CDATA[Motion Control in a 3D world&#8230;some links&#8230; to be looked at in conjunction with the blog titled &#8216;Tilt, Rattle and Roll&#8230;&#8217;. 1. Alice http://www.developer.com/java/other/article.php/3673761/Introduction-to-Alice-Programming.htm#Objects_in_3D_space No not that Alice, but it sure is a bit of a Wonderland it introduces you to. This is a link to a particular place on the site, which is closest [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=63&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Motion Control in a 3D world&#8230;some links&#8230;<br />
to be looked at in conjunction with the blog titled &#8216;Tilt, Rattle and Roll&#8230;&#8217;.</p>
<p>1. Alice</p>
<p>http://www.developer.com/java/other/article.php/3673761/Introduction-to-Alice-Programming.htm#Objects_in_3D_space</p>
<p>No not that Alice, but it sure is a bit of a Wonderland it introduces you to. This is a link to a particular place on the site, which is closest to where &#8217;tilt, roll and yaw&#8217; are mentioned. However it is well worth having a look at the rest of this site. It is about a programming environment or program providing a lot of classes for 3D programming, written in Java. Geared towards teaching students about programming, it is graphically compelling.</p>
<p>2. 3D input devices</p>
<p>http://xahlee.org/3d/3D_inputs.html</p>
<p>No 3D programming can be really fully interactive without the use of controllers which provide three dimensional data. Wii controllers and iPods/iPhones are definitely not the only kids on the block, as this article demonstrates clearly.</p>
<p>3. Virtual Wiiality Redux</p>
<p>http://joelclemens.colinr.ca/thesis/components.html</p>
<p>The title is really pun intended, as the article explains why these people have used the Sony Playstation 3 rather than the Nintendo Wii for motion and position control in a 3D virtual reality world. Lots of detailed explanations with video and pictures as well as downloadable code for USB/Bluetooth communication. An alternative for what we did with the Wii Remote, be it an older implementation and possibly not as well supported any longer.</p>
<p>And of course there is lots more out there if you want to look for it beyond the obvious&#8230;</p>
<p>Chris</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=63&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/03/30/do-the-locomotion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>Tilt, Rattle and Roll&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2010/03/30/tilt-rattle-and-roll/</link>
		<comments>http://chrisatimm.wordpress.com/2010/03/30/tilt-rattle-and-roll/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 00:23:23 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=50</guid>
		<description><![CDATA[Another installment in the series of experiments built around Dan Zen&#8217;s feathered friends. This time it is the Penguin&#8217;s turn. I don&#8217;t know whether the Penguin was the obvious choice to represent motion detection in three dimensions. A lot of other birds are a lot less restricted in their movements&#8230; but I digress. Using the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=50&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Another installment in the series of experiments built around Dan Zen&#8217;s feathered friends. This time it is the Penguin&#8217;s turn. I don&#8217;t know whether the Penguin was the obvious choice to represent motion detection in three dimensions. A lot of other birds are a lot less restricted in their movements&#8230; but I digress.</p>
<p>Using the code and samples you can find at </p>
<p>http://penguinsflash.wordpress.com/</p>
<p>you can simulate a device which can feed back tilt, roll and yaw information. It&#8217;s all you need to mathematically determine motion in a three dimensional world in any direction. And if you don&#8217;t know what these are, there is a very good graphical explanation about it at that WordPress site too. Even the avid remote control plane enthusiast might have an interest in checking it out.</p>
<p>You can use any of the provided examples to control any Object property in Flash/ ActionScript 3, just by feeding the right variables the Penguin object provides from a constantly generated XML file. Look for variables such as rollX and rollY in the sample code and use them with your own objects.</p>
<p>The fastest way to get a good grip on what you can do with these variables is to trace them and then use the TiltEmulator to look at the extremes in both directions by making the device picture tilt left to right or roll up and down. This will help you determine what factors you want to build into your own code, to manipulate the date into a range suitable for the property you want to control. Or in practical terms you could use the range data with the stageWidth and stageHeight to move something within the confines of the stage, or turn the data into a 0 to 1 range for example for a control of the alpha property of a MovieClip object.</p>
<p>The possibilities are endless.</p>
<p>And if you get hold of a device which can send movement data (i.e. from accelerometers&#8230;) such as Nintendo Wii controllers, Sony Playstation 3 controllers, iPods/iPhones as well as the software to communicate this data with your computer, you can really experiment with tilt, roll and yaw to your heart&#8217;s content&#8230;</p>
<p>Here are some screenshots of an application built for use with the Penguin technology and the tiltemulator as used with it.</p>
<p><a href="http://chrisatimm.files.wordpress.com/2010/03/spin1.jpg"><img class="alignnone size-medium wp-image-54" title="Spin" src="http://chrisatimm.files.wordpress.com/2010/03/spin1.jpg?w=300&#038;h=281" alt="" width="300" height="281" /></a> a spinning cube, with its rotation direction and speed controlled with the</p>
<p><a href="http://chrisatimm.files.wordpress.com/2010/03/tiltemul1.jpg"><img class="alignnone size-medium wp-image-55" title="TiltEmul" src="http://chrisatimm.files.wordpress.com/2010/03/tiltemul1.jpg?w=292&#038;h=300" alt="" width="292" height="300" /></a> tiltemulator software.</p>
<p>Enjoy!</p>
<p>Chris</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=50&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/03/30/tilt-rattle-and-roll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>

		<media:content url="http://chrisatimm.files.wordpress.com/2010/03/spin1.jpg?w=300" medium="image">
			<media:title type="html">Spin</media:title>
		</media:content>

		<media:content url="http://chrisatimm.files.wordpress.com/2010/03/tiltemul1.jpg?w=292" medium="image">
			<media:title type="html">TiltEmul</media:title>
		</media:content>
	</item>
		<item>
		<title>Sounds galore&#8230; in Flash</title>
		<link>http://chrisatimm.wordpress.com/2010/03/10/sounds-galore-in-flash/</link>
		<comments>http://chrisatimm.wordpress.com/2010/03/10/sounds-galore-in-flash/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 23:01:55 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=47</guid>
		<description><![CDATA[If you are interested in sound and how to manipulate it from Flash, here are three sites which you might want to have a look at: 1. FlashKit Sometimes when we are coding, we just need some sound files which we can use. Sometimes we need some effects. And of course we like to have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=47&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you are interested in sound and how to manipulate it from Flash, here are three sites which you might want to have a look at:</p>
<p>1. FlashKit</p>
<p>Sometimes when we are coding, we just need some sound files which we can use. Sometimes we need some effects. And of course we like to have it all in a nice Flash format, apart from the .wav and .mp3 files. Well &#8216;Flashkit&#8217; may be old (remember Macromedia?), but provides the goods:</p>
<p>Sound Loops &#8211; Flash Kit, A Flash Developer Resource for Macromedia &#8230;</p>
<p>www.flashkit.com/loops/</p>
<p>Sound FX &#8211; Flash Kit, A Flash Developer Resource for Macromedia &#8230;</p>
<p>www.flashkit.com/soundfx/</p>
<p>2. Peachpit</p>
<p>Peachpit on the other hand is about providing a good learning experience:<br />
Peachpit: Controlling Flash Audio Volume with Sound Objects &gt; What &#8230;</p>
<p>www.peachpit.com › Articles › Design › Adobe Creative Suite</p>
<p>Nothing more than the basics. But well explained, with code and screenshots provided in a 3 page article.</p>
<p>3. SoundManager 2: Javascript Sound For The Web</p>
<p>www.schillmania.com/projects/soundmanager2/</p>
<p>Interesting to see how through using JavaScript to access a Flash video (!?) file this code provides a lot of functionality.</p>
<p>Inside &lt;head&gt; on your HTML page you insert this one line:</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;soundmanager2.js&#8221;&gt;&lt;/script&gt;</p>
<p>A site well designed to get you started quickly and with a good understanding of how to set it up. Documentation and demonstrations galore! All just a free download away.</p>
<p>Enjoy,</p>
<p>Chris</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=47&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/03/10/sounds-galore-in-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>Pecking away at it&#8230;with some added pizzaz&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2010/03/10/humming-along-with-some-added-pizzaz/</link>
		<comments>http://chrisatimm.wordpress.com/2010/03/10/humming-along-with-some-added-pizzaz/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 13:30:57 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=43</guid>
		<description><![CDATA[Woodpecker &#8211; easy to use and real fun&#8230; Woodpecker is another one of Dan Zen&#8217;s feathered friends. Look up &#8216;Flash Feathers&#8217; if you don&#8217;t understand what this is about ( flashfeathers.wordpress.com/). At least half of the music applications (i.e. MP3 player software, sound editors&#8230;) show one or more bars moving with the frequency or amplitude [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=43&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Woodpecker &#8211; easy to use and real fun&#8230;</strong></p>
<p>Woodpecker is another one of Dan Zen&#8217;s feathered friends. Look up &#8216;Flash Feathers&#8217; if you don&#8217;t understand what this is about ( <cite><strong>flashfeathers</strong>.wordpress.com/).</cite></p>
<p>At least half of the music applications (i.e. MP3 player software, sound editors&#8230;) show one or more bars moving with the frequency or amplitude of the sound. Woodpecker gives you a tool to add that kind of dynamic content to your Flash development. It is easy to use and adds very little overhead. Latency doesn&#8217;t seem to be a problem.</p>
<p>But more than that, Woodpecker provides the sound related variables which apart from use in the typical bar displays (bar as in &#8216;equalizer&#8217; type bar, not the liquid providing kind), also can be used to change the properties of just about any MovieClip you can think of.</p>
<p>Other Flash feathers tended to lead to applications completely centered on the functionality of the particular Flash feather application. Woodpecker lends itself also very well to using it to add a bit of dynamics (pizzazz&#8230;) to applications that are not in the first place about animating with sound.</p>
<p>Let your imagination run wild with Woodpecker!</p>
<p>Chris</p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=43&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/03/10/humming-along-with-some-added-pizzaz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>One user &#8230; two users &#8230; MULTIUSER</title>
		<link>http://chrisatimm.wordpress.com/2010/01/27/one-user-two-users-multiuser/</link>
		<comments>http://chrisatimm.wordpress.com/2010/01/27/one-user-two-users-multiuser/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 03:43:40 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=36</guid>
		<description><![CDATA[I have put together a list of five links, which all in one way or another relate to multi-user technology. Only one of them is a practical example of code which is supposed to allow us to do similar things as in Robin, and that is Hemlock. The other four are mostly papers on multi-user [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=36&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have put together a list of five links, which all in one way or another relate to <strong><span style="color:#000000;">multi-user</span></strong> technology.</p>
<p>Only one of them is a practical example of code which is supposed to allow us to do similar things as in Robin, and that is <strong>Hemlock</strong>.</p>
<p>The other four are mostly papers on multi-user technology, some quite interesting because they date far back, yet touch on the core issues of multi-user applications.</p>
<p><span style="text-decoration:underline;">HEMLOCK &#8211; Build Multi-User, real time web applications</span></p>
<p>http://hemlock-kills.com</p>
<p>This is a downloadable system, with added example code and some screenshots of examples (Mac and Unix like systems, last updated June last year)</p>
<p><span style="text-decoration:underline;">DONATIEN &#8211; Towards an easy way to build interactive multi-user applications</span></p>
<p>www.sics.se/pepito/D6.1/donatien.ppt</p>
<p>PowerPoint presentation from 2002, from professor Donatien Grolaux at the Catholic University of Leuven (UCL), Brussels</p>
<p><span style="text-decoration:underline;">ECSW &#8211; A General Multi-User Undo/Redo Model</span></p>
<p>http://www.ecscw.org/1995/15.pdf</p>
<p>Yes the &#8217;1995&#8242; in the URL does stand for its year of creation. A paper presented at the Fourth European Conference on Computer &#8211; Supported Cooperative Work (ECSW), in Stockholm, Sweden. A topic which obviously is of great importance for multi-user applications.</p>
<p><span style="text-decoration:underline;">DAO &#8211; Configuring Communication Middleware to Support Multi User Object-Oriented Environments</span></p>
<p>http://www.gsd.inesc-id.pt/~ler/reports/doa02.pdf</p>
<p>Sep 01, 2002 &#8211; paper presented by professors from the University of Lisboa, Portugal &#8211; intersting for bringing together the OO and the Multi User aspects in MOOs.</p>
<p><span style="text-decoration:underline;">FROM MOOs TO&#8230; &#8211; Moving from MOOs to Multi-User Applications</span></p>
<p>http://research.microsoft.com/en-us/um/people/sdrucker/papers/moving.pdf</p>
<p>Paper from Steven M. Drucker, for Virtual Worlds Group, Microsoft Research, Microsoft Corporation.<br />
DHTML &#8211; HTML 4.0 &#8211; CSS 1.0</p>
<p>As said earlier, from the above links, if interested in Robin driven applications, Hemlock is probably your best bet for an easy alternative. Note however the obvious difference Robin provides: Flash technology means development in Adobe Flash and end result running in web browsers and thus independent of operating system.</p>
<p>Enjoy!</p>
<p>Chris &#8211; 01/26/2010</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=36&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/01/27/one-user-two-users-multiuser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>A Robin! It must be spring&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2010/01/27/a-robin-it-must-be-spring/</link>
		<comments>http://chrisatimm.wordpress.com/2010/01/27/a-robin-it-must-be-spring/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 03:28:58 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=28</guid>
		<description><![CDATA[Through the Robin multiuser interface Dan Zen provides us with the tools to build our own multiuser Flash applications. In this blog I illustrated how I approached the development of a Flash application for use with Robin: Working with Robin To work with Robin it helps to clearly divide the code up in code dealing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=28&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration:underline;"><strong> </strong></span><br />
Through the Robin multiuser interface Dan Zen provides us with the tools to build our own multiuser Flash applications.</p>
<p>In this blog I illustrated how I approached the development of a Flash application for use with Robin:</p>
<p><strong>Working with Robin</strong></p>
<p>To work with Robin it helps to clearly divide the code up in code dealing with what needs to happen on each of the PCs and code that deals with the communication of data between the PCs.</p>
<p>On each machine three things need to happen:</p>
<p>1. Initialization when the program is started, which takes care of:</p>
<p>- adding the PC to the group of PCs using the application (including making the distinction between joining existing group or being the first one on it);<br />
- put the avatars for the own PC and the other PCs if any, on the local PC screen;<br />
- send out the initial coordinates and avatar number for the local PC avatar.</p>
<p>2. If and when data is received from the other PCs, show the avatars in their changed positions.</p>
<p>3. We need to be able to move the local avatar with the mouse on the local PC and when we do its number and new position needs to be sent out to the other PCs.</p>
<p><strong>Example Code</strong></p>
<p>The example code that follows comes from a program I called Cats. It allows for 5 &#8216;players&#8217;. The &#8216;avatars&#8217; are small jpg pictures we put in the library of the .fla file. From there we drop them in 5 consecutive frames of a MovieClip. This allows for using them separately with gotoAndStop(frame number) statements.</p>
<p>In the initialization code I first check whether there is data out there. If not my avatar number is 0. If there is, the number of used avatars is determined and our avatar automatically gets as number the number of avatars in use. This also points to the fact that the first element in the returned data array is element 0. Worth remembering as the frames for the avatars start counting from 1. Because we send the avatar numbers as part of the data and don&#8217;t use the position in the data array as the avatar number it doesn&#8217;t really matter though.</p>
<p><span style="text-decoration:underline;">Cat.as file:</span></p>
<p>package cat {</p>
<p>import flash.display.MovieClip;<br />
import flash.display.Sprite;<br />
import flash.events.*;<br />
import flash.geom.Rectangle;<br />
import fl.transitions.Tween;<br />
import fl.transitions.easing.Regular;</p>
<p>import com.danzen.utilities.Robin;</p>
<p>public class Cat extends MovieClip {</p>
<p>private var myRobin:Robin;<br />
private var cats:Array = [];<br />
private var myCatNr:Number = 0;<br />
private var nrOfCats:Number = 0;</p>
<p>public function Cat() {</p>
<p>trace (&#8220;hi from Cat&#8221;);</p>
<p>myRobin = new Robin(&#8220;RobinCat&#8221;,5,true);<br />
myRobin.addEventListener(Event.CONNECT, init);<br />
myRobin.addEventListener(DataEvent.DATA, receiveData);<br />
myRobin.addEventListener(Event.CLOSE, closeData);</p>
<p>} // constructor Cat</p>
<p>private function init(e:Event) {</p>
<p>trace (&#8220;Connected!&#8221;);<br />
trace (&#8220;In init()&#8221;);</p>
<p>if (!(myRobin.getProperties(&#8220;x&#8221;))) {<br />
trace(&#8220;Nothing there yet!&#8221;);<br />
} else {<br />
myCatNr = nrOfCats = myRobin.getProperties(&#8220;x&#8221;).length;<br />
} // if<br />
initCats();<br />
} // init</p>
<p>private function initCats() {</p>
<p>trace (&#8220;Connected!&#8221;);<br />
trace (&#8220;In initCats()&#8221;);</p>
<p>for (var i = 0; i&lt;nrOfCats; i++) {<br />
cats[i] = new mcCats();<br />
cats[i].x = myRobin.getProperties(&#8220;x&#8221;)[i];<br />
cats[i].y = myRobin.getProperties(&#8220;y&#8221;)[i];<br />
cats[i].frame = myRobin.getProperties(&#8220;frame&#8221;)[i];<br />
addChild(cats[i]);<br />
cats[i].gotoAndStop(myRobin.getProperties(&#8220;frame&#8221;)[i]);<br />
} // for</p>
<p>cats[myCatNr] = new mcCats();<br />
cats[myCatNr].x = mouseX;<br />
cats[myCatNr].y = mouseY;<br />
cats[myCatNr].frame = myCatNr + 1;<br />
addChild(cats[myCatNr]);<br />
cats[myCatNr].ButtonMode = true;<br />
cats[myCatNr].gotoAndStop(myCatNr+1);</p>
<p>myRobin.setProperties({x:cats[myCatNr].x, y:cats[myCatNr].y,</p>
<p>frame:cats[myCatNr].frame});</p>
<p>cats[myCatNr].addEventListener(MouseEvent.MOUSE_DOWN, dragCat);</p>
<p>} // init</p>
<p>private function receiveData(e:DataEvent) {</p>
<p>trace(&#8220;Receive Data.&#8221;);<br />
nrOfCats = myRobin.getProperties(&#8220;x&#8221;).length;<br />
trace(&#8220;Received nrOfCats : &#8221; + nrOfCats);</p>
<p>for (var i = 0; i&lt;nrOfCats; i++) {</p>
<p>if (i!=myCatNr) {<br />
cats[i].x = myRobin.getProperties(&#8220;x&#8221;)[i];<br />
cats[i].y = myRobin.getProperties(&#8220;y&#8221;)[i];<br />
cats[i].frame = myRobin.getProperties(&#8220;frame&#8221;)[i];<br />
cats[i].gotoAndStop(myRobin.getProperties(&#8220;frame&#8221;)[i]);<br />
trace(&#8220;Received from record nr.&#8221; + i + &#8221; &#8211; x = &#8221; + cats[i].x + &#8221; &#8211; y = &#8220;  +                  cats[i].y + &#8221; &#8211; frame = &#8221; + cats[i].frame);<br />
} else {<br />
trace(&#8220;i = myCatNr&#8221;);<br />
} // if</p>
<p>} // for</p>
<p>} // receive data</p>
<p>private function closeData(e:DataEvent) {</p>
<p>nrOfCats = myRobin.getProperties(&#8220;x&#8221;).length;</p>
<p>for (var i:uint=0; i&lt;nrOfCats; i++) {</p>
<p>cats[i].visible = false;</p>
<p>} // for</p>
<p>} // close data</p>
<p>private function dragCat(e:MouseEvent) {<br />
cats[myCatNr].addEventListener(MouseEvent.MOUSE_MOVE, moveCat);<br />
cats[myCatNr].addEventListener(MouseEvent.MOUSE_UP, dropCat);<br />
cats[myCatNr].startDrag(false,new Rectangle(cats[myCatNr].width/2,</p>
<p>cats[myCatNr].height/2,</p>
<p>stage.stageWidth-cats[myCatNr].width/2,</p>
<p>stage.stageHeight-cats[myCatNr].height/2));<br />
} // dragCat</p>
<p>private function moveCat(e:MouseEvent) {<br />
myRobin.setProperties({x:cats[myCatNr].x,</p>
<p>y:cats[myCatNr].y,</p>
<p>frame:cats[myCatNr].frame});<br />
} // moveCat</p>
<p>private function dropCat(e:MouseEvent) {<br />
cats[myCatNr].removeEventListener(MouseEvent.MOUSE_MOVE,</p>
<p>moveCat);<br />
cats[myCatNr].removeEventListener(MouseEvent.MOUSE_UP,</p>
<p>dropCat);<br />
cats[myCatNr].stopDrag();<br />
} // dropCat</p>
<p>} // class</p>
<p>} // package</p>
<p>The corresponding .fla file only contains one movieclip with 5 frames, each one containing one picture (the &#8216;avatar&#8217;).</p>
<p>This program still needs some further fine tuning and debugging, but illustrates clearly the aforementioned approach to using Robin. For getting the Robin multiuser server set up and running please consult the documentation at the Robin WordPress blog.</p>
<p><strong>Links</strong></p>
<p>Robin is PHP based for its socket control. Find the documentation and code for running Robin at:</p>
<p>http://robinflash.wordpress.com/</p>
<p>If Robin wets your appetite for more cutting edge accessible systems, then also have a look at the other systems Dan Zen gives us in Flash Feathers at:</p>
<p>http://flashfeathers.wordpress.com/</p>
<p>For other multiuser systems you might want to have a look at :</p>
<p>Palabre,  a python socket server for flash multiuser applications (Palabre &#8211; Flash Xml Multiuser Socket Server 0.5). For info:</p>
<p>http://script.wareseeker.com/free-flash-xml-multiuser-socket-server/</p>
<p>For an xSocket,  Java  and Flash based Multiuser Chat Server, look here:</p>
<p>http://giantflyingsaucer.com/blog/?p=224</p>
<p>Pleasant coding!</p>
<p>Chris &#8211; 01/26/2010</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=28&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2010/01/27/a-robin-it-must-be-spring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>A Note on the 3D Vision Club Project</title>
		<link>http://chrisatimm.wordpress.com/2009/12/16/a-note-on-the-3d-vision-club-project/</link>
		<comments>http://chrisatimm.wordpress.com/2009/12/16/a-note-on-the-3d-vision-club-project/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 20:43:13 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=24</guid>
		<description><![CDATA[3D seems to be all the rage this moment. More movies, more 3D capable theatres, more games, and the first 3D capable television &#8230; So it is definitely a good project subject. There are a lot of different aspects to 3D vision. All our club members got involved in searching the web and other publications [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=24&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>3D seems to be all the rage this moment. More movies, more 3D capable theatres, more games, and the first 3D capable television &#8230;</p>
<p>So it is definitely a good project subject.</p>
<p>There are a lot of different aspects to 3D vision. All our club members got involved in searching the web and other publications and we got an appointment with Mr. Song at s415 in the SCAET building.  I put a summary of my understanding of what I found on the web and heard from Mr. Song in an email to the rest of the group. An email I copied lower down the blog.</p>
<p>My own particular interest goes to &#8216;stereoscopy&#8217;, which basically is dedicating a separate image to each eye, taken with cameras separated at approximately eye distance between left and right eye. Blame it on my ViewMaster having being one of my favourite possessions as a kid.</p>
<p>I firmly believe that combining new technologies (better monitors, cameras, &#8230;) with older technology (optical) can still be worth our while.</p>
<p>Therefore I started experimenting with two web cams used simultaneously, creating two images on a monitor. The challenge is to create an optical system that allows you to look with one eye at the one picture, and the other at the other picture. I tried this with mirrors but haven&#8217;t been able so far to make something well enough aligned and stable enough to be used with real success.</p>
<p>The promise of a system like this is that the optical system is independent of the picture generation. So as better material becomes available (monitor resolution and size, camera resolution, remote controlled moving cameras, &#8230;) what you see gets better with the same optical set up.</p>
<p>Apart from this I also tried out polarized glasses in front of a projector and wearing polarized glasses. This did not work. I found out on the internet why not. Most projection screens mess up the polarization. It takes a special screen to ot mess up the polarization.</p>
<p>All great fun.</p>
<p>Chris</p>
<p>Dec 16th, 2009</p>
<p>3D Vision<br />
10/27/2009<br />
Meeting with Mr. Song, at Sheridan, S415</p>
<p>Mr. Song gave examples of different techniques:</p>
<p>1. stereoscopic images (example ViewMaster, late 19th century cards<br />
with two pictures (left eye/right eye&#8230;))</p>
<p>Pros:   simple, cheap;<br />
Cons:    no moving images, can only be viewed by one viewer;</p>
<p>2. holograms &#8211; used to be monochromatic, now full colour and high<br />
resolution</p>
<p>Pros:    high resolution, now in full colour, no special glasses<br />
needed;<br />
Cons:   needs external light source on it, expensive and complicated<br />
to produce;</p>
<p>3. multiple images broken apart and arranged in lines to compose a<br />
picture seen through special screen. This technique is used in many<br />
different ways:</p>
<p>a. printed material with plastic grooved lens (parallel lines)<br />
attached to it (example of dog on notebook cover)(static image);</p>
<p>Pros: simple, cheap, no special glasses needed;<br />
Cons: one viewer at a time, limited viewing angle;</p>
<p>b. plastic grooved lens in front of iPod (moving image, animation)<br />
(example shown on Mr. Song&#8217;s iPod), no gap between iPod screen and<br />
lens;</p>
<p>Pros: relatively simple and cheap material, no special glasses<br />
needed;<br />
Cons: limited viewing angle, one viewer at a time, lowered<br />
resolution</p>
<p>c. sophisticated bigger lenses attached to computer monitors/TVs and<br />
showing more than two views, with gap between screen and lens;;</p>
<p>Pros: wider viewing angle, no special glasses needed, more than one<br />
viewer;<br />
Cons: expensive screens, expensive and complicated production with<br />
multiple cameras;</p>
<p>4. projected images with different colour filters or polarization<br />
filters for each eye or synchronized shutter techniques by which the<br />
viewer sees alternating images in rapid succession;</p>
<p>Pros: can be seen by many viewers simultaneously, great for special<br />
effects;<br />
Cons: coloured lenses do not allow for normal colours;<br />
polarized lenses mean loss in luminosity;</p>
<p>Some of the points to note:</p>
<p>1. 3D content production is greatly helped by taking into account how<br />
the human brain perceives 3D: changed focus (depth of field) and size<br />
for different distances, shadows, straight lines seperating for<br />
instance  walls, ceilings and floors (perspective clues) &#8230;</p>
<p>2. Because most of these techniques are based on two or more images<br />
being shown in the same space and in the same time as we perceive the<br />
final composed image, resolution is typically divided by the number of<br />
images shown simultaneously and refresh frequency needs to be a<br />
multiple of the frequency typically used for non 3D imaging. For<br />
instance the iPhone has a resolution of 320 x 480, which gets reduced<br />
to 160 x 480 (no vertical duplication of image).</p>
<p>3. Several different aspects of 3D vision are used either seperately<br />
or combined: the different viewpoint of left and right eye and the<br />
different views a viewer expects when he/she moves. This also opens up<br />
the possibility of simulated 3D where viewer position is tracked to<br />
show different images on the screen (for example through the use of<br />
sensors as found in the Wii controller or the small sensors Mr. Song<br />
showed us).</p>
<p>Conclusion:</p>
<p>Most of the discussed techniques require substantial resources. The<br />
cheapest to further experiment with may well be stereoscopic vision<br />
(dual image) and simulated 3D (Wii controller).</p>
<p>Chris Rogiers &#8211; 10/28/2009</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=24&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2009/12/16/a-note-on-the-3d-vision-club-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>Dodo not extinct &#8230; Dodo with a Future&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2009/11/27/dodo-not-extinct-dodo-with-a-future/</link>
		<comments>http://chrisatimm.wordpress.com/2009/11/27/dodo-not-extinct-dodo-with-a-future/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 14:48:34 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=22</guid>
		<description><![CDATA[http://dodoflash.wordpress.com/ Have a look at it. Try it! If you are in awe for the picture manipulation in the CSI labs, but realize it is probably all simulation, try DODO. Real multi-touch, real usable interface building. From a hardware point of view you can really do this on the cheap. From a software point of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=22&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>http://dodoflash.wordpress.com/</p>
<p>Have a look at it. Try it!</p>
<p>If you are in awe for the picture manipulation in the CSI labs, but realize it is probably all simulation, try DODO. Real multi-touch, real usable interface building.</p>
<p>From a hardware point of view you can really do this on the cheap. From a software point of view it does really require minimal additional code to get something fully functional.</p>
<p>The first way to try this is with a simple carboard box, a web cam in the back of it and a plastic screen at the front of it. The translucency, reflectiveness and darkness (lightness) of the plastic (or other material of your choice) determines whether you are better off using your fingers touching the screen (dark on light) or laserpointers/flash lights (light on dark) as cursors. Translucency also determines whether you see some of the background and use it in your application.</p>
<p>A second way to try this (courtesy of Nitin) is by replacing the box with a simple light coloured screen and then use light coloured objects with a black dot at the end (i.e. customized chopsticks or stirring sticks) as cursors against it. This leaves you easier adjustment possibilities than the closed box concept (camera distance, manual focus&#8230;). Just don&#8217;t all go out raiding your local Chinese or coffee shop at once&#8230;</p>
<p>Near instant gratification, yet enough opportunity for further exploration.</p>
<p>Chris</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=22&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2009/11/27/dodo-not-extinct-dodo-with-a-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>A Goose for XMas?</title>
		<link>http://chrisatimm.wordpress.com/2009/11/18/a-goose-for-xmas/</link>
		<comments>http://chrisatimm.wordpress.com/2009/11/18/a-goose-for-xmas/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 20:25:16 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=20</guid>
		<description><![CDATA[Working with the Goose and Robin utilities from www.danzen.com Starting from the gooseexample.fla provided by Dan Zen in the multimedia pioneering course, I developed a gooseexample3.fla with a matching Goose Example3.as. At first it all looks a little daunting, but once you start editing the example files it soon becomes obvious that it takes a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=20&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Working with the Goose and Robin utilities from www.danzen.com</strong></p>
<p>Starting from the gooseexample.fla provided by Dan Zen in the multimedia pioneering course, I developed a gooseexample3.fla with a matching Goose Example3.as.</p>
<p>At first it all looks a little daunting, but once you start editing the example files it soon becomes obvious that it takes a relatively little amount of work, in PhotoShop or GIMP and in Flash with ActionScript 3.0, to come up with a completely different program look and feel.</p>
<p>In my case I made a &#8216;Tug of War&#8217; program where two or more users can put a cursor on the screen at one computer with their mouse at  different other computers. For &#8216;Tug of War&#8217; they can grab either the left or right hand side of a rope and try to move it their way. Past a marker on the left or right makes the corresponding counter run up. A reset button allows for repositioning the rope in the middle and putting both counters back at 0.</p>
<p>Graphics and code for moving the rope were easily developed. It took me a while to realize that I could not directly read the position of the rope because I had no function that fed back that info in either one of the aforementioned files. But one morning when I woke up, and thought about the program I worked on the previous day, EUREKA, I thought of the ENTER_FRAME event and used it to call an updateScore method I wrote, to constantly detect where the registration point x of the rope object was versus the the x coordinates of both markers. The scores were adjusted accordingly based on some &#8216;if&#8217; statements.</p>
<p>During development I tested the programs with three computers. The Robin server was running in Apache 2.2 on a machine running Ubuntu 8.04 desktop version with the example program, all accessed in Firefox 3. The nodes for control, via http://www.danzen.com/node.html, were running on two separate computers. One was also running Ubuntu 8.04 desktop version, the other Ubuntu 9.04 desktop version and Firefox was used on both.</p>
<p>That is how I showed myself that everything was functional.</p>
<p>The one thing to remember when doing that with a typical LAMP setup (Linux, Apache, mySQL, Perl &amp; Python) is that our server root directory is sitting in /var/www/ which is only accessible for writing to by the root user (use sudo in Ubuntu for temporary root privileges) . Also remember that you have to set user and group owners of all files you copy from your Windows based Flash development environment to www-data. Apart from that, it is pretty much straight sailing.</p>
<p>Good fun! I really can recommend looking into all the class packages as provided on www.danzen.com. Although the examples most of us built are little more than pleasant exercises of exploration, the multitouch functionality of the provided classes could really be used for professional applications.</p>
<p>And there is no doubt that the computing world is moving towards multitouch,  first on the small screens (i.e. iPod), and now also on bigger screens (Windows 7). Be it not quite as shown on CSI and NCIS yet&#8230; Dan just gives us the tools for early adoption with simple means!</p>
<p><strong>All you need to get started with Goose can be found at</strong></p>
<p><strong>http://gooseflash.wordpress.com/</strong></p>
<p><strong>And if you need to find some good design ideas for the sites on which you play with Goose,  you might want to have a look at </strong></p>
<p><strong>http://veerle.duoh.com/</strong></p>
<p>Happy experimenting!</p>
<p>Chris</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=20&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2009/11/18/a-goose-for-xmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
		<item>
		<title>Moving Along&#8230;</title>
		<link>http://chrisatimm.wordpress.com/2009/09/30/moving-along/</link>
		<comments>http://chrisatimm.wordpress.com/2009/09/30/moving-along/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 18:47:19 +0000</pubDate>
		<dc:creator>chrisatimm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chrisatimm.wordpress.com/?p=14</guid>
		<description><![CDATA[in front of a Web Cam near you&#8230; Yes, today time was up for the delivery of a vision based Flash project that uses web cams as a tool to test out interactivity. As suggested in class earlier today, typical issues for us neophytes were mostly related to stopping and starting. So, yes, with the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=14&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>in front of a Web Cam near you&#8230;</p>
<p>Yes, today time was up for the delivery of a vision based Flash project that uses web cams as a tool to test out interactivity.</p>
<p>As suggested in class earlier today, typical issues for us neophytes were mostly related to stopping and starting. So, yes, with the code we learned today in class, I am sure I could have presented a more elaborate and/or refined end product. On the other hand nothing beats some self study to come up with our own solutions.</p>
<p>The starting point obviously was the set of  .as files under the Ostrich banner Dan Zen provided, as available on www.danzen.com. These provide everything needed for the processing of movement as detected by the camera. Well not really,  as the camera does not detect anything, but the programs based on the provided classes do detect changes in the images by looking at grouped differentials between subsequent moments in time.</p>
<p>Of all the classes provided I considered using the Ostrich button and Ostrich cursor classes. The former defining an area on the screen and the latter providing the coordinates of where movement is detected. Which brings with it the possibility of the one (movement location &#8211; cursor) to interact with the defined button location on screen.</p>
<p>The example of use of this movement detection system that I came up with is a simple &#8216;look for the secret location&#8217; exercise and show some score which relates to the amount of  &#8216;moving around&#8217; before hitting the target.</p>
<p>The layout was kept simple. Rather than using all the available &#8216;real estate&#8217; for the camera image, a wide rim was left on the right and bottom. The stage being set at 640 x 480, I chopped of 140 on the right and 80 at the bottom, thus leaving ample space for a title (static), short indication of what it is about (static),  a visual indication (asterisk) when the secret target gets hit the first time and an indication of how often the system saw your movement cursor on the squares which were not the target.</p>
<p>The rim leaves an area of 500 x 400 for the image, convenient size for a 5 x 4 matrix of 100 x 100 squares. One of which will be the target square.</p>
<p>The Ostrich camera and cursor classes were needed, but the use of  the Ostrich button class was found to be optional.</p>
<p>Basically I could have defined an Array of 20 button instances which would have required calculating the coordinates of said buttons.  Not being fully familiar with the Array class yet nor wanting to circumvent that with 20 blocks of code,  I applied the required calculations to convert the coordinates detected by the cursor to determine (0,0) to (5,4) block  X, Y coordinates within the 20 block matrix.</p>
<p>The secret target block is chosen by using the random() function of the flash.Math import to to elect a set of block coordinates  [(0,0) to (5,4)].</p>
<p>Every scan the system sees coordinates which don&#8217;t result in the same block coordinates as those of the target,  a counter is incremented. When the target block is &#8216;moved over&#8217; that counter does not further increment. A big asterisk is then shown and the final counter tally.</p>
<p>All this worked as expected,  regarding detection of cursor and  checking against target block.</p>
<p>The main issue I struggled with is the start and stop as well as the representation of the score.</p>
<p>Two problems arose:</p>
<p>1. It all starts immediately, cursor sometimes is sitting on the target, hence immediate stop with a zer0 score.</p>
<p>2. Initially the score counter kept running and the system detecting more hits and the score showing increasing results over and over again on top of each other creating an illegible block blob.</p>
<p>Solutions:</p>
<p>1. Not incrementing score when detecting cursor on target within the first 200 scans, but incrementing a variable (started)  and only when that one is above 200 the score counter starts counting and as long as it is less than 200,  hitting the target is not reported as the first hit.</p>
<p>2. The continuing counting and showing after the first hit really was the result of an oversight, and was easily resolved  with a variable &#8216;shown&#8217; which is initiated at zero, which circumvents the line that shows the &#8216;misses&#8217; counter at first correct hit if  &#8216;shown&#8217;  is zero    and sets &#8216;shown&#8217; at 1 to prevent further showing.</p>
<p>That way it looks half decent.</p>
<p>The main things I would change and add, given more time, is some implementations of &#8216;start&#8217; and &#8216;stop&#8217; for the whole process. Now the start is basically the starting of the .swf file, and thus very immediate, although it was improved to some extent with the 200 scan delay. There is no &#8216;stop&#8217;, so it just sits there after the first hit and keeps scanning. No way of restarting (yet) ,  for instance with a button or key press. All you can do is close the window and if you wish start the program again.</p>
<p>The code itself can do with a bit of a clean-up, to remove code that does not do anything, from some past experimenting and also to add some additional comments.</p>
<p>Apart from the course material covered before today, the following resources were used:</p>
<p><strong><span style="color:#339966;">&#8216;Essential ActionScript 3.0&#8242;, published by O&#8217;Reilly,</span></strong></p>
<p>ISBN-10: 0-596-52694-6,</p>
<p>information of which can be found at the publisher&#8217;s web site and at http://www.chapters.ca. Note that the O&#8217;Reilly site offers quite a lot of content online in the form of freely provided chapters as a way of advertising.</p>
<p>Amongst other things, the use of the random() function and the use of TextField and TextFormat , was learned from the aforementioned book.</p>
<p>That&#8217;s all Folks&#8230; for now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chrisatimm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chrisatimm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chrisatimm.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chrisatimm.wordpress.com&amp;blog=9427984&amp;post=14&amp;subd=chrisatimm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chrisatimm.wordpress.com/2009/09/30/moving-along/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a23d089371e651a21bdb77d22843325c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chrisatimm</media:title>
		</media:content>
	</item>
	</channel>
</rss>
