Our Ch.9 Interview with Tanagram Partners on http://touch.codeplex.com was published. Check it out!
“The APIs in WPF4 plus the Surface Toolkit for Windows Touch make building common touch scenarios easy. However, implementing many of the same touch scenarios using WPF3.5SP1 or Silverlight 3/4 involves writing a fair bit more code. Furthermore, the touch APIs across WPF4, WPF3.5SP1, and Silverlight are different.
The goal of this project is to simplify building common touch scenarios when using WPF 3.5 SP1 or Silverlight 3/4 by using Expression Blend Behaviors to provide a consistent way to implement these scenarios across WPF & Silverlight. Expression Blend Behaviors can be used within Visual Studio without a dependency on Expression Blend by downloading the Expression Blend 3 SDK. You can also find more Expression Blend Behaviors at http://expressionblend.codeplex.com/ and http://tinyurl.com/ExpressionGalleryBehaviors.
Go to http://touch.codeplex.com/ to learn more about this project. Go to http://tanagrampartners.com/ to learn more about Tanagram Partners.”
A common need for Windows 7 touch user interfaces is to react to a touch gesture. In this screencast, I demonstrate a very simple and easy way to interpret single touch gestures using MouseGestureTrigger from the Expression Blend Samples.
To learn more about Behaviors, Triggers, and Actions mentioned in the screencast, visit http://tinyurl.com/TriggersActionsBehaviors. If you are interested in touch/multitouch Behaviors, then have a look at http://touch.codeplex.com/. You can download even more Triggers, Actions, Behaviors, etc. at Expression Gallery.
Direct link to Ch. 9 post:
UPDATE: You can follow tanagram on twitter @tanagram https://twitter.com/tanagram.
One of the things I have been trying to do this year is encourage / kick start partners to create useful CodePlex projects. I’ve been digging into Windows 7 multi-touch since it was announced at PDC08. As the managed (.NET) APIs available for WPF 3.5 SP1, Silverlight, and WPF 4 started to materialize, it became clear that there were varying levels of developer productivity for building multi-touch solutions. The eventual release of the WPF 4 + the Surface Toolkit for Windows Touch clearly sets the bar for developer productivity thanks to all the great SDK work that was born out of Microsoft Surface. So I started thinking, “What about Silverlight 3/4 & WPF 3.5 SP1 developers?” There are all sorts of reasons why people will end up choosing those platforms. So I thought “There has to be a way to make common touch scenarios easier for them so they don’t have to write the same plumbing code over and over again.” Enter CodePlex and Expression Blend Behaviors. I started talking to my buddy James Chittenden who is the User Experience Evangelist (UXE) on my team. I floated this idea of simplifying common touch scenarios when using WPF 3.5 SP1 or Silverlight 3/4. The general idea was to start a CodePlex project that used Expression Blend Behaviors to provide a consistent way to implement common touch scenarios across WPF & Silverlight. We both agreed we should try to make it happen. James suggested we contact Joseph Juhnke, President & CEO of Tanagram Partners, about the idea. Joseph loved the idea. We all put our heads together and decided to start small with two common multi-touch scenarios that were fairly laborious to implement from scratch in both WPF 3.5 SP1 and Silverlight 3/4. From there, Tanagram Partners cranked away at building them out. I’m excited to announce that their CodePlex project has gone live:
Go check it out! They’re looking for community feedback.
Have you seen the Microsoft Surface Globe application in the Microsoft Touch Pack for Windows 7? There are plenty of videos of the app in action on YouTube: http://tinyurl.com/YouTubeSurfaceGlobe.
Would you like to build an app like this yourself? Thanks to InfoStrat.VE, you can! Josh Blake just announced the R2 release of InfoStrat.VE. Amongst other improvements, it includes support for the same touch interaction on Windows 7 you have available in the Microsoft Surface Globe app. Full details on Josh’s blog:
Robert Levy from the Surface team and Anson Tsao from the WPF team gave a great session on:
Multi-Touch on Microsoft Surface and Windows 7 for .NET Developers
The session is definitely worth watching if you are interested in building multi-touch apps on Windows 7. In the session, they announced the Surface Toolkit for Windows Touch which is a set of “Controls, samples, templates, and docs Coming shortly after the WPF4 launch.” Don’t let the Surface name fool you, the toolkit will work on any Windows 7 touch PC with the .NET Framework 4.0 installed.
This is exciting news that I have been keeping under wraps for quite some time. The toolkit will take Windows 7 multi-touch developer productivity for WPF4 developers to the next level. During the session, they shared that the toolkit will include:
Common controls optimized for Multi-Touch
Controls design primarily for Multi-Touch
Essential Multi-Touch UX Functionality
Hearing all of this is, of course, a bit of a tease since the controls won’t be available for a while, but exciting news nonetheless. The good news is that the Surface team also announced that the Surface SDK is no longer “by invitation only.” You can download it from http://surface.com/developer. Since the toolkit is a subset of existing Surface 1.0 SDK assets ported to WPF4, you can get a head start by evaluating the Surface 1.0 SDK. If your development cycle is far enough out, you might even want to consider building your app on the Surface 1.0 SDK and porting it to WPF4 / Windows 7 when the toolkit is available. Of course, you will have to stick to the subset that is being ported to WPF4, but your code will only need minimal changes (if any) to run on a Windows 7 PC once the toolkit is released.
I’ve been waiting for this to happen! The Surface team ported their Manipulation and Inertia APIs to Silverlight 3+. They’ve made them available for download at:
This is a must have set of APIs if you are interested in building multi-touch solutions on Windows 7 with Silverlight 3+.