Archive for September, 2009

Microsoft Web Application Toolkits


Web Application Toolkits are designed to enable Web Developers to simply extend their web application capabilities by providing them with a packaged set of running samples, templates and documentation.

The goal for the Web Application Toolkits is to provide Web Developers with resources such as project templates, controls, and code samples along with simplified documentation all in a consistent packaged format that is easy to download and run in a very short period of time. One of the key criteria around the Web Application Toolkits is to enable Web Developers to get to an F5 (Run) experience very quickly to ensure that this is the right solution for their problem; How many times have you heard developers trying for hours to get a sample to work only to find it does not do what they expected. The expectation is that with the correct prerequisites installed using the Web Platform Installer, a Web Developer can have a Web Application Toolkit sample application installed and running in 5mins.

clip_image005 Web Application Toolkit for Internet Explorer 8 Extensibility

Today users can access rich information and services while they are browsing a site; it’s not a trivial task to expose this content to the same users when they are not on that site. The goal of this Web Application Toolkit is to leverage the new features in Internet Explorer 8 (Web Slices, Accelerators and Visual Search Providers) to extend the reach of your web site and services also to those users that are not on your site. The Web Application Toolkit includes a set of ASP.NET Web Controls that you can use to take advantage of these IE new features in your own Web application.

Check out the accompanying screencast.

clip_image007 Web Application Toolkit for Bing Search

Bing is a powerful new Decision Engine designed to help consumers accomplish tasks and make faster, more informed decisions. The Bing Application Programming Interface (API) provides developers programmatic access to Bing, offering flexible options for building or enhancing your site or applications. This Web Application Toolkit shows how to take advantage of the Bing API to add search capabilities to your Web site by leveraging the various search results that the Bing API provides, including Web content, images, news and videos, among others. Through this Web Application Toolkit you will also discover how to use ASP.NET AJAX and jQuery to provide an enhanced and more interactive end user experience when using the Bing API.

clip_image009 Web Application Toolkit for REST Services

Many Web applications today are starting to expose data as REST service interfaces, so it can be accessed through APIs by other tiers of the application or even by other applications. A RESTful web service is a simple Web service implemented using HTTP and the principles of REST. REST Services focus on resources; each one is represented by a unique URI, and users interact with them via their URI using the HTTP uniform interface. This Web Application Toolkit shows how to easily add REST service interfaces for an existing Web application. The Web Application Toolkit includes a sample REST service, two sample client applications that access the REST services, one using simple ASP.NET Web Forms and a second Web application using AJAX to asynchronously invoke the REST service and finally a custom project template for Visual Studio to make it very easy to build new REST Services.

Check out the accompanying screencast.

clip_image010 Web Application Toolkit for Mobile Web Applications

This Web Application Toolkit is designed to demonstrate how to extend an existing ASP.NET MVC Web application to provide access from mobile devices. To enable mobile access, the Web application should have views targeting each of the mobile devices to be supported. The MVC pattern helps you create applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements.  This Web Application Toolkit provides a component called MobileCapableViewEngine that enables the Web application to show the appropriate view depending on the device’s browser that is performing the request.   It also includes a sample site that provides different views for Windows Mobile, IPhone, and Blackberry devices.  

Check out the accompanying screencast.

clip_image012 Web Application Toolkit for Template-Driven Email

This Web Application Toolkit is designed to demonstrate how to generate and send dynamic, template-based emails from a web application. There are many common scenarios where notification emails need to be sent to end users. Examples of these common scenarios may involve notifying a user of their newly created account, sending a new password in respond to a forgotten password request, or emailing an alert under specific business circumstances, such as the creation of a order. Typically the E-mails sent from a Web application scenario are formatted as HTML, include CSS stylesheets, and images and need to be generated dynamically with custom or user-specific data.  This Web Application Toolkit includes samples that show how to use templates to generate these dynamic email bodies. 

Check out the accompanying screencast.

clip_image014 Web Application Toolkit for making Your Web Site Social

Adding social capabilities to your Web site allows you to attract new users, keep them on your Web site for longer and get them to come back more often. This Web Application Toolkit shows how, using a few lines of code with the Windows Live Messenger Web Toolkit, it is possible to add social capabilities to a Web site with instant messaging from a website to various client endpoints like Windows, Windows Mobile, Xbox 360 and Mac.  Behind the scenes is a powerful set of UI Controls and a JavaScript library that connect your website to the Messenger Service which is used by 330 million users around the world. 

Check out the accompanying screencast.

