Touch Me, Stretch Me, Squeeze Me: The Windows 7 WPF Multi-Touch Story at TechEd and NxtGen

I will be presenting my WPF multi-touch presentation at:-

Here's the abstract:-

Arguably the most innovative and forward thinking feature of Windows 7 is its multi-touch support. And it should be no surprise to see that WPF 4 boasts the same multi-touch support that utilizes this Windows 7 multi-touch support where available. In this session we will explore this new feature in WPF 4 and see what we get for free (i.e. without having to do any work), what you can get with only minimal additional work and what takes a bit more time and effort. Along the way we?ll discover the basic touch support together with support for rotation, scaling and inertia as well as how to handle low level touch events using the raw API. Please note: the presentation shows true multi-touch - this is not a trick with two mice simulating multi-touch.

Come along and say hello and we can chat multi-touch!

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Thursday, May 05, 2011 at 11:17 AM
Categories: Events | Windows 7 | WPF | MultiTouch
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Touch Me, Stretch Me, Squeeze Me: The Windows 7 WPF Multi-Touch Story

When Windows 7 was first shown at PDC 2008 the feature that captivated me was the touch support. Truly this was a step towards multi-touch becoming mainstream and a significant step forwards in our industry. And now I get to share the joy that is multi-touch on Windows 7 using WPF in a presentation with the same name as this post's title. The first outing will be at VBUG Bristol on Wednesday 11th August 2010. The second outing will be at The Next Generation User Group in Cambridge on Tuesday 21st September 2010. Here's the abstract:-

Arguably the most innovative and forward thinking feature of Windows 7 is its multi-touch support. And it should be no surprise to see that WPF 4 boasts the same multi-touch support that utilizes this Windows 7 multi-touch support where available. In this session we will explore this new feature in WPF 4 and see what we get for free (i.e. without having to do any work), what you can get with only minimal additional work and what takes a bit more time and effort. Along the way we'll discover the basic touch support together with support for rotation, scaling and inertia as well as how to handle low level touch events using the raw API. Please note: the presentation shows true multi-touch - this is not a trick with two mice simulating multi-touch.

If you're around Bristol or Cambridge then come along and say hello.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Friday, July 23, 2010 at 5:51 PM
Tags:
Categories: WPF | Windows 7
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

Automating Testing Using Windows Virtual PC

As promised here are the slides and source code for yesterday's "Automating Testing Using Windows Virtual PC" presentation at the MVP Open Day. The sister presentation to this one is "Automating Testing Using Virtual Server 2005" and you can download the slides and source code for this one. If you are using Virtual Server 2005 you might like to download both as the Windows Virtual PC presentation is more recent and contains slightly more code that is still applicable to Virtual Server 2005.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Saturday, October 31, 2009 at 10:35 AM
Tags:
Categories: Windows 7 | Virtualization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

Windows Virtual PC And The Disappearing Virtual Machines

I've been bitten a few times by a 'feature' in Windows Virtual PC where all of my virtual machines disappear so I thought I'd write about the problem and how to solve it to save anyone else the grief of rebuilding their virtual machine list.

My current Windows Virtual PC list looks like this:-

As you can see from Primary Disk column on the right I keep all of my virtual machines (except Windows XP Mode) on a separate USB drive. The consequence is that the drive is not always plugged in. The Windows Virtual PC 'feature' is that if I accidentally start a virtual machine and forget to have my USB drive plugged in then it fails to run the virtual machine (fair enough, no problem here) and then removes all references to all virtual machines on that drive (not fair enough and a truly stupid idea):-

The solution lies in understanding that the Windows Virtual PC console is just a view on a folder. On this Windows 7 machine this is C:\Users\Guy Smith-Ferrier\Virtual Machines. Here's what the folder looks like in a command window before Windows Virtual PC has 'fixed' it:-

And here's what it looks like again after Windows Virtual PC has removed all of my references:-

Clearly Windows Virtual PC has simply deleted all of the VMCX files that refer to virtual machines on the USB drive. There are a number of solutions to the problem. The first and simplest is to use the Recycle Bin to undelete the VMCX files from the Virtual Machines folder. This is the best option although I have to say that I am not always convinced they are always present in the Recycle Bin. Alternatively you could have the foresight to have saved a copy of your VMCX files so that you can just copy them back to the Virtual Machines folder. If neither of these options are available to you then the fallback solution is to start each and every virtual machine that used to be in the list by double clicking on the virtual machine's VMC file and then the VMCX file will be automatically recreated.

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: GuySmithFerrier
Posted on: Saturday, October 24, 2009 at 12:53 PM
Categories: Windows 7 | Virtualization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

VBUG Conference 2009

