<?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>Windows Space &#187; book</title>
	<atom:link href="http://vipultaneja.com/tag/book/feed" rel="self" type="application/rss+xml" />
	<link>http://vipultaneja.com</link>
	<description>ME Exploring PC</description>
	<lastBuildDate>Tue, 10 Jan 2012 14:01:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Book: Developing for Microsoft Surface</title>
		<link>http://vipultaneja.com/new-book-developing-for-microsoft-surface-102</link>
		<comments>http://vipultaneja.com/new-book-developing-for-microsoft-surface-102#comments</comments>
		<pubDate>Thu, 03 Dec 2009 21:26:55 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://vipultaneja.com/2009/12/new-book-developing-for-microsoft-surface/</guid>
		<description><![CDATA[The people over at nsquared have released the first book for developers and designers getting started on Microsoft Surface. Aptly titled, Developing for Microsoft Surface: Crafting Exceptional Experiences, provides the more than just the essentials for developing software on Microsoft Surface. It provides insight into what makes creating experiences on Surface different. It also goes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://managedpublishing.com/Presentation/OrderPage.aspx?bookkey=ZTBmZmVhNmEtNzhiYi00MDQ5LTgxYTctN2RiYjBlZTdiZGIy-Cc38vYhkddA=">     <br /><img border="0" alt="e0ffea6a 78bb 4049 81a7 7dbb0ee7bdb2 New Book: Developing for Microsoft Surface" align="right" src="http://managedpublishing.com/WorkArea/BookTemplate/e0ffea6a-78bb-4049-81a7-7dbb0ee7bdb2.png" width="120" title="New Book: Developing for Microsoft Surface" /></a></p>
<p>The people over at nsquared have <a href="http://nsquaredsolutions.com/surfacebook/">released the first book</a> for developers and designers getting started on <a href="http://www.surface.com/">Microsoft Surface</a>. Aptly titled, <em>Developing for Microsoft Surface: Crafting Exceptional Experiences</em>, provides the more than just the essentials for developing software on Microsoft Surface. It provides insight into what makes creating experiences on Surface different. It also goes through theory and onto hands on labs for practice.</p>
<p>Don’t forget to pick up Visual Studio 2008 and the free download of<a href="http://www.microsoft.com/surface/Pages/Technical/Learn.aspx">Microsoft Surface SDK 1.0 SP1 Workstation Edition</a> if you don’t <a href="http://www.microsoft.com/surface/Pages/HowToBuy/HowToBuy.aspx">have a Surface</a> to start out on.</p>
</p>
<p> Source: <a href="http://blogs.msdn.com/surface/archive/2009/12/03/new-book-developing-for-microsoft-surface.aspx" target="_blank">MSDN</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vipultaneja.com/new-book-developing-for-microsoft-surface-102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Google App Engine</title>
		<link>http://vipultaneja.com/programming-google-app-engine-96</link>
		<comments>http://vipultaneja.com/programming-google-app-engine-96#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:02:33 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://vipultaneja.com/2009/12/programming-google-app-engine/</guid>
		<description><![CDATA[Google App Engine is a cloud computing service unlike any other: it provides a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine (O’Reilly, US $44.99), you’ll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan [...]]]></description>
			<content:encoded><![CDATA[<p>Google App Engine is a cloud computing service unlike any other: it provides a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine (O’Reilly, US $44.99), you’ll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson (@dan_sanderson) shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine’s APIs and scalable services. </p>
<p>You’ll learn about App Engine’s application server architecture, runtime environments, and scalable datastore for distributing data, as well as techniques for optimizing your application. App Engine offers nearly unlimited computing power, and this book provides clear and concise instructions for getting the most from it—right from the source. </p>
<p><a href="http://www.learnxpress.com/en/images/2009/12/programming_google_app.gif"><img title="Programming Google App Engine" border="0" alt="programming google app thumb Programming Google App Engine" align="left" src="http://www.learnxpress.com/en/images/2009/12/programming_google_app_thumb.gif" width="184" height="240" /></a> &quot;Some of the most exciting areas in web application development involve the potential for rapid success, especially mobile and social apps,&quot; says Sanderson. &quot;With traditional web app development, this potential is a hazard: you either grow slow and miss an opportunity to connect with your customers, or you grow quickly, fail to meet demand, and halt development while you re-engineer for scale. Small companies and independent developers often can’t afford either of these options. By working at a level of abstraction designed with Google’s experience in building scalable web apps, small teams can build apps that are scalable from the start, get hot new ideas to market, and innovate at the cutting edge based on feedback from thousands of active, happy users.&quot; </p>
<p>With Programming Google App Engine by your side, you will discover the differences between traditional web development and development with App Engine, learn the details of App Engine’s Python and Java runtime environments , understand how App Engine handles web requests and executes application code, learn how to use App Engine’s scalable datastore, including queries and indexes, transactions, and data modeling, use task queues to parallelize and distribute work across the infrastructure and deploy and manage applications with ease </p>
</p>
<p> More @ <a href="http://feedproxy.google.com/~r/learnxpress/~3/WQ99wmFWEM8/programming-google-app-engine.html" target="_blank">Learn xpress</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vipultaneja.com/programming-google-app-engine-96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New book: Introducing Windows 7 for Developers</title>
		<link>http://vipultaneja.com/new-book-introducing-windows-7-for-developers-28</link>
		<comments>http://vipultaneja.com/new-book-introducing-windows-7-for-developers-28#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:01:14 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://vipultaneja.com/?p=28</guid>
		<description><![CDATA[Here’s a post about the newly published Introducing Windows 7 for Developers, by Yochay Kiriaty, Laurence Moroney, Sasha Goldshtein and Alon Fliess. (The book’s ISBN is 9780735626829, and it contains 416 pages.) You can read the Foreword by Mark Russinovich here. Chapter 7 Building Multitouch Applications in Managed Code In Chapters 5 and 6, you [...]]]></description>
			<content:encoded><![CDATA[<div></div>
<div>
<p><a href="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/9780735626829f_2.jpg"><img style="margin: 0px 10px 10px 0px; display: inline; border-width: 0px;" title="9780735626829f" src="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/9780735626829f_thumb.jpg" border="0" alt="9780735626829f thumb New book: Introducing Windows 7 for Developers" width="278" height="338" align="left" /></a>Here’s a post about the newly published <em><a href="http://www.microsoft.com/learning/en/us/Book.aspx?ID=13697&amp;locale=en-us">Introducing  Windows 7 for Developers</a></em>, by Yochay Kiriaty, Laurence Moroney, Sasha  Goldshtein and Alon Fliess. (The book’s ISBN is 9780735626829, and it contains  416 pages.)</p>
<p>You can read the <a href="http://blogs.msdn.com/microsoft_press/archive/2009/11/09/mark-russinovich-on-introducing-windows-7-for-developers.aspx">Foreword  by Mark Russinovich here</a>.</p>
<p><span style="font-size: large;"><strong>Chapter 7<br />
Building Multitouch Applications in Managed  Code</strong></span></p>
<p>In Chapters 5 and 6, you looked at touch-based applications—in particular,  the new multitouch<br />
capabilities that are available in the Windows 7 operating  system—and how to program<br />
applications to take advantage of Windows 7  multitouch features.</p>
<p>Perhaps you’re not really that into writing in C++, or perhaps you already  have applications<br />
that are written in managed code and would like to be able  to use them with multitouch. This<br />
chapter will look at how you can build  applications with multitouch in mind using the Microsoft<br />
.NET Framework and,  in particular, the Windows Presentation Foundation (WPF)<br />
version 4.</p>
<p>Instead of making a dry run through the features, you’re going to get  hands-on experience<br />
right away and learn by doing. So fire up Microsoft  Visual Studio 2010 and let’s get going.</p>
<p><span style="font-size: medium;"><strong>Building Your First Touch-Sensitive  Application</strong></span></p>
<p>Visual Studio 2010 supports the ability to create WPF Windows applications.  You can do this<br />
from the File menu. Select New Project, and the New Project  Types dialog box opens. Make<br />
sure that you’ve selected .NET Framework 4.0 as  the target framework (on the top right side),<br />
and select WPF Application from  the available templates.</p>
<p><a href="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_4.png"><img style="display: inline; border-width: 0px;" title="image" src="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_thumb_1.png" border="0" alt="image thumb 1 New book: Introducing Windows 7 for Developers" width="574" height="394" /></a></p>
<p>Visual Studio creates a basic WPF client application for you containing a  couple of XAML files:<br />
App.xaml, which contains the application definition,  and MainWindow.xaml, which defines the<br />
application UI. You’ll edit  MainWindow.xaml in this section.</p>
<p>Let’s take a look at the basic XAML that is created for you in  Window1.xaml:</p>
<p><span style="font-family: 'courier new';">&lt;Window  x:Class=&#8221;Chapter7_Sample1.MainWindow&#8221;<br />
xmlns=&#8221;</span><a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22"><span style="font-family: 'courier new';">http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;</span></a><br />
<span style="font-family: 'courier new';">xmlns:x=&#8221;</span><a href="http://schemas.microsoft.com/winfx/2006/xaml%22"><span style="font-family: 'courier new';">http://schemas.microsoft.com/winfx/2006/xaml&#8221;</span></a><br />
<span style="font-family: 'courier new';">Title=&#8221;MainWindow&#8221; Height=&#8221;300&#8243;  Width=&#8221;300&#8243;&gt;<br />
&lt;Grid&gt;<br />
&lt;/Grid&gt;<br />
&lt;/Window&gt;</span></p>
<p>This example defines the window and the code that supports it. In this case,  you can see that<br />
the class that implements this code is  <em>Chapter7Sample1.Window1</em>. This code resides in the<br />
code-behind file  called <em>MainWindow.xaml.cs</em>. We’ll look at that in a moment.</p>
<p>The attributes on the Window element define the namespaces for the XAML code  so that the<br />
XAML can be validated by the Visual Studio compiler. Finally,  some basic properties such as<br />
<em>Title</em>, <em>Height</em>, and  <em>Width</em> are set.</p>
<p>XAML in WPF supports a number of controls that allow you to command how the  user interface<br />
is laid out. The <em>Grid</em> control is one of these; it  allows you to define how your controls are<br />
laid out within defined cells.  These controls can be placed anywhere within any of the cells. If<br />
the  <em>Grid</em> control is used, as it is here, without cells (that is, defined  using rows and columns),<br />
you should consider it a single-cell grid where only  one control will be displayed.</p>
<p>Let’s add a control to this grid. We’ll add a rectangle in it, like this:</p>
<p><span style="font-family: 'Courier New';">&lt;Rectangle Width=&#8221;100&#8243; Height=&#8221;100&#8243;  Fill=&#8221;Red&#8221;&gt;&lt;/Rectangle&gt;</span></p>
<p>This defines a 100 by 100 rectangle (also known as a square), which will  appear centered<br />
within the single default cell of the grid. You can see the  result in the following screen shot:</p>
<p><a href="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_6.png"><img style="display: inline; border-width: 0px;" title="image" src="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_thumb_2.png" border="0" alt="image thumb 2 New book: Introducing Windows 7 for Developers" width="573" height="435" /></a></p>
<p>If you’re thinking that this isn’t very interesting, you’re right. So let’s  make it a little more interesting<br />
by making it touch sensitive. You can  manipulate an object using touch in Windows<br />
7 in a number of ways, but we’ll  start with the simplest—moving it around the screen.</p>
<p><span style="font-size: medium;"><strong>Using Windows 7 Touch to Move an  Object</strong></span></p>
<p>In the previous section, you built a (very) simple Windows 7 WPF application  that rendered a<br />
red rectangle on the screen. Now you’re going to add the  first step of basic touch input by<br />
adding the code that allows you to move  the rectangle around the screen using touch.</p>
<p>First you need to inform Windows that you want to be able to manipulate the  rectangle using<br />
the touch system. You do this in XAML with the  <em>IsManipulationEnabled</em> attribute. This is a<br />
Boolean value, and should  be set to ‘true’ if you want to manipulate an object<br />
using multi touch.</p>
<p><span style="font-family: 'Courier New';">&lt;Rectangle Width=&#8221;100&#8243; Height=&#8221;100&#8243; Fill=&#8221;Red&#8221;  IsManipulationEnabled=&#8221;True&#8221; &gt;&lt;/Rectangle&gt;</span></p>
<p>You’re going to make one more change to the rectangle, and that is to add a  named <em>Render-<br />
Transform</em> object that is defined by a  <em>MatrixTransform</em> that does nothing. You’ll see shortly<br />
that this  transform can be manipulated to provide the drawing functionality that changes  the<br />
shape or location of the rectangle upon user input. The  <em>MatrixTransform</em> object is defined as<br />
an application resource, so if  you look at your App.xaml file, you’ll see a section for resources<br />
(called  <em>Application.Resources</em>), where you can add the <em>MatrixTransform</em> object.</p>
<p>Here’s the code:</p>
<p><span style="font-family: 'courier new';">&lt;Application.Resources&gt;<br />
&lt;MatrixTransform  x:Key=&#8221;InitialMatrixTransform&#8221;&gt;<br />
&lt;MatrixTransform.Matrix&gt;<br />
&lt;Matrix  OffsetX=&#8221;0&#8243;  OffsetY=&#8221;0&#8243;/&gt;<br />
&lt;/MatrixTransform.Matrix&gt;<br />
&lt;/MatrixTransform&gt;<br />
&lt;/Application.Resources&gt;</span></p>
<p>As you can see, this matrix transform doesn’t do anything. If you apply it to  the rectangle,<br />
nothing happens. However, later in the code example, you’ll  manipulate the transform, and it,<br />
in turn, will manipulate the rectangle.</p>
<p>Here’s how the rectangle XAML should look with the transform applied:</p>
<p><span style="font-family: 'courier new';">&lt;Rectangle Width=&#8221;100&#8243; Height=&#8221;100&#8243; Fill=&#8221;Red&#8221;  ManipulationMode=&#8221;All&#8221;<br />
RenderTransform=&#8221;{StaticResource  InitialMatrixTransform}&#8221;&gt;&lt;/Rectangle&gt;</span></p>
<p>Now that the rectangle is configured to allow manipulation, the next step is  to set up what<br />
the window needs to capture manipulation events from the  operating system. These are captured<br />
using the <em>ManipulationDelta</em> event. Add this, and specify a handler to the <em>Window</em> tag<br />
at the root  of the XAML for Window1.xaml.</p>
<p>It should look something like this:</p>
<p><span style="font-family: 'courier new';">&lt;Window  x:Class=&#8221;Chapter7_Sample1.Window1&#8243;<br />
xmlns=&#8221;</span><a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation%22"><span style="font-family: 'courier new';">http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;</span></a><br />
<span style="font-family: 'courier new';">xmlns:x=&#8221;</span><a href="http://schemas.microsoft.com/winfx/2006/xaml%22"><span style="font-family: 'courier new';">http://schemas.microsoft.com/winfx/2006/xaml&#8221;</span></a><br />
<span style="font-family: 'courier new';">Title=&#8221;Window1&#8243; Height=&#8221;300&#8243; Width=&#8221;300&#8243;  ManipulationDelta=&#8221;Window_ManipulationDelta&#8221;&gt;</span></p>
<p>When you created the <em>ManipulationDelta</em> event handler on the  <em>Window</em> just shown, Visual<br />
Studio should have created a stub function  for you. If it didn’t (for example, if you cut and<br />
pasted the attribute  declaration instead of typing it), you can see it here:</p>
<p><span style="font-family: 'Courier New';">private void Window_ManipulationDelta(object sender,  ManipulationDeltaEventArgs e)<br />
{<br />
}</span></p>
<p>If you’re familiar with .NET programming, this code will look familiar. It’s  a typical event handler<br />
that takes a general object called <em>sender</em>,  which refers to the object that the event was<br />
raised on, and an object  containing the event arguments (that is, the metadata associated<br />
with the  event).</p>
<p>In this case, you get a <em>ManipulationDeltaEventArgs</em> object. This  object exposes a function<br />
called <em>GetDeltaManipulation</em>, which returns  a <em>Manipulation</em> object that contains exactly the<br />
metadata that you  need to understand what the user has done to the object.</p>
<p>Here’s how you can get a handle on the manipulation that has just been  performed:</p>
<p><span style="font-family: 'courier new';">ManipulationDelta m =  e.DeltaManipulation;</span></p>
<p>Next, you want to get a reference to your rectangle, and to the  <em>Matrix</em> that defines its <em>Render-<br />
Transform</em>. Here’s the  code:</p>
<p><span style="font-family: courier;">Rectangle r = e.OriginalSource as Rectangle;<br />
Matrix  matrix = ((MatrixTransform)r.RenderTransform).Matrix;</span></p>
<p>The <em>Manipulation</em> object exposes a <em>Translation</em> property that  returns a <em>Vector</em> object, which<br />
has member properties for the  translation on X and Y that results from the user’s action of<br />
moving the  object. To move the object, you should call the <em>Translate</em> method on the  <em>matrix</em>.<br />
(Remember from the code shown earlier, that the matrix here  is the <em>RenderTransform</em> from<br />
the rectangle.) Here’s the relevant  code:</p>
<p><span style="font-family: 'Courier New';">matrix.Translate(m.Translation.X,  m.Translation.Y);</span></p>
<p>And now all you need to do is set the <em>RenderTransform</em> for the  rectangle to be the <em>new</em> matrix<br />
(that is, the one that has been  manipulated by the <em>Translation</em> function):</p>
<p><span style="font-family: 'Courier New';">r.RenderTransform = new  MatrixTransform(matrix);</span></p>
<p>And that’s it. Now, all you have to do is implement this event handler and  you can move the<br />
rectangle based on user input from the touch screen! Here’s  the full event handler:</p>
<p><span style="font-family: 'Courier New';">private void Window_ManipulationDelta(object sender,  ManipulationDeltaEventArgs e)<br />
{<br />
Manipulation m =  e.GetDeltaManipulation(this);<br />
Rectangle r = e.OriginalSource as  Rectangle;<br />
Matrix matrix =  ((MatrixTransform)r.RenderTransform).Matrix;<br />
matrix.Translate(m.Translation.X,  m.Translation.Y);<br />
r.RenderTransform = new  MatrixTransform(matrix);<br />
}</span></p>
<p>Now if you run your application, you can move the rectangle around the window  by touching<br />
the screen with your finger! Here’s an illustration of how it  works:</p>
<p><a href="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_8.png"><img style="display: inline; border-width: 0px;" title="image" src="http://blogs.msdn.com/blogfiles/microsoft_press/WindowsLiveWriter/NewbookIntroducingWindows7forDevelopers_7C76/image_thumb_3.png" border="0" alt="image thumb 3 New book: Introducing Windows 7 for Developers" width="312" height="311" /></a></p>
<p>In the next section, you add to this to see how the multitouch system accepts  scaling information<br />
that allows you to change the size of the object.</p>
<p>&gt;   &gt;   &gt;</p>
<p>Microsoft is interested in hearing your feedback so that we can continually  improve our books and learning<br />
resources for you. To participate in a brief  online (and anonymous) survey, please visit</p>
<p><a href="http://blogs.msdn.com/controlpanel/blogs/www.microsoft.com/learning/booksurvey/">www.microsoft.com/learning/booksurvey/</a></p>
<p>Enjoy the book!</p>
<p>Source: MSDN</p></div>
]]></content:encoded>
			<wfw:commentRss>http://vipultaneja.com/new-book-introducing-windows-7-for-developers-28/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

