<?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>TODAY, CREATE. &#187; AIR</title>
	<atom:link href="http://www.todaycreate.com/category/air/feed" rel="self" type="application/rss+xml" />
	<link>http://www.todaycreate.com</link>
	<description>Home of the daily creative output and exploration of ideas for Mike Creighton, new media designer and programmer.</description>
	<lastBuildDate>Mon, 23 Aug 2010 00:19:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Flow Receiver Completed</title>
		<link>http://www.todaycreate.com/2009/12/27/flow-receiver-completed</link>
		<comments>http://www.todaycreate.com/2009/12/27/flow-receiver-completed#comments</comments>
		<pubDate>Mon, 28 Dec 2009 03:58:03 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Realtime]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=370</guid>
		<description><![CDATA[Note: Super sorry about the seriously shaky footage above. Next time I&#8217;ll make sure it doesn&#8217;t happen. Yesterday, I spent about 12 hours making what I thought would take &#8220;a couple hours&#8221; &#8212; the Flow Receiver module. In the video above, you can see me demoing the system. Everything is up and running and working [...]]]></description>
			<content:encoded><![CDATA[<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8415172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8415172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=AAC132&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
<p><em><strong>Note:</strong></em> Super sorry about the seriously shaky footage above. Next time I&#8217;ll make sure it doesn&#8217;t happen.</p>
<p>Yesterday, I spent about 12 hours making what I thought would take &#8220;a couple hours&#8221; &#8212; the <strong>Flow Receiver</strong> module. In the video above, you can see me demoing the system. Everything is up and running and working seemingly well. This means it&#8217;s time to start creating &#8220;art.&#8221;</p>
<p>I designed the UI for this thing to be as simple as I could make it while also accounting for the fact that I&#8217;d be using it on a touch-enabled display. It only has three different &#8220;views&#8221; which you can see below.</p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4221160970/" title="View larger on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/flow_receiver_home_screen.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4221160970/" title="View larger on Flickr.">View larger on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4221160984/" title="View larger on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/flow_receiver_new_project_screen.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4221160984/" title="View larger on Flickr.">View larger on Flickr.</a></span></p>
<p><a href="http://www.flickr.com/photos/mikecreighton/4220397505/" title="View larger on Flickr."><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2009/12/flow_receiver_project_recording_screen.jpg" alt="" border="0" /></a><span class="imageLinkHolder">+ <a href="http://www.flickr.com/photos/mikecreighton/4220397505/" title="View larger on Flickr.">View larger on Flickr.</a></span></p>
<p>Everything for <strong>Flow Receiver</strong> is built using <a href="http://www.adobe.com/go/air" title="rich Internet applications | Adobe AIR">Adobe AIR</a>. It communicates with <a href="http://ccv.nuigroup.com/" title="Community Core Vision">Community Core Vision</a> using CCV&#8217;s built-in UDP->TCP bridge which sends out TUIO data associated with the tracked blobs.</p>
<p><strong>Flow Receiver</strong> intercepts this TUIO data and displays the incoming data in the right-side panel. I&#8217;ll also use this software to interface with the <strong>Flow Storage</strong> back-end module for creating projects and recording the TUIO data to those projects.</p>
<p>When in &#8220;recording mode&#8221;, <strong>Flow Receiver</strong> buffers the incoming TUIO points until its internal &#8220;cache&#8221; is full, then sends that info via HTTP POST request to <strong>Flow Storage</strong> which dumps it into a MySQL database. I&#8217;m also storing a timestamp (to the millisecond) with each TUIO point collected so that I can later determine velocity data between &#8220;frames&#8221; as needed.</p>
<p>When it&#8217;s time to export a project&#8217;s data, I&#8217;ll use <strong>Flow Receiver</strong> to export the data as either an XML or CSV text file.</p>
<p>Not much else to it than that; it&#8217;s a super-simple application.</p>
<p>On a side note, I&#8217;m pretty amazed at what we can do with technology these days, the number of options from which we have to choose, and the speed at which we can produce this stuff. I&#8217;ve somehow managed to create a fully-functioning toolset in a total of about 20 man-hours, cobbled together from open source libraries, applications, and various other technologies &#8212; all at pretty much zero cost (aside from the time put in).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/12/27/flow-receiver-completed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WTF is &#8220;Flow&#8221;?!</title>
		<link>http://www.todaycreate.com/2009/12/25/wtf-is-flow</link>
		<comments>http://www.todaycreate.com/2009/12/25/wtf-is-flow#comments</comments>
		<pubDate>Sat, 26 Dec 2009 06:00:48 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flow]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/?p=356</guid>
		<description><![CDATA[Almost two months ago, I posted a status update on my ongoing project I&#8217;m calling Flow. That was a long time ago. What you guys might not realize is that the last couple months have really been dedicated to making sure Flow is a successful project in 2010. That&#8217;s what all this NaNoDrawMo and drawing [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.todaycreate.com/wp-content/creations/2009/12/2009-12-25_flow_wireframing.jpg" border="0" /></p>
<p>Almost two months ago, I posted <a href="http://www.todaycreate.com/2009/11/02/flow-lives-but-now-with-no-glove" title="TODAY, CREATE.  &raquo; Flow Lives, but Now with No Glove">a status update</a> on my ongoing project I&#8217;m calling <strong><em>Flow</em></strong>. That was a long time ago.</p>
<p>What you guys might not realize is that the last couple months have really been dedicated to making sure <strong><em>Flow</em></strong> is a successful project in 2010. That&#8217;s what all this <a href="http://www.todaycreate.com/category/nanodrawmo" title="TODAY, CREATE.  &raquo; NaNoDrawMo">NaNoDrawMo</a> and <a href="http://www.todaycreate.com/category/drawing" title="TODAY, CREATE.  &raquo; Drawing">drawing</a> business has been about. In my mind, <strong><em>Flow</em></strong> is completely dependent on my ability to create visually compelling traditional art.</p>
<p>Now let me give you the details of the project.</p>
<p><strong><em>Flow</em></strong> is going to be a project (the first of many, hopefully) where I explore the intersections of traditional media and digital media. The impetus for <strong><em>Flow</em></strong> was originally <a href="http://www.todaycreate.com/2008/11/06/untitled-conte-drawing-final" title="TODAY, CREATE.  &raquo; Untitled Conté Drawing (Final)">the untitled conté drawing</a> I produced in November of last year. When I was making that drawing, I realized so much of what I loved about the stuff I did was due to being in <a href="http://en.wikipedia.org/wiki/Flow_(psychology)" title="Flow (psychology) - Wikipedia, the free encyclopedia">a flow state</a>. Moreover, when I draw or make traditional art (which doesn&#8217;t really require any critical thinking skills), I&#8217;m able to completely lose my sense of self. It becomes meditative, rewarding, and I find myself to be at my happiest.</p>
<p>So I wanted to create a project for myself that would <strong>a)</strong> permit me opportunities to enter this state of &#8220;flow&#8221; and <strong>b)</strong> help me bring together these seemingly opposing mediums: traditional art + digital art.</p>
<p>The goal of <strong><em>Flow</em></strong> is to capture the energy, the gestures, the strokes that are lost forever in many traditional art-making techniques as a digital data set. Then to create derivative works generated from that data through digital computational means. I aim to create works that can be played back in realtime or as pre-rendered static pieces.</p>
<p>Eventually, <strong><em>Flow</em></strong> may evolve into a real-time drawing system, but first I want to see where this original goal takes the project.</p>
<p>All that said, we&#8217;ve got a few distinct modules that make up the <strong><em>Flow</em></strong> project:</p>
<h3>Flow Generator</h3>
<p>That&#8217;s me. It&#8217;s my arm, my hand, my pencil. I make marks, and that&#8217;s where this all starts.</p>
<h3>Flow Converter</h3>
<p>This portion is described in <a href="http://www.todaycreate.com/2009/11/02/flow-lives-but-now-with-no-glove" title="TODAY, CREATE.  &raquo; Flow Lives, but Now with No Glove">this post</a>. A piece of software called <a href="http://ccv.nuigroup.com/" title="Community Core Vision">CCV</a> uses <a href="http://opencv.willowgarage.com/wiki/" title="Welcome - OpenCV Wiki">OpenCV</a> to track the movements of my mark-making. It then outputs this tracked data as <a href="http://www.tuio.org/" title="TUIO">TUIO</a> 2D cursor objects.</p>
<h3>Flow Storage</h3>
<p>This is what I was building today. It&#8217;s a back-end system that&#8217;s a locally-running web server with a database (all powered by <a href="http://www.apachefriends.org/en/xampp.html" title="apache friends - xampp">XAMPP</a>) running an application I created using the excellent open source PHP framework called <a href="http://www.codeigniter.com" title="CodeIgniter - Open source PHP web application framework">CodeIgniter</a>. This stores the projects (so I can do multiple pieces) and their respective point data &#8212; all time-stamped.</p>
<h3>Flow Receiver</h3>
<p>This is the front-end that receives the data from the <strong>Flow Converter</strong>. It&#8217;s what you&#8217;re seeing in the wireframe sketch. For this iteration, it will be an <a href="http://www.adobe.com/products/air/" title="rich Internet applications | Adobe AIR">Adobe AIR</a> application that receives the data from the <strong>Flow Converter</strong> module (via a <a href="http://www.benchun.net/flosc/" title="flosc: Flash Open Sound Control &laquo;  benchun.net">FLOSC</a> UDP->TCP conversion) and send this data to the <strong>Flow Storage</strong> module. This AIR app will be used to create new projects, start/stop the recording of data, and finally output XML or CSV data sets of all the point data collected for any given project.</p>
<h3>Flow Visualize</h3>
<p>Once a piece&#8217;s data has been stored and a flat file of the data has been generated, I&#8217;ll be able to start creating derivative works from that data. Because I&#8217;m using a common file format for the data, I&#8217;ll be able to use practically any programming environment to read, manipulate, and generate from that data set.</p>
<h3>Why the modular approach?</h3>
<p>As you can see, I&#8217;m using a TON of different technologies here. The biggest reason I&#8217;m not baking this all into one cohesive application is because I want to be able to use these various pieces later on in the year / decade / my life. By making the <strong>Flow Receiver</strong> module only dependent on TUIO input, I can use any number of other wacky TUIO-generating input devices / systems to create data. (I&#8217;m really interested in the idea of plastering myself with IR LEDs and dancing &#8212; basically doing motion capture.)</p>
<p>By creating the back-end portion (the <strong>Flow Storage</strong> module) as a web app, I could feasibly turn this into a multi-user or online application &#8212; rather than baking the MySQL database into the AIR app as a SQLite database. Moreover, it gives me flexibility on the front-end &#8212; I could create any number of other applications for receiving that TUIO data (to replace the <strong>Flow Receiver</strong> module), transforming it in realtime before it hits the database. I&#8217;m thinking about the idea of realtime data manipulation by other humans as one human is generating the source data &#8212; a collaborative creative process. And both roles don&#8217;t need to be humans &#8212; either could also be a computer. Or heck, both could be computers. The point is this: decoupling the data receiver and the data storage components yields better possibilities.</p>
<p>Lastly, I&#8217;m also using the technologies I know (PHP, ActionScript, etc) because it&#8217;s <em>faster</em> (for me to work with, not from a performance standpoint). And I&#8217;m heavily relying on various open source projects because <strong>a)</strong> it&#8217;s free and <strong>b)</strong> they do a lot of heavy lifting. I don&#8217;t need to reinvent the wheel. It&#8217;s always best to stand on the shoulders of giants. And mix metaphors.</p>
<h3>What&#8217;s next?</h3>
<p>I need to get to the point where I can just start creating the source data. So, tomorrow I&#8217;ll make the front-end AIR app which should take a couple hours. Then I&#8217;ll be ready to go. I&#8217;ll probably do a test sketch just to get some data in, then do a really simple visualization on that data. Seems like a good day project.</p>
<p>So that&#8217;s it. <strong><em>Flow</em></strong> is on its way to being an actual thing. And it has me super excited.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2009/12/25/wtf-is-flow/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>visp Officially Released</title>
		<link>http://www.todaycreate.com/2007/10/01/visp-officially-released</link>
		<comments>http://www.todaycreate.com/2007/10/01/visp-officially-released#comments</comments>
		<pubDate>Mon, 01 Oct 2007 08:20:24 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/2007/10/01/visp-officially-released</guid>
		<description><![CDATA[It definitely took some time. But it&#8217;s finally out. And just when I thought I had all my bases covered, Adobe has just released a new public beta of AIR along with a new public beta of Flex 3. This renders two very crucial tutorials that I put together obsolete. I&#8217;ll be working this week [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image87" src="http://www.todaycreate.com/wp-content/creations/2007/10/visp_release_logo.gif" alt="visp Release Logo" /></p>
<p>It definitely took some time. But it&#8217;s finally out. And just when I thought I had all my bases covered, Adobe has just released a new <a href="http://labs.adobe.com/downloads/air.html">public beta of AIR</a> along with a new <a href="http://labs.adobe.com/technologies/flex/flexbuilder3/">public beta of Flex 3</a>. This renders two very crucial tutorials that I put together obsolete. I&#8217;ll be working this week to update those two tutorials.</p>
<p>For now, if you&#8217;re willing to brave it, here are the links a few folks have been waiting for:</p>
<ul>
<li><a href="http://visp-vj.com">visp-vj.com</a> &#8211; The official site for <strong>visp</strong>.</li>
<li><a href="http://visp-vj.googlecode.com">visp Google Code Project</a> &#8211; This is the project&#8217;s home for source code, bug tracking, and other related nerdiness.</li>
<li><a href="http://groups.google.com/group/visp-vj">Mailing List</a> &#8211; This is the Google Groups mailing list for <strong>visp</strong>.</li>
</ul>
<p>I do want to say that <strong>visp</strong> has definitely been created with programmers in mind. You build your custom media from the ground up. I&#8217;ve tried to simply encapsulate things into the <code>flash.display.Sprite</code> class as a base (for custom media) and provide an easy API for handling both software UI input along with MIDI input.</p>
<p>If you&#8217;ve got questions, problems, bugs, or simply need some help, please head over to the <a href="http://groups.google.com/group/visp-vj">Mailing List</a>. I won&#8217;t be answering anything in the comments of this post. On the list, I&#8217;ll do my best to answer in a timely manner. And if you&#8217;ve got feature requests, they&#8217;ll be duly noted. But remember, this is opensource software, so you&#8217;re more than welcome to build the features yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2007/10/01/visp-officially-released/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>visp Release Update</title>
		<link>http://www.todaycreate.com/2007/08/25/visp-release-update</link>
		<comments>http://www.todaycreate.com/2007/08/25/visp-release-update#comments</comments>
		<pubDate>Sun, 26 Aug 2007 00:17:14 +0000</pubDate>
		<dc:creator>Mike Creighton</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Apollo]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://www.todaycreate.com/2007/08/25/visp-release-update</guid>
		<description><![CDATA[+ view actual pixel screenshot image I&#8217;ve got a long list of excuses and a short list of completed milestones. However, visp is still moving forward (believe it or not). Here&#8217;s what I&#8217;ve done since the first preview post: Revised functionality (by taking a lot of the more complicated and not-100%-solid features out) Revised interface [...]]]></description>
			<content:encoded><![CDATA[<p><img class="hasLargeImage" src="http://www.todaycreate.com/wp-content/creations/2007/08/visp_v1_interface_screenshot_small.jpg" alt="visp v1 Interface Screenshot" /><span class="imageLinkHolder">+ <a href="http://www.todaycreate.com/wp-content/creations/2007/08/visp_v1_interface_screenshot.png">view actual pixel screenshot image</a></span></p>
<p>I&#8217;ve got a long list of excuses and a short list of completed milestones. However, <strong>visp</strong> is still moving forward (believe it or not). Here&#8217;s what I&#8217;ve done since the first preview post:</p>
<ul>
<li>Revised functionality (by taking a lot of the more complicated and not-100%-solid features out)</li>
<li>Revised interface size so that it&#8217;ll work with 1024&#215;768 screens (since that&#8217;s likely to be the minimum resolution for most laptop VJs)</li>
<li>Created a consistent API for creating media modules, filter modules, and transition modules</li>
<li>Set up the proper destination site and domain along with the Subversion respository</li>
<li>Combed through source code to keep formatting and variable naming consistent</li>
<li>Fixed some bugs</li>
<li>Updated codebase to use the latest public release of Apollo (beta 1) and Flex Builder 3 (beta 1)</li>
<li>Rewrote the MIDI proxy to be usable with all MIDI devices and not dependent on <a href="http://www.processing.org">Processing</a> (to reduce memory and processing overhead).</li>
<li>Rewrote the input interface so that media can be controlled via on-screen UI elements (sliders and buttons)</li>
</ul>
<p>I&#8217;ve still got some more items to go. I want to make sure folks have proper documentation and tutorials for creating their own media, filters, and transitions. I also want to make sure that simply getting the projects set up in Flex Builder 3 is very straight forward (i.e. step-by-step instructions). There <em>will</em> be a 1.0 release in mid-September; I have an <a href="http://www.adobe.com/newsletters/edge/">Adobe Edge Newsletter</a> article being published on <strong>visp</strong>, so it <em>has</em> to be done.</p>
<p>Thanks for your continued patience, everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.todaycreate.com/2007/08/25/visp-release-update/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
