Tag Archives: Silverlight

Multi-Touch Dev Dinner this week in Reston, Va

digg_url = “http://blogs.msdn.com/devkeydet/archive/2010/02/22/multi-touch-dev-dinner-this-week-in-reston-va.aspx”;digg_title = “Multi-Touch Dev Dinner this week in Reston, Va”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

In case you missed it through the DevDinner tag on my team blog (official place for Developer Dinner posts), MSDN Flash, or http://communitymegaphone.com

Timezone: Eastern Time

Start Time: 2/24/2010 6:00:00 PM

End Time: 2/24/2010 8:00:00 PM

Title: Microsoft Developer Dinner: Hands-on Natural User Interfaces: Multi-touch development with Silverlight and WPF 4

Description:
The Natural User Interface (NUI) is the next revolution of human-computer interaction. Microsoft Surface has shown the potential of multi-touch NUIs to uniquely engage users, and multi-touch tablets and displays are becoming more and more common. This talk is focused on how you can create multi-touch NUIs for these devices. You will learn the difference between manipulations and gestures, when to use each, and how to implement specific NUI design concepts with both Silverlight and the WPF 4 Touch API. The differences between the Silverlight and WPF 4 Touch APIs will be highlighted. You will hear about the roles of the Surface Toolkit for Windows Touch and the Microsoft Surface Manipulations and Inertia Sample for Silverlight and how you can use them to jump-start your applications. The open-source multi-touch Bing Maps 3-D WPF control, InfoStrat.VE, will also be demonstrated. If you are interested in rich, engaging multi-touch interfaces for the web or client, then you need to attend this talk!

Website: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440485&Culture=en-US

Event Type: Other (in-person)

Location:
12012 Sunset Hills Road
Reston, VA, 20190

Lat/Long: 38.954957, -77.358214

Audiences: Developer.

Announcing touch.codeplex.com


digg_url = “http://blogs.msdn.com/devkeydet/archive/2010/02/12/announcing-touch-codeplex-com.aspx”;digg_title = “Announcing touch.codeplex.com”;digg_bgcolor = “#555555”;digg_skin = “normal”;

http://digg.com/tools/diggthis.js

digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;


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:


http://touch.codeplex.com/


Go check it out!  They’re looking for community feedback.

FOLLOW UP: DevDinner – Silverlight 4, WCF RIA Services, MVVM

Ok, this is a first!  I have always had good intentions of getting the follow up material for a developer dinner out before the dinner started.  However, my schedule inevitably has gotten in the way.  I can finally say MISSION ACCOMPLISHED.  Here are the decks and sample downloads:

Silverlight 4 Deck

WCF RIA Services Deck

SketchFlow & MVVM Deck

MVVM Sample App

WCF RIA Services + ViewModel Sample App

NOTE: The WCF RIA Services + ViewModel Sample App uses the MVVM approach from http://tinyurl.com/riasvcs-viewmodel.  Brad Abram’s code was written using an older version of WCF RIA Services.  There were a few breaking changes in the November release.  I went ahead and ported the MVVM and Unit Testing helpers to work with the November release of WCF RIA Services.  In the sample, ViewsHome.xaml does not use MVVM.  It uses DomainDataSource embedded in the XAML.  ViewsMvvmHome.xaml implements the same scenario, but using the MVVM approach Brad describes in the link above.

Bing Maps roadshow in Reston

Want to get up to speed on the latest release of Bing Maps including both the Ajax and Silverlight controls as well as the SOAP web services?  Don’t miss the upcoming roadshow in Reston, Va.  Details:

http://www.bing.com/community/blogs/govmaps/archive/2009/11/24/bing-maps-roadshow-coming-to-reston-virgina.aspx

“At this event, experts will provide an overview of Bing Maps as a powerful visualization tool for geographic and location-based information. With highlights of scenarios such as locators, fleet/asset tracking, data visualization portals, and location intelligence, we’ll present a deep dive into the Bing Maps Platform, including details on specific features, AJAX, Web Services, and new Silverlight APIs.

We’ll also review exciting recent enhancements, exploring ways to integrate with GIS systems and leverage SQL 2008 spatial features, as well as other related tools and technologies.  When you meet the experts, you’ll learn solution implementation and best practices―and you’ll leave with the tools and resources to tap the power of location using Bing Maps.

