<?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>SethSandler</title>
	<atom:link href="http://sethsandler.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sethsandler.com</link>
	<description>Just another abstract, thought, art, code, and multitouch weblog</description>
	<lastBuildDate>Sat, 28 Aug 2010 23:22:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript to AS3 &#8211; Blobby blobby</title>
		<link>http://sethsandler.com/software/javascript-as3-blobby-blobby/</link>
		<comments>http://sethsandler.com/software/javascript-as3-blobby-blobby/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 23:05:16 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Art and design]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[The Web]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[blob]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1205</guid>
		<description><![CDATA[
			
				
			
		
Ever since I saw Jeff Han&#8217;s lava lamp multitouch demo, I&#8217;ve been interested in &#8216;blobs&#8217; or . There&#8217;s a great new HTML5/javascript demo of interacting with blobs (moving, splitting, merging, etc) http://hakim.se/experiments/html5/blob/03/.
The code is opensource under a MIT license so I decided to try porting the little application over to actionscript 3 to see how straight forward it is to port from javascript to as3.I know the trend is moving the opposite way &#8211; AS3 -&#62; html5/js, but this is more a proof of concept of how easy it can ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fjavascript-as3-blobby-blobby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fjavascript-as3-blobby-blobby%2F&amp;style=normal" height="61" width="50" title="Javascript to AS3   Blobby blobby" alt=" Javascript to AS3   Blobby blobby" /><br />
			</a>
		</div>
<p>Ever since I saw Jeff Han&#8217;s lava lamp multitouch demo, I&#8217;ve been interested in &#8216;blobs&#8217; or . There&#8217;s a great new HTML5/javascript demo of interacting with blobs (moving, splitting, merging, etc) http://hakim.se/experiments/html5/blob/03/.</p>
<p>The code is opensource under a MIT license so I decided to try porting the little application over to actionscript 3 to see how straight forward it is to port from javascript to as3.I know the trend is moving the opposite way &#8211; AS3 -&gt; html5/js, but this is more a proof of concept of how easy it can be to move from one to the other. After about 2 hours messing around, I was able to port 90% (minus the window interaction and skinning). 85% of the code I didn&#8217;t have to change at all and was able to copy/paste straight from the javascript code.</p>
<p>Here&#8217;s the result below&#8230;</p>
<p>Version1:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_blobs_1836834188"
			class="flashmovie"
			width="500"
			height="380">
	<param name="movie" value="http://sethsandler.com/files/blobs.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://sethsandler.com/files/blobs.swf"
			name="fm_blobs_1836834188"
			width="500"
			height="380">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" title="Javascript to AS3   Blobby blobby" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Version 2:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_blobs2_641654989"
			class="flashmovie"
			width="500"
			height="380">
	<param name="movie" value="http://sethsandler.com/files/blobs2.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://sethsandler.com/files/blobs2.swf"
			name="fm_blobs2_641654989"
			width="500"
			height="380">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" title="Javascript to AS3   Blobby blobby" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Version 3:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_blobs3_974760369"
			class="flashmovie"
			width="500"
			height="380">
	<param name="movie" value="http://sethsandler.com/files/blobs3.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://sethsandler.com/files/blobs3.swf"
			name="fm_blobs3_974760369"
			width="500"
			height="380">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" title="Javascript to AS3   Blobby blobby" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Next step is to add multitouch and make some of the dragging more consistent.
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fjavascript-as3-blobby-blobby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fjavascript-as3-blobby-blobby%2F&amp;style=normal" height="61" width="50" title="Javascript to AS3   Blobby blobby" alt=" Javascript to AS3   Blobby blobby" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/software/javascript-as3-blobby-blobby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audiotouch OS &#8211; Flash Multi-touch Audio Environment</title>
		<link>http://sethsandler.com/uncategorized/audiotouch-os-flash-multitouch-audio-environment/</link>
		<comments>http://sethsandler.com/uncategorized/audiotouch-os-flash-multitouch-audio-environment/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 18:15:05 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Audioshape Sequencer]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[MultiKey]]></category>
		<category><![CDATA[Multitouch Videos]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>
		<category><![CDATA[Musical Squares]]></category>
		<category><![CDATA[My Videos]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1195</guid>
		<description><![CDATA[
			
				
			
		
Well, I never did a &#8216;proper&#8217; video of my Audiotouch work, so after 2 years I decided to reshoot some video and experiment with my new HD video camera. The video is also in preparation for another how-to video that I&#8217;m developing that builds off the Mtmini video (check that out if you haven&#8217;t ) and shows how to create a simple multi-touch surface quick and easy.
I&#8217;m hoping to eventually get back to these applications and improve on a few of them. They&#8217;ve gone untouched for almost 2 years and ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Funcategorized%2Faudiotouch-os-flash-multitouch-audio-environment%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Funcategorized%2Faudiotouch-os-flash-multitouch-audio-environment%2F&amp;style=normal" height="61" width="50" title="Audiotouch OS   Flash Multi touch Audio Environment " alt=" Audiotouch OS   Flash Multi touch Audio Environment " /><br />
			</a>
		</div>
<p>Well, I never did a &#8216;proper&#8217; video of my <a href="http://sethsandler.com/audiotouch/" target="_blank">Audiotouch </a>work, so after 2 years I decided to reshoot some video and experiment with my new HD video camera. The video is also in preparation for another how-to video that I&#8217;m developing that builds off the <a href="http://sethsandler.com/multitouch/mtmini/" target="_blank">Mtmini video</a> (check that out if you haven&#8217;t ) and shows how to create a simple multi-touch surface quick and easy.</p>
<p>I&#8217;m hoping to eventually get back to these applications and improve on a few of them. They&#8217;ve gone untouched for almost 2 years and were originally written prior to the iphone, ipad, and microsoft surface. It&#8217;s amazing how far the technology has come in such a short time.</p>
<p style="text-align: center;"></p>
<p style="text-align: left;">Enjoy and let me know what you think! <img src='http://sethsandler.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' title="Audiotouch OS   Flash Multi touch Audio Environment " />  All applications in the video can be download and found <a href="http://sethsandler.com/my-software/">here </a>on my blog or on techsparked for ease of use.<a href="http://techsparked.com/project/audiotouch"> http://techsparked.com/project/audiotouch</a></p>
<p style="text-align: center;">
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Funcategorized%2Faudiotouch-os-flash-multitouch-audio-environment%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Funcategorized%2Faudiotouch-os-flash-multitouch-audio-environment%2F&amp;style=normal" height="61" width="50" title="Audiotouch OS   Flash Multi touch Audio Environment " alt=" Audiotouch OS   Flash Multi touch Audio Environment " /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/uncategorized/audiotouch-os-flash-multitouch-audio-environment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interference looking for new hires! This may be the job for you!!</title>
		<link>http://sethsandler.com/technology-multitouch/interference-hires-job/</link>
		<comments>http://sethsandler.com/technology-multitouch/interference-hires-job/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 00:01:09 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Headline]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[interference]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[multi-touch]]></category>
		<category><![CDATA[multitouch]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1178</guid>
		<description><![CDATA[
			
				
			
		
Interference Inc. is looking for new hires that are involved in the interactive technology domain. I&#8217;ve been working with Interference for more than a year now and it&#8217;s been great. This may be the job for you! You can find the information below.

Company: Interference Inc.
Positions: We are  looking for a PROGRAMMER and an INTERACTIVE ENGINEER
Position  Type: Full-Time

Experience:
Candidates who have worked/have  familiarity with multi-touch platforms previously and are eager to explore  and learn more in a fast paced marketing/technology environment  creating installations for major
global brands.
The position ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Finterference-hires-job%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Finterference-hires-job%2F&amp;style=normal" height="61" width="50" title="Interference looking for new hires! This may be the job for you!!" alt=" Interference looking for new hires! This may be the job for you!!" /><br />
			</a>
		</div>
<p>Interference Inc. is looking for new hires that are involved in the interactive technology domain. I&#8217;ve been working with Interference for more than a year now and it&#8217;s been great. This may be the job for you! You can find the information below.</p>
<p style="text-align: center;"><img class="size-medium wp-image-1179  aligncenter" title="interference" src="http://sethsandler.com/wp-content/uploads/2010/07/interference-300x56.jpg" alt="interference 300x56 Interference looking for new hires! This may be the job for you!!" width="300" height="56" /></p>
<p><strong>Company:</strong> Interference Inc.<br />
<strong>Positions:</strong> We are  looking for a PROGRAMMER and an INTERACTIVE ENGINEER<br />
<strong>Position  Type</strong>: Full-Time<strong><br />
</strong></p>
<p><strong>Experience:</strong><br />
Candidates who have worked/have  familiarity with multi-touch platforms previously and are eager to explore  and learn more in a fast paced marketing/technology environment  creating installations for major<br />
global brands.</p>
<p>The position for the first 3 months is a probation  period where the person is hired as an independent contractor and  paid 1099. Depending on review and evaluation, the candidate is then  hired full-time with<br />
benefits: full medical, 401K, and 2 weeks of vacation.</p>
<p><strong>Location:</strong> New York, NY<strong><br />
Start Date:</strong> ASAP<strong> </strong></p>
<p><strong>THE COMPANY</strong><br />
Interference  Inc. is a world-renowned experiential marketing agency specializing in  integrated, guerrilla and buzz marketing. Out of Interference, The SuperTouch Group was born in 2009, bringing  creative technology offerings to the same impressive roster of  clients. The SuperTouch mission is to generate wonder through simple,  fun, entertaining and educational uses of interactive technology. We create innovative products for people to  interact with technology in unique and compelling ways, and ideally  away from the platforms that they are used to. SuperTouch develops  Interactive Mirrors, touch surfaces, live gaming and creative custom technology builds as well as the back-end  programming.</p>
<p><strong>JOB SUMMARY</strong><br />
The Programmer and  Interactive Engineer will report directly to the project’s Lead Engineer  and to the Head of Production/Account. Qualified candidates should possess a couple of key  skills itemized in the lists below.</p>
<p><span style="text-decoration: underline;">PROGRAMMING SKILLS (Please  specify where you are proficient)</span></p>
<p>• Proficiency with  Flash/Flex/Actionscript 3, .NET/C#/WPF, Python, Java, C++ (or others,  please specify)<br />
• Knowledge of Computer Vision (OpenCV, Augmented Reality Frameworks)<br />
•  Knowledge of microcontrollers (arduino or similar) and working with  sensors<br />
• Proficiency with openFrameworks, processing, max/msp, or pd<br />
•  Knowledge of Adobe Creative Suite including, InDesign, Photoshop,  Illustrator and After Effects<br />
• Knowledge of computer networking</p>
<p><span style="text-decoration: underline;">ENGINEERING SKILLS (Please  specify where you are proficient)</span></p>
<p>• Experience in  architecture, hardware design, and/or fabrication<br />
• Ability to  source, test and assess hardware for fabrication and to assemble working  prototypes<br />
• Experience in soldering, electronics, and lab testing<br />
• Experience  in interactive or touch technology with an emphasis in multi-touch  computing</p>
<p><span style="text-decoration: underline;">REQUIREMENTS</span></p>
<p>• Extremely organized  individual who is a self-starter and able to learn quickly in a  fast-paced environment<br />
• Ability to think creatively, multi-task, and go beyond off-the-shelf  solutions<br />
• Strong logistical, time management and planning skills  when implementing creative solutions for client deadlines<br />
• The  individual must be polished and professional and be prepared to interact  with high level clientele onsite</p>
<p><em>Please note, the Interactive Engineer position may require travel  to install, maintain, and breakdown<br />
technologies across the U.S. as  well as internationally. Candidates applying for the position must be  able to<br />
travel with the necessary documentation, willing to travel 1-2 times per  month, and maintain a valid driver’s<br />
license.</em></p>
<h3 style="text-align: center;"><strong>IF INTERESTED, PLEASE SUBMIT RESUMES  TO: Christine Lane, <a href="mailto:Christine@interferenceinc.com" target="_blank">Christine@interferenceinc.com</a></strong></h3>
<p style="text-align: center;"><strong>You can download and save the job description below:<br />
</strong></p>
<p style="text-align: center;"><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://sethsandler.com/download/10_07_13 Supertouch Tech Description.doc" onclick="wpfilebase_dlclick(9, 'download/10_07_13 Supertouch Tech Description.doc')" title="Download Interferece Job Description"><img align="middle" src="http://sethsandler.com/wp-includes/images/crystal/document.png" title="Interference looking for new hires! This may be the job for you!!" alt="document Interference looking for new hires! This may be the job for you!!" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://sethsandler.com/download/10_07_13 Supertouch Tech Description.doc" onclick="wpfilebase_dlclick(9, 'download/10_07_13 Supertouch Tech Description.doc')" title="Download Interferece Job Description">Interferece Job Description</a>
   10_07_13 Supertouch Tech Description.doc
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails2" style="display: none;">
  
  <table border="0" width="220">
   
   
   
   
   
   
   <tr><th>Date:</th><td>January 1, 1970</td></tr>
   <tr><th>MD5 Hash:</th><td><small>a32db82cb70c1bd7f509df0562a9c45e</small></td></tr>
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  32.0 KiB
  80 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(2);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Finterference-hires-job%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Finterference-hires-job%2F&amp;style=normal" height="61" width="50" title="Interference looking for new hires! This may be the job for you!!" alt=" Interference looking for new hires! This may be the job for you!!" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/technology-multitouch/interference-hires-job/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wall Pong (WONG) &#8211; Interactive Multiplayer Multitouch Pong Game &#8211; Now with source code!!!</title>
		<link>http://sethsandler.com/audiotouch/wall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code/</link>
		<comments>http://sethsandler.com/audiotouch/wall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 21:20:21 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[AudioTouch]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[actionscrhip]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[pong]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[wall pong]]></category>
		<category><![CDATA[wong]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1167</guid>
		<description><![CDATA[
			
				
			
		

Wall Pong is an interactive multi-player multitouch pong type game I wrote in AS3 a couple years ago. The aim is to get the ball into the opposing goal. You can see Wong within my Audiotouch OS software. I&#8217;ve been meaning to release the source code and game for quite some time and finally I had the chance to clean up the code (it still could use WAY more cleaning and probably re-factoring), but it&#8217;s in good enough shape for others to use.

I&#8217;m hoping to convert this version to use ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Faudiotouch%2Fwall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Faudiotouch%2Fwall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code%2F&amp;style=normal" height="61" width="50" title="Wall Pong (WONG)   Interactive Multiplayer Multitouch Pong Game   Now with source code!!! " alt=" Wall Pong (WONG)   Interactive Multiplayer Multitouch Pong Game   Now with source code!!! " /><br />
			</a>
		</div>
<p style="text-align: center;"><a href="http://techsparked.com/application/wall-pong"><img class="size-medium  wp-image-1175    aligncenter" title="screenshot_wong2" src="http://sethsandler.com/wp-content/uploads/2010/06/screenshot_wong2-300x225.png" alt="screenshot wong2 300x225 Wall Pong (WONG)   Interactive Multiplayer Multitouch Pong Game   Now with source code!!! " width="300" height="225" /><br />
</a>Wall Pong is an interactive multi-player multitouch pong type game I wrote in AS3 a couple years ago. The aim is to get the ball into the opposing goal. You can see Wong within my Audiotouch OS software. I&#8217;ve been meaning to release the source code and game for quite some time and finally I had the chance to clean up the code (it still could use WAY more cleaning and probably re-factoring), but it&#8217;s in good enough shape for others to use.</p>
<p style="text-align: center;"></p>
<p style="text-align: center;">I&#8217;m hoping to convert this version to use the new native touch api in flash CS5.</p>
<h3 style="text-align: center;"><a href="http://techsparked.com/application/wall-pong" target="_blank">You can download the application on techsparked here!!</a></h3>
<p style="text-align: left;">
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Faudiotouch%2Fwall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Faudiotouch%2Fwall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code%2F&amp;style=normal" height="61" width="50" title="Wall Pong (WONG)   Interactive Multiplayer Multitouch Pong Game   Now with source code!!! " alt=" Wall Pong (WONG)   Interactive Multiplayer Multitouch Pong Game   Now with source code!!! " /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/audiotouch/wall-pong-wong-interactive-multiplayer-multitouch-pong-game-source-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Drupal 6 &#8211; Creating Activity Stream with Views Custom SQL Query: Merging multiple views &#8211; Part 1</title>
		<link>http://sethsandler.com/software/drupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1/</link>
		<comments>http://sethsandler.com/software/drupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1/#comments</comments>
		<pubDate>Fri, 21 May 2010 05:26:47 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[activity feed]]></category>
		<category><![CDATA[activity stream]]></category>
		<category><![CDATA[custom query]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[views]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1047</guid>
		<description><![CDATA[
			
				
			
		
If you&#8217;re using Drupal, you&#8217;re probably using views. If you&#8217;re using views, than you&#8217;ve probably wanted to build a view that involved combining content and found out it was hard or almost impossible through the views UI.
For example, if you&#8217;ve ever tried to build a single view of all content (posts, comments, flags, relationships, etc) into a single list, you&#8217;ve probably found that you can&#8217;t. However, you can easily build independent post views, comment views, flag views, and relationship views.  Since that&#8217;s the case, why can&#8217;t we merge all these ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fdrupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fdrupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1%2F&amp;style=normal" height="61" width="50" title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" alt=" Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /><br />
			</a>
		</div>
<p>If you&#8217;re using <a href="http://drupal.org">Drupal</a>, you&#8217;re probably using <a href="http://drupal.org/project/views">views</a>. If you&#8217;re using views, than you&#8217;ve probably wanted to build a view that involved combining content and found out it was hard or almost impossible through the views UI.</p>
<p>For example, if you&#8217;ve ever tried to build a single view of all content (posts, comments, flags, relationships, etc) into a single list, you&#8217;ve probably found that you can&#8217;t. However, you can easily build independent post views, comment views, flag views, and relationship views.  Since that&#8217;s the case, why can&#8217;t we merge all these views into a single view through the views UI? Well you can, and this article hopefully will give the basic information needed to start merging your views into more complex results.</p>
<p>In this article, we&#8217;ll be building a basic activity stream to demonstrate the ability to</p>
<ol>
<li>create custom queries for views,</li>
<li>merge our results,</li>
<li>create our custom query module, and</li>
<li>finally output through the views UI.</li>
</ol>
<p>After some themeing, our results will look something like the following which is a combination of comments, flags (sparks), and posts (various content types):</p>
<p style="text-align: center;"><strong><a href="http://sethsandler.com/wp-content/uploads/2010/05/activity_done.png"><img class="size-full wp-image-1050  aligncenter" title="activity_done" src="http://sethsandler.com/wp-content/uploads/2010/05/activity_done.png" alt="activity done Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" width="401" height="461" /></a></strong></p>
<h2>Live DEMO: <strong> </strong></h2>
<p><strong>You can see a live example on the bottom of <a href="http://techsparked.com/" target="_blank">http://techsparked.com/</a></strong></p>
<h2>DOWNLOAD EXAMPLE MODULE:</h2>
<p><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://sethsandler.com/download/custom_views.zip" onclick="wpfilebase_dlclick(10, 'download/custom_views.zip')" title="Download custom_views module"><img align="middle" src="http://sethsandler.com/wp-includes/images/crystal/archive.png" title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" alt="archive Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://sethsandler.com/download/custom_views.zip" onclick="wpfilebase_dlclick(10, 'download/custom_views.zip')" title="Download custom_views module">custom_views module</a>
   custom_views.zip
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails5" style="display: none;">
  
  <table border="0" width="220">
   
   
   
   
   
   
   <tr><th>Date:</th><td>January 1, 1970</td></tr>
   <tr><th>MD5 Hash:</th><td><small>580adbe74f69b884e3b6eda6c547db83</small></td></tr>
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  1.5 KiB
  55 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(5);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div></p>
<h2 style="text-align: left;">Introduction:</h2>
<p>Before we begin, we have to know what we&#8217;re making. We&#8217;re going to be creating a list view (you can choose another type if you please) of posts and comments from our site ordered by date. Later, you can choose to add more activity into your view like flags (likes), relationships (who&#8217;s following whom), etc. but for now we&#8217;ll keep it simple since the same principle for 2 types of information also applies to 5 types.</p>
<h2>Step 1: Making the query</h2>
<p>To create our activity stream view, we&#8217;re essentially going to combine two individual views into a single query. We&#8217;re going to take advantage of the views UI preview in order to get our query (in case we don&#8217;t know too much about SQL queries).</p>
<ol>
<li>Create a new temporary view (we&#8217;re not actually going to save it) called <strong>recent_posts</strong> (or similar).</li>
<li>Add fields for: user name, user picture, node title, node post date, and node type.</li>
<li>Add a sort criteria for Node: poste date.</li>
<li>Add a filter for Node: published.</li>
<p style="text-align: center;"><a href="http://sethsandler.com/wp-content/uploads/2010/05/recent_posts.png"><img class="aligncenter size-full wp-image-1071" title="recent_posts" src="http://sethsandler.com/wp-content/uploads/2010/05/recent_posts.png" alt="recent posts Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" width="542" height="348" /></a></p>
<p style="text-align: center;">Your view should look like the above</p>
<li>In the views &#8216;live preview&#8217;, click the preview button.</li>
<li>Scroll down to where the &#8216;query&#8217; is shown and <strong>copy and paste this to a temporary text file on your desktop</strong>. We&#8217;re going to need this query code in a bit.</li>
<p style="text-align: center;"><a href="http://sethsandler.com/wp-content/uploads/2010/05/query.png"><img class="aligncenter size-full wp-image-1076" title="query" src="http://sethsandler.com/wp-content/uploads/2010/05/query.png" alt="query Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" width="507" height="230" /></a></p>
<li>Create a new temporary view (we&#8217;re not actually going to save it) called  <strong>recent_comments</strong> (or similar).</li>
<li>Add relationship for: Comment: node and Comment: User.</li>
<li>Add fields for: user name, user picture, node title,  comment title,  and comment post date (all fields related to their relationships).</li>
<li>Add a sort criteria for Comment: poste date.</li>
<li>Add a filter for Node: published.</li>
<p style="text-align: center;"><a href="http://sethsandler.com/wp-content/uploads/2010/05/comments.png"><img class="aligncenter size-full wp-image-1081" title="comments" src="http://sethsandler.com/wp-content/uploads/2010/05/comments.png" alt="comments Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" width="512" height="330" /></a></p>
<li>Scroll down to where the &#8216;query&#8217; is shown and <strong>copy and paste </strong>this to the same file you created in <strong>step 6</strong>. We&#8217;re going to need this query code in a bit.</li>
</ol>
<h2>Step 2: Combine and merge the queries using UNION</h2>
<p>We should now have 2 views queries copied to a text file that look something like:</p>
<blockquote><p>//posts view<br />
SELECT node.nid AS nid,<br />
users.picture AS users_picture,<br />
users.uid AS users_uid,<br />
users.name AS users_name,<br />
<strong> users.mail AS users_mail,</strong><br />
node.type AS node_type,<br />
node.title AS node_title,<br />
node.created AS node_created,<br />
<strong> history_user.timestamp AS history_user_timestamp,</strong><br />
<strong> node.changed AS node_changed,</strong><br />
<strong> node_comment_statistics.last_comment_timestamp AS node_comment_statistics_last_comment_timestamp</strong><br />
FROM node node<br />
INNER JOIN users users ON node.uid = users.uid<br />
<strong> LEFT JOIN history history_user ON node.nid = history_user.nid AND history_user.uid = ***CURRENT_USER***</strong><br />
<strong> INNER JOIN node_comment_statistics node_comment_statistics ON node.nid = node_comment_statistics.nid</strong><br />
WHERE (node.status &lt;&gt; 0)<br />
ORDER BY node_created DESC</p>
<p>//comments view<br />
SELECT comments.cid AS cid,<br />
users_comments.picture AS users_comments_picture,<br />
users_comments.uid AS users_comments_uid,<br />
users_comments.name AS users_comments_name,<br />
<strong> users_comments.mail AS users_comments_mail,</strong><br />
comments.subject AS comments_subject,<br />
<strong> comments.nid AS comments_nid,</strong><br />
node_comments.title AS node_comments_title,<br />
<strong> node_comments.nid AS node_comments_nid,</strong><br />
comments.timestamp AS comments_timestamp<br />
FROM comments comments<br />
LEFT JOIN node node_comments ON comments.nid = node_comments.nid<br />
LEFT JOIN users users_comments ON comments.uid = users_comments.uid<br />
WHERE (node_comments.status &lt;&gt; 0)<br />
ORDER BY comments_timestamp DESC</p></blockquote>
<ol>
<li>Views adds a few things that we really won&#8217;t need. So we can remove all the bold parts above to clean up our queries. The results should look like:</li>
<blockquote><p>//posts view<br />
SELECT node.nid AS nid, <strong>//node id</strong><br />
users.picture AS users_picture, <strong>//picture</strong><br />
users.uid AS users_uid, <strong>//user id</strong><br />
users.name AS users_name, <strong>//user name</strong><br />
node.type AS node_type, <strong>// node type</strong><br />
node.title AS node_title, <strong>// node title</strong><br />
node.created AS node_created <strong>//post date</strong><br />
FROM node node<br />
INNER JOIN users users ON node.uid = users.uid<br />
<strong> </strong>WHERE (node.status &lt;&gt; 0)<br />
ORDER BY node_created DESC</p>
<p>//comments view<br />
SELECT comments.cid AS cid, <strong>//comment id</strong><br />
users_comments.picture AS users_comments_picture, <strong>// picture</strong><br />
users_comments.uid AS users_comments_uid, <strong>//user id</strong><br />
users_comments.name AS users_comments_name, <strong>//user name</strong><br />
node_comments.type AS node_type, <strong>//node type</strong><br />
comments.subject AS comments_subject, <strong>// comment title</strong><br />
comments.timestamp AS comments_timestamp <strong>//post date</strong><br />
FROM comments comments<br />
LEFT JOIN node node_comments ON comments.nid = node_comments.nid<br />
LEFT JOIN users users_comments ON comments.uid = users_comments.uid<br />
WHERE (node_comments.status &lt;&gt; 0)<br />
ORDER BY comments_timestamp DESC</p></blockquote>
<li>The result above are much cleaner. We&#8217;re going to merge these two queries by using UNION. UNION combines the results of multiple SELECTs. If you&#8217;re not familiar with UNION, i&#8217;d recommend reading <a href="http://www.mysqltutorial.org/sql-union-mysql.aspx">this</a>. In order to to create a union you have to have the same amount of SELECT fields. Luckily, when we cleaned up our view we were left with 7 SELECT fields (id, picture, user name, node type, title, post date). If you don&#8217;t have the same amount of fields in each query, you&#8217;ll need to create the same amount by modifying your queries or adding a &#8216;NULL&#8217; select in the query that has less fields. To make a UNION query of the above is simple. <strong>Copy and cut</strong> the <strong>ORDER BY node_created DESC</strong> from the end of the first query and replace the <strong>ORDER BY comments_timestamp DESC </strong>from the end of the second query with it.  Then, <strong>add </strong>&#8216;<strong>UNION</strong>&#8216; bewteen the two queries and you&#8217;re done! Results below:</li>
<blockquote><p>//posts view<br />
SELECT node.nid AS nid, <strong>//node id</strong><br />
users.picture AS users_picture, <strong>//picture</strong><br />
users.uid AS users_uid, <strong>//user id</strong><br />
users.name AS users_name, <strong>//user name</strong><br />
node.type AS node_type, <strong>// node type</strong><br />
node.title AS node_title, <strong>// node title</strong><br />
node.created AS node_created <strong>//post date</strong><br />
FROM node node<br />
INNER JOIN users users ON node.uid = users.uid<br />
<strong> </strong>WHERE (node.status &lt;&gt; 0)</p>
<p><strong>UNION</strong></p>
<p>//comments view<br />
SELECT comments.cid AS cid, <strong>//comment id</strong><br />
users_comments.picture AS users_comments_picture, <strong>// picture</strong><br />
users_comments.uid AS users_comments_uid, <strong>//user id</strong><br />
users_comments.name AS users_comments_name, <strong>//user name</strong><br />
node_comments.type AS node_type, <strong>//node type</strong><br />
comments.subject AS comments_subject, <strong>// comment title</strong><br />
comments.timestamp  AS comments_timestamp <strong>//post date</strong><br />
FROM comments comments<br />
LEFT JOIN node node_comments ON comments.nid = node_comments.nid<br />
LEFT JOIN users users_comments ON comments.uid = users_comments.uid<br />
WHERE (node_comments.status &lt;&gt; 0)<br />
<strong> ORDER BY node_created</strong><strong> DESC</strong></p></blockquote>
<li>This is going to merge our two views (posts and comments) and sort them by post date. Meaning, intstead of having 2 seperate views (one after the other), we now have a single view query that sorts both views (together) by node_created/comments_timestamp.  We just created our custom query! Now it&#8217;s time to prepare it to be fed into views <img src='http://sethsandler.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /> </li>
</ol>
<h2>Step 3: Creating the custom query module</h2>
<p>Now that we have our custom query ready to feed into views, we have to create a module to feed it into the views UI.  Sound scary? It&#8217;s not &#8211;  I&#8217;ll be giving you all the pieces below.</p>
<ol>
<li>Create a folder on your desktop called<strong> custom_views</strong></li>
<li>Create a text file on your desktop called <strong>custom_views.info</strong></li>
<li>Inside the file, paste:</li>
<blockquote><p>; $Id$<br />
name = Custom Views<br />
description = Custom views query for this site.<br />
core = 6.x</p></blockquote>
<li>Save this file.</li>
<li>Create a text file on your desktop called <strong>custom_views.install</strong></li>
<li>Inside this file, paste:</li>
<blockquote><p>&lt;?php // $Id: custom_views.install</p>
<p>/**<br />
* Implementation of hook_install()<br />
*/<br />
function custom_views_install() {<br />
// Set the module weight so it can override other modules.<br />
db_query(&#8220;UPDATE {system} SET weight = 99 WHERE name = &#8216;custom_views&#8217;&#8221;);<br />
}</p>
<p>/**<br />
* Implementation of hook_uninstall()<br />
*/<br />
function custom_views_uninstall() {<br />
// Remove the module from the system table<br />
db_query(&#8220;DELETE FROM {system} WHERE name = &#8216;custom_views&#8217;&#8221;);<br />
}</p></blockquote>
<li>Save this file.</li>
<li>Create a text file on your desktop called <strong>custom_views.module</strong></li>
<li>Inside this file, paste:</li>
<blockquote><p>&lt;?php // $Id: custom_views.module,v 1.272.2.1  20010/05/07 12:25:24 goba Exp $</p>
<p>function custom_views_views_pre_execute(&amp;$view) {</p>
<p>if($view-&gt;name==&#8221;SiteActivity&#8221;) {//<strong>if we don&#8217;t do this it&#8217;ll alter ALL our view queries with this one!</strong></p>
<p>$view-&gt;build_info['query']=&#8221;<strong>//custom query goes here</strong>&#8220;;</p>
<p>$view-&gt;build_info['count_query']=$view-&gt;build_info['query'];  <strong>// count_query determines the pager.  Do this so the right item count is returned.</strong></p>
<p>}</p>
<p>}</p>
<p>/**<br />
* This module is Views 2.0 enabled.<br />
* Implementation of hook_views_api().<br />
*/<br />
function custom_views_views_api() {<br />
return array(&#8216;api&#8217; =&gt; 2.0);<br />
}</p></blockquote>
<li>Inside the <strong>custom_views_views_pre_execute</strong> function where it says &#8216;<em>custom query goes here</em>&#8216;, paste the custom query we made in <strong>step 2 </strong>. Result below:</li>
<blockquote><p>&lt;?php // $Id: custom_views.module,v 1.272.2.1   20010/05/07 12:25:24 goba Exp $</p>
<p>function  custom_views_views_pre_execute(&amp;$view) {</p>
<p>if($view-&gt;name==&#8221;SiteActivity&#8221;) //<strong>if we don&#8217;t do this it&#8217;ll alter  ALL our site&#8217;s view queries with this one!</strong><br />
{<br />
$view-&gt;build_info['query']=<br />
&#8221;<br />
SELECT node.nid AS nid, <strong>//node id</strong><br />
users.picture AS users_picture, <strong>//picture</strong><br />
users.uid AS users_uid, <strong>//user id</strong><br />
users.name AS users_name, <strong>//user name</strong><br />
node.type AS node_type, <strong>// node type</strong><br />
node.title AS node_title, <strong>// node title</strong><br />
node.created AS node_created <strong>//post date</strong><br />
FROM node node<br />
INNER JOIN users users ON node.uid = users.uid<br />
<strong> </strong>WHERE (node.status &lt;&gt; 0)<strong> </strong></p>
<p><strong>UNION</strong></p>
<p>SELECT comments.cid AS cid, <strong>//comment id</strong><br />
users_comments.picture AS users_comments_picture, <strong>// picture</strong><br />
users_comments.uid AS users_comments_uid, <strong>//user id</strong><br />
users_comments.name AS users_comments_name, <strong>//user name</strong><br />
node_comments.type AS node_type, <strong>//node type</strong><br />
comments.subject AS comments_subject, <strong>// comment title</strong><br />
comments.timestamp  AS comments_timestamp <strong>//post date</strong><br />
FROM comments comments<br />
LEFT JOIN node node_comments ON comments.nid = node_comments.nid<br />
LEFT JOIN users users_comments ON comments.uid = users_comments.uid<br />
WHERE (node_comments.status &lt;&gt; 0)<br />
ORDER BY node_created DESC&#8221;;</p>
<p>$view-&gt;build_info['count_query']=$view-&gt;build_info['query'];  <strong>//  count_query determines the pager.  Do this so the right item count is  returned.</strong>}<br />
}</p>
<p>/**<br />
* This module is Views  2.0 enabled.<br />
* Implementation of hook_views_api().<br />
*/<br />
function custom_views_views_api() {<br />
return array(&#8216;api&#8217; =&gt; 2.0);<br />
}</p></blockquote>
<li>Save this file. We just created our custom views module. <img src='http://sethsandler.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /> </li>
<li>Now upload your custom_views module to your website and enable it like normal.</li>
</ol>
<h2>Step 4: Output our activity stream through the views UI</h2>
<p>Now that we have our new module, with our custom query added to our site, it&#8217;s time to create our final view.</p>
<ol>
<li>Create a new node view and call it &#8216;<strong>SiteActivity</strong>&#8216;. We&#8217;re picking this name because that&#8217;s what we put in our module &#8220;if($view-&gt;name==&#8221;<strong>SiteActivity</strong>&#8220;)&#8221;. If you want to call it something else, you&#8217;ll need to change the name in the custom_views module too.</li>
<li>Since the query we made had user picture, user name, node type, title, and post date, we&#8217;ll add fields for all of those.</li>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1133" title="nalview" src="http://sethsandler.com/wp-content/uploads/2010/05/nalview.png" alt="nalview Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" width="581" height="447" /></p>
<li>You can arrange these how you want. Preview your new view and see what it looks like! Hopefully it should be a combination of other views you created before, but now they&#8217;re combined into a single list!</li>
<li>The original example in the beginning of this post goes a bit further (probably covered later in a part 2 of this tutorial). It uses <a href="http://drupal.org/project/views_customfield" target="_blank">views custom fields</a> in order to take all the results and images based upon the content type and activity type (project, flag, comment). With a little creativity you can do the same.</li>
</ol>
<h2>Final Thoughts:</h2>
<p>Most of the themeing parts of this tutorial will be saved for another time (part 2) since they deserve a separate part. In this example we covered how to combine multiple views queries and sorting based on a common part (post date). The method of creating a custom query and module to input in views should work with any custom query and not just UNIONs. So there is a lot of room for creativity. I hope you enjoyed this tutorial. I don&#8217;t claim to be an expert by any means and so please let me know if there are problems or insights that could improve upon this process. If there are any steps missing or clarification needed &#8211; let me know so I can make the necessary changes/additions.</p>
<h2>DOWNLOAD EXAMPLE MODULE:</h2>
<p><div class="wpfilebase-attachment">
 <div class="wpfilebase-fileicon"><a href="http://sethsandler.com/download/custom_views.zip" onclick="wpfilebase_dlclick(10, 'download/custom_views.zip')" title="Download custom_views module"><img align="middle" src="http://sethsandler.com/wp-includes/images/crystal/archive.png" title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" alt="archive Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /></a></div>
 <div class="wpfilebase-rightcol">
  <div class="wpfilebase-filetitle">
   <a href="http://sethsandler.com/download/custom_views.zip" onclick="wpfilebase_dlclick(10, 'download/custom_views.zip')" title="Download custom_views module">custom_views module</a>
   custom_views.zip
   
  </div>
  <div class="wpfilebase-filedetails" id="wpfilebase-filedetails6" style="display: none;">
  
  <table border="0" width="220">
   
   
   
   
   
   
   <tr><th>Date:</th><td>January 1, 1970</td></tr>
   <tr><th>MD5 Hash:</th><td><small>580adbe74f69b884e3b6eda6c547db83</small></td></tr>
  </table>
  </div>
 </div>
 <div class="wpfilebase-fileinfo">
  1.5 KiB
  55 Downloads
  <a href="#" onclick="return wpfilebase_filedetails(6);">Details...</a>
 </div>
 <div style="clear: both;"></div>
</div>
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fdrupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Fdrupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1%2F&amp;style=normal" height="61" width="50" title="Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" alt=" Drupal 6   Creating Activity Stream with Views Custom SQL Query: Merging multiple views   Part 1" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/software/drupal-6-creating-activity-stream-views-custom-sql-query-merging-multiple-views-part-1/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Proud to announce the open beta launch of techsparked.com! Call for participation!!</title>
		<link>http://sethsandler.com/headline/proud-announce-launch-techsparkedcom/</link>
		<comments>http://sethsandler.com/headline/proud-announce-launch-techsparkedcom/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 19:09:25 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Art and design]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[social platform]]></category>
		<category><![CDATA[techsparked]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=1005</guid>
		<description><![CDATA[
			
				
			
		

Help  by digging this story!!!
After lots of hard work, I am proud to announce the open beta launch of a new social platform I&#8217;ve been developing for creative and emergent interactive technology called techsparked. If you like my blog, the MTmini, Audiotouch or any of my work &#8211; you&#8217;re  going to love techsparked!






techsparked creates a platform for sharing, learning, discussing, promoting,  and meeting people with interests in spreading information in new ways  and between people through the use of creative and emergent interactive  technology. techsparked ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fheadline%2Fproud-announce-launch-techsparkedcom%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fheadline%2Fproud-announce-launch-techsparkedcom%2F&amp;style=normal" height="61" width="50" title="Proud to announce the open beta launch of techsparked.com! Call for participation!!" alt=" Proud to announce the open beta launch of techsparked.com! Call for participation!!" /><br />
			</a>
		</div>
<p><a href="http://techsparked.com" target="_blank"><img class="aligncenter size-full wp-image-1013" title="tech_my_logo" src="http://sethsandler.com/wp-content/uploads/2010/03/tech_my_logo1.png" alt="tech my logo1 Proud to announce the open beta launch of techsparked.com! Call for participation!!" width="550" height="129" /></a></p>
<h2 style="text-align: center;"><a href="http://digg.com/design/deviantART_for_creative_technology_techsparked_com">Help  by digging this story!!!</a></h2>
<p><strong>After lots of hard work, I am proud to announce the open beta launch of a new social platform I&#8217;ve been developing for creative and emergent interactive technology called <a href="http://techsparked.com" target="_blank">techsparked</a>. </strong>If you like my blog, the MTmini, Audiotouch or any of my work &#8211; you&#8217;re  going to love techsparked!</p>
<p><!-- /#content-header --></p>
<div id="content">
<div id="content-inner">
<div id="content-area">
<div id="node-157">
<div>
<p>techsparked creates a platform for sharing, learning, discussing, promoting,  and meeting people with interests in spreading information in new ways  and between people through the use of creative and emergent interactive  technology. techsparked is a social platform for people that are sparked by  creative and emergent interactive technology. On techsparked you&#8217;ll find projects demonstrating the latest  interactive techniques, applications, software frameworks, and case  studies involving creative and emergent technology.</p>
<p><strong>techsparked is like the deviantART.com or behance.net for creative technology!</strong></p>
<p><a href="http://techsparked.com" target="_blank"><img class="size-full wp-image-1006  alignleft" title="launch" src="http://sethsandler.com/wp-content/uploads/2010/03/launch.gif" alt="launch Proud to announce the open beta launch of techsparked.com! Call for participation!!" width="391" height="222" /></a></p>
<p>In 2009, the concept of techsparked began with a small group of  individuals from several countries that shared an interest in the  potential of emergent and creative technology in helping to spread  information in new ways and between people. Through the development  process, this small group expanded to encompass a wider community of  people with similar goals and interests. techsparked was developed to  meet a need within the creative community of openly sharing emergent and  creative technology.</p>
</div>
</div>
</div>
</div>
</div>
<div id="node-157">
<div>
<p><strong>After a short private beta period, I am proud to announce <a href="http://techsparked.com" target="_blank">techsparked.com</a>!!!</strong></p>
<h2><a href="http://techsparked.com"></a></h2>
<h2>Check out <a href="http://techsparked.com/users/seth" target="_blank">my profile</a> on <a href="http://techsparked.com" target="_blank">techsparked.com</a></h2>
<h2><a href="http://techsparked.com">Get  sparked</a>, gain <a href="http://techsparked.com/top-members/total" target="_blank">points</a>, and <a href="http://techsparked.com">join </a>today!</h2>
<h2><a href="http://digg.com/design/deviantART_for_creative_technology_techsparked_com">Help by digging this story!!!</a></h2>
</div>
</div>
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fheadline%2Fproud-announce-launch-techsparkedcom%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fheadline%2Fproud-announce-launch-techsparkedcom%2F&amp;style=normal" height="61" width="50" title="Proud to announce the open beta launch of techsparked.com! Call for participation!!" alt=" Proud to announce the open beta launch of techsparked.com! Call for participation!!" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/headline/proud-announce-launch-techsparkedcom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010</title>
		<link>http://sethsandler.com/technology-multitouch/5th-annual-acm-conference-interactive-tabletops-surfaces-2010/</link>
		<comments>http://sethsandler.com/technology-multitouch/5th-annual-acm-conference-interactive-tabletops-surfaces-2010/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 21:05:09 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Headline]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>
		<category><![CDATA[conference]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=996</guid>
		<description><![CDATA[
			
				
			
		
CALL FOR PARTICIPATION
 5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010
The Interactive Tabletops and Surfaces 2010 Conference (ITS) is a
premiere venue for presenting research in the design and use of new
and emerging tabletop and interactive surface technologies. As a new
community, we embrace the growth of the discipline in a wide variety
of areas, including innovations in ITS hardware, software, design, and
projects expanding our understanding of design considerations of ITS
technologies and of their applications.

Building on their success in previous years, ITS again features Papers
and Notes presentations, as well as tutorials, ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2F5th-annual-acm-conference-interactive-tabletops-surfaces-2010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2F5th-annual-acm-conference-interactive-tabletops-surfaces-2010%2F&amp;style=normal" height="61" width="50" title="5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010" alt=" 5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010" /><br />
			</a>
		</div>
<h2><strong>CALL FOR PARTICIPATION</strong></h2>
<h3><strong> </strong>5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010</h3>
<p>The Interactive Tabletops and Surfaces 2010 Conference (ITS) is a<br />
premiere venue for presenting research in the design and use of new<br />
and emerging tabletop and interactive surface technologies. As a new<br />
community, we embrace the growth of the discipline in a wide variety<br />
of areas, including innovations in ITS hardware, software, design, and<br />
projects expanding our understanding of design considerations of ITS<br />
technologies and of their applications.</p>
<h4><img class="alignleft size-full wp-image-997" title="screenshot_screen  shot 2010-03-16 at 10.44.29 am" src="http://sethsandler.com/wp-content/uploads/2010/03/screenshot_screen-shot-2010-03-16-at-10.44.29-am.png" alt="screenshot screen shot 2010 03 16 at 10.44.29 am 5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010" width="273" height="174" /></h4>
<p>Building on their success in previous years, ITS again features Papers<br />
and Notes presentations, as well as tutorials, posters, and<br />
demonstrations tracks. For the first time, ITS 2010 will also include<br />
a doctoral symposium.</p>
<p>ITS 2010 will bring together top researchers and practitioners who are<br />
interested in both the technical and human aspects of ITS technology.<br />
On behalf of the conference organizing committee, we invite you to<br />
begin planning your submissions and participation for this year’s<br />
conference!</p>
<p>CALL FOR PARTICIPATION: PAPERS AND NOTES</p>
<p>The use of interactive surfaces is an exciting and emerging research<br />
area. Display technologies, such as projectors, LCD and OLED flat<br />
panels, and even flexible display substrates, coupled with input<br />
sensors capable of enabling direct interaction, make it reasonable to<br />
envision a not-so-distant future in which many of the common surfaces<br />
in our environment will function as digital interactive displays. ITS<br />
brings together researchers and practitioners from a variety of<br />
backgrounds and interests, such as camera and projector based systems,<br />
new display technologies, multi-touch sensing, user interface<br />
technologies, augmented reality, computer vision, multimodal<br />
interaction, novel input and sensing technologies, computer supported<br />
cooperative work (CSCW), and information visualization.</p>
<p>The intimate size of this single-track symposium provides an ideal<br />
venue for leading researchers and practitioners to exchange research<br />
results and experiences. We encourage submissions on (but not limited<br />
to) the following topic areas as they relate to interactive tabletops<br />
and surfaces:</p>
<ul>
<li>Applications</li>
<li>Gesture-based interfaces</li>
<li>Multi-modal interfaces</li>
<li>Tangible interfaces</li>
<li>Novel interaction techniques</li>
<li>Data handling/exchange on large interactive surfaces</li>
<li>Data presentation on large interactive surfaces</li>
<li>User-interface technology</li>
<li>Computer supported collaborative systems</li>
<li>Middleware and network support</li>
<li>Augmented reality</li>
<li>Social protocols</li>
<li>Information visualizations</li>
<li>Interactive surface hardware, including sensing and input<br />
technologies with novel capabilities</li>
<li> Human-centered design &amp; methodologies</li>
<li>CONFERENCE COMMITTEE</li>
<li>Conference Co-Chairs</li>
<li>Johannes Schöning</li>
<li>Antonio Krüger</li>
<li>Conference Program Committee Co-Chairs</li>
<li>Daniel Wigdor</li>
<li>Michael Haller</li>
</ul>
<p>MENTORESHIPS</p>
<p>To help those with less experience in academic publication, ITS 2010<br />
offers the help of our two Mentors Chairs. The mentoring program is<br />
intended primarily for authors from non-academics, including industry.</p>
<p>Two types of help are available from the mentor: assistance in framing<br />
and composing your research paper (early feedback), and help and<br />
feedback reviewing an already completed paper (later feedback). In<br />
either case, the mentor will help frame your work in context of other<br />
related work, and make meaningful suggestions to improve the quality<br />
of your contribution. Both types of mentorship have the same<br />
submission deadline.</p>
<p>Although we cannot guarantee that your submission will be accepted by<br />
ITS, mentoring would be helpful for you to turn your ideas into a<br />
proper research paper. If you wish to avail yourself of this program,<br />
you can do so by sending e-mail to both of the Mentor Chairs Lucia<br />
Terrenghi (lucia.terrenghi@vodafone.com) and Changkyu Choi<br />
(changkyu_choi@samsung.com). The submission type will vary depending<br />
on the type of feedback you are seeking.</p>
<p>Early-Stages Feedback (Deadline: 2010.05.25):</p>
<p>Send a 1-page document describing your intended contribution. This<br />
1-page must include author names and affiliation (e.g. company name),<br />
and enough information for the chairs to understand both what it is<br />
that you have done.</p>
<p>Completed Paper Feedback (Deadline: 2010.05.25):</p>
<p>Send your completed paper to both mentors chairs by May 25.</p>
<p>For both early and paper feedback, you will receive a response by June 14.</p>
<p>SUBMISSIONS<br />
Papers/Notes: We invite paper submissions of two kinds: Papers (10<br />
pages) and Notes (4 pages). Papers must present original, highly<br />
innovative, prospective and forward-looking research, possibly in one<br />
or more of the themes given above. Notes must also report novel and<br />
complete research, but where the scope and scale of the contribution<br />
is more focused and succinct than papers. Submissions must be<br />
submitted as a single PDF file in the ACM format through the<br />
submission system. A template for submissions can be found on the ITS<br />
website (http://www.its.2010.org).</p>
<p>All accepted submissions will be presented at ITS 2010 and appear in<br />
the ITS proceedings and be archived in the ACM digital library.</p>
<p>IMPORTANT DATES</p>
<p>Paper / Note Mentorship Requests (optional): May 25, 2010</p>
<p>Paper / Note Mentorship Feedback Received (optional): June 14, 2010</p>
<p>Paper / Note Submissions: June 23, 2010</p>
<p>Paper / Note Author Notifications: August 27, 2010</p>
<p>Paper / Note Camera-Ready Deadline: October 1, 2010</p>
<p>The calls for the posters, demos, tutorials, and the doctoral<br />
symposium will be published soon, please check our website for further<br />
information.</p>
<p>ITS 2010 Conference:  November 7-10, 2010</p>
<p>http://www.its.2010.org</p>
<p>&#8211;<br />
ITS 2010, Saarbrücken Germany<br />
Interactive Tabletops and Surfaces<br />
http:/www.its2010.org</p>
<p>http://twitter.com/ITS_Germany2010</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Johannes Schöning<br />
Innovative Retail Laboratory<br />
DFKI GmbH, Campus D3_2, Stuhlsatzenhausweg 3, D-66123 Saarbruecken, Germany<br />
www.innovative-retail.de<br />
www.dfki.de/~jschoen<br />
www.dfki.de
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2F5th-annual-acm-conference-interactive-tabletops-surfaces-2010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2F5th-annual-acm-conference-interactive-tabletops-surfaces-2010%2F&amp;style=normal" height="61" width="50" title="5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010" alt=" 5th Annual ACM Conference on Interactive Tabletops and Surfaces 2010" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/technology-multitouch/5th-annual-acm-conference-interactive-tabletops-surfaces-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!</title>
		<link>http://sethsandler.com/technology-multitouch/beta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology/</link>
		<comments>http://sethsandler.com/technology-multitouch/beta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 00:37:16 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Art and design]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=967</guid>
		<description><![CDATA[
			
				
			
		
Beta invites are not needed anymore &#8211; the site is launched!! 
 http://sethsandler.com/technology-multitouch/proud-announce-launch-techsparkedcom/

Are you interested in innovative, emergent, and interactive technology (multitouch, gestures, eye tracking, augmented reality, creative tech, etc) or the interactions we will have with information in the future? Do you create emergent experiences, have interactive applications/software or code frameworks for building interactive installations, applications, or projects? If so, then this opportunity really is for you.
I have some beta invites for a new website that&#8217;ll be doing a rapid beta test within the next week. For the beta, ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Fbeta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Fbeta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology%2F&amp;style=normal" height="61" width="50" title="Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" alt=" Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" /><br />
			</a>
		</div>
<h2><strong><strong>Beta invites are not needed anymore &#8211; the site is launched!! </h2>
<p> <a href="http://sethsandler.com/technology-multitouch/proud-announce-launch-techsparkedcom/">http://sethsandler.com/technology-multitouch/proud-announce-launch-techsparkedcom/</a></strong></strong><br />
<img class="alignleft size-full wp-image-979" title="sparkey" src="http://sethsandler.com/wp-content/uploads/2010/03/sparkey1.png" alt="sparkey1 Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" width="240" height="261" /></p>
<p>Are you interested in innovative, emergent, and interactive technology (multitouch, gestures, eye tracking, augmented reality, creative tech, etc) or the interactions we will have with information in the future? Do you create emergent experiences, have interactive applications/software or code frameworks for building interactive installations, applications, or projects? If so, then this opportunity really is for you.</p>
<p><strong>I have some beta invites</strong> for a new website that&#8217;ll be doing a rapid beta test within the next week. For the beta, we&#8217;re especially looking for people <strong>that already have</strong> or are in the process of creating projects, applications and software frameworks within the interactive, emergent, and creative technology domain.</p>
<p><strike><strong>To sign up, send an e-mail to: <span style="color: #ff0000;">mail[at]sethsandler[dot]com </span> (or leave a comment below) with your e-mail, your name, company (if there is one) and [optionally] any information about a framework, application, or project you have that deals in creative and emergent interactive technology.</strong></p>
<p>Depending on the number of submissions, I may not be able to invite everyone &#8211; so make sure to be one of the first. <img src='http://sethsandler.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' title="Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" />  If receive an invite, you should expect it within the next week or so.</p>
<p>If you&#8217;ve already sent me a request (prior to this post), don&#8217;t worry &#8211; I already have you on the list and you should be receiving an invite within the next week.<br />
</strike></p>
<p><strong><strong>Beta invites are not needed anymore &#8211; the site is launched!! <a href="http://sethsandler.com/technology-multitouch/proud-announce-launch-techsparkedcom/">http://sethsandler.com/technology-multitouch/proud-announce-launch-techsparkedcom/</a></strong></strong></p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Fbeta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Ftechnology-multitouch%2Fbeta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology%2F&amp;style=normal" height="61" width="50" title="Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" alt=" Beta Invties: Sign up now! For people interested in innovative, creative, emergent, and interactive technology!" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/technology-multitouch/beta-invties-sign-people-interested-innovative-creative-emergent-interactive-technology/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Argos: Super Cool Multitouch Music Interface Builder</title>
		<link>http://sethsandler.com/audio/argos-super-cool-multitouch-music-interface-builder/</link>
		<comments>http://sethsandler.com/audio/argos-super-cool-multitouch-music-interface-builder/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 01:05:32 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Multitouch and NUI]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=951</guid>
		<description><![CDATA[
			
				
			
		

If you&#8217;re familiar with the Jazzmutant Lemur, you&#8217;ll want to get familiar with Argos Interface Builder by Dimitri Diakopoulos using the great c++ framework openFrameworks.




Last summer I took part in Google Summer of Code as a mentor. Dimitri proposed a multitouch music interface builder and I thought it was a fantastic idea. An opensource lemur; who wouldn&#8217;t like that??? Dimitri was chosen as a student for GSoC and I was able to mentor him as he developed Argos. It&#8217;s come a long way, and with a little help from the ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Faudio%2Fargos-super-cool-multitouch-music-interface-builder%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Faudio%2Fargos-super-cool-multitouch-music-interface-builder%2F&amp;style=normal" height="61" width="50" title="Argos: Super Cool Multitouch Music Interface Builder" alt=" Argos: Super Cool Multitouch Music Interface Builder" /><br />
			</a>
		</div>
<p><img alt="argos21 Argos: Super Cool Multitouch Music Interface Builder" src="http://argos.dimitridiakopoulos.com/argos21.jpg" title="Argos" width="500" height="259" /></p>
<p>If you&#8217;re familiar with the <a href="http://www.jazzmutant.com/">Jazzmutant Lemur</a>, you&#8217;ll want to get familiar with <a href="http://argos.dimitridiakopoulos.com/about/">Argos Interface Builder</a> by Dimitri Diakopoulos using the great c++ framework <a href="http://www.openframeworks.cc/">openFrameworks</a>.</p>
<p style="float: right;"><script type="text/javascript"><!--
google_ad_client = "pub-9343590855255860";
/* in posts - 300x250, created 12/1/09 */
google_ad_slot = "1775795679";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Last summer I took part in <a href="http://code.google.com/soc/">Google Summer of Code</a> as a mentor. Dimitri proposed a multitouch music interface builder and I thought it was a fantastic idea. An opensource lemur; who wouldn&#8217;t like that??? Dimitri was chosen as a student for GSoC and I was able to mentor him as he developed Argos. It&#8217;s come a long way, and with a little help from the opensource community, it has potential to be incredible! </p>
<p>Take a look at the video below to see Argos in use. You can find the source and a binary (for windows users) here: http://code.google.com/p/ofxargos/</p>
<p>Make sure to check out the release notes and official Argos website at  http://argos.dimitridiakopoulos.com/ The application is still feature-incomplete, but quickly approaching a usable state! Dimitri can really use community support; so make sure to say &#8216;hi&#8217; to him and get involved to make argos the next coolest opensource music interface!</p>
<p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Faudio%2Fargos-super-cool-multitouch-music-interface-builder%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Faudio%2Fargos-super-cool-multitouch-music-interface-builder%2F&amp;style=normal" height="61" width="50" title="Argos: Super Cool Multitouch Music Interface Builder" alt=" Argos: Super Cool Multitouch Music Interface Builder" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/audio/argos-super-cool-multitouch-music-interface-builder/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Who Doesn&#8217;t Like Lava Lamps?</title>
		<link>http://sethsandler.com/software/lava-lamps/</link>
		<comments>http://sethsandler.com/software/lava-lamps/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 05:48:02 +0000</pubDate>
		<dc:creator>SethSandler</dc:creator>
				<category><![CDATA[Art and design]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[laval lamp]]></category>
		<category><![CDATA[multitouch]]></category>

		<guid isPermaLink="false">http://sethsandler.com/?p=895</guid>
		<description><![CDATA[
			
				
			
		




 If you&#8217;re familiar with multitouch, you&#8217;re probably familiar with Jeff Han&#8217;s TED demo. In it, there&#8217;s an example of a lava application that shows an interesting use of multitouch.
A few months ago, I was trying to work on something similar.
The following is what I came up with. I never had the chance to finish and was only able to add mouse support at the time. So, here&#8217;s a preview of what might come to a multitouch screen near you at some point in the future.
It&#8217;s pretty slow since it ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Flava-lamps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Flava-lamps%2F&amp;style=normal" height="61" width="50" title="Who Doesnt Like Lava Lamps?" alt=" Who Doesnt Like Lava Lamps?" /><br />
			</a>
		</div>
<p style="float: right; padding: 10px"><script type="text/javascript"><!--
google_ad_client = "pub-9343590855255860";
/* in posts - 300x250, created 12/1/09 */
google_ad_slot = "1775795679";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p> If you&#8217;re familiar with multitouch, you&#8217;re probably familiar with Jeff Han&#8217;s <a href="http://www.ted.com/index.php/talks/jeff_han_demos_his_breakthrough_touchscreen.html" target="_blank">TED demo</a>. In it, there&#8217;s an example of a lava application that shows an interesting use of multitouch.</p>
<p>A few months ago, I was trying to work on something similar.</p>
<p>The following is what I came up with. I never had the chance to finish and was only able to add mouse support at the time. So, here&#8217;s a preview of what might come to a multitouch screen near you at some point in the future.</p>
<p>It&#8217;s pretty slow since it uses bitmapdata and filters and the code is a bit of a Frankenstein of information I found online about &#8216;metaballs&#8217;. If I get a chance, i&#8217;ll see if I can get the code out.</p>
<p>Meanwhile, have some fun! Click around and push/move the lava!</p>
<p style="text-align: center;"><a rel="attachment wp-att-897" href="http://sethsandler.com/software/lava-lamps/attachment/lava-2/"></a>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_lava_1464689967"
			class="flashmovie"
			width="510"
			height="768">
	<param name="movie" value="http://sethsandler.com/wp-content/uploads/2009/12/lava.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://sethsandler.com/wp-content/uploads/2009/12/lava.swf"
			name="fm_lava_1464689967"
			width="510"
			height="768">
	<!--<![endif]-->
		<a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" title="Who Doesnt Like Lava Lamps?" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>What do you think? Lava enough for you?
<div class="tweetmeme_button" style="float: right; margin-left: 10px; margin-bottom: 10px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Flava-lamps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fsethsandler.com%2Fsoftware%2Flava-lamps%2F&amp;style=normal" height="61" width="50" title="Who Doesnt Like Lava Lamps?" alt=" Who Doesnt Like Lava Lamps?" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://sethsandler.com/software/lava-lamps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.916 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-04 10:28:22 -->