clip_image016 Web Application Toolkit for FAQs

The majority of web sites have the need to display a list of frequently asked questions to their users. Although it’s not difficult to create a simple set of FAQ pages, creating a great user experience that supports searching for FAQs, filtering, and paging, can become more difficult. Furthermore, this is often common functionality that has to be implemented repeatedly in multiple Web sites. This Web Application Toolkit is designed to provide a starting set of code including ASP.NET pages, data access logic, and database schemas, for integrating Frequently Asked Questions into your own ASP.NET MVC Web application.

Check out the accompanying screencast.

You can find the complete list of Web Application Toolkits here.

Web Deployment Tool has gone RTW

After 2 years of development and lots of customer feedback, Microsoft is proud to announce that the Web Deployment Tool has gone  RTW version 1.0!

You can now download the RTW version and use it in production, and it is fully supported by Microsoft Support.

Install our 1.0 RTW release from, available in x86 and x64.

Version 1.0, includes the following components:

  • Powerful APIs that allow you to deploy, sync and migrate web applications on IIS, and perform granular operations like changing IP bindings, site names and changing file structures on the fly. You can also create a new provider to sync a new type of resource.
  • Command-line tool (msdeploy.exe) that allows you to perform all the same operations available in the APIs.
  • User interface built into IIS Manager 7.0 on Vista, Windows 2008 and Windows 7 that allows you to create packages (zip files containing IIS config, content, databases and more) and install them.
  • Delegation framework and service built into IIS 7.0 that allows you to delegate tasks like installing applications and databases without requiring them to be administrators on the box.
  • Remote administrative service that works on IIS 6.0 and 7.0 to allow server-level synchronization by administrators.

So, what can you do with these components?

  • Migrate Web applications from IIS 6.0. Simplify the planning of your IIS 6.0 to IIS 7.0 migrations by determining incompatibilities and previewing the proposed changes before starting the process. Learning about any potential issues in advance gives you the chance to take corrective measures and simplifies migration.
  • Synchronize your server farm. Synchronize between IIS 6.0 > IIS 6.0 or IIS 7.0, and only sync the differences. The tool simplifies the synchronization process by automatically determining the configuration, content and certificates to be synchronized for a Web site. Optionally, specify additional resources for sync, including databases, COM objects, GAC assemblies and registry settings.
  • Package, archive and deploy Web applications. Package configuration and content of Web applications, including databases, and then use the packages for storage or redeployment. These packages can be deployed using IIS Manager without requiring administrative privileges. The tool integrates with Visual Studio 2010 to help developers streamline the deployment of Web applications to the Web server. The tool also integrates with the Web Platform Installer to allow you to simply and easily install community web applications.

Some of our favorite customer scenarios include:

  • Create application packages that contain all of the IIS config, content, databases and more, including parameters so that when the server admin installs the package, they are prompted to fill in parameters like SQL Server connection string.
  • Build an automated deployment system using our APIs, cmd-line or the Visual Studio integration, so that you can deploy daily from test to staging to production.
  • Allow your developers to directly deploy to the staging server without admin intervention, and lock down exactly what they can change (mark a folder as an app but not change the site’s binding).
  • Replace Application Center with a set of scripts or programs that call our APIs or cmd-line to sync multiple servers in a web farm.
  • Build a roll-back solution by taking a package of your live app, deploying the app_v2 package created in your dev environment, and checking for failures. In case of failures, automatically apply the v1 package or backup that you took.


Technorati Tags: Microsoft IIS Deployment

