<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Contagious Curiosity : Win7DevSeries</title><link>http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx</link><description>Tags: Win7DevSeries</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SoCalDevGal answers your Windows 7 Developer Questions</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/10/27/socaldevgal-answers-your-windows-7-developer-questions.aspx</link><pubDate>Tue, 27 Oct 2009 06:18:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913353</guid><dc:creator>llangit</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9913353.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9913353</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersyourWindows7DeveloperQ_C78B/windows7logo-300x300_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="windows7logo-300x300" border="0" alt="windows7logo-300x300" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersyourWindows7DeveloperQ_C78B/windows7logo-300x300_thumb.jpg" width="144" height="144" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Wow what a launch today in Orange, CA!&amp;#160; Thanks to the standing-room only audience this morning.&amp;#160; Because of the crowd size, you were so kind as to send your questions via text messages.&amp;#160; I didn’t have time to answer all of your many questions all at the event, so here are the rest of the answers.&amp;#160; I’ll categorize the questions for easier reading too.   &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;General Developer readiness and internals&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: How do I get the Windows API Code pack?   &lt;br /&gt;A: The new MSDN Channel9 Windows 7 online training center has &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/" target="_blank"&gt;links&lt;/a&gt; to everything you’ll need.&amp;#160; It includes links to SKDs, code packs, as well as all of the sample code from the demos I showed in today’s presentation – enjoy!&lt;/p&gt;  &lt;p&gt;Q:&amp;#160; Do developers have to distribute the API code pack .dlls with their applications that use them?   &lt;br /&gt;A:&amp;#160; Yes, you do, but you can select the individual .dlls that apply so as to keep your application size as small as possible.&lt;/p&gt;  &lt;p&gt;Q: What is the best way to take advantage of 64-bit applications?&amp;#160; If I write an application for 64-bit, will it still work on 32-bit?   &lt;br /&gt;A: For a deeper understanding of Windows internals in general, and 64 vs 32 bit in particular, there is no better source than Mark Russinovich – his &lt;a href="http://blogs.technet.com/markrussinovich/default.aspx" target="_blank"&gt;blog&lt;/a&gt; is here.&amp;#160; He also has done several &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Mark-Russinovich-Inside-Windows-7/" target="_blank"&gt;interviews&lt;/a&gt; on MSDN Channel 9 and has recently published a &lt;a href="http://search.barnesandnoble.com/Windows-Internals/Mark-E-Russinovich/e/9780735625303" target="_blank"&gt;book&lt;/a&gt; on Windows Internals.&lt;/p&gt;  &lt;p&gt;Q: If I write an application that uses a feature that is only available in a particular edition of Windows 7 (such as Bit Locker), what happens if someone tries to run my application on an edition of Windows 7 that does not contain that feature?   &lt;br /&gt;A: You should use version checking and ‘fail gracefully’ in your code (i.e. ‘the edition of Windows 7 that you are using does not support feature x).&amp;#160; For more information see the &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/VersionChecking/" target="_blank"&gt;hands on lab&lt;/a&gt; on version checking.    &lt;br /&gt;    &lt;br /&gt;Q: How has UAC changed?    &lt;br /&gt;A: See this &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/InstallerDetection/" target="_blank"&gt;hands on lab&lt;/a&gt;, also the MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/aa511445.aspx" target="_blank"&gt;guidance&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Q: How is PowerShell integrated into Windows 7:   &lt;br /&gt;A: PowerShell 2.0 is included – more info &lt;a href="http://blogs.technet.com/grouppolicy/archive/2009/01/14/introduction-to-windows-powershell-cmdlets-in-windows-7.aspx" target="_blank"&gt;here&lt;/a&gt; (showing cmdlets)&lt;/p&gt;  &lt;p&gt;Q: Does booting from VHD work in Windows 7?   &lt;br /&gt;A: It sure does – here’s a lovely &lt;a href="http://blogs.msdn.com/knom/archive/2009/04/07/windows-7-vhd-boot-setup-guideline.aspx" target="_blank"&gt;blog post&lt;/a&gt; about this topic&lt;/p&gt;  &lt;p&gt;Q: Can you demo homegroup setup?   &lt;br /&gt;A: Sorry no time, but here’s a &lt;a href="http://windows.microsoft.com/en-us/windows7/products/features/homegroup" target="_blank"&gt;video&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Q: Does Windows 7 support languages other than English?   &lt;br /&gt;A: Definitely – here’s a MSDN Channel9 &lt;a href="http://channel9.msdn.com/posts/Charles/Windows-Vista-Localization-and-Globabilization-Meet-the-team/" target="_blank"&gt;video&lt;/a&gt; to get you started.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sensor API&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: Does the Location API support geo-coding? complete address reporting (also called civic address)?   &lt;br /&gt;A: If the location device provides that information and yes it does – more in this &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/SensorsAndLocation/Windows7SensorandLocationPlatform-LocationDeepDive/" target="_blank"&gt;presentation&lt;/a&gt;.    &lt;br /&gt;    &lt;br /&gt;Q: Are there any simulated accelerometers in the Windows 7 SDK or dev kits?    &lt;br /&gt;A: Not that I know of, however here’s a great &lt;a href="http://blogs.msdn.com/pietrobr/archive/2009/09/24/having-fun-with-windows-7-sensor-api-xna-game-studio.aspx" target="_blank"&gt;blog entry&lt;/a&gt; on how to test/use the &lt;a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=JMBADGE&amp;amp;fsrch=1" target="_blank"&gt;Freescale&lt;/a&gt; board (that I showed and gave away as swag) accelerometer with a sample XNA racing game.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Multi touch API (and Graphics Enhancements)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: How much of the multi touch API is in the current beta of .NET 4.0 (beta 2)?   &lt;br /&gt;A: It is not complete yet.&amp;#160; Use the Managed Wrappers until .NET 4.0 is RTM’ed, or use native code.    &lt;br /&gt;    &lt;br /&gt;Q: Can you use multi touch to geo tag items?    &lt;br /&gt;A: Yes the location gadget can be coded to work with touch (the sample uses a mouse click on a Bing Map to set your location).&lt;/p&gt;  &lt;p&gt;Q: Can you use multi touch on multiple monitors?   &lt;br /&gt;A: Yes, as long as all monitors support touch&lt;/p&gt;  &lt;p&gt;Q: If I code for an Infrared multi touch screen, does that mean that I’ll have to write different code for a Capacitive multi touch screen?   &lt;br /&gt;A: No, you will not.&amp;#160; The same code will work for both types.&amp;#160; However each type of screen may have a different maximum number of points of touch.&lt;/p&gt;  &lt;p&gt;Q: Is there a built-in option in Windows 7 to automatically make the screen (or icons) bigger for touch?   &lt;br /&gt;A: No, but that has been coded into some Windows 7 applications.&amp;#160; You’ll also see that design in jumplist menu items (i.e. more space between them).&amp;#160; For more on the API, see these &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/Multitouch/" target="_blank"&gt;hands on labs&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Q: Do multi touch applications have the ability to respond to the amount of touch pressure? i.e. a ‘pressed harder’ event   &lt;br /&gt;A: Not at this time&lt;/p&gt;  &lt;p&gt;Q: Can you define a custom gestures?   &lt;br /&gt;A: Yes you can by coding a custom response to a particular WM_TOUCH message, see the HOL referenced earlier for an example.&lt;/p&gt;  &lt;p&gt;Q: Can we see Mike and Kim’s X-Ray multi touch application?   &lt;br /&gt;A: There is a &lt;a href="http://channel9.msdn.com/posts/sureshs/Windows-7-touch-application-for-Imaging/" target="_blank"&gt;video on MSDN Channel 9&lt;/a&gt; about this application – enjoy!    &lt;br /&gt;    &lt;br /&gt;Q: Is touch capability moving us toward virtual keyboards?    &lt;br /&gt;A: That is possible, also still complex.&amp;#160; &lt;a href="http://thetechnopath.com/microsoft-patent-futuristic-virtual-multitouch-keyboard/" target="_blank"&gt;Microsoft Research&lt;/a&gt; has been doing some work in this area.&lt;/p&gt;  &lt;p&gt;Q: What type of touch support is built-in to Windows 7?   &lt;br /&gt;A: Support for mouse clicks being replaced by simple gestures – like the Word 2010 (beta) scrolling with simple inertia that I demonstrated.&amp;#160; More complex gestures, such as those with complex inertia, must be manually coded.    &lt;br /&gt;    &lt;br /&gt;Q: Will a Windows 7 multi touch application be deployable on a MS Surface device?    &lt;br /&gt;A: Not presently, however we are working toward parity with MS Surface capabilities, particularly controls, for more info see this &lt;a href="http://channel9.msdn.com/shows/The+Knowledge+Chamber/Joe-Fletcher--Touch-and-Gesture-Computing/" target="_blank"&gt;MSDN Channel 9 video&lt;/a&gt;.    &lt;br /&gt;    &lt;br /&gt;Q: What is the maximum number of points of contact that a Windows 7 application can support?    &lt;br /&gt;A: That depends on the capabilities of the hardware.&amp;#160; For example, on the &lt;a href="http://www.hp.com/united-states/campaigns/touchsmart/notebook/buy.html" target="_blank"&gt;HP TouchSmart tx2&lt;/a&gt;, 5 points of touch are supported after the N-trig monitor drivers are installed.&lt;/p&gt;  &lt;p&gt;Q: Which applications that ship with Windows 7 are multi touch capable?   &lt;br /&gt;A: IE8 has the ‘bump’ feature; MS Paint is multi touch enabled&lt;/p&gt;  &lt;p&gt;Q: Does Silverlight support multi touch? Do you code it the same way?   &lt;br /&gt;A: It will and coding is different at this time – here’s a Codeplex &lt;a href="http://multitouch.codeplex.com/" target="_blank"&gt;sample&lt;/a&gt; for Silverlight 3.0 &lt;/p&gt;  &lt;p&gt;Q: Is the Surface API / SDK separate from the Windows 7 multi touch API?   &lt;br /&gt;A: Yes it is separate at this time.&lt;/p&gt;  &lt;p&gt;Q: Does Window 7 support handwriting recognition?   &lt;br /&gt;A: Yes, we have had this since earlier versions of the OS.&amp;#160; It performs better after end-user training as well.&lt;/p&gt;  &lt;p&gt;Q: Which version(s) of DirectX are compatible with Windows 7?   &lt;br /&gt;A: DirectX9, 10 and 11&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Taskbar &amp;amp; Library API (also UX and Search)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: Can you set up a default save location in a library, like in a folder?   &lt;br /&gt;A: Yes, and that is a recommended programming practice for Window 7. You can see this ‘&lt;a href="http://channel9.msdn.com/learn/courses/Windows7/ShellLibraries/" target="_blank"&gt;hands on lab&lt;/a&gt;’ for more information.&lt;/p&gt;  &lt;p&gt;Q: Can you backup a library?   &lt;br /&gt;A: Yes, you can and you can automate those backups as well.&lt;/p&gt;  &lt;p&gt;Q: When you copy a file into a library, where are you actually copying the file to?   &lt;br /&gt;A: The physical folder that the library is referencing. &lt;/p&gt;  &lt;p&gt;Q: Can I pin an item to the start menu? (Run…)   &lt;br /&gt;A: Yes, right click the item and then click ‘pin to start menu’&lt;/p&gt;  &lt;p&gt;Q: Why is your taskbar at the top of your screen?   &lt;br /&gt;A: Because I have chosen to put it there.&amp;#160; I think it makes me more productive, it is an optional placement.&lt;/p&gt;  &lt;p&gt;Q: Are programmable taskbar enhancements, i.e. icon overlays, etc…available only in Windows 7?   &lt;br /&gt;A: That is correct&lt;/p&gt;  &lt;p&gt;Q: What gadgets do you recommend for Windows 7?   &lt;br /&gt;A: &lt;a href="http://www.redmondpie.com/top-5-must-have-desktop-gadgets-for-windows-7/" target="_blank"&gt;These&lt;/a&gt; are fun.&lt;/p&gt;  &lt;p&gt;Q: Can we incorporate BING into Windows 7 search? how?   &lt;br /&gt;A: Yes, you can, via federated search.&amp;#160; Using the OpenSearch standard, you can incorporate BING as well as other data sources, here’s some &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c709a596-a9e9-49e7-bcd4-319664929317&amp;amp;displaylang=en&amp;amp;tm" target="_blank"&gt;guidance&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Q: Does Windows 7 include voice activation? (i.e. a Speech API)   &lt;br /&gt;A: Yes, we’ve had one since Vista – here’s a &lt;a href="http://www.redmondpie.com/converting-text-to-speech-in-a-c-wpf-application/" target="_blank"&gt;link&lt;/a&gt; on how to build a WPF application that is speech-enabled.&lt;/p&gt;  &lt;p&gt;Q: Is the scenic ribbon user configurable?   &lt;br /&gt;A: Not by default, but you can add that functionality to it with code.&amp;#160; To get started coding a scenic ribbon, see these &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/Ribbon/" target="_blank"&gt;hands on labs&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Q: Where can I find a list of keyboard shortcuts for Windows 7:   &lt;br /&gt;A: Here’s a pretty good &lt;a href="http://lifehacker.com/5390086/the-master-list-of-new-windows-7-shortcuts" target="_blank"&gt;link&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;About XP Mode     &lt;br /&gt;&lt;/strong&gt;    &lt;br /&gt;Q: When will XP emulation be fully available?    &lt;br /&gt;A: XP Mode is part of the the professional and ultimate editions of Windows 7.&amp;#160; Read this &lt;a href="http://blogs.technet.com/medv/archive/2009/04/30/windows-xp-mode-in-windows-7-how-it-relates-to-future-versions-of-med-v.aspx" target="_blank"&gt;blog&lt;/a&gt; to understand more about different types of virtualization offerings.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Other questions (ahem…I did not make these up, actual texts!)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: Where can I find information on the new Microsoft Store opening this week in Orange County? (Mission Viejo, CA this Thursday)   &lt;br /&gt;A: Here’s a &lt;a href="http://www.microsoftstore.com/missionviejo/" target="_blank"&gt;link&lt;/a&gt; – get there early this Thursday for fun and prizes!&lt;/p&gt; Q: Have they fixed the bug that makes developers burst into flames at the touch of sunlight?  &lt;br /&gt;A: I hope so, or there wouldn’t be any developers in SoCal!  &lt;br /&gt;  &lt;p&gt;Q: How are you?   &lt;br /&gt;A: Fine, but a bit busy at the moment. (asked during presentation via text).    &lt;br /&gt;    &lt;br /&gt;Q: I was at U2 concert last and know how you feel (directed at Mike)    &lt;br /&gt;A: Exactly.    &lt;br /&gt;    &lt;br /&gt;Q: I am 14 years old and my mom had to wake up at 4:30 am to drive me here, can I have some swag?    &lt;br /&gt;A: Sorry, no, but thanks to your mom.    &lt;br /&gt;    &lt;br /&gt;Q: I noticed your frequent websites link included ‘Aries and Leo love compatibility’ – would you consider a Sagittarius?    &lt;br /&gt;A: Well, that is supposed to be a pretty good match for a &lt;a href="http://astrology.about.com/od/leolovematches/qt/LeoSagittarius.htm" target="_blank"&gt;Leo&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt;Q: Will you marry me? (assuming this was directed at me and not at Mike Roth :)    &lt;br /&gt;A:&amp;#160; Not at this venue – maybe a Las Vegas event in the future.&lt;/p&gt;  &lt;p&gt;Q: Are you single? (same assumption as above)   &lt;br /&gt;A: Yes, are you?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913353" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Southern+California/default.aspx">Southern California</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Technical+Conference/default.aspx">Technical Conference</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal recommends the new Windows 7 Online Training</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/10/21/socaldevgal-recommends-the-new-windows-7-online-training.aspx</link><pubDate>Wed, 21 Oct 2009 20:12:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910872</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9910872.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9910872</wfw:commentRss><description>&lt;p&gt;&amp;#160;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="windows 7 logo" border="0" alt="windows 7 logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalrecommendsthenewWindows7Onlin_B9BC/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;Wow – this is GREAT! MSDN Channel 9 has a new &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/"&gt;online training center&lt;/a&gt; for you (developers) to learn the Windows 7 APIs.&amp;#160; The topics included are multi touch, taskbar, sensor / location, ribbon, shell libraries, background services, instrumentation &amp;amp; performance, installer detection, data redirection, high DPI, session 0 isolation, user privilege isolation and version checking.    &lt;br /&gt;&lt;a href="http://channel9.msdn.com/learn/courses/Windows7/"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows 7 Developer Online Training" border="0" alt="Windows 7 Developer Online Training" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalrecommendsthenewWindows7Onlin_B9BC/image_3.png" width="404" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There are hands on labs written using managed code (in both C# and VB.NET), native code.&amp;#160; Code samples are downloadable.&amp;#160; Also there are videos and more resources around each developer topic.&amp;#160; The developer prerequisites (with links) are listed at the top of page as well. &lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910872" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal presents Windows 7 Developer APIs</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/10/20/socaldevgal-presents-windows-7-developer-apis.aspx</link><pubDate>Tue, 20 Oct 2009 18:02:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910082</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9910082.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9910082</wfw:commentRss><description>&lt;p&gt;Next week Monday and Wednesday, I’ll be presenting at the MSDN launch events for developers for Windows 7.&amp;#160; Both events are registered full already – however, I am posting my decks here for you.&amp;#160; Also we may be recording one set of launch sessions, if we do so, I’ll post the link to the recording on my blog.&lt;/p&gt;  &lt;p&gt;Session 1 – Windows 7 Taskbar and Library APIs   &lt;br /&gt; &lt;p&gt; &lt;div style="width:425px;text-align:left" id="__ss_2295604"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/lynnlangit/windows-7-developer-apis-task-bar-libraries" title="Windows 7 Developer APIs -Task Bar Libraries"&gt;Windows 7 Developer APIs -Task Bar Libraries&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=1taskbarlibraries-091020124257-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-task-bar-libraries" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=1taskbarlibraries-091020124257-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-task-bar-libraries" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/lynnlangit"&gt;lynnlangit&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt; &lt;/p&gt;    &lt;br /&gt;Session 2 – Windows 7 Graphics Enhancements and Sensor APIs &lt;p&gt; &lt;div style="width:425px;text-align:left" id="__ss_2295605"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/lynnlangit/windows-7-developer-apis-graphics-sensors" title="Windows 7 Developer APIs - Graphics Sensors"&gt;Windows 7 Developer APIs - Graphics Sensors&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2graphicssensors-091020124249-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-graphics-sensors" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2graphicssensors-091020124249-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-graphics-sensors" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/lynnlangit"&gt;lynnlangit&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt; &lt;/p&gt;   &lt;br /&gt;Sessions 3 – Windows 7 Scenic Ribbon and Multi Touch APIs&lt;/p&gt; &lt;p&gt; &lt;div style="width:425px;text-align:left" id="__ss_2295606"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/lynnlangit/windows-7-developer-apis-multi-touch-and-scenic-ribbon" title="Windows 7 Developer APIs - Multi Touch and Scenic Ribbon"&gt;Windows 7 Developer APIs - Multi Touch and Scenic Ribbon&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3multi-touch-091020124251-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-multi-touch-and-scenic-ribbon" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3multi-touch-091020124251-phpapp02&amp;amp;stripped_title=windows-7-developer-apis-multi-touch-and-scenic-ribbon" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/lynnlangit"&gt;lynnlangit&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt; &lt;/p&gt; &lt;p&gt;Happy coding!&lt;/p&gt;  &lt;p&gt;Also, if you haven’t done so already, please join my facebook group ‘Windows 7 Developers’ for more information.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Southern+California/default.aspx">Southern California</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Technical+Conference/default.aspx">Technical Conference</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal looks at BitLocker for USB drives in Windows 7</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/09/21/socaldevgal-looks-at-bitlocker-for-usb-drives-in-windows-7.aspx</link><pubDate>Mon, 21 Sep 2009 02:42:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897342</guid><dc:creator>llangit</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9897342.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9897342</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="windows7" border="0" alt="windows7" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;I’ve wanted to play around with this feature (also called &lt;a href="http://edge.technet.com/Media/Windows-7-Screencast-BitLocker-To-Go/"&gt;‘BitLocker-To-Go’&lt;/a&gt;), but hadn’t had time until today.&amp;#160; I’ll recap what I’ve found.&amp;#160; First, and probably most important, is that BitLocker is only available as part of Windows 7 Ultimate (or Enterprise) editions.&amp;#160; That is, the ability to ENCRYPT is available only in these editions of Windows 7.&amp;#160; Of course, you can DECRYPT with any version of Windows 7.&amp;#160; For testing I used one laptop with Windows 7 Ultimate to encrypt and another one with Windows 7 Home Basic to decrypt.&lt;/p&gt;  &lt;p&gt;To access, or start using this feature, simply insert your USB drive and then right click on the drive. (Alternatively, you can choose to ‘turn on BitLocker’ via an applet in the Control Panel).&amp;#160;&amp;#160; You’ll then see the option to ‘Turn on BitLocker…’ on the context-sensitive menu.&amp;#160; You’ll then see the dialog box shown below, as your USB drive is being prepared to be encrypted.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Preparing a USB drive for Windows 7 BitLocker encryption" border="0" alt="Preparing a USB drive for Windows 7 BitLocker encryption" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb.png" width="404" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Because the machine I am using to encrypt includes a SmartCard reader, I have option to encrypt by using either a password or a SmartCard.&amp;#160; These options are shown in the dialog box below.&amp;#160; Note that if you use a smart card, you’ll also have to enter your smart card PIN when you want to decrypt (read) the information on the USB drive.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="BitLocker encryption options" border="0" alt="BitLocker encryption options" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_1.png" width="404" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For simplicity I’ll just use a password.&amp;#160; Note that the passwords should be complex (i.e. upper/lower, numbers, etc…) to be effective, however the only validation on the password value is a length requirement.&amp;#160; That is, users can choose to enter overly simply passwords, for example in my case I entered the digits 1-8 only.&amp;#160; The next screen of the wizard asks you to select where you’d like to store the recovery key.&amp;#160; Your options are either to store the key to a file or to print the key.&amp;#160; Appropriate key storage is, of course, vital to successful security via encryption.&amp;#160; Also, from a practical point, if you forget the USB password, the only other way to access the data stored on an encrypted USB drive is by entering the recovery key information.&amp;#160; &lt;br /&gt;    &lt;br /&gt;Note: There is also a local (security) policy setting (Control Panel&amp;gt;Administrative Tools&amp;gt;Local Security Policy&amp;gt;Security Settings&amp;gt;Public Key Policies&amp;gt;BitLocker Drive Encryption) which allows you to define Data Recovery Agents.&amp;#160; GPO discussion is beyond the scope of this blog post.&amp;#160; For more info – go &lt;a href="http://technet.microsoft.com/en-us/library/dd875560(WS.10).aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Recovery Key options" border="0" alt="Recovery Key options" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_2.png" width="404" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I’ll select ‘Save the recovery key to a file’ for our test.&amp;#160; After selecting the folder location for the file save, you will be presented with final dialog box which will ask you to confirm the encryption by clicking on the ‘start encrypting’ button.&amp;#160; After you do that, you will see a dialog with an encryption progress bar on it.&amp;#160; The process of encrypting will take a couple of minutes, during this time you have the option to ‘pause’ encryption if desired by clicking on that button on the dialog box as shown below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Encryption progress" border="0" alt="Encryption progress" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_3.png" width="404" height="256" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When complete, a dialog will confirm the encryption.&amp;#160; You can also easily see that a USB drive has been encrypted by viewing it in Explorer.&amp;#160; In this case, my USB is E:\   &lt;br /&gt;If you wish to change BitLocker settings, you can simply right click on the encrypted drive in Explorer and then click on the ‘Manage BitLocker…’ menu option.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Encrypted USB drive in Explorer" border="0" alt="Encrypted USB drive in Explorer" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_4.png" width="404" height="146" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The options you can change are shown in the screenshot below.&amp;#160; They include changing the password, removing the password (if you do this, you must add a smartcard, as the drive is STILL encrypted), adding a smart card, saving/printing recovery key, or auto unlocking this drive on this (the encrypting) computer.&amp;#160;&amp;#160; You’ll note that there is NO option to remove BitLocker encryption from the USB drive.&amp;#160; The only way to do this is to FORMAT the USB, which, of course, also removes any data on that device.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Manage BitLocker options" border="0" alt="Manage BitLocker options" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_5.png" width="404" height="312" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The experience for using an encrypted USB drive is very simple.&amp;#160; A dialog box, similar to the one shown below pops up shortly after a USB drive is inserted into the USB slot.&amp;#160; Note that if you are using the encrypted USB drive on the encrypting computer, then you can select the option to ‘automatically unlock on this computer from now on’.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Password prompt for encrypted drive" border="0" alt="Password prompt for encrypted drive" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGallooksatBitLockerforUSBdrivesi_EADB/image_thumb_6.png" width="404" height="336" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Of course BitLocker is certainly NOT just for USB drives.&amp;#160; There is wealth of information about BitLocker as an enterprise data protection tool (enforced via Group Policies on end user’s local hard drives, etc… on &lt;a href="http://blogs.technet.com/grouppolicy/archive/2009/05/08/group-policy-on-technet-edge.aspx"&gt;TechNet&lt;/a&gt;), I just felt like writing this post for those of us ‘home geeks’ who are using &lt;a href="http://windows.microsoft.com/en-US/windows7/products/compare"&gt;Windows 7 Ultimate at home&lt;/a&gt;, and are playing around with all of the advanced features because, well, we want to.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897342" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal pushes her little NetBook – what can it do for developers?</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/09/14/socaldevgal-pushes-her-little-netbook-what-can-it-do-for-developers.aspx</link><pubDate>Mon, 14 Sep 2009 03:49:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894759</guid><dc:creator>llangit</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9894759.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9894759</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="windows7logo-300x300" border="0" alt="windows7logo-300x300" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalpushesherlittleNetBookwhatcan_F366/windows7logo-300x300_3.jpg" width="124" height="124" /&gt; &lt;/p&gt;  &lt;p&gt;Regular readers will note that I recently purchased an inexpensive NetBook and upgraded the OS from XP to Windows 7 Home (blog detail &lt;a href="http://blogs.msdn.com/socaldevgal/archive/2009/09/08/socaldevgal-works-with-a-netbook-moving-from-xp-to-windows-7-via-a-usb-key.aspx" target="_blank"&gt;here&lt;/a&gt;).    &lt;br /&gt;    &lt;br /&gt;First I tested my NetBook out for plain old web browsing.&amp;#160; It worked just fine with one exception – some websites aren’t designed for the small screen size and resolution.&amp;#160; That is, of course, not the fault of the hardware or OS though.&amp;#160; As a web browsing appliance, my NetBook works just fine.&lt;/p&gt;  &lt;p&gt;Next up, time to install some applications.&amp;#160; Thinking I’d like to make this into a junior developer machine (for students, etc…), I visited the Microsoft Express site (&lt;a href="http://www.microsoft.com/express/" target="_blank"&gt;here&lt;/a&gt;) to locate the download links for Visual Studio Express 2008 and SQL Server 2008 Express.&amp;#160; These are Microsoft’s FREE tools for development.&amp;#160; While at the site, I noticed the Web Platform Installer Tool (&lt;a href="http://www.microsoft.com/web/downloads/platform.aspx" target="_blank"&gt;here&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;The WPI Tool is designed to be a one-stop shop to prepare a developer machine by installing the free versions of our tools in one long download.&amp;#160; Our website does NOT list Windows 7 as officially supported with the WPI tool, so I thought even more reason to give it a try.&lt;/p&gt;  &lt;p&gt;After checking &lt;strong&gt;all&lt;/strong&gt; of the options in the install wizard dialog boxes, the download(s) started.&amp;#160; I chose to install VSExpress 2008, SQL Server Express 2008 (w/mgmt tools).&amp;#160; You can also install other applications and tools, such as PHP for Windows, WordPress or DotNetNuke.&lt;/p&gt;  &lt;p&gt;After about an hour or so of downloading and installing with no intervention on my part required (also no reboots required!), the WPI tool reported successful installation of the applications listed below in the screenshot:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalpushesherlittleNetBookwhatcan_F366/image_3.png" width="497" height="229" /&gt; &lt;/p&gt;  &lt;p&gt;So, I first fired up Visual Web Developer 2008 Express using one of the included project types (Silverlight Navigation application).&amp;#160; This worked with no problems.&amp;#160; This amazes me – all of these developer tools are FREE and running on a $ 325 laptop!&amp;#160; Below is list of the project templates that are available based on what I installed.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalpushesherlittleNetBookwhatcan_F366/image_6.png" width="404" height="122" /&gt; &lt;/p&gt;  &lt;p&gt;Next up I took a look at SQL Server Express 2008.&amp;#160; Again, this worked perfectly.&amp;#160; Restoring a backed-up version of the sample database --from &lt;a href="http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407" target="_blank"&gt;CodePlex named AdventureWorks&lt;/a&gt;, I was up and running in minutes.&amp;#160; Below is screenshot of all the FREE tools that are included with SQL Server 2008 Express.&amp;#160; Note that we now include SQL Server Reporting Services 2008 with SQL Server Express 2008.&amp;#160; Also of note is that SSRS 2008 does NOT require a full version of IIS (rather it simply uses http.sys) to work.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalpushesherlittleNetBookwhatcan_F366/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalpushesherlittleNetBookwhatcan_F366/image_thumb_2.png" width="243" height="161" /&gt;&lt;/a&gt;     &lt;br /&gt;Again, I am really happy with what I see so far.&amp;#160; This machine and this OS works like a dream as a student developer box.&lt;/p&gt;  &lt;p&gt;Next up, I am going to test out this little laptop with &lt;a href="http://channel9.msdn.com/posts/Charles/Donald-Farmer-and-Julie-Strauss-Inside-Project-Gemini/" target="_blank"&gt;Gemini&lt;/a&gt;.&amp;#160; I’ll blog the results here soon.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894759" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal works with virtualization in Windows 7</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/09/13/socaldevgal-works-with-virtualization-in-windows-7.aspx</link><pubDate>Sun, 13 Sep 2009 09:37:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894623</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9894623.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9894623</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows 7 logo." border="0" alt="Windows 7 logo." src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;I am working on setting up my first VPC in Windows 7 and I found a couple of things had changed from Vista and wanted to share here.&amp;#160; I realize that for application virtualization, ITPros would most often be using Windows 2008 Server, however, developers would more commonly use Windows 7.&amp;#160; That’s why I decided to blog that use case here.   &lt;br /&gt;    &lt;br /&gt;To use virtual hard disks as VPCs on machines with Windows 7 installed, you’ll first have to check /set the BIOS to make sure that virtualization is supported.&amp;#160; &lt;a href="http://www.microsoft.com/windows/virtual-pc/support/configure-bios.aspx"&gt;Here&lt;/a&gt; are some sample instructions for some common hardware vendors.&amp;#160; &lt;br /&gt;    &lt;br /&gt;After you’ve done that, then you’ll need to download the free add-in named ‘&lt;a href="http://www.microsoft.com/windows/virtual-pc/download.aspx"&gt;Windows Virtual PC’&lt;/a&gt;.&amp;#160; You must select the appropriate type based on your processor – either 32 or 64 bit. Note that this is DIFFERENT from Virtual PC 2007 (which you may have used with Vista).&amp;#160; If you have installed Virtual PC 2007, you’ll need to remove it before installing Windows Virtual PC.&amp;#160; Then you’ll need to re-boot.&amp;#160; After you install this application, the quickest way to find the executable is via the start menu, just type in ‘Windows Virtual PC’, then right click and click on ‘open file location’.&amp;#160; You may be surprised to see the 4 executable files associated with Windows Virtual PC are in the ..\Windows\system32 directory as shown below in the screenshot.&amp;#160; Remember that &lt;a href="http://blogs.technet.com/iftekhar/archive/2009/05/02/microsoft-virtualization-windows-xp-mode-for-windows-7.aspx"&gt;XP Virtualization&lt;/a&gt; is a new feature of some editions of Windows 7 (XP virtualization uses this set of virtualization technologies), so this is one of the reasons for the location change.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Virtual PC executables" border="0" alt="Windows Virtual PC executables" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_3.png" width="404" height="431" /&gt; &lt;/p&gt;  &lt;p&gt;Probably the easiest way to get started is to click the VMWindow.exe executable.&amp;#160; This will open the Virtual Machines folder, note the ‘Create virtual machine’ command on the folder toolbar.&amp;#160; Click this to open the wizard which walks you through the configuration steps to create a VPC (or virtual machine).&amp;#160; VPCs can be created using new or existing VHDs.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Create Virtual Machine" border="0" alt="Create Virtual Machine" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_6.png" width="404" height="59" /&gt;     &lt;br /&gt;After you click ‘Create virtual machine’ a dialog box will open as shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="create virtual machine dialog" border="0" alt="create virtual machine dialog" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_9.png" width="404" height="312" /&gt;     &lt;br /&gt;After you name the virtual machine and set the location in the dialog, then you’ll next have to set the allocated memory (up to 2550 MB) and whether or not you’ll need to set up networking as shown in the dialog box below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Create a VM II - memory allocation" border="0" alt="Create a VM II - memory allocation" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_12.png" width="404" height="312" /&gt;     &lt;br /&gt;In the next dialog of the wizard you’ll either create a new VHD file or associate the VPC with an existing VPC file.&amp;#160; You can also choose to enable undo disks and / or to use advanced options when creating your VPC.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="create a VPD - set VHD file" border="0" alt="create a VPD - set VHD file" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_15.png" width="404" height="312" /&gt; &lt;/p&gt;  &lt;p&gt;If you use advanced options, your choices are to select the type of VHD.&amp;#160; Types include ‘dynamically expanding’, ‘fixed size’ or ‘differencing’.&amp;#160; The wizard warns you in a subsequent dialog box that if you’ve chosen ‘differencing’, then the parent (or original VHD) should be marked as ‘read-only’, since the all changes will be accumulated on the differencing VHD only.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="create VHD - advanced options" border="0" alt="create VHD - advanced options" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_18.png" width="404" height="312" /&gt;     &lt;br /&gt;After you’ve successfully completed the wizard steps, then your new VPC will appear in the ‘Virtual Machines’ folder for the currently logged on user as shown below.&amp;#160; The virtual machine will have a file name ending with a *.vmcx extension.&amp;#160; Your .vhd file (or files) will be associated with this .vmcx file.&amp;#160; Also there will be a *.vmc file associated.&amp;#160; The latter holds the configuration information for the virtual machine.    &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="new VPC" border="0" alt="new VPC" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_21.png" width="504" height="66" /&gt; &lt;/p&gt;  &lt;p&gt;To start your VPC, simply double-click the &amp;lt;VPCname&amp;gt;.vmcx file.&amp;#160; You will first see the dialog as shown below, then your VPC will start.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="starting the VPC" border="0" alt="starting the VPC" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_24.png" width="404" height="132" /&gt; &lt;/p&gt;  &lt;p&gt;If you’d like to view or to adjust the settings for your VPC, you can do so from within the VPC itself, by clicking on the Tools menu&amp;gt;Settings.&amp;#160; Or you can access the Settings from the Virtual Machines folder by clicking on the &amp;lt;VPCname&amp;gt;.vmcx file to select the particular virtual machine of interest and then by clicking on the Settings item on the folder toolbar.&amp;#160; The Settings dialog is quite similar to that of Virtual PC 2007 (shown below).&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VPC settings dialog" border="0" alt="VPC settings dialog" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_27.png" width="404" height="272" /&gt; &lt;/p&gt;  &lt;p&gt;You are presented with three options on shut down of your Virtual PC.&amp;#160; These are hibernate, shut down, or turn off.&amp;#160; This dialog is shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VPC &amp;#39;end&amp;#39; options" border="0" alt="VPC &amp;#39;end&amp;#39; options" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalworkswithvirtualizationinWind_14C29/image_30.png" width="404" height="201" /&gt; &lt;/p&gt;  &lt;p&gt;Also, from the Tools menu (inside an open VPC) you can optionally select to ‘install the Windows Virtual PC integration components’.&amp;#160; These components are similar to the VPC additions that were available for Virtual PC 2007 and allow integration of hardware components such as sound.&lt;/p&gt;  &lt;p&gt;As an alternative to using Windows Virtual PC, Windows 7 also supports booting from a VHD.&amp;#160; That process is covered in detail in this &lt;a href="http://edge.technet.com/Media/Windows-7-Boot-from-VHD/"&gt;TechNet article&lt;/a&gt;.    &lt;br /&gt;    &lt;br /&gt;As usual, I’d be interested to hear about your experience(s) working with ‘Windows Virtual PC’ – let me know how it goes for you!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894623" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal shares her Windows 7 for Developers Presentations</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/07/29/socaldevgal-shares-her-windows-7-for-developers-presentations.aspx</link><pubDate>Wed, 29 Jul 2009 02:57:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9851532</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9851532.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9851532</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="windows7 logo" border="0" alt="windows7 logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalsharesherWindows7forDeveloper_EE55/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;Tomorrow I start the journey over to Africa, TechEd Africa in Durban, South Africa on August 2-5, to be exact.&amp;#160; While there, in addition to other presentations, I am scheduled to make three presentations about Windows 7 for Developers.&amp;#160; In the spirit of sharing, I will post my session abstracts and slide decks here now.&amp;#160; Please feel free to use / reuse them in any way you like.&amp;#160; I would appreciate a reference to my blog and/or facebook group ‘Windows 7 Developers’ in these decks if you reuse them.    &lt;br /&gt;    &lt;br /&gt;To create these decks, I’ve combined the work of our corporate evangelists (TechEd-US and PDC08 sessions), as well as added some new information of my own.&amp;#160; When you review these decks, be sure to also read the notes, as I’ve put a large amount of additional information, including code samples, in those notes.&amp;#160; After I present the sessions, I will ‘clean up’ the demo code and post it as well.&amp;#160; I also plan to record these sessions via Camtasia (probably not until September).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1_Developing for Windows 7&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;This session introduces Windows 7 and highlights key fundamentals advances including the new desktop and Federated Search. The session also covers core fundamentals such as programmatic application service and power management, as well as the use of the new Windows Troubleshooting Platform.&amp;#160; In this session you will learn about Windows Libraries, Search enhancements and implementing Federated Search. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1782765"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="1 Win7 For Devs Fund Search" href="http://www.slideshare.net/llangit/1-win7-for-devs-fund-search"&gt;1 Win7 For Devs Fund Search&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=1win7fordevsfundsearch-090728185152-phpapp02&amp;amp;stripped_title=1-win7-for-devs-fund-search" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=1win7fordevsfundsearch-090728185152-phpapp02&amp;amp;stripped_title=1-win7-for-devs-fund-search" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/llangit"&gt;llangit&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2_Optimizing Your Application for the Windows 7 User Experience&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;This session dives into new APIs that enable integration with the latest Windows desktop features. Learn about new extensibility methods to surface your application's key tasks. Discover how enhancements to the taskbar, Start Menu, thumbnails and their desktop elements provide new ways for you to delight your users. Learn about the new Scenic Ribbon. This talk is a must for application developers who want to provide the best user experience for their applications on Windows 7. This session introduces Windows 7 and highlights key UX advances including the new desktop, shell experience and taskbar. The session also introduces technologies such as Windows Touch, and the Sensor and Location Platform. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1782766"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="2 Win7 For Devs Ux Touch Sensors" href="http://www.slideshare.net/llangit/2-win7-for-devs-ux-touch-sensors"&gt;2 Win7 For Devs Ux Touch Sensors&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2win7fordevsuxtouchsensors-090728185142-phpapp01&amp;amp;stripped_title=2-win7-for-devs-ux-touch-sensors" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2win7fordevsuxtouchsensors-090728185142-phpapp01&amp;amp;stripped_title=2-win7-for-devs-ux-touch-sensors" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/llangit"&gt;llangit&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3_Windows Application Readiness for Developers&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Learn the best practices on how to write compatible applications for the Windows operating system and migrate Windows XP applications to Windows 7 and Windows Vista. Also, discuss common application compatibility changes so you can effortlessly get your applications up and running.&amp;#160; And this session will cover modern graphics with Direct2D, DirectWrite and Direct3D, and Windows Web Services which ISVs can use to modernize applications.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1782767"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="3 App Compat Win7" href="http://www.slideshare.net/llangit/3-app-compat-win7"&gt;3 App Compat Win7&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3appcompatwin7-090728185141-phpapp02&amp;amp;stripped_title=3-app-compat-win7" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3appcompatwin7-090728185141-phpapp02&amp;amp;stripped_title=3-app-compat-win7" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/llangit"&gt;llangit&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9851532" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal is studying and recommends the Windows 7 Developer Training Kit</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/07/27/socaldevgal-is-studying-and-recommends-the-windows-7-developer-training-kit.aspx</link><pubDate>Tue, 28 Jul 2009 01:41:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9850382</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9850382.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9850382</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows 7 logo" border="0" alt="Windows 7 logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalisstudyingandrecommendstheWin_DCB1/Windows7%20logo_3.jpg" width="164" height="155" /&gt; &lt;/p&gt;  &lt;p&gt;As I am putting the final preparations on my 3 Windows 7 Developer sessions for Tech Ed Africa, I’ve been looking at all possible resources.&amp;#160; One that that I particularly like (and recommend) is the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=12100526-ed26-476b-8e20-69662b8546c1"&gt;Windows 7 RC Developer Training Kit&lt;/a&gt;.&amp;#160; It’s a free download, well-organized and quite useful.&amp;#160; The parts of the kit that I’ve found to be the most useful are the Hands on Labs.&amp;#160; They are to the point, written using the managed code wrappers (&lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;API pack&lt;/a&gt;) whenever possible and all samples work. You’ll see from the screenshot below that the following topics are included:&lt;/p&gt;  &lt;p&gt;Taskbar, Libraries, Multi Touch, Sensor and Location Platform, Windows 7 Ribbon, Trigger Start Services and Windows 7 Instrumentation. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalisstudyingandrecommendstheWin_DCB1/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows 7 RC Developer Training Kit" border="0" alt="Windows 7 RC Developer Training Kit" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalisstudyingandrecommendstheWin_DCB1/image_thumb.png" width="404" height="206" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Also, corporate Windows 7 Developers evangelist, Yochay Kiriaty recorded a &lt;a href="http://www.facebook.com/ext/share.php?sid=98008038703&amp;amp;h=HPQfk&amp;amp;u=Pieac"&gt;short video on MSDN Channel 9 about this kit&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.facebook.com/ext/share.php?sid=98008038703&amp;amp;h=HPQfk&amp;amp;u=Pieac"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MSDN Ch9 Video" border="0" alt="MSDN Ch9 Video" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalisstudyingandrecommendstheWin_DCB1/image_5.png" width="404" height="420" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9850382" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal answers ‘What’s on your Windows 7 Demo Machine?</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/07/25/socaldevgal-answers-what-s-in-on-your-windows-7-demo-machine.aspx</link><pubDate>Sat, 25 Jul 2009 20:59:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9848526</guid><dc:creator>llangit</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9848526.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9848526</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows 7 logo" border="0" alt="Windows 7 logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersWhatsinonyourWindows7D_9A78/Windows7%20logo_3.jpg" width="164" height="155" /&gt; &lt;/p&gt;  &lt;p&gt;Many of you have asked me what applications and tools I have installed on my primary Windows 7 demo machine.&amp;#160; I’ll remind you that I am using a HP TouchSmart tx2 (dual AMD 42) w/4 GB RAM.&amp;#160; I’ve installed Windows 7 RC 64-bit.&lt;/p&gt;  &lt;p&gt;I thought the easiest way to show you is via screenshots.&amp;#160; I’ve also installed some demo files, I’ll list the public demo files at the bottom of this post.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Applications I&amp;#39;ve installed" border="0" alt="Applications I&amp;#39;ve installed" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersWhatsinonyourWindows7D_9A78/image_3.png" width="404" height="429" /&gt; &lt;/p&gt;  &lt;p&gt;continuing&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="More Applications" border="0" alt="More Applications" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersWhatsinonyourWindows7D_9A78/image_6.png" width="404" height="434" /&gt; &lt;/p&gt;  &lt;p&gt;still continuing&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="More applications" border="0" alt="More applications" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalanswersWhatsinonyourWindows7D_9A78/image_9.png" width="404" height="221" /&gt; &lt;/p&gt;  &lt;p&gt;The demo &lt;a href="http://code.msdn.microsoft.com/XP2Win7"&gt;XP2Win7&lt;/a&gt; is highly recommended.&amp;#160; You’ll also want the &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;API Code pack&lt;/a&gt; (managed code wrappers).&amp;#160; Another way to keep up with cool downloads is to join my Facebook group ‘Windows 7 Developers’ (links section of that group).&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9848526" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal is checking out the new FrontRunner site (support for ISVs developing for Windows 7)</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/07/10/socaldevgal-is-checking-out-the-new-frontrunner-site-support-for-isvs-developing-for-windows-7.aspx</link><pubDate>Fri, 10 Jul 2009 08:00:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9828256</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9828256.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9828256</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Win7Logo" border="0" alt="Win7Logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalischeckingoutthenewFrontRunne_13557/Win7Logo_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;Our newly launched &lt;a href="http://msdev.com/frontrunner"&gt;FrontRunner&lt;/a&gt; site for ISVs nicely pulls together many of the resources I’ve been using to learn how to write applications for Windows 7.&amp;#160; I decided to try it out.&amp;#160; Sign up is simple, just use a Windows Live ID and fill in one page about your application.&amp;#160; Then you’ll be ‘in’ the site.&amp;#160; As shown below the first section just lists basic information about your application.&amp;#160; You can, of course, register more than one application.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="FrontRunner application info page" border="0" alt="FrontRunner application info page" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalischeckingoutthenewFrontRunne_13557/image_3.png" width="404" height="254" /&gt; &lt;/p&gt;  &lt;p&gt;I really like the ‘Technical Resources’ section.&amp;#160; Most of the resources that I’ve been using to learn how to develop on the Windows 7 platform (such as SDK, developer training kit, etc…) are referenced in a well-organized way on this section.&amp;#160; I show a screenshot of this screen below as well.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Technical Resources section" border="0" alt="Technical Resources section" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalischeckingoutthenewFrontRunne_13557/image_6.png" width="404" height="129" /&gt; &lt;/p&gt;  &lt;p&gt;The next section provides links to videos and (eventually) to live chat, so that you can get your tough questions answered quickly.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Live help" border="0" alt="Live help" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalischeckingoutthenewFrontRunne_13557/image_9.png" width="404" height="129" /&gt; &lt;/p&gt;  &lt;p&gt;The last section provides access to marketing resources (templates, logos, etc…), so that you can market your Windows 7 compatible application.&amp;#160; There is also a section on the site to list companies who have created applications (a showcase).&amp;#160; Overall I think the site is clean and very usable. Try it out and let me know what you think.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9828256" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal wants to utilize Windows 7 UX features</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/07/03/socaldevgal-wants-to-utilize-windows-7-ux-features.aspx</link><pubDate>Fri, 03 Jul 2009 19:55:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9816890</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9816890.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9816890</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows 7 " border="0" alt="Windows 7 " src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantstoutilizeWindows7UXfeatu_83B5/Win7Logo_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;As I continue my work on learning / using Windows 7 as a platform for application development, I’ve (finally!) gone beyond the multi touch features that I’ve written about to date.&amp;#160; I’ve done this for two reasons:&lt;/p&gt;  &lt;p&gt;1) Writing a Windows 7 applications that ONLY features multi touch would be overlooking a whole host of other new features.&lt;/p&gt;  &lt;p&gt;2) I’ve been asked to deliver multiple presentations on developing for Windows 7 in general (rather than specific only to the new multi touch capabilities).&amp;#160; The first ‘batch’ of these presentations will run at &lt;a href="http://www.tech-ed.co.za/sessions.aspx"&gt;TechEd Africa&lt;/a&gt;, in Duban from August 2 to August 5. I do expect to deliver many more as well (if you are a SoCal UG and would like me to speak on some aspect of Windows 7 client development, please send me a request and I’ll get your UG on my fall calendar now – I expect to make at least one, maybe two trips to NorCal as well this fall, so I’ll gladly take requests for NorCal UGs as well).&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://www.tech-ed.co.za/sessions.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantstoutilizeWindows7UXfeatu_83B5/image_6.png" width="244" height="190" /&gt;&lt;/a&gt;     &lt;br /&gt;Here are the 3 sessions on Windows 7 client development that I am scheduled to deliver. They will be recorded as well.&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Lynn&amp;#39;s sessions at TE Africa" border="0" alt="Lynn&amp;#39;s sessions at TE Africa" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantstoutilizeWindows7UXfeatu_83B5/image_5.png" width="454" height="152" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To that end, I’ve expanded the scope of my studies.&amp;#160; My primary resources are the following:&lt;/p&gt;  &lt;p&gt;1) &lt;a href="http://channel9.msdn.com/windows/"&gt;Channel9 MSDN videos on Windows 7&lt;/a&gt; development.&amp;#160; Most of these have been produced by corporate evangelist Yochay Kiriaty.&amp;#160; &lt;a href="http://windowsteamblog.com/blogs/developers/default.aspx"&gt;Yochay’s blog&lt;/a&gt; has also proven to be a valuable resource.&amp;#160; I’ve also been working with him directly.&lt;/p&gt;  &lt;p&gt;2) TechEd US Windows Client developer presentations.&amp;#160; As an attendee / staff, I am able to listen to all sessions online.&amp;#160; I do believe that many of this session content will be made available to the general public via other deliveries.&lt;/p&gt;  &lt;p&gt;3) &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=12100526-ed26-476b-8e20-69662b8546c1&amp;amp;displaylang=en"&gt;Windows 7 Developer Kit&lt;/a&gt; – this includes not only code samples, but also Hands on Labs.&amp;#160; I’ve also downloaded the current version of the .NET wrappers – called the &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack/Release/ProjectReleases.aspx?ReleaseId=2821"&gt;Code Pack&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;4) &lt;a href="http://msdn.microsoft.com/en-us/windows/dd433113.aspx"&gt;The MSDN Windows 7 Developer area&lt;/a&gt;.&amp;#160; This aggregates nearly all Microsoft content that is being produced.&amp;#160; I am also looking at the site ‘&lt;a href="http://www.microsoft.com/visualstudio/buildabetterapp/"&gt;Build a Better App’&lt;/a&gt; which includes tutorials and more.&lt;/p&gt;  &lt;p&gt;So, I’ll be expanding the scope of this series to include more features in my Windows 7 application.&amp;#160; The first feature that I’ll talk about is the enhanced Taskbar.&amp;#160; Rather than list features and include screenshots, I simply made a short &lt;a href="http://www.screencast.com/t/p41vQAd2"&gt;screencast&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.screencast.com/t/p41vQAd2"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Taskbar screencast" border="0" alt="Taskbar screencast" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantstoutilizeWindows7UXfeatu_83B5/image_9.png" width="354" height="229" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;In the Windows 7 Developer Toolkit (referenced above), there is a good hands on lab (with sample managed code) which takes you through the steps in working with the taskbar.&amp;#160; These steps include the following options for your application:&lt;/p&gt;  &lt;p&gt;1)&lt;strong&gt; Jumplist Integration&lt;/strong&gt; – which includes file association registration, customization of common file dialogs and inserting custom items and/or categorizing those items in the jumplist.     &lt;br /&gt;    &lt;br /&gt;2) &lt;strong&gt;Thumbnail customization&lt;/strong&gt; via customization of Aero peek via thumbnail clipping or via a completely custom thumbnail view     &lt;br /&gt;    &lt;br /&gt;3) &lt;strong&gt;Thumbnail&lt;/strong&gt; display of &lt;strong&gt;overlay icons and/or progress bars&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;There are many other resources to help you learn to code for the Windows 7 taskbar.&amp;#160; Another good location is the section on this on &lt;a href="http://code.msdn.microsoft.com/Windows7Taskbar"&gt;MSDN&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As with the taskbar, I’ve also found quite a few interesting new features around search and libraries.&amp;#160; I’ve made another &lt;a href="http://www.screencast.com/t/rrdu83wW0g"&gt;screencast&lt;/a&gt; to showcase these features.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.screencast.com/t/rrdu83wW0g"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Search and Library screencast" border="0" alt="Search and Library screencast" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantstoutilizeWindows7UXfeatu_83B5/image_9.png" width="354" height="229" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;As with the taskbar customization, the Windows 7 Developer Kit includes a well-written hands on lab about implementing Libraries (called ShellLibraries in the wrappers).&lt;/p&gt;  &lt;p&gt;The best resource I have found in implementing Federated Search is the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c709a596-a9e9-49e7-bcd4-319664929317&amp;amp;displaylang=en&amp;amp;tm"&gt;whitepaper&lt;/a&gt; downloadable from us.&amp;#160; This whitepaper does a good job explaining the OpenSearch standard (i.e. a compatible web service).&amp;#160; It also includes step-by-step instructions for you to create an OSDX file.&lt;/p&gt;  &lt;p&gt;Next up…the new Sensor API.&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9816890" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal demos Windows 7 multi touch (and WoodyP shows off MS Surface)</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/06/27/socaldevgal-demos-windows-7-multi-touch-and-woodyp-shows-off-ms-surface.aspx</link><pubDate>Sat, 27 Jun 2009 04:13:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9806157</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9806157.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9806157</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="windows 7" border="0" alt="windows 7" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGaldemosWindows7multitouchandWoo_10034/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;Enjoy this short video shot by one of the attendees of the recent demofest at MS Irvine, CA.&amp;#160; &lt;a href="http://blog.pewitt.org/"&gt;Woody Pewitt&lt;/a&gt; is demoing the MS Surface here.&amp;#160; Thanks to Philippe Lewicki for the video.&lt;/object&gt;&lt;/p&gt; &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2RTWbRwXxKI&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2RTWbRwXxKI&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9806157" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal will be speaking on Windows 7 multi touch app dev in at San Diego Code Camp tomorrow</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/06/26/socaldevgal-will-be-speaking-on-windows-7-multi-touch-app-dev-in-at-san-diego-code-camp-tomorrow.aspx</link><pubDate>Fri, 26 Jun 2009 23:13:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9805921</guid><dc:creator>llangit</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9805921.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9805921</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Win7Logo" border="0" alt="Win7Logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwillbespeakingonWindows7multi_BA00/Win7Logo_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;My session is at &lt;a href="http://www.socalcodecamp.com/default.aspx"&gt;SoCalCodeCamp&lt;/a&gt; at UCSD room 105 at 2:00 pm – I am looking forward to showing and telling a good number of my developer friends about the joy of multi touch application development in Windows 7 as I know it so far.&amp;#160; I’ll post the deck in advance, as I normally do, so you can ask all those tough questions during and after my presentation.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1645959"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="Windows 7 Touch Dev New" href="http://www.slideshare.net/lynnlangit/windows-7-touch-dev-new?type=powerpoint"&gt;Windows 7 Touch Dev New&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windows7touchdevnew-090626145629-phpapp01&amp;amp;stripped_title=windows-7-touch-dev-new" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windows7touchdevnew-090626145629-phpapp01&amp;amp;stripped_title=windows-7-touch-dev-new" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/lynnlangit"&gt;lynnlangit&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;In case you are wondering I do plan on returning to my ‘build a Win7 app’ blog series, ironically I am preparing content for three presentations on Windows 7 as well as working on my app, so I ask for a bit of patience…Also, I’ve had quite a few requests to record this first presentation, so I’ll try to get around to doing that next week as well.&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9805921" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal wishes to decide - .NET 3.5 or .NET 4.0 for Windows 7 multi touch application development</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/06/15/socaldevgal-wishes-to-decide-net-3-5-or-net-4-0-for-windows-7-multi-touch-application-development.aspx</link><pubDate>Mon, 15 Jun 2009 22:27:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9754507</guid><dc:creator>llangit</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9754507.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9754507</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows 7 logo" border="0" alt="Windows 7 logo" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/Windows%207%20logo_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;Ah but this isn’t a simple consideration.&amp;#160; As I’ve been digging in, getting ready to build my first Windows 7 multi touch application, I’ve found out just how much I have to learn!&amp;#160; For starters I am by no means an expert in WPF (Windows Presentation Foundation) development.&amp;#160; This is, of course, the core of any Windows application UX.&amp;#160; Because I have done quite a bit of work in Silverlight, I thought I could use my work there as a basis for working in WPF.&amp;#160; Well, that’s kind of right – both technologies do use XAML and I can work in either Expression Blend or Visual Studio, but, well, there’s a whole lot that is not common between the two.&amp;#160; I found this great whitepaper on CodePlex on just that topic, i.e. &lt;a href="http://wpfslguidance.codeplex.com/"&gt;‘Microsoft Silverlight / WPF Comparison Whitepaper’&lt;/a&gt; that I recommend you read if you have been working in Silverlight, but not WPF.&lt;/p&gt;  &lt;p&gt;If you haven’t been working in either SL or WPF, then you’ll need to get some basics of WPF first.&amp;#160; How you get that depends on how you like to learn.&amp;#160; I usually start with a book, then watch some webcasts, then work on some hands-on-labs.&amp;#160; By the time I get to the last one, I am usually messing around building stuff.&lt;/p&gt;  &lt;p&gt;For a WPF book, I like ‘&lt;a href="http://www.sellsbrothers.com/writing/wpfbook/"&gt;Programming WPF&lt;/a&gt;’ by Chris Sells and Ian Griffiths&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sellsbrothers.com/writing/wpfbook/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Programming WPF" border="0" alt="Programming WPF" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/ProgrammingWPF_3.jpg" width="149" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There are quite a few short screencast-style &lt;a href="http://windowsclient.net/learn/videos_wpf.aspx"&gt;videos on WPF&lt;/a&gt; on the Windows Client site.&amp;#160; You’ll certainly want to see the one on how use &lt;a href="http://windowsclient.net/learn/video.aspx?v=76347"&gt;XAML in WPF&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://windowsclient.net/learn/video.aspx?v=76347"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="XAML in WPF screencast" border="0" alt="XAML in WPF screencast" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_3.png" width="404" height="321" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Windows Client site also contains &lt;a href="http://windowsclient.net/downloads/folders/hands-on-labs/default.aspx"&gt;WPF hands on labs&lt;/a&gt; – for some you use Visual Studio, for others you use Expression Blend.&amp;#160; Nothing beats actual coding for learning, does it?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://windowsclient.net/downloads/folders/hands-on-labs/entry4019.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="WPF Hands on Lab " border="0" alt="WPF Hands on Lab " src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_6.png" width="404" height="357" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, there are of course other ways to learn WPF, for example our own &lt;a href="http://www.pdsa.com/Main/Default.aspx"&gt;local RD and MVP Paul Sherriff&lt;/a&gt; will be presenting a series of FREE events around SoCal this summer and fall around WPF development.&amp;#160; He also plans to host these events via the web for those of you who can’t make it to his live events (watch my blog for dates). Also, I’ve been featuring WPF developers on &lt;a href="http://www.microsoft.com/events/series/geekSpeak.aspx"&gt;MSDN geekSpeak&lt;/a&gt; lately.&amp;#160; This week (Wed – noon PST) we host &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032417626&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Robert Altland from Neudesic on WPF Accessibility coding&lt;/a&gt; for example.&amp;#160;&amp;#160; It is only&amp;#160; AFTER you have a basic understanding of WPF, that you can begin to think about how you are going to code your multi touch application.&lt;/p&gt;  &lt;p&gt;One other possible consideration is whether you’ve done any programming on the &lt;a href="http://www.microsoft.com/surface/Development.aspx"&gt;MS-Surface API&lt;/a&gt;.&amp;#160; I realize that a very small subset of developers have actually worked with this, however, if you have, then you’ll be interested to know that we announced that we intend to eventually aim for convergence between the touch APIs in the .NET framework 4.0 and those in the MS-Surface 2.0 (via a combination of wrappers and API re-work).&amp;#160; Here are a couple of architectural diagrams to clarify – first is where we are now, i.e. Vista and MS Surface 1.0.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Vista, WPF 3.5 and Surface" border="0" alt="Vista, WPF 3.5 and Surface" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_9.png" width="154" height="334" /&gt; &lt;/p&gt;  &lt;p&gt;Next is the Windows 7 release.&amp;#160; Of course, we’ve announced that &lt;a href="http://www.pcworld.com/article/152638/windows.html?tk=rss_news"&gt;October 22, 2009&lt;/a&gt; will be the release date for this.&amp;#160; You’ll note that we’ll be including the core Multi-Touch API in Windows 7.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_11.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows 7 Release" border="0" alt="Windows 7 Release" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_thumb_3.png" width="404" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;After&lt;/strong&gt; the Windows 7 release, we’ll be releasing both Visual Studio 2010 with .NET Framework 4.0 and also the MS Surface 2.0.&amp;#160; You can see that WPF 4.0 will include Multi-Touch APIs and Controls.&amp;#160; You’ll also note that the Surface SDK 2.0 will include an updated version of the Multi-Touch API and Controls.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title=".NET 4.0 / Surface 2.0 Release" border="0" alt=".NET 4.0 / Surface 2.0 Release" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_14.png" width="404" height="262" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you wish to code multi touch applications for Windows 7 now, then you have two choices at present.&amp;#160; The first is to use .NET framework 3.5 (on Visual Studio 2008) and wrappers that we provide that allow you to code ‘multi-touch-like capabilities’.&amp;#160; The ‘good news’ about this solution is that you can use it now to get a jump start on Windows 7 application development.&amp;#160; The ‘bad news’ is that the programming model for multi touch applications will change in the .NET framework 4.0.&amp;#160; You can, of course get a &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;beta of Visual Studio 2010&lt;/a&gt; which includes the .NET framework 4.0, so if you wanted to, you could start working with the multi touch APIs in WPF 4.0 from the beta now.&lt;/p&gt;  &lt;p&gt;Although there is some information out there on Windows 7 multi touch application development using .NET framework 4.0 – notably a series of &lt;a href="http://channel9.msdn.com/tags/Multi-touch/"&gt;multi touch videos on MSDN Channel 9&lt;/a&gt;, I am going to use the .NET framework 3.5 to create my first application.&amp;#160; My primary reason is a practical one, that is, as I mentioned in a previous blog post, in addition to being an educational exercise, my intent with this first application is also practical – I want to actually use it at the next few WomenBuild events.&amp;#160; To that end, the less beta software the better, right?&lt;/p&gt;  &lt;p&gt;Now that I’ve decided which platform and development environment(s), I am FINALLY writing some code!&amp;#160; Today I am working through the newly-released &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=12100526-ed26-476b-8e20-69662b8546c1&amp;amp;displaylang=en"&gt;Windows 7 RC Training Kit for Developers&lt;/a&gt; (as well as hacking around in the other multi touch samples that I’ve got installed on this laptop).&lt;/p&gt;  &lt;p&gt;The very first thing you’ll want to do is to &lt;strong&gt;verify that your hardware will supports multi touch.&amp;#160; &lt;/strong&gt;To do this you’ll need to use the Windows 7 Integration Library Sample (included in the training kit linked above) which includes some helper .dlls that allow you to write code that picks up stylus events. &lt;/p&gt;  &lt;p&gt;To get started create a new Windows&amp;gt;WPF application project in your favorite language (I’ll be using C#) and add references to the two helper .dlls named &lt;strong&gt;Windows7.Multitouch&lt;/strong&gt; and &lt;strong&gt;Windows7.Multitouch.WPF&lt;/strong&gt; as shown below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_thumb_5.png" width="216" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next add a new item to your project, a WPF&amp;gt;Page, name it ‘MainWindow.xaml’,&amp;#160; Then in your MainWindow constructor (in MainWindow.xaml.cs), add the code shown below (ending in .IsMultiTouchReady). Compile and run your project and, of course, you are looking for the window shown below.&amp;#160; &lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;     &lt;div id="codeSnippet" class="csharpcode"&gt;       &lt;pre class="alt"&gt;&lt;span id="lnum1" class="lnum"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
  &lt;/div&gt;

  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (Windows7.Multitouch.TouchHandler.DigitizerCapabilities.IsMultiTouchReady)
            {
                MessageBox.Show(&lt;span class="str"&gt;&amp;quot;Multitouch is available&amp;quot;&lt;/span&gt;);
            }  &lt;/pre&gt;

  &lt;pre class="csharpcode"&gt;&amp;#160;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_13.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoC.0forWindows7multitouchapplicationdev_95CB/image_thumb.png" width="190" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Whew – what a lot of preparation BEFORE coding.&amp;#160; As this blog series continues, I’ll be digging into the details of coding to support multi touch applications.&amp;#160; &lt;/p&gt;

