<?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>spatial nodes &#187; Surface</title>
	<atom:link href="http://blog.minst.net/tag/surface/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minst.net</link>
	<description>Thoughts of a lost soul</description>
	<lastBuildDate>Mon, 23 Jan 2012 16:33:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Surface glitches</title>
		<link>http://blog.minst.net/2009/02/18/surface-glitches</link>
		<comments>http://blog.minst.net/2009/02/18/surface-glitches#comments</comments>
		<pubDate>Wed, 18 Feb 2009 11:26:43 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[TableTop]]></category>
		<category><![CDATA[bastet]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Surface]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=169</guid>
		<description><![CDATA[We&#8217;ve got the surface for a while now and have written our first real application. It is based on BruTile and allows you to show various maps, zoom and pan. We created a short movie to show it: Once we got the basics running I tried to edit the XAML to make it look better. [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve got the surface for a while now and have written our first real application. It is based on <a href="http://www.codeplex.com/brutile">BruTile </a>and allows you to show various maps, zoom and pan. We created a short movie to show it:</p>
<p><a href="http://blog.minst.net/2009/02/18/surface-glitches"><em>Click here to view the embedded video.</em></a></p>
<p><span id="more-169"></span>Once we got the basics running I tried to edit the XAML to make it look better. This turned out to be harder than expected. The surface has once again its own default designs, which in my opinion are worse than the WPF standard designs. The default look is grey and square. So I wanted to change it to something more akin to our other touchtable applications: white and round. However <a href="http://pauldendulk.com/">Paul </a>used a ScatterView component to display the layerlist and the geodan logo. He had read that one can just drop components in a ScatterView, without the need to embed them in ScatterViewItems. This is true, but it is a nightmare for the (non-initiated) designer. What happens is that the grey-square design of the ScatterViewItem is drawn beneath any layout you come up with for your own item. This is a very puzzling behaviour, although not entirely unexpected once you know that the ScatterViewItem exists.</p>
<p>Once I solved this issue I could seriously try to change the layout of the ScatterViewItems. Here however real glitches appeared. We use rounded borders and dropshadows for our items. As you can see below there are (at least) two issues:</p>
<div id="attachment_171" class="wp-caption alignnone" style="width: 603px"><a href="http://blog.minst.net/wp-content/uploads/2009/02/surface-artefact1.png" rel="lightbox[169]"><img class="size-full wp-image-171" title="surface-artefact1" src="http://blog.minst.net/wp-content/uploads/2009/02/surface-artefact1.png" alt="Rounded border on the Surface don't work" width="593" height="491" /></a><p class="wp-caption-text">Rounded border on the Surface don&#39;t work</p></div>
<p>The dark rectangle in the top of the image is actually a shadow of  a ScatterViewItem which for some reason doesn&#8217;t start below it. However this makes it easy to see the first glitch in the rendering. As you can see there is a thin dark line near the edge, which makes a weird square corner at the corner. This shouldn&#8217;t be there and when you resize the ScatterViewItem down, the shadow becomes darker (as it should have been in the first place) and the line is not visible anymore. If you don&#8217;t use rounded corners on the shadow the line is still there, but harder to notice because it is exactly following the edge of the shadow.</p>
<p>The second annoying glitch I&#8217;ve found is the gap between the border and the content. If we zoom in a bit on the layercontrol you can see there is a pixel space between the border and the content:</p>
<div id="attachment_170" class="wp-caption alignnone" style="width: 603px"><a href="http://blog.minst.net/wp-content/uploads/2009/02/surface-artefact2.png" rel="lightbox[169]"><img class="size-full wp-image-170" title="surface-artefact2" src="http://blog.minst.net/wp-content/uploads/2009/02/surface-artefact2.png" alt="A gap between border and content" width="593" height="225" /></a><p class="wp-caption-text">A gap between border and content</p></div>
<p>So far I haven&#8217;t been able to eliminate the pixel wide gap. It doesn&#8217;t look bad in our application right now, but in general it is bad that there is such an uncontrollable gap. So I have the feeling that the Surface people are not a big fan of borders in general and rounded border specifically. <img src='http://blog.minst.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2009/02/18/surface-glitches/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working Microsoft Surface</title>
		<link>http://blog.minst.net/2009/01/20/working-microsoft-surface</link>
		<comments>http://blog.minst.net/2009/01/20/working-microsoft-surface#comments</comments>
		<pubDate>Tue, 20 Jan 2009 11:16:53 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[TableTop]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Surface]]></category>
		<category><![CDATA[werk]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=155</guid>
		<description><![CDATA[Happy as we were with our new Surface we forgot the basic rule of Windows related problems; reboot if in trouble. We spend quite some time calibrating, recalibrating and reading documentation from the invite only Microsoft site without any effect. In the end Vista asked us to install an update and to reboot the Surface. [...]]]></description>
			<content:encoded><![CDATA[<p>Happy as we were with our new Surface we forgot the basic rule of Windows related problems; reboot if in trouble.</p>
<p>We spend quite some time calibrating, recalibrating and reading documentation from the invite only Microsoft site without any effect. In the end Vista asked us to install an update and to reboot the Surface. When it was rebooted we ran the &#8216;Surface Shell&#8217; application from the Desktop and suddenly it worked!!</p>
<p>The Surface, or at least our version, comes with a set of code examples. We tried several to see how well it works and found out that especially the Grand Piano demo is a crowd drawer (mainly due to the sound probably). The Piano is a limited set of piano keys in perspective view. &#8216;Pressing&#8217; a key results in a tone, just like a real piano <img src='http://blog.minst.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="wp-caption alignnone" style="width: 310px"><a href="http://farm4.static.flickr.com/3434/3209077185_afb64c9931_b.jpg" rel="lightbox[155]"><img title="Grand Piano on the Surface" src="http://farm4.static.flickr.com/3434/3209077185_afb64c9931_b.jpg" alt="Playing piano on a Surface" width="300" height="200" /></a><p class="wp-caption-text">Playing piano on a Surface</p></div>
<p><span id="more-155"></span>The sensitivity of the Surface is well balanced. The Surface doesn&#8217;t notice fingers which are hovering just above the surface and you don&#8217;t need to apply any pressure to get noticed once you touch it. We&#8217;ve built our own table using a similar <a href="http://en.wikipedia.org/wiki/Total_internal_reflection#Frustrated_total_internal_reflection">FTIR</a> technique and we had quite some problems getting that balance right. Also the Surface is using 5 camera&#8217;s where we used just one as such it&#8217;s resolution is better as well.</p>
<p>It has additional logic in the interpretation of the camera feeds. It has three different types of touches it can recognize: finger, blob and tag. From each type it gives a location, an orientation, an id and in case of the tags a value.</p>
<div id="attachment_156" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0004.jpg" rel="lightbox[155]"><img class="size-medium wp-image-156" title="Finger touch" src="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0004-300x200.jpg" alt="Surface information of a finger" width="300" height="200" /></a><p class="wp-caption-text">Surface information of a finger</p></div>
<p>The difference between a blob and a finger is the size and shape of the touch, for instance a small square object is seen as a blob and a larger oval object is seen as a finger. Furthermore the earlier white-only bias of the Surface we experienced is now changed to a no-black bias. This gives some interesting results; a black/orange marker on the surface is recognized as a single finger at the tip of the marker;</p>
<div id="attachment_157" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0016.jpg" rel="lightbox[155]"><img class="size-medium wp-image-157" title="20090120-20090120-_dsc0016" src="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0016-300x200.jpg" alt="Fingers come in strange shapes" width="300" height="200" /></a><p class="wp-caption-text">Fingers come in strange shapes</p></div>
<p>The Surface feels pretty responsive, but using the Data Visualizer you notice that the position of the touch as interpreted by the Surface lags behind the actual touch. In the demos it is not noticeable but we found a similar lag very annoying on the DiamondTouch. On that table we managed to get rid of the lag and hopefully we can do the same here.</p>
<p>There is the famous demo of the telephone on the Surface, where it gets recognised and you can drag and drop data. We tried it and noticed that it doesn&#8217;t like android phones; it just doesn&#8217;t see the phone. An (ancient) windows mobile phone however does get recognised for what it is: a blob;</p>
<div id="attachment_158" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0012.jpg" rel="lightbox[155]"><img class="size-medium wp-image-158" title="20090120-20090120-_dsc0012" src="http://blog.minst.net/wp-content/uploads/2009/01/20090120-20090120-_dsc0012-300x200.jpg" alt="Android on the Surface" width="300" height="200" /></a><p class="wp-caption-text">Android on the Surface</p></div>
<p>Obviously the Surface doesn&#8217;t automagically recognize phones or any other object. The table comes with a set of <a href="http://en.wikipedia.org/wiki/Fiduciary_marker">fiducials</a> which you can stick on objects. These fiducials get recognised as tags with a value and using that value you can do fun stuff in your software.</p>
<p><strong>Update</strong></p>
<p>I discovered that while it doesn&#8217;t respond to hovering fingers, it does notice hovering areas the size of a hand. Which is slightly annoying since in normal use you easily have your hand hovering just above the surface while one or more fingers touch it. It might be possible to filter this unwanted behavior in real applications, because the hand shows up as a blob instead of a finger.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2009/01/20/working-microsoft-surface/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Surface</title>
		<link>http://blog.minst.net/2009/01/16/microsoft-surface</link>
		<comments>http://blog.minst.net/2009/01/16/microsoft-surface#comments</comments>
		<pubDate>Fri, 16 Jan 2009 17:43:46 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[TableTop]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[Surface]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.minst.net/?p=147</guid>
		<description><![CDATA[Today the Microsoft Surface arrived, finally. They arrived in big boxes suggesting big tables, but alas they are actually pretty small. Microsoft envisages them as lounge table, as such they are very low, too low to sit comfortably on a normal chair. Being used to the Circle12 DiamondTouch, the Surface is both small and heavy. [...]]]></description>
			<content:encoded><![CDATA[<p>Today the Microsoft Surface arrived, finally. They arrived in big boxes suggesting big tables, but alas they are actually pretty small. Microsoft envisages them as lounge table, as such they are very low, too low to sit comfortably on a normal chair. Being used to the Circle12 DiamondTouch, the Surface is both small and heavy. Weighing about 80kg it is difficult to move it and the actual display area is about half the size of the DiamondTouch.</p>
<p>We were supposed to have two normal and one developer edition but it wasn&#8217;t very clear which one was which so we picked one and carried it to our office. This turned out to quite tricky, this thing is heavy and doesn&#8217;t have any clear handles. In the end we carried it by holding the projection-surface &#8230;</p>
<p>Once setup we had to fiddle a bit to get the powercable connected and find the proper (two) powerswitches. Once it booted it prompted us an EULA we had to accept. However the Surface is designed to be a standalone machine completely controlled by touch but before the touch was working we had to accept the EULA, which was only accessible by touch &#8230; hm</p>
<div id="attachment_148" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/dscn0274.jpg" rel="lightbox[147]"><img class="size-medium wp-image-148" title="EULA for the Surface" src="http://blog.minst.net/wp-content/uploads/2009/01/dscn0274-300x225.jpg" alt="You need to accept to start touch, and you need touch to accept" width="300" height="225" /></a><p class="wp-caption-text">You need to accept to start touch, and you need touch to accept</p></div>
<p><span id="more-147"></span>So we had to plug in a mouse, but apparently we hadn&#8217;t chosen the developer edition since no usb ports where visible. The manual explained that we need to open up the side of the table to access the ports. After two screws and a bit of force we managed to open up the side and it gave us full access to all normal PC ports.</p>
<div id="attachment_149" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/dscn0276.jpg" rel="lightbox[147]"><img class="size-medium wp-image-149" title="Surface ports" src="http://blog.minst.net/wp-content/uploads/2009/01/dscn0276-300x225.jpg" alt="The surface insides" width="300" height="225" /></a><p class="wp-caption-text">The surface insides</p></div>
<p>It asked us to create an admin account and once it was setup it gave us the choice to login as that admin or as TableUser, since we had no clue what the password for TableUser was, we logged in as admin.  After a bit we were shown a fresh Vista desktop with a few shortcuts. The most obvious for us was the calibration tool. We calibrated our table and started a touch application. It failed to run complaining that the filtergraph was not found at the location specified. We neither had knew what a filtergraph was, nor what the location specified was.  This got us stuck for quite a while, the manuals didn&#8217;t help and the online site with information was only accessible by invitation and due to some miscommunication(?) we were not (yet) invited.</p>
<p>Digging into things like registries, hidden folders and binary blobs we finally discovered that there are two versions of the calibration tool. One which does a background-light calibration and one which does a per camera calibration. We had run both, but we failed to notice that the latter had to run 5 times (5 cameras in the surface). Once we had done so the different surface programs ran without errors and without effect.</p>
<p>Pretty annoyed we banged our fist on the table and that seemed to have effect. It turned out that putting a lot of force on the table gave results, indicating a calibration issue. Having no idea how to finetune the calibration we started to experiment with different ways of touching. The current consensus is that it is designed for ubergeeks who never see the sun and are pure white; touching the Surface with a finger doesn&#8217;t give a result, wrapping the finger in white tissue suddenly does &#8230;</p>
<div id="attachment_150" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.minst.net/wp-content/uploads/2009/01/dscn0556.jpg" rel="lightbox[147]"><img class="size-medium wp-image-150" title="The subsurface pond" src="http://blog.minst.net/wp-content/uploads/2009/01/dscn0556-300x225.jpg" alt="The 'attract' application" width="300" height="225" /></a><p class="wp-caption-text">The &#39;attract&#39; application</p></div>
<p>Hopefully we will figure out soon how to tweak the calibration and otherwise we need to buy a set of white surgical gloves to hand out to users <img src='http://blog.minst.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="file:///H:/DCIM/100NIKON/DSCN0274.JPG" alt="" /></p>
<p><img src="file:///H:/DCIM/100NIKON/DSCN0274.JPG" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2009/01/16/microsoft-surface/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Showing private data on a public touch table</title>
		<link>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table</link>
		<comments>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:43:18 +0000</pubDate>
		<dc:creator>stvn</dc:creator>
				<category><![CDATA[TableTop]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[Surface]]></category>

		<guid isPermaLink="false">http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table</guid>
		<description><![CDATA[Designing interfaces for multi-touch tabletop computers; Basic animation of hiding a card from view After watching the Secondlight demo from Microsoft, Johan came up with an idea to show &#8216;private&#8217; information on a touchtable. For instance during a board game on the table a player wants to view his private stack of cards. In a [...]]]></description>
			<content:encoded><![CDATA[<p>Designing interfaces for multi-touch tabletop computers;</p>
<p><img src="http://blog.minst.net/wp-content/uploads/2008/11/hide.gif" alt="Showing private data on a public table" /></p>
<p><em>Basic animation of hiding a card from view</em></p>
<p><em><span id="more-128"></span><br />
</em></p>
<p>After watching the <a href="http://www.youtube.com/watch?v=D5NrdoJvu9s" target="_blank">Secondlight </a>demo from Microsoft, Johan came up with an idea to show &#8216;private&#8217; information on a touchtable. For instance during a board game on the table a player wants to view his private stack of cards. In a traditional game he would have his cards turned upside down and would view them behind his hand. This behaviour can be mimiced on the table as well. If the user puts the side of his hand on the table the table can show the card within the confines of his hand.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.minst.net/2008/11/05/showing-private-data-on-a-public-touch-table/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