It’s called WebSpark ! (

Here is the OFFICIAL Description.

WebsiteSpark is a new global program, designed by Microsoft to help small professional Web development and design service companies succeed, by providing new business opportunities through connections with global partners and customers, support and training, and software tools – at no upfront cost. WebsiteSpark provides professional Web development and design companies with an innovative vehicle to get access to:

 Business Opportunities: Opportunities to expand their customer base and drive new business, by showcasing their capabilities and connecting with partners via the WebsiteSpark Marketplace and other Microsoft marketing and business networking vehicles.

 Support and training: Professional support from Microsoft and connections with WebsiteSpark Network Partners, Hosting Partners, and other Web developers and designers with complementary technologies or business models—an entire ecosystem that can provide a wide range of technical and business resources for every Web professional need.

 Software and solutions: Fast, easy, and immediate access to current full-featured Microsoft development tools and Web server production licenses at no upfront cost, to build, design and bring to market differentiated, innovative, and rich Internet sites.

Read ScottGu’s blog post about the program [ HERE ]

Advertising on the ASP.NET Web Site ?


We’re spending a LOT of time planning a complete re-vamping of the  www.ASP.NET web site.

Recently I came across this comment in a blog entry discussing what Microsoft should do to improve the web site.

The justification that the ads exist to offset the cost of running the site is indefensible for a company Microsoft’s size.

Though most folks don’t care about the ads and many folks tell us they even find them useful, this is not the first time I’ve hear this.

The last time I made a comment about the cost of running our little collection of web properties a “community member” with a healthy sense of entitlement basically called me a liar and demanded to see our accounting 🙂

Some times folks don’t want to hear it, or don’t “get it” but Microsoft is a company like any other.

A few notes as it pertains to operational funding at Microsoft.

  • Microsoft is not permitted by the government to print it’s own money. The company’s operating expenses are acquired by way of SALES, just like any other commercial entity.
  • If, after all is said and done, if there is any money “left over” from the difference between the COST of developing and supporting our products and the revenue from sales – it goes to the people who OWN Microsoft – OUR SHAREHOLDERS.
  • There is no “Vault” at Microsoft where teams go with their shopping cart to get the money they need to do what they need to do.

So as to avoid the nastiness I experienced that last time i discussed how much it costs to run the .NET sites, lets just agree it is a non-trivial amount of money.

Apart from “pure operational costs”, where do all the articles, videos, whitepapers, code, design, new features, etc come from ?  One way or the other, they all cost money. Some we pay for outright, some are paid for by way of the salaries of the Microsoft staff who have commitments to deliver those materials.

To me this seems like basic math (though maybe I’m missing some magic formula).

  • Everything costs money.
  • Each dollar can only be spent ONCE.

So given the costs of delivering the .NET community web sites and all the content they contain we can …..

  • Find ways to supplement our Microsoft budget in order to deliver MORE to our web site users.
  • Don’t supplement our operating budget (with things like ads) and do whatever we can with the budget we have. (Which clearly means less content for our developers.)

I’ve always assumed that our developers would prefer that we run ads in order to be able to afford to deliver more Videos, Samples, Articles, Whitepapers, Code, Features, etc.

Maybe I’ve been wrong about this.

Understand that we ONLY accept ads for things that are of interest to DEVELOPERS.

Given our traffic, we could make TONS of money if we sold ads for Cars, Hair Replacement, Viagra, etc. but we don’t. We only run ads for software development related products and services.

So, what would you suggest ?

  1. Keep the current model of Developer only ads discreetly displayed?
  2. Remove all ads and publish less content?
  3. Broaden the advertising policy to advertise “anything” and generate more content?
  4. Do something else (and you email me what to do and HOW to pay for it 🙂 )

Thanks !


Did you know Microsoft has a team in Developer Division that is specifically focused on Interop ??

Their latest coolness is a submission to Zend to add Azure support to their PHP Cloud Initiative.

Click HERE to read a detailed blog post from the Interop Team.

Expression SuperPreview – No VPCs required !!!

IE 6 doesn’t live happily side by side with IE 7 or IE 8

To do compatibility testing of a web page I usually have to fire up a VPC and access the page from a browser instance inside that VPC (one VPC for IE6, another one for IE7, etc.)

Lately I’ve started using “SuperPreview”.

It plugs in to Expression Web and lets you choose what browser to preview your page in (IE 6/7/8, Firefox)

Very cool !

Software Development Books

Visual Studio 2010 and .NET Framework 4 Training Kit


You are probably hearing more and more about the “next wave” for .NET Developers.

Check out the free training ……….

[ Click HERE to start getting up to speed on Visual Studio 2010 and .NET 4.0 ]

Technorati Tags: Microsoft .NET Training Free

Software Security Books



Back in June I posted about Murach’s Book – ADO.NET 3.5, LINQ, and the Entity Framework with VB 2008

It’s no secret that I’m a fan of Murach’s books.

I’m preparing to record a podcast on data access and so I pickup up this book.

In a word – BRILLIANT.

It covers the three primary data access technologies that matter to developers using current .NET development tools.

Detailed coverage of all three makes this book a no-brainer. I read it cover to cover and it has assumed a bit of high-value real-estate on my desk !!!!

Well, now it has a companion on my deck – the C# 2008 Version

[ Buy the VB Version Here ]

[ Buy the C# Version Here ]

Technorati Tags: Microsoft ADO.NET LINQ Entity Framework Book Murach