Event Summary:
1:00 – 2:15  Introduction to Bing Maps, Solution Overview, and Demos
2:30 – 3:30 Deep Dive on Architecture and APIs
3:45 – 5:00 Best Practices, Data Integration, and Future of Bing Maps”

EventToCommand + DataStateBehavior eases MVVM pain

 

MVVM is a pattern.  There are all sorts of MVVM frameworks popping up that help make implementing the pattern easier.  If you select the MVVM tag off of www.codeplex.com, you will find a number of them:

http://www.codeplex.com/site/search?TagName=MVVM&ProjectSearchText=%22MVVM%22

One I have recently grown fond of is http://mvvmlight.codeplex.com/.  The reason I like this one is because they have built an Expression Blend Behavior called EventToCommand.  Details for the behavior:

http://blog.galasoft.ch/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand-behavior.aspx

As the post says, ‘EventToCommand is used to bind an event to an ICommand directly in XAML.”

This is WAY COOL!!!  EventToCommand helps overcome commanding challenges in Silverlight.

I love Blend Behaviors.  If you haven’t looked into them, YOU MUST!  Every WPF and Silverlight developer should be using them (where applicable).  “A Behavior is in essence a reusable piece of interactivity that can be applied directly to user interface elements…”

Here are some resources:

Good Overviewhttp://tinyurl.com/BehaviorsOverview

More readinghttp://tinyurl.com/BehaviorsTriggersActions

Expression Blend 3 SDKhttp://tinyurl.com/blend3sdk 

Lots of folks creating and uploading them to Expression Galleryhttp://tinyurl.com/BehaviorsGallery

Behaviors from the Blend Teamhttp://expressionblend.codeplex.com/

Behaviors are part of the Blend SDK.  There is a lot of confusion about the Blend SDK because people think you have to buy Blend to use it.  You don’t!  You can download it from http://tinyurl.com/blend3sdk and use it straight from Visual Studio.  Blend definitely makes wiring up Behaviors easier so you should it for that if you are already using Blend!

The samples you can download from http://expressionblend.codeplex.com/ include DataStateBehavior and DataStateSwitchBehavior.  Peter Blois has a good post on these behaviors:

http://blois.us/blog/2009/04/datatrigger-bindings-on-non.html

DataStateBehavior/DataStateSwitchBehavior provide a nice clean way to change values in your ViewModel that result in initiating animations in your View.

I’ve been wanting to whip up a simple sample that shows both EventToCommand and DataStateBehavior/DataStateSwitchBehavior.  Unfortunately, I don’t have the time right now to do so.  Instead of sitting on this, I decided to blog about it first, then share a sample/video when I get around to it.

Silverlight touch just got easier

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:

http://tinyurl.com/SurfaceManipSilverlight

This is a must have set of APIs if you are interested in building multi-touch solutions on Windows 7 with Silverlight 3+.

Another example of Silverlight used in the US Government

Adam Kinney just published a Channel 9  interview about another use of Silverlight in the US Government:

U.S. Army using Silverlight for Resourcing Troops

“Dan Hickman from ProModel tells the story of converting their Predictive Troop Resourcing application for the U.S. Army from a Windows Forms application to a Silverlight-based application. Reusing existing .NET code, working with familiar controls from IdeaBlade, and helping to get Silverlight on the approved browser plug-ins list for the Army; ProModel was able to build the application in a very short amount of time.”

I just watched it myself.  Worth watching…

Hidden gems in the gaming starter kit

Yesterday I blogged about the SketchFlow starter kit and how great I thought it was.  Well, last night, I went ahead and tried the Venture into Gaming with Behaviors in Expression Blend 3 starter kit from:

http://adamkinney.com/Blog/4-Expression-Studio-3-Starter-Kits-available-for-download

Much to my surprise, this felt more like a Blend 3 Fundamentals through Building a Game.  To understand what I mean, here are the individual modules in the kit:

01_BLN03SP1EN720_Organizing_and Importing_Assets into_Expression_Blend

02_BLN03SP1EN720_Creating_the_Game_Interface_Using_Expression_Blend

03_BLN03SP1EN720_Understanding_Layout_Containers

04_BLN03SP1EN720_Creating_a_User_Control

