After the nearly complete disappointment of Launch 2010 Boston, I had given serious thought to not going to the MSDN Northeast Roadshow stop in Augusta, ME on Tuesday, May 11. I figured it would be little more than a regurgitation of what happened at last month’s event.
I’m glad I decided to go. What a huge difference.
In half the time, Jim O’Neil and Chris Bowen provided immeasurably more valuable and interesting information about Visual Studio 2010 and changes to Silverlight, multithreading, ASP.NET and an overview of Windows Phone 7. Here’s a recap.
Silverlight 4: Lately, listening to Microsoft describe a new Web technology brings to mind the phrase “a day late and a dollar short.” That’s certainly the case with Silverlight 4.
Admittedly, Microsoft has shifted the emphasis behind Silverlight to be less a clone of Flash and more an extension to the Web of Windows Presentation Foundation. But the “new features” O’Neil described on Tuesday were very much old technologies for Flash, and pretty much obsolete tech given HTML5.
Specifically, Silverlight 4 supports Web cams and microphones; TCP/UDP; printing; and a multiple-trust-level model that includes access to the file system, cross-domain requests and COM integration. Additionally, the XAML one writes to render Silverlight, while still different from WPF XAML, is a lot more like WPF.
Silverlight is, therefore, weaker than Flash and stronger than it at the same time. But it seems mostly moot, given that Flash itself is falling out of favor in response to the HTML5 specification’s API support for audio, video and other complex objects. Admittedly, there are things one can do in Silverlight — namely, presenting stored data and integrating existing COM components, such as text-to-speech or an interface to a proprietary business object / program — that one cannot do directly in HTML5.
That seems to me more likely to matter when making a corporate intranet or the like. I didn’t see much hope for Silverlight when it was introduced in 2007, and I still don’t see a future for it.
Parallel Programming: I admit I’m not as up-to-speed as I should be with parallel programming, largely because 99 out of 100 things I program are Web apps. So maybe Bowen’s presentation on .NET 4’s revisions to multithreading aren’t that exciting, but I found them fascinating.
One of the most interesting things .NET does is employ local work-stealing queues. In other words, each thread can queue, specific to it, tasks to perform; but if a neighboring thread has nothing to do, it can reach into that other thread’s queue and process the job, too. Basically, that means optimizing each thread to work almost constantly, which is, of course, a wholesale improvement in processing efficiency.
A couple of neat tricks Bowen showed that can be easily integrated into a current .NET project are Parallel.For and Parallel.Invoke. Parallel.For effectively lets you multithread a standard for loop; Parallel.Invoke lets you multithread a series of method / function calls.
ASP.NET 4 and Windows Azure: Once again, I get the feeling that Microsoft is a bit behind the times when it comes to Web development technologies. And while integrating Azure, Microsoft’s cloud computing service, into Web development is pretty progressive, the rest of the improvements to ASP.NET, especially Web forms, is more fixing things that were broken than making things better.
Notable in ASP.NET 4 Web forms is the ability to disable viewstate at the page level, but enable it on a per-control level; previously, one could disable viewstate for a specific control while enabling it on the page level.
IIS 7 also more closely integrates the ASP.NET engine, so that services such as membership can be extended to plain HTML pages.
Dynamic Data sites are improved by adding EntityDataSource to the list of available data sources; and the MVC aspects of ASP.NET have been improved, although a lack of time prevented O’Neil from getting into them in detail.
He did have an opportunity to briefly go over using Azure to host both the application and data for a Web site, which looks interesting; but given how cheap Web hosting is, and that most Web apps can happily live on a shared hosting solution, or on a third-hand server that would otherwise be junked, I don’t see Azure Web programming being of much use to most folks.
Windows Phone 7: Due to previous presentations running long, Bowen ran short of time to talk about Windows Phone 7; I think “abortive” is a good one-word description of how this presentation went.
Fortunately, Windows Phone 7 won’t hit the market until Christmas time, so maybe he’ll get another crack at it before then. Until then, check out developer.windowsphone.com to get the tools (including an emulator), see tutorials, etc.
Swag And Final Thoughts: This event included the same T-shirt and VS 2010 Ultimate trial disc as Launch 2010 Boston, but an upgraded notebook and pen. I declined them. But I did win an awesome, insulated lunch bag at the end of the event.
I swear my shining opinion of this Roadshow event has nothing to do with winning the lunch bag. Statistically speaking, it was difficult not to win; I’d put the ratio of prizes to people at 4-1. The giveaways included two copies of VS 2010 Professional, several Windows mobile mouses, books, totes and other very cool stuff.
So yes, it’s nice to have won something cool (no pun intended), but it’s far better to have had my time rewarded with useful information. This event really renewed my faith in MSDN support for developers and took a lot of the sting out of the disappointment of Launch 2010 Boston.
Let’s hope Microsoft continues to support the Northeast Roadshow for a long time to come, because it is, by far, the most valuable resource I’ve found for learning about Microsoft tools and technologies.
I recommend joining the Northeast Roadshow’s Facebook group. But remember, group Wall posts aren’t included in your news stream, so you have to physically go to the group’s page to see what’s happening.
All links in this post on delicious: http://delicious.com/dougvdotcom/msdn-northeast-roadshow-augusta-me-may-11-2010-recap