The WebMatrix experience
Microsoft’s web platform IIS is a pretty decent piece of software that can host a multitude of technologies like ASP.NET, PHP and WCF. It’s an excellent server product, but it’s tricky to use ad hoc on desktops. IIS configuration typically requires a fair amount of geeky actions and a minority of desktops have IIS running, installed and correctly configured. Installing, evaluating and using web applications have pretty much been a developer/administrator thing.
This is no longer the case – if you need to see it to believe it, check out this video, showing how you can subscribe to Composite C1, download, install and run it and set up a fully featured demo website – in less than 110 seconds!
Enter Web PI and WebMatrix
Back in January 2009 Microsoft released Web Platform Installer (Web PI) which somewhat made it easier to find and deploy web apps like WordPress and DotNetNuke on IIS, but it really didn’t fundamentally change the fact that only developers and administrators could install, evaluate and use web applications. Today Web PI have progressed to version 3 beta and it’s a gateway to a quite interesting new piece of technology dubbed WebMatrix.
Microsoft call WebMatrix things like "development suite" and "everything you need to build websites using Windows" but for starters think of it as a simple and smart Windows application which let you easily run web applications without any of the fuss IIS gave you. Any Windows super user can operate it and there is no configuration.
Web PI enable you to easily find, download and install popular web applications like nopCommerce, phpBB, BlogEngine.NET, WordPress, DotNetNuke and Umbraco. Web PI also enable you to install other products from atom feeds you simply add as URLs. WebMatrix on the other hand enable you to get web applications instantly up and running and ready for use. Collectively Web PI and WebMatrix enable just about anyone to dig into web applications and from a developer and administrator point of view it just became insanely easy to download and evaluate products you find interesting – you can literally download, install and start a web application in less than one minute, without leaving a trail of websites on your IIS.
Installing the bits
To prepare for the WebMatrix experience you install Web PI 3 and then install WebMatrix from inside Web PI. This is so straight forward that I suggest you try it out right away:
- Go to http://www.microsoft.com/web/webmatrix/download/ and click the huge green "Download" button.
- Run the installer and install Web PI 3. Note it’s currently in beta.
- Inside Web PI 3, select the tab "Getting Started"
- Click the big gray "Install WebMatrix" button and install. This can take some time.
- Close WebMatrix for now and return to Web PI.
Experiencing WebMatrix with Composite C1
To show the full WebMatrix experience – "just 1 minute from app selection time to run time" – I’ll use Composite C1 as a sample. First we add a custom feed to Web PI - a one time thing - and then start the install:
- Click the "Options" link in the lower left corner of Web PI.
- In the "Add feed" textbox paste in the following URL:
- Click the "Add feed" button and then the dialogs "OK" button.
You now have a new "Composite C1" tab which will stay untill you delete the custom feed.
- Select the "Composite C1" tab.
- Check the checkbox next to "Composite C1 CMS".
- Click the "Install" button below.
- When prompted about Web Server to use, select "WebMatrix".
- Click "Continue", click "I Accept"
Web PI 3 beta has a small bug here – if you haven’t installed WebMatrix yet the WebMatrix option will still be available, but the installation will die with an exception. If you experience this, just install WebMatrix on ‘Getting Started’ and install Composite C1 again.
After a few seconds – depending on your download speed – the web application is installed and you get a "Launch" button. Click it to launch the site in WebMatrix.
Composite C1 require no ‘extra elements’ like SQL Server or mySQL but if it did Web PI would ensure that these elements was installed and setup for you automatically - which is very nice indeed.
Running Composite C1 and setting it up
To run the website, simply click the "Run" button in the WebMatrix toolbar – click on the arrow and select Firefox if you have it, otherwise IE. Your web application is now running, you are browsing it and it’s ready to use. It's that simple.
WebMatrix comes with its own web server which is completely independent from IIS and this web server is started along with your site and is stopped again when you close WebMatrix. This means you should keep WebMatrix running while you work on the website.
Here is how to quickly get a demo site up and running in Composite C1:
- Click "Start Composite" in your browser.
- System health is checked, hopefully you are all green. Click "Next".
- Accept the license – in short this is an evaluation version only. Click "Next".
- Click the "Demo Websites" radio button and then click "Next".
- Select a language – all auto created content is formulated in English but your language selection should reflect what you would replace it with. You can just select "English (US)" for evaluating and click "Next".
- Specify a password and your preferred regional settings (how dates and numbers are formatted when you manage content).
- Click "Start C1"
- Wait – the demo website is being downloaded along with some feature packages and everything is being installed and initialized. It takes a minute to complete.
- The C1 Console is launched and you are automatically logged in.
You can browse around in the C1 Console, edit and publish pages etc. and browse the published website in the other browser window. In short you have a fully featured CMS running as well as a demo website.
Beside from the first time setup actions all we did was locate a web application in Web PI and then click a few buttons to install, launch and run it. This should bring you a wow experience if you are familiar with the burdens of managing many temporary websites using IIS. It’s very easy compared to what’s going on under the hood!
What else is in WebMatrix?
WebMatrix come with its own Web Gallery like the one Web PI has, just much easier to navigate – it’s more restricted (you can’t add custom feeds) and only show featured web applications where Web PI also feature developer and server tools. WebMatrix is probably intended as a standalone tool for front-end developers that want to create new websites using well known web applications and in that light it could make sense hiding the technical products. The lack of custom feed support is a bit strange though.
There is also a "My Sites" directory where all the sites you create are available. You can easily create multiple instances of a web application and switch between them. I failed to locate the "rename site" feature and since sites are automatically named when created you end up with a bunch of sites named ‘AppName’, ‘AppName2’, ‘AppName3’ making it impossible to use if you have many sites cooking – let’s assume this is fixed in the final release.
There is a "Publish" feature – I never got it to do anything but hang with a ‘Looking up web hosting offers…’ message, but I guess the feature name pretty much says it all. Microsoft is probably going to route a huge amount of web hosting customers through this channel – WebMatrix will be used by novice developers and front-end developers and neither group care for hosting related topics if they can limit it to a "Publish" wizard that send their site to a cloud. You can also configure the publish action to use good old FTP.
In general WebMatrix isn’t bloated with features to say the least, but this feels like a good thing - the application is extremely easy to use and does what it’s supposed to do – enable quick and easy deployment of web applications.
Beside from the ability to install, manage, run and publish web applications WebMatrix also sport some tools for development:
- Website file access and a fairly decent code editor with syntax highlighting and auto indent, but not much more. If you want Intellisense, drag-and-drop etc. you still use your favorite dev tool.
- HTTP Request monitoring – if you want to check out what requests are hitting your website and how long they take to complete you got it, but don’t expect to find POST data.
- Access to launch Visual Studio – Microsoft call it "seamless integration" which I guess someone in marketing invented. As far as I can see you can just launch VS next to WebMatrix and if you F5 in VS you have two web servers running, hosting the same physical site. Hopefully you can fairly easy attach the VS debugger to the WebMatrix web process, but I haven’t tried it. I wouldn’t mind a stronger integration between the two. Access to other tools like the Eclipse IDE would probably make WebMatrix more appetizing to some developers.
- SEO tool – I guess they had the code lying around and just threw it in there. It will show you what pages are missing description meta tags, image alt attributes etc. It’s useable and a nice touch, but I would have preferred time was spend on adding features like renaming web sites.
- Database administration – I haven’t used this feature since Composite C1 doesn’t require a SQL database (Composite C1 use LINQ and by default just run on XML files. C1 can upgrade data to a SQL Server if needed).
The WebMatrix Reloaded
WebMatrix is a major game changer in the web application market - WebMatrix can be summed up like this:
- An easy-to-use Windows application which can host web applications you work on
- A set of tools for easily installing, managing and publishing web applications
- Easy access to popular web applications
- Very basic file editing and request monitoring tools
- Complexity and flexibility have been clinically cleansed from the UI
The group of people who can now install, adapt and deploy web applications is vastly expanded with this approach and most interestingly the newly empowered members of the group are the true users of many of the web applications available. A great example is Composite C1 – we have dedicated most of our visible features to front-end developers, XSLT developers and users and with WebMatrix they can now access and evaluate us directly. That’s pretty amazing and a very positive change from an ISV point of view.
If you do web development and haven’t tried WebMatrix yet I suggest you go through the hands-on steps above. Even though Microsoft touts this as a "light developer" tool chances are that you will find it convenient in your daily development. We are already using it a lot – our build server spits out fresh Web PI install packages which are copied online. To get the latest build up and running we simply launch Web PI and click install. This way we can ensure that the latest build is used for testing, demos and add-on development.
There is a much more in depth description of WebMatrix on Scott Guthries blog - http://weblogs.asp.net/scottgu/archive/2010/07/06/introducing-webmatrix.aspx