Aug 11 2010

Windows Phone 7: Touch-based Gestures API in XNA Game Studio 4.0

Check out this great sample available in the XNA community site.

It includes code that uses the Gestures API to enable hold, drag, tap, flick, pinch gestures.


Aug 1 2010

Windows Phone 7, Multi-Touch Behaviors and the Surface samples for Silverlight

I’ve just finished some experiments using the Windows Phone 7 emulator and the “Microsoft Surface Manipulations and Inertia Sample for Microsoft Silverlightin order to enable Multi-Touch gestures using Blend Behaviors:

WP7BehaviorExpression

This new implementation, now available for download in the Expression Gallery, permits to enable Multi-Touch gestures (the usual translation, rotation, zoom and inertia) on separate User Controls available in the same container.

In this way you can apply distinct Multi-Touch manipulations (inertia included) to single elements using a single code in xaml:

<Grid x:Name="ContentPanel" Grid.Row="1">
  <Canvas>
      <Image Source="Images/Desert.jpg" x:Name="image1">
          <interactivity:Interaction.Behaviors>
               <WP7:MultiTouchManipulationBehavior IsInertiaEnabled="True" IsRotateEnabled="True" IsTranslateEnabled="True" IsScaleEnabled="True" MinimumScaleRadius="1" MaximumScaleRadius="720"/>
          </interactivity:Interaction.Behaviors>
      </Image>

      <Image Source="Images/Jellyfish.jpg" x:Name="image2">
          <interactivity:Interaction.Behaviors>
             <WP7:MultiTouchManipulationBehavior IsInertiaEnabled="True" IsRotateEnabled="True" IsTranslateEnabled="True" IsScaleEnabled="True" MinimumScaleRadius="60" MaximumScaleRadius="360"/>
          </interactivity:Interaction.Behaviors>
      </Image>
  </Canvas>
</Grid>

Alternatively you can use Blend inserting a reference to the project MultiTouch.Behaviors.Silverlight.WP7 and then dragging the MultiTouchManipulationBehavior from the Assets section to the  control to be touch-enabled:

Multi-Touch Behavior Blend

 

Considerations

This one has been an interesting exercise in porting code written for Silverlight to Windows Phone: I had only to create a Windows Phone 7 project and add to it the code already available for the Silverlight version and all worked well quite quickly.

Limitations

At this time the behavior works only in the fixed Portrait orientation of Windows Phone: if you change to Landscape the manipulation doesn’t work well. I’ll have to investigate further and currently I don’t have a physical device to test (I’d really love to have a device to try it :) ).

Happy Silverlighting!


Jul 26 2010

Silverlight 4, MEF and MVVM: loading different “MEF Modules” in the same Container

Today I’ve finally found some time to make modifications in the “MEF MVVM” project on Codeplex in order to:

  • create a new module using WCF RIA Services and dynamically load this it inside the “MEF module container” described in the previous post;
  • use the INavigationContentLoader interface and MEF Metadata to share the same container for the various “MEF Modules”;
  • use the new Cosmopolitan theme available for Silverlight Navigation applications;
  • refactor the code of the ViewModel base class using the one available in the latest Prism drops;
  • refactor unit tests inserting an apposite Mock service.

MEFMVVMRIA
The source code is available for download on Codeplex.

Happy Silverlighting!


Jul 8 2010

Silverlight proof points: Smooth Streaming Technology, NBC Online Video Monetization and Highlights Creation for the 2010 Winter Olympics

It’s now available a great technical whitepaper that highlights the usage of Silverlight Smooth streaming technology to stream live and on demand content for the 2010 Winter Olympics.

This Whitepaper goes into the technical details on how NBC in US inserted midstream ads and monetized the online content.

This is a follow on to the 4 case studies that were published in May 2010 on how NBC USA, CTV Canada, France TV, and NRK Norway  have used Silverlight and Smooth Streaming technologies during the Winter Olympics.

OlympicsWorkflow

The Technical Whitepaper covers the following topics:

- A Solution Overview;

- Clip Creation and Ad Insertion;

- Rough Cut Editor;

- Inserting Ads, Ad Templates, Ad Logic;

- Ads delivered in VOD;

- Monitoring Ads.

 

 

Click here to read the article and… Happy Silverlighting!


Jul 5 2010

Windows Phone 7 Multi-Touch Behavior videos #wp7dev

Some time ago I’ve started a Codeplex project dedicated to multi-touch, available on Codeplex at http://multitouch.codeplex.com.

The goal of this project is to provide an unified interface for Silverlight, WPF and Windows Phone 7 in order to provide multi-touch support using a visual approach via the concept of Behavior available in Expression Blend.

Recently I had the honor to welcome in the project a pillar of the Silverlight community, Laurent Bugnion, who is working on the Windows Phone 7 version of the Behavior:

Laurent has just published on his blog two awesome videos to get started with this new Behavior, and has created a specific section on his site http://www.galasoft.ch/touch to announce updates and publish content.

A special thanks to Pete Blois of the Expression Blend team for his help and contributions.

Stay tuned as we’ll be posting updates very soon :)

Happy Silverlighting!


May 21 2010