05_BLN03SP1EN720_Adding_and_Applying_Behaviors

06_BLN03SP1EN720_Adding_Game_Walls_and_Creating_Animation

07_BLN03SP1EN720_Animating_Controls_with_the_Visual_State_Manager

08_BLN03SP1EN720_Working_with_Texts_and_Embeding_Fonts_with_Expression_Blend

09_BLN03SP1EN720_Adding_Audio_Resources_to_a_Silverlight_Game

10_BLN03SP1EN720_Publishing_and_Testing_Your_Silverlight_Game

If you are looking to warm up to Blend a bit more through a video walkthrough + hands-on-lab kind of approach, then I’d definitely recommend this kit.  If you already understand these concepts, then you might want to skip this one.  On the other hand, it is kind of fun to see how easy it is to build a simple game with the skills you already have.

The biggest nugget for me was the module on Behaviors.  If you haven’t looked at Behaviors, then GO DO IT NOW.  Here’s a good post on behaviors:

http://team.silverlight.net/announcements/product-feature-highlight-expression-blend-3-ndash-behaviors/

“A Behavior is in essence a reusable piece of interactivity that can be applied directly to user interface elements in Expression Blend.”

I don’t remember where, but I saw someone describe Behaviors as "ASP.NET AJAX Control Extenders for Silverlight/WPF."  Not a bad way of describing them if you are familiar with the concept of ASP.NET AJAX Control Extenders.

Once you have wrapped your head around Behaviors, you’ll want to check out the following two links to download more:

http://gallery.expression.microsoft.com/en-us/site/search?f%5B0%5D.Type=Tag&f%5B0%5D.Value=Behavior

http://expressionblend.codeplex.com/

In general, http://gallery.expression.microsoft.com is a great resource.  There are all sorts of useful things to download there including Art/Design assets, Web Templates, Samples, Themes, Behaviors, Code Snippets, Tools/Addins.

Get up to speed on SketchFlow FAST

SketchFlow is a feature of Expression Blend 3.  If you aren’t familiar with SketchFlow, then you should check out:

http://www.microsoft.com/expression/products/SketchFlow_OverView.aspx

“SketchFlow revolutionizes how quickly and efficiently you can demonstrate your vision for an application. It provides an informal and quick way to explore, iterate and prototype user interface scenarios, allowing you to evolve your concepts from a series of rough ideas into a living and breathing prototype that can be made as real as a particular client or project demands. This rapid, iterative and cost effective approach to prototyping allows you to concentrate on what matters most, being creative and building the best solution for your client, on time and within budget.”

Digging into SketchFlow has been on my TODO list for quite some time.  In many ways, I am glad I hadn’t gotten around to it.  A week or so ago, Adam Kinney blogged about:

4 Expression Studio 3 Starter Kits available for download

One of the starter kits is on SketchFlow.  I just finished it.  If you want to get your head around SketchFlow fast, then this is the resource for you!

Prism Visual Studio Templates (including MVVM)

Prism is:

“The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications.”

What most people find, once they take the time to dig in to Prism, is that it is MUCH more.  Prism has guidance on how to build an app that targets both Silverlight & WPF, has some plumbing that makes MVVM easier in Silverlight apps by providing a basic commanding implementation, etc.  However, the learning curve to get proficient with Prism can be a turnoff for some.  Even once you “get it,” you then realize that there is a fair amount of Visual Studio solution/project setup just to get to the point of being able to start building your parts of the application.  The good news is that David Hill has just released some templates for Visual Studio 2008 to make the basic setup for your Prism based apps much easier:

http://blogs.msdn.com/dphill/archive/2009/05/29/prism-quick-start-kit.aspx

http://blogs.msdn.com/dphill/archive/2009/06/15/prism-quick-start-kit-update.aspx

I just went through the walkthrough in the first link.  Here is what you get after the “Prism Shell” and “Prism Module” templates:

image

You get the skeleton of a basic composite application using MVVM.  I think this is a big time saver.  I will definitely be keeping an eye out as David evolves the templates / quick start kit.

UPDATE: I was so excited to share my discovery of David’s work that I forgot to add a few more helpful resources I have found:

Code Snippet for Prism DelegateCommand

A code snippet to quickly write Prism commands