<?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; Microsoft</title>
	<atom:link href="http://blog.minst.net/tag/microsoft/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.minst.net</link>
	<description>Thoughts of a lost soul</description>
	<lastBuildDate>Fri, 16 Jul 2010 16:24:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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:
BruTile @ the Surface
Once we got the basics running I tried to edit the XAML to make it [...]]]></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://www.youtube.com/watch?v=Fawfagg-BIg">BruTile @ the Surface</a></p>
<p>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"><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"><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. When [...]]]></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: 512px"><a href="http://farm4.static.flickr.com/3434/3209077185_afb64c9931_b.jpg"><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="502" height="335" /></a><p class="wp-caption-text">Playing piano on a Surface</p></div>
<p>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"><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"><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"><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>
	</channel>
</rss>
