Friday, 25 March 2011

Thoughts and Musings about Microsoft WebMatrix

Webmatrix has been out for a while now and my initial thoughts when it arrived was “why?” and “what does this give you that can’t be done in the free versions of Visual Studio?”. So the only way to answer these questions was to download it and give it a whirl. After confirmation from ScottGu that it can easily co-exist next to Visual Studio (can’t live without it) I took the step and clicked download.

I’m not going to cover the installation process etc. here as its been covered a number of places and well its an installation process how interested in it are you really? ;-)

Initial thoughts

On firing up the IDE I was pleasantly surprised by the clean UI. It’s gone down the ribbon route (wouldn’t expect anything less from MS) and fits in well with the new mspaint (in Win 7) and Windows Live Writer to list a couple of applications.

The first main point that I found was I like the option of testing the sites in a multitude of browsers you have installed on your development machine. From a simple click of the button it will fire up in the specified browser. After issues with Firefox 3 and offline mode when on the commute to work and not working I’ve just tried this in Firefox 4 after upgrading last night and this seems to have been resolved. However, it’d still be nice to be given the option of doing the development in a new instance of the browser so it doesn’t compromise your open tabs if anything went wrong as when you’re on the train to work you can’t get them back until you get to the office.


Being a long time Visual Studio user you will notice a number of problems you will need to get use to quite quickly when using Webmatrix … the biggest issue I was frustrated with was the lack of tooling support for intellisense when writing code in Razor (and other code) files. You could argue that intellisense is a selling point for Visual Studio.

Ok, so I can live without intellisense, but other tooling which would have been nice would have been support for dragging javascript files from the file listing of the site onto the page and it automatically adds the correct script tag etc. with a path to the script. Is that too much to ask for? This with a combination of lack of intellisense makes it not straight forward to a novice user to add in references without having to go and search for an example on the interweb.

Another issue, from a Visual Studio user perspective, is that you can’t launch the current site in a browser by hitting f5.


Positively I like the support for multiple optional template sites, I like the options where you can download other templates and they’ll essentially just work “out of the box”. This is especially important for novices who don’t know (or care) about sorting out databases or project references etc. to make the thing work.

The other big thing I like is the integration with Visual Studio which can be done with a simple click of the button. This is a pretty nice way to get around the intellisense issue but also allow for other tooling support you only get from Visual Studio. This makes working on a site between the two IDEs work pretty well and something that the Expression studio people should look into to improve the UX/Dev integration (potentially?).

However, this nice feature leads me onto the final thoughts …

Why bother with Webmatrix?

As a professional software developer who spends ~90% of this time using Visual Studio and is use to the shortcuts and using such plugins as Resharper I can’t see me using Webmatrix in anger with anything really, unless for some crazy madness reason I need to do some php *shock* or I need to setup a cms quickly to then load it into Visual Studio to do some monkeying about with it. Just from a pure tooling perspective it wins hands down and its what I’m use to. It might be like using a sledge hammer to put up a picture frame, but if you’re adept at wielding a sledge hammer then it can be used for multiple purposes.

Let me know your thoughts in the comments below or you can tweet me on @WestDiscGolf.