I finished implementing version 0.1/beta1 of a multitouch behavior for Windows Phone 7 and need beta testers.
What is the Windows Phone 7 multitouch behavior?
Multitouch in Windows Phone 7 is not super hard, but there are a few things that need to be taken in account (such as the orientation of the device). In addition, it is very easy to get unwanted effects on a small screen (for example that the element becomes too big/too small). Also, in some cases the proportionality should be kept for a scaled element. The multitouch behavior encapsulates all these concerns and expose a set of easy-to-understand properties to govern its usage. These properties can be databound, so you can even change their value during runtime.
In addition to this, the multitouch behavior has two modes that make it easier to debug a multitouch application:
- A debug mode, in which debug information is written to the screen. This is super useful because it is really hard to debug a multitouch application. Setting breakpoints interrupts the manipulation! Having the debug info on the screen helps to understand why things are not working exactly as you want.
- A visualization of the first finger that was pressed on the screen. This is especially useful for demos, where the audience does not see your fingers on the screen of the emulator. It is also useful when debugging. The finger is represented by a small orange ellipse drawn on the screen and moving as you move your finger.
- I was not able to test on a real device yet. Microsoft, if you listen, writing multitouch code without a real device to test is super hard. You know I am a good guy, and I share my knowledge, please give me a development device… thanks!
- The visualization of the pressed finger works only for one finger at this time. More fingers should be visible in a further version.
Where will you publish it?
The multitouch behavior for Windows Phone 7 will be published on Codeplex, in the awesome project started by Davide Zordan that aims to provide a unified interface for multitouch in Windows Presentation Foundation, Silverlight and Windows Phone 7.
What is supported (and what is not)?
The following is supported in this first version:
- Translate manipulation: move an element on the screen.
- Scale manipulation: Use a “pinch” gesture to zoom an element in and out.
- Maximum and Minimum scale (optional): Avoid that an element becomes too large or too small.
- Proportional scale: Forces an element to stay proportional along the X and Y axis, no matter what.
- Debug mode (see above).
- Finger visualization (see above).
- Automatic support for orientation change.
- Rotate manipulation: this is not supported by the Windows Phone 7 Silverlight framework at this point. We are hoping to support it anyway in a future version, but it is unclear how.
- Inertia: in this version, inertia is not supported. We are hoping to get inertia working in a future version.
- I was not able to test the behavior when the device is held upside down. For the moment, this mode is not explicitly supported until I have a device where I can make sure that it works fine.
How do I know if I can apply?
You need the following to test the multitouch behavior:
- A computer with the Windows Phone tools (April CTP) installed.
- The computer’s screen must support multitouch (at least two points)
- You must make sure that the Windows Phone 7 emulator does indeed support multitouch on your computer (see below).
- (optional) you have access to a Windows Phone 7 device and can run applications on it.
How do I make sure that the Windows Phone 7 emulator supports multitouch on my computer?
Apparently not every multitouch computer supports multitouch in the Windows Phone 7 emulator. We heard that the PDC laptop (that was given to PDC attendees in 2009) does not support multitouch in the emulator.
To know if your multitouch computer qualifies is very easy with the following steps:
- Create a new Silverlight for Windows Phone 7 application in Visual Studio, Visual Studio Express or Expression Blend.
- Start the application.
- In the emulator, press on the Windows button to go back to the start screen.
- Press on the Internet Explorer tile.
- Navigate to a web page and try to zoom in using a pinch gesture.
If you are able to zoom in and out using the pinch gesture, your computer should be able to test the Windows Phone 7 multitouch behavior!
How do I apply?
Very simple: Send me an email (email@example.com) or send me your email address on Twitter (@lbugnion). I will send you a test application, instructions to make it work and a few questions that I would like you to answer to understand how the experience worked for you, and how it could be improved.
I will also be looking for people willing to write documentation (articles, etc…) for this component, so if you have the soul of a writer and have an outlet (blog, Code Project, etc) let me know and I will send you the preview code.
I am hoping to publish the code on Codeplex very soon after I get enough feedback. Of course all announcements will be made on this blog too, so stay tuned.