Under their new ownership VBUG are having their annual conference at TVP in Reading on Thursday 26th November 2009. There's some great speakers including the DevExpress Twins, Gary Short and Oliver Sturm, David Ringsell of PC-Talk and Rob Blackmore. I'll be doing a new version of an old presentation:-

  • Automating Testing Using Windows Virtual PC
    Windows Virtual PC is a free virtualization download from Microsoft for Windows 7. It allows you to run and maintain multiple virtual machines running different Microsoft operating systems in different configurations. Virtual Machines allow you to test your software in different configurations without the need for buying and maintaining separate physical machines. Unlike previous versions of Virtual PC, Windows Virtual PC includes an API for programmatically controlling these virtual machines. This session describes this API and shows you how to use it to run automated tests on multiple platforms. Subjects covered include basic use of the API, logging on to virtual machines, various methods for copying tests to virtual machines, running processes on virtual machines and collecting test results.
See you there.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Saturday, September 19, 2009 at 8:46 PM
Tags:
Categories: Events | Windows 7
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

PDC 2008: Tuesday's Keynote

Tuesday's PDC keynote is all about Windows 7 and to a lesser extent Visual Studio 2010 and the .NET Framework 4. Senior Vice President Steven Sinofsky introduced Windows 7 and Julie Larson-Green provided various demos. The new UI features in Windows 7 were loved by the enthusiastic US audience but they left me cold. All I can see in this bucket of UI bells and whistles is yet more years of working out how to disable Microsoft's new feature to 'help' me that simply succeeds in getting in my way. Each feature depressed me even more. So I was in need of some cheering up. And along came Windows 7's support for multi-touch. I love this feature. This is basically all of the work that went into Microsoft Surface now available in Windows 7. Existing applications (e.g. Word, Excel, .NET applications) can be used with the basic touch support without any modification to the applications. However, Windows 7 includes a multi-touch API that you can take advantage of. Multi-touch aware applications enter a whole new world of functionality and potential. Scott Guthrie later showed a WPF application that was multi-touch aware. The application, a canonical photo viewer (we really need to move on from the photo viewer WPF demo), allowed photos to be re-sized, dragged, opened and closed all using touch, just like you've seen on any Microsoft Surface demo. Armed with a copy of Windows 7 you can try this out yourself today using an HP Touchsmart (the cheapest I've seen at the time of writing is ?550 inc. VAT and delivery).

Here is a collection of other notes I made about Windows 7:-

  • Windows 7 uses the same kernel as Windows Server 2008 and Windows Vista so all of the drivers that had to be rewritten for Vista should work fine with Windows 7 and we should not suffer the same driver-compatibility shock we did with Vista.
  • Windows 7 includes support for up to 256 processors. As parallel computing and virtualization become more common place this makes an increasing difference.
  • Windows 7 allows USB sticks to be encrypted using Bitlocker.
  • Windows 7 allows you to create virtual hard disks (VHDs) from within Disk Manager (instead of using Virtual Server, Hyper-V or Virtual PC). In addition Windows 7 can boot from a VHD.
  • Windows 7 makes it easier to set a custom DPI size for your display. Whereas most people in Europe and the US won't need this feature it will make a difference to CJK (Chinese, Japanese, Korean) fonts where the DPI is sometimes increased to make text easier to read.
  • Windows 7 allows you to customize the shut down buttons actions so that you can change the shut down button to actually shut down (instead of merely going to sleep).
  • Windows 7 allows you to specify what messages should pop up from the tray icons to alert you to all of the trivia that goes on on your computer. I like this feature as it allows me to treat trivia as trivia and restrict my notifications only to things that I really am interested in.
  • The Windows 7 UAC can now be configured as to how intrusive it is. Previously it was either on or off but in Windows 7 you have a slider that you can use to indicate how much you enjoy being interrupted when you are busy doing real work.
  • Windows 7 includes the latest version of the .NET Framework which in the current pre-beta version is .NET Framework 3.5 SP1 but this will probably change before the operating system is released.
  • I'm not sure whether this applies only to pre-release versions of Windows 7 or whether this will be true for the final released product but each window in Windows 7 has a button that you can click to provide feedback about that window. The report that is sent to Microsoft includes contextual information that Microsoft needs to file the report correctly. This helps all of us as it makes providing feedback so simple and easy that we are much more likely to make the effort.
  • Windows 7 includes new versions of Paint, Calculator and WordPad. Sadly they all use the new ribbon now so any previous knowledge you have on how to use these applications goes straight out of the window.

Two more features stood out for me and it's interesting how often the tiny features are the ones that are most attractive. Pressing the Windows key and the "+" key now activates an enhanced version of the traditional Windows magnifier to zoom in to the current mouse pointer where the magnifier follows the mouse cursor (and Windows "-" zooms out). As such this provides the same functionality as Zoomit and NLarge (but without the drawing functionality). I suspect that I will continue to use Zoomit though as this will give me consistent functionality across all operating systems. The second feature is the pressing the Windows key followed by "P" brings up the output display dialog that allows you to send the computer's output to a second monitor for presentations. In addition this provides a real time change as you move from output option to output option so you can see the effect of your selection without actually making it.

And, of course, the most important question as always is when will we get it ? The version of Windows 7 given away to PDC attendees is a pre-beta that is not feature complete. There will be a full beta "early in 2009" with the final product being released "3 years after the Vista ship date".

Scott Guthrie demoed Visual Studio 2010, the .NET Framework 4 and WPF with multi-touch support. Visual Studio 2010 now uses WPF for its UI (although not everything has been converted to WPF yet in the current CTP) which is a wonderful step forwards and a useful seal of approval from Microsoft that they are prepared to use it for their own products. Visual Studio 2010 also supports multiple web.config files (and presumably other types of files as well) for different scenarios so you can have a base web.config plus variants for debugging, staging, deployment etc.. A useful feature of the .NET Framework 4 is that it supports side by side execution of the CLR 2 and CLR 4 (at the same time) which will guarantee backwards compatibility.

On the subject of current technology:-

  • Various new controls (DatePicker, Calendar, DataGrid, Ribbon) for WPF will ship this week as well as the Visual State Manager that has previously only been available for Silverlight.
  • The Visual Studio intellisense file for jQuery shipped on 28th October 2008.

Nick Lansley (Head Of New Technologies at Tesco) and Paul Dawson (Conchango) showed off their new WPF application for the Tesco's shopping cart which looked excellent. They also mentioned that they are making the API for their service available to developers.

All in all there was enough here to recommend watching this keynote online. Enjoy.

Currently rated 3.2 by 5 people

  • Currently 3.2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Wednesday, October 29, 2008 at 10:31 PM
Tags:
Categories: Visual Studio | Windows 7 | Events
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

PDC 2008: Monday's Keynote

Monday morning at PDC 2008 brings the opening keynote with Ray Ozzie and friends. You can watch the keynote from http://www.microsoftpdc.com. The first 20 minutes is fairly miss-able as Ray talks about cloud computing and how and why we got here. After this Ray announces Microsoft Azure (http://www.azure.com) which is one of the main events for PDC this year (along with Windows 7, the .NET Framework 4.0 and Visual Studio 2010). Ray describes Azure as Microsoft's web tier offering, computing in the cloud and a "service based operating environment" essentially it is an 'operating system' for the web aka "Windows in the cloud" ? a service running a vast number of services hosted by Microsoft. The Azure services include Live Services, .NET Services, SQL Services, Sharepoint Services and Dynamics CRM Services. Ray is keen to stress though that the Azure CTP is "only a fraction of what will be available". Each of the speakers presses home the point that the development experience for Azure applications is based on existing skill sets i.e. .NET Framework (including C#, Visual Basic.NET etc.), Visual Studio, ASP.NET etc. ? the Azure API is just another .NET Framework class library with templates and wizards for Visual Studio. What is really quite cool here though is that the tools allow you to develop for Azure locally on a stand alone machine. This works by running an Azure server locally on the development machine in the same way that the ASP.NET Web Development Server ("Cassini") provides a local web server for web development. Deployment to Microsoft's Azure is a separate step that is akin to all of the other "publish" operations supported by Visual Studio. I suspect that the fact that deployed Azure applications are hosted solely by Microsoft on Microsoft's servers is the contentious point here. As far as I can see at this time there are no options here ? you host it on Microsoft's servers or you don't use Azure. For small and mid-sized companies this is fantastic news since Microsoft will scale and balance according to the configuration settings of the Azure application. PDC attendees get an Azure account which includes free hosting at this time but the details on what Microsoft will charge for this when it goes live are unclear. Larger sized companies might take a different stance on this architecture.

Dave Thompson comes on later to talk about Microsoft Online Services, Microsoft's 'software plus services' offering, which currently includes Exchange Online, CRM Online and Sharepoint Online. He goes on to say that in the future all Microsoft software will be available as services.

All PDC attendees get an external hard drive with the following:-

  • Windows 7 (32 bit and 64 bit) CTP, Windows 7 SDK
  • Visual Studio 2010 CTP
  • .NET Framework 4.0 CTP
  • Silverlight Tools for Visual Studio 2008 SP1
  • Virtual PC, Vista SP1, Windows Server 2008 R2 (64 bit), SQL Express 2005, Powershell
  • Microsoft Robotics Developer Studio 2008 Express Edition
  • .NET Micro Framework SDK 3.0
  • Windows Media Center SDK
  • Numerous whitepapers
  • Various Hands on labs

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Tuesday, October 28, 2008 at 9:10 PM
Tags:
Categories: Events | Windows 7 | Azure | Visual Studio
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed