Have Windows Azure Platform features requests?

Submit and vote at:

Windows Azure Feature Voting Forum

http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting

SQL Azure Feature Voting Forum

http://www.mygreatwindowsazureidea.com/forums/34685-sql-azure-feature-voting

Microsoft® Codename "Dallas" Feature Voting Forum

http://www.mygreatwindowsazureidea.com/forums/35889-microsoft-codename-dallas-feature-voting

Love jQuery = Love ASP.NET Ajax Library

digg_url = “http://blogs.msdn.com/devkeydet/archive/2010/02/03/love-jquery-love-asp-net-ajax-library.aspx”;digg_title = “Love jQuery = Love ASP.NET Ajax Library”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

I’ve been covering ASP.NET AJAX and what used to be called the “Microsoft Ajax Library” ever since the first “Atlas” code drops.  ASP.NET AJAX has always offered Web Forms developers a relatively simple way of Ajax enabling their applications without forcing them to change how they write them through the the core Ajax Server Controls (ScriptManager, Timer, UpdatePanel, UpdateProgress), Ajax Extender Controls, and the 40 additional Server Controls in the ASP.NET AJAX Control Toolkit

What’s been lost in all of this is that all the magic that makes these server-side coding capabilities possible is what used to be called the “Microsoft Ajax Library.”  It’s a cross-browser JavaScript library that has always been available to use WITHOUT ASP.NET.  It’s just a set of JavaScript files that can be used with ANY web development technology.  Unfortunately, many people don’t realize it because there has been so much focus on ASP.NET AJAX (i.e. the integration of this core set of JavaScript libraries with ASP.NET to make AJAX for ASP.NET Web Forms easier).

Ok, on to my point about love and jQuery.  The next release of the ASP.NET Ajax Library has a heavy focus on making client-side Ajax programming easier. I’ve become a big fan of using jQuery and the jQuery syntax for client-side JavaScript.  There is very little overlap between jQuery and the ASP.NET Ajax Library.  They are a very complimentary match.  One of the many new capabilities in the ASP.NET Ajax Library is support for using the jQuery syntax.  There is so much “good stuff” in the next release for client-side Ajax developers.  I strongly encourage you to check out this PDC video:

Microsoft AJAX Library, jQuery, and Microsoft Visual Studio 2010

If you love jQuery, then you are going to love the next ASP.NET Ajax Library release. You not only get jQuery syntax support, but you get a simplified approach to loading scripts, a rich client-side templating / databinding / “interacting with server data” framework, the ability to instantiate the AJAX Control Toolkit controls easily using client-side code (again using the jQuery syntax), and more.

Here are some essential getting started links:

http://ajax.codeplex.com/

http://www.asp.net/ajaxlibrary/

http://www.asp.net/ajaxlibrary/learn.ashx

http://www.asp.net/ajaxlibrary/apps.ashx

The “learn” link above is the best place to start to wrap your head around all the new capabilities in the upcoming release.  If you want to jump to the jQuery integration, take a look at:

http://www.asp.net/ajaxlibrary/HOW%20TO%20Instantiate%20Controls%20using%20jQuery.ashx

http://www.asp.net/ajaxlibrary/HOW%20TO%20Load%20jQuery.ashx

http://www.asp.net/ajaxlibrary/HOW%20TO%20Use%20the%20Calendar%20Control.ashx

Bottom line…  If you are planning on building an Ajax application, whether you are a .NET developer or not, then you really should check out what’s available in the ASP.NET Ajax Library.  Trust me, you are going to like itSmile.

Improving perceived WPF app startup performance with MEF and a Splash Screen

digg_url = “http://blogs.msdn.com/devkeydet/archive/2010/01/29/improving-perceived-wpf-app-startup-performance-with-mef-and-a-splash-screen.aspx”;digg_title = “Improving perceived WPF app startup performance with MEF and a Splash Screen”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

UPDATE (4/5/2010): I uploaded a newer version with a few minor tweaks.  I finally created a screencast for this sample:

http://tinyurl.com/WpfMefStartupScreencast

UPDATE (2/27/2010): I uploaded a newer version of the sample.  I fixed some bugs and added support for loading a ResourceDictionary using MEF.  I will be recording a Ch. 9 screencast soon.

I keep on finding all sorts of fun and interesting uses for MEF.  I just threw together a sample for a customer showing how to use a splash screen + MEF to follow the “Make the application main window appear as soon as the user double-click on the application’s icon, when possible perform do all other initialization after.” principle describe here:

http://blogs.msdn.com/jgoldb/archive/2007/10/10/improving-wpf-applications-startup-time.aspx

I plan on explaining the sample in a coming blog post.  However, I wanted to share the sample without explanation as soon as possible.  Get it here:

http://tinyurl.com/WpfMefStartupTipsTricks

I used Visual Studio 2010 beta 2 / WPF4 for this.

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 3D, WPF, and Windows 7 MultiTouch

Globe Screenshot

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:

http://nui.joshland.org/2010/01/infostratve-release-2-is-now-up.html

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.

Surface Toolkit for Windows Touch

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

image 

Controls design primarily for Multi-Touch

image

Essential Multi-Touch UX Functionality

image

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.

Great PDC session on SharePoint 2010 sandbox solutions

http://microsoftpdc.com/Sessions/PR10

I missed this session at PDC.  There were so many good sessions, it was hard to choose.  The good news is that the sessions are now showing up at http://microsoftpdc.com/Videos

I didn’t get to elaborate on sandbox solutions in any great detail during my recent developer dinner presentation on SharePoint 2010 due to time constraints.  However, this is a very important feature of SharePoint that you will want to dig into as you go explore SharePoint 2010.  Chances are the environment you will be deploying solutions to will only allow sandboxed solutions.

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+.