Enabling Multi-touch gestures in WPF using Expression Blend 4 RC and the TranslateZoomRotate behavior

I’ve already blogged about adding multi-touch support to Silverlight applications using Blend behaviors (you can also read my italian language article).

This is a powerful and simple approach which is now available in WPF using Expression Blend 4 RC and the TranslateZoomRotateBehavior.

Let’s try to build a simple example:

1 – Open Expression Blend and create a new WPF project:

 2 – Drag a Rectangle in the MainWindows.xaml:

3 – Let’s add multi-touch gestures and inertia effects to the rectangle selecting the Assets->Behavior tab and dragging the TranslateZoomRotateBehavior inside the rectangle:

4 – Let’s examine the Properties:

It’s possible to set the supported gestures (All, None, TranslateX, TranslateY, Rotate, Scale), the constrainToParentBounds modality, the Minimum, Maximum Scale and the Rotational and Translate Friction associated to the inertia.

Let’s select the constrainToParentBounds check box and run the project using the Project->Run Project menu:

Cool, Multi-touch and inertia effects are now enabled for the rectangle without writing a line of code!

And this is the generated xaml:

<Window
	xmlns="http://schemas.microsoft.com/winfx/ 2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/ 2006/xaml"
	xmlns:i="http://schemas.microsoft.com/expression/ 2010/interactivity"
	xmlns:ei="http://schemas.microsoft.com/expression/ 2010/interactions"
	x:Class="WpfApplication1.MainWindow"
	x:Name="Window"
	Title="MainWindow"
	UseLayoutRounding="True"
	Width="640" Height="480">

	<Grid x:Name="LayoutRoot">
		<Rectangle Margin="149,106,133,191" Stroke="Black">
			<i:Interaction.Behaviors>
				<ei:TranslateZoomRotateBehavior ConstrainToParentBounds="True"/>
			</i:Interaction.Behaviors>
			<Rectangle.Fill>
				<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
					<GradientStop Color="Black" Offset="0"/>
					<GradientStop Color="#FF8F98CA" Offset="1"/>
				</LinearGradientBrush>
			</Rectangle.Fill>
		</Rectangle>
	</Grid>
</Window>

The source code of the project is available for download here.


May 4 2010

Slides and Code from my Silverlight 4 – MEF webcast

Here you can find the sample code and slides (in italian) from my webcast around Silverlight 4 and MEF for the local XEdotNET user group.

The samples contain the following topics:

  • Simple composition using the CompositionInitializer;
  • Multiple Exports;
  • Metadata;
  • Custom Attributes;
  • Dynamic object creation with ExportFactory;
  • Simple MVVM example using MEF;
  • MEF, MVVM and PRISM EventAggregator;
  • Dynamic XAP loading using DeploymentCatalog;
  • MEF, MVVM and Blend Sample Data.

Click here to access the recording of the Live-meeting (italian language).

Hope this helps and Happy Silverlighting!


Apr 19 2010

WinToolbar for Silverlight available on CodePlex

If you are looking for a rich toolbar control for Silverlight, check out this project on CodePlex by Silverlight MVP Braulio Diez and Sebastian Stehle:

http://wintoolbar.codeplex.com/


Apr 13 2010

Microsoft Silverlight 4 Business Application Development: Beginners Guide

The new book “Microsoft Silverlight 4 Business Application Development: Beginners Guide” by Cameron Albert and Frank LaVigne is now available:

This is the overview taken from the publisher site:

  • An introduction to building enterprise-ready business applications with Silverlight quickly.
  • Get hold of the basic tools and skills needed to get started in Silverlight application development.
  • Integrate different media types, taking the RIA experience further with Silverlight, and much more!
  • Rapidly manage business focused controls, data, and business logic connectivity.
  • A suite of business applications will be built over the course of the book and all examples will be geared around real-world useful application developments, enabling .NET developers to focus on getting started in business application development using Silverlight.

 

I’ve just received my copy and I’m looking forward to read it in the next days!

 

Update: review on Amazon

I’ve just inserted a review on Amazon, you can read it here:

A different approach for learning Silverlight

The writing style is clear. The authors guide the reader in learning many topics about Silverlight by using practical examples, starting from the basics and arriving to Rich-Media, Deep Zoom, WCF RIA Services and an introduction to the Expression suite.
The included source code for the WCF RIA examples is not updated for the latest version of the framework, however it can be easily upgraded to work with Silverlight 4 RTW.
It’s not a complete reference to Silverlight 4 but it contains useful samples for real scenarios.”


Apr 12 2010

Microsoft Surface Toolkit for Windows Touch Beta available for download

The Microsoft Surface Toolkit for Windows Touch Beta is a set of controls, APIs, templates, sample applications and documentation currently available for Surface developers.

With the .NET Framework 4.0, Windows Presentation Framework 4.0 (WPF), and this toolkit, Windows Touch developers can quickly and consistently create advanced multitouch applications for Windows Touch PCs.

This toolkit also provides a jump-start for Surface application developers to prepare for the next version of Microsoft Surface. Use it to take advantage of the innovative Surface technology and user interface to develop your own rich and intuitive multitouch experiences for a variety of Windows Touch devices.”

Links:

Enjoy!