We launched the Windows Web Application Gallery today at MIX. Bill demoed Web Platform Installer (Web PI) and the Web Application Gallery in the keynote, showing off how selecting an application from the Web App Gallery clicks off a targeted install experience through Web PI. See Introducing the Windows Web Application Gallery for details on how developers plug into the Web Application Gallery.
This initiative ties together our deployment platform (Web Deployment Tool), our app discovery site (Web Application Gallery), and our Web Platform discovery and install point (Web Platform Installer). It also raises awareness and pull-through for other IIS Web extensions. From an interop perspective, simplifying how PHP apps install is the natural evolution from our improved app hosting support with FastCGI.
We spent a lot of time with the open source community to figure out a model that works will for the community. We don't snap shot code. We ask the open source community to follow the Web Application Gallery Principles, which includes adding Web Deployment Tool support to an existing ZIP package. We pull down the packages from the community download pages. Our goal is to work with the communities on how to deploy and run well on IIS for millions of Windows users.
We focused on hoster scenarios too, where a control panel can integrate with the ATOM feed that we use with Web Application Gallery. DotNetPanel and cPanel are both working on integration right now for their next release.
We worked very closely with the NextWeb marketing team to build the new Microsoft Web platform site, which includes the Web App Gallery. I love the site, it looks amazing.
The Power of Pull-Through
We talk a lot about Web Platform Installer because that is what the user sees in the app install experience. Equally compelling is what the Web Platform Installer actually does, which is to pull through the right dependencies for applications. Dependencies includes elements of the Microsoft Web stack (and PHP if needed). Web PI also provides a window into the many new free Web extensions that the IIS team delivers, making it easy to stay up to date with the innovations that we're doing on the Web server.
The automation and pull-through of the right dependencies gets more exciting when you take a peek under the hood. Let's take as an example a new Windows Server 2008 SP1 x64 machine, without the Web server role configured. If you use Web PI to install WordPress, Web PI wil handle 17 dependency installs that includes Windows components (the components that IIS ships "in-the-box" with the server), free IIS Web extensions (like URL Rewrite 1.0), and PHP before laying down WordPress. When the user is done (and assuming MySQL is pre-installed), the user can launch WordPress and started blogging.
Note that in this beta, Web PI does not install MySQL; users can follow this MySQLwalkthrough to manually set it up.
Working With Web App Gallery Communities
Our 10 community applications at launch (WordPress, Acquai Drupal, Gallery 2, SilverStripe, DotNetNuke, SubText, DasBlog, Umbarco, ScrewTurn and BlogEngine.NET) have been great to work with over the last few weeks. What I really appreciated was the great feedback that we got on different aspects of the program from the communities.
The communities were extremely generous with their time and input. It helped shape the direction of the Web Gallery/Web PI app engagement. The developers we worked with were patient enough to explain their feedback on all things from legal to ACL logic to customer support. Not to mention, we discovered that our communities could also be quite creative when we accidentally asked for a 80 char description of their apps instead of an 80 word description -- we got some pretty poetic haikus. :-)
Technically speaking, these communities made changes to their publically available applications to work better with Windows as described in the Web Application Gallery Principles, including:
- Built manifest XML files, using our Application Packaging Guide, to streamline the installation of community applications on IIS.
- Reviewed and worked with us to set the right ACLs using our best practice ACL guidance.
- Translated some HTACCESS rules to web.config using our best practice guidance.
You can read more from some of the communities themselves about the Web Application Gallery engagement:
- Dries Buytaert on Acquia Drupal in Web App Gallery
- Sigurd Magnusson on SilverStripe in the Web App Gallery
- Chris Kelly on Gallery 2 in the Web App Gallery
- Scott Hanselman on DasBlog in the Web App Gallery
I personally have enjoyed this project a lot. The quality of these community applications is amazing, and I met some great people. I'm excited that we can play a role in making these applications run well on IIS/Windows.