&lt;p&gt;I’m scheduled for two upcoming presentations on Windows 7 multi touch applications.&amp;#160; One is this Friday morning, it is for Microsoft Certified Trainers only (at the &lt;a href="http://www.mctvirtualsummit.com/Login.aspx?ReturnUrl=%2fdefault.aspx"&gt;MCT virtual summit&lt;/a&gt;).&amp;#160; So, if you are a MCT and are reading this – join me Friday, June 19th at 9am PST.&amp;#160; This session will also be recorded for all MCTs.&amp;#160; &lt;/p&gt;

&lt;p&gt;Monday, June 22 at 6:30 I am hosting a Windows 7 / Surface&amp;#160; demo-fest for &lt;strong&gt;Designers&lt;/strong&gt; at the Microsoft Irvine office.&amp;#160; You must register if you wish to attend, send me mail via this blog if interested in attending and I’ll get you on the list.&lt;/p&gt;

&lt;p&gt;Also, I’ll be presenting the ‘Windows 7 Multi Touch Application Development’ session at &lt;a href="http://www.socalcodecamp.com/default.aspx"&gt;SoCalCodeCamp at UCSD&lt;/a&gt; in San Diego on Sat, June 27 (sometime in the afternoon, watch the site for the schedule) as well.&lt;/p&gt;

&lt;p&gt;Last but not least, I’ll be at the &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032418139&amp;amp;Culture=en-US"&gt;Windows 7 Installfest at QuickStart Irvine&lt;/a&gt; this Thursday, from 1pm to 5pm.&amp;#160; I’ll be there to install Windows 7 RC on my NEW 64-bit HP TouchSmart tx2 (thanks to Scott Kerfoot!).&amp;#160; Up until this point, I have been working on a 32-bit version of the same machine.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9754507" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item><item><title>SoCalDevGal wants you to be an expert in Windows 7 Touch and Multi Touch capabilities</title><link>http://blogs.msdn.com/socaldevgal/archive/2009/06/07/socaldevgal-wants-you-to-be-an-expert-in-windows-7-touch-and-multi-touch-capabilities.aspx</link><pubDate>Sun, 07 Jun 2009 23:06:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9704888</guid><dc:creator>llangit</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/socaldevgal/comments/9704888.aspx</comments><wfw:commentRss>http://blogs.msdn.com/socaldevgal/commentrss.aspx?PostID=9704888</wfw:commentRss><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows 7" border="0" alt="Windows 7" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantsyoutobeanexpertinWindows_FC7C/windows7_3.jpg" width="164" height="164" /&gt; &lt;/p&gt;  &lt;p&gt;My curiosity often takes me down new pathways.&amp;#160; Just like a typical dev, after stating the business case, writing out the problem, writing the key use cases and ‘hiring’ a designer, I am ready to open up Visual Studio and start coding my first multi touch Windows 7 application, right?&amp;#160; Nope, wrong – way wrong.&amp;#160; So, I was reading the sample code that I’ve managed to find, or get the from the product team and I realized a little problem.&amp;#160; Which turns out to be a really big thing.&amp;#160; Just what exactly constitutes a touch gesture anyway?&amp;#160; Coming from the simple world of mouse clicks, i.e. either it’s a single left click, a single right click, a double left click, etc…gestures have to be TRANSLATED in a way that will be intuitive and natural.&amp;#160; Given my background and general interest in linguists and translation problems, I am, of course, now totally fascinated with understanding more.&amp;#160; &lt;/p&gt;  &lt;p&gt;Also, I’ve been studying a bit more on the details behind the different types of hardware that support AND on what is native to Window 7 and what I can choose to code.&amp;#160; Well, well, before I write that code, I think it will be beneficial to share what I’ve learned with you, so here goes.&amp;#160; First on the hardware side:&lt;/p&gt;  &lt;p&gt;1. &lt;strong&gt;Capacitive touch&lt;/strong&gt; – such as HP TouchSmart tx2, Dell Latitude XT,&amp;#160; works by a finger (and it must be a finger, or, less commonly, a specialized stylus) touch disrupting an electrical field which covers the entire screen of the device, it can be single, dual&amp;#160; or multi-touch supported – either built into the device or can be &lt;a href="http://www.n-trig.com/Content.aspx?Page=Products"&gt;overlayed (N-Trig&lt;/a&gt;) – be aware that you may need to install additional drives to make maximum use of your hardware.&amp;#160; This is the more expensive multi touch option.&lt;/p&gt;  &lt;p&gt;2. &lt;strong&gt;Infrared touch&lt;/strong&gt; – such as MS-Surface, HP TouchSmart, works by infrared field of light (usually built into the corners or the frame of the device), anything (i.e. any object) can disrupt that field, ‘touch’ is capture on or slightly above the surface of the device.&amp;#160; &lt;a href="http://www.nextwindow.com/products/product_matrix.html"&gt;NextWindow&lt;/a&gt; sells both overlays and integrated systems.&amp;#160; Infrared is cheaper to scale is often used in over-sized wall displays.&lt;/p&gt;  &lt;p&gt;Wikipedia on the topic ‘Touchscreen’ has a bit more detail if you are interested – &lt;a href="http://en.wikipedia.org/wiki/Touchscreen"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Next on the software side – I have found a key learning area is to take a look at what we’ve done with MS Surface.&amp;#160; Yes, I know we are NOT here to talk about programming the Surface table, but let’s face it, those folks have a few years practice on this whole natural gesture thing and we shouldn’t just blow that off.&amp;#160; To that end on my weekly geekSpeak show last week, we hosted developer Brad Cunningham from &lt;a href="http://www.interknowlogy.com/"&gt;InterKnowlogy&lt;/a&gt;.&amp;#160; On the show, he talked about the whole ‘&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032416183&amp;amp;CountryCode=US"&gt;move from clicks to touches&lt;/a&gt;’ application development migration and I really learned a bunch.&amp;#160; During his presentation, Brad had a great suggestion to help end users to understand supported gestures.&amp;#160; In a newly created&amp;#160; application, his company is going to include an opening simulation to help those users understand how to use gestures when playing the game.&amp;#160; Brad also talked about the paradigm shift from GUI to NUI (new user interface).&amp;#160; He recommended the book ‘&lt;a href="http://oreilly.com/catalog/9780596518394/"&gt;Designing Gestural Interfaces&lt;/a&gt;’ by Dan Saffer&lt;/p&gt;  &lt;p&gt;&lt;img src="http://covers.oreilly.com/images/9780596518394/cat.gif" /&gt;&lt;/p&gt;  &lt;p&gt;Continuing this discussion, I am going to attempt to list levels of gestural support built into Windows 7 (and some pre-loaded applications).&amp;#160; I will continue by listing the types of gestures that you can code.&amp;#160; I will also translate some gestures to mouse actions.&amp;#160; Brad made a great point when he noted the a finger isn’t as precise as a mouse pointer, so some actions that are relatively easily done with a mouse, such as drag and drop really don’t translate well from a usability standpoint to a touch-only device.&amp;#160; Below is a starter list to translate touch gestures from mouse clicks (most of which Brad provided, I did add some other items from other documentation).&amp;#160; I’d be really interested to hear any feedback you might have on this list as well!&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="539"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="264"&gt;&lt;strong&gt;Touch Gesture(s)&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="273"&gt;&lt;strong&gt;Mouse Action(s)&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Single finger tap&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Mouse up, Mouse down (left click)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Double tap with single finger&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Double left click&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Flick single finger&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Click and toss&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Fling single finger, tap to stop&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Click and toss to scroll, click to stop&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Fling double finger, tap to stop&lt;/td&gt;        &lt;td valign="top" width="273"&gt;none&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Press and hold with single finger, tap with second finger&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Right click&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Slide&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Click and drag to scroll&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Double finger pinch to shrink or drill in on a specific location&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Roll the mouse wheel, but cannot select a specific area (of a photo for example)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Double finger spread to enlarge or drill out &lt;/td&gt;        &lt;td valign="top" width="273"&gt;Roll the mouse wheel&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Single finger drag to move or drop&lt;/td&gt;        &lt;td valign="top" width="273"&gt;Click and drag&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="264"&gt;Multiple finger drag to move or drop&lt;/td&gt;        &lt;td valign="top" width="273"&gt;none&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Reading this list should start to give you an idea of the potential complexity around touch application architecture.&amp;#160; Another interesting consideration is whether you will make any changes to your UI depending on whether a user interacts with a mouse or with touch.&amp;#160; An example of how this has been implemented in Windows 7 is in the new jumplists (for an example look – &lt;a href="http://windows7news.com/2009/05/22/winfox-adds-jumplists-to-firefox-in-windows-7/"&gt;here&lt;/a&gt;).&amp;#160; If you invoke a jumplist with a mouse click, then the spacing between the items on the jumplist is narrower than if you’ve invoked that jumplist via touch.&amp;#160; The thinking behind this is is that you need more space to be able to select jumplist items with your finger than with a mouse.&amp;#160; If you aren’t familiar, a jumplist is a list of most commonly chosen ‘next’ items, invoked by right clicking an application in the taskbar.&amp;#160; Below is an example from Windows Media Player.&lt;/p&gt;  &lt;p&gt;&lt;img title="Windows 7 Windows Media Player Jumplist" alt="Windows 7 Windows Media Player Jumplist" src="http://i.zdnet.com/blogs/windows-media-player-jumplist_sm.jpg" width="300" height="394" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another consideration when creating touch enabled applications is understanding the core Windows 7 OS settings.&amp;#160; There is a new applet in the Windows 7 Control Panel called ‘Pen and Touch’ that allows you to set up these core settings for touch.&amp;#160; You’ll note that ‘Double-tap’ by default is set to be equivalent to a mouse double-click, and that ‘press and hold’ equals a mouse right-click, but also that these default settings are adjustable at the OS level.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Touch section of Windows 7 Control Panel" border="0" alt="Touch section of Windows 7 Control Panel" src="http://blogs.msdn.com/blogfiles/socaldevgal/WindowsLiveWriter/SoCalDevGalwantsyoutobeanexpertinWindows_FC7C/image_3.png" width="400" height="492" /&gt; &lt;/p&gt;  &lt;p&gt;It‘s probably time to take a look at touch in action.&amp;#160; Below are a couple of short videos, in each I demonstrate a couple of touch enabled applications.&amp;#160; Some applications ship with Windows 7 (Paint), other samples that you can get from either the Windows 7 SDK or the Windows 7 Touch Pack.&amp;#160; First the lagoon screen saver:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:08b40888-0596-41ce-a66a-257b5f580b77" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="576" height="432" &gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.facebook.com/v/92621897108" /&gt;&lt;embed src="http://www.facebook.com/v/92621897108" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="576" height="432"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;The next demo video shows how built-in touch capabilities work with some applications on built in to Windows 7.&amp;#160; I show IE8, the XPS Viewer and Paint as examples.&amp;#160; Here I also mention the concepts of ‘good, better or best’ touch applications.&amp;#160; I’ll explain this idea in more detail later in this blog post.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e6d37136-cde5-423c-8604-b8c13e3ffcf9" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="576" height="432" &gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.facebook.com/v/92878697108" /&gt;&lt;embed src="http://www.facebook.com/v/92878697108" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="576" height="432"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;The last video shows some examples from the Windows 7 SDK samples of manually coded applications that support either single gestures or multi touch.&amp;#160; For this last section, you can easily get the source code as well.&amp;#160; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6dace308-94d6-4379-aec6-40e51220b614" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="576" height="432" &gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.facebook.com/v/92897572108" /&gt;&lt;embed src="http://www.facebook.com/v/92897572108" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="576" height="432"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Now that you are as intrigued as I am (which I assume is true since you are STILL reading this long blog post!), let’s get to some architecture concepts.&amp;#160; First thing to understand is the idea of ‘Good, Better or Best’ touch applications.&amp;#160; Of course, the hardware capabilities must support whatever level you wish to implement.&amp;#160; Here’s a chart to get us started.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="527"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="44"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="152"&gt;&lt;strong&gt;Support&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="97"&gt;&lt;strong&gt;Built in Apps&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="232"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="44"&gt;Good&lt;/td&gt;        &lt;td valign="top" width="152"&gt;built in&lt;/td&gt;        &lt;td valign="top" width="97"&gt;IE8&lt;/td&gt;        &lt;td valign="top" width="232"&gt;single finger, simple select, scroll&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="44"&gt;Better&lt;/td&gt;        &lt;td valign="top" width="152"&gt;you code/WM_GESTURE&lt;/td&gt;        &lt;td valign="top" width="97"&gt;XPS Viewer&lt;/td&gt;        &lt;td valign="top" width="232"&gt;simple gesture, zoom, pan&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="44"&gt;Best&lt;/td&gt;        &lt;td valign="top" width="152"&gt;you code/WM_TOUCH&lt;/td&gt;        &lt;td valign="top" width="97"&gt;Paint&lt;/td&gt;        &lt;td valign="top" width="232"&gt;multi touch also possibly inertia&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;One thing to be aware of is that I am talking here about coding with .NET 4.0.&amp;#160; Some of these gestures can be captured using .NET 3.5, but not in exactly the same way.&amp;#160; Even within .NET 4.0 there are variations between beta one and beta two, such as those around Windows 7 WM_Touch manipulations or raw gestures.&amp;#160; For example beta one supports manipulations only, (which can be also be done in .NET 3.5 by working with stylus events), beta two can pick up raw gestures. As I’ve mentioned previously there are some managed wrappers available already.&amp;#160; Also of note is that our teams are working on converging the Surface and .NET 4.0 codebases – for more detail see Channel9 videos on the basics of Window touch applications – &lt;a href="http://channel9.msdn.com/posts/yochay/Windows-7-Mutli-Touch-Overview/"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We’ve obviously got lots more to think about in the new world on touch based application programming.&amp;#160; Hopefully this blog post has got you thinking.&amp;#160; More detail as I start to work on my first application over the next few weeks…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9704888" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/socaldevgal/archive/tags/Win7DevSeries/default.aspx">Win7DevSeries</category></item></channel></rss>