A Day with Expression Web 3
Yesterday I spent my dev time doing design work for a site (ASP.NET MVC). Other than adding new methods to the home controller for new pages, no code was needed. I was going from psd to html and css only, so in theory this experience should be at least somewhat close to what Expression Web 3 is supposed to be used for.
Of course I am sure Microsoft would rather me be using Expression Design…but Photoshop is still my tool of choice for this.
I have compiled the following list of inadequacies in the Expression Web 3 tool from a design a website perspective. In some cases it may be caused by ignorance. If so, feel free to say so.
- ActionLink methods in views are not evaluated. This is problematic because you kinda need some text in your site to design with. This is especially painful for designing the menu. To even see what was going on I had to be within the code view. That is what I’m used to so I can work with it, but this is not an optimal experience as it makes the design view completely worthless in cases like this.
- There is no intellisense for HtmlHelpers in Views for MVC. This makes the code view of Visual Studio much more effective. EW3 has intellisense for both Html and Webform controls, but MVC developers are just outta luck.
- When editing css, when I reach a semi-colon, the intellisense window opens. This is exceedingly annoying, because I often want to use my arrow keys to go up or down at that point. But I can’t do that, because the intellisense window is taking my keystrokes. If I turn off css statement completion the problem is fixed, but then it doesn’t work at all for css. Not cool.
- In the css editor, when you select an intellisense option, it automatically puts the colon at the end. That sorta makes sense but is opposite the behavior in VS. Type the colon there and you then get your options for values. I prefer that as I don’t want the intellisense box to be so prevalent (see #3 above). Some people may like this, but I prefer how VS does it. Because I’m used to that editor, I keep getting double the colons because of my ingrained predisposition from VS.
- So when adding an image to a page, I’ll usually do its path like so:
/Content/Images/MyFunkyImage.jpg. EW3 doesn’t like that. At all. For it to show up, it has to be relative path’d. To get to my image in this case it was
../../Content/Images/MyFunkyImage.jpg. EW3 already has the concept of a “Site”, so it should know the root. The designer is having problems with that.
- Let’s say I have an unordered list for my menu, and each menu item is an ActionLink. If I forget the closing widget for the code block on any ActionLink but the last I get no warning that there is a problem except the coloring is off on the html tags between the end of that statement and the beginning of the next code block. However, if the closing thingy is left out for the very last one, I’m getting a pop saying the following: “The Master Page does not have any content regions defined. Do you want to Save anyway?” This is caused (I’m guessing) because that open code block messes with the parser and it doesn’t see the ContentPlaceHolder below. In the first case, this editor should tell you that you have an unclosed tag. In the latter case, I’m not sure what, but a better error message should be given so that the user isn’t confused.
- If you choose “Follow Code Hyperlink” for an id it takes you to the css file. That’s cool. However, if you create an id in the code you still get the option to follow it even though it hasn’t been referenced in the css. Yet the menu option is still there but doesn’t do anything.
- When dragging an image from the Folder List area on the left, for some reason it thinks it needs to get the width and height of the image and add them as attributes to the tag. This is very bad. If I then go and change my image size without updating my source, oops, my image will now be distorted. This is not a feature. This is a bug.
- It sometimes fails to update images that are pulled in as backgrounds through css. I have saved the aspx file and css file several times in the last thirty minutes yet nothing is causing the image to be re-pulled for one that I changed. Not awesome.
- Really like the ability to create font-family groups. Very fancy.
- Nice looking interface.
- Very snappy.
- SuperPreview is nice. Wish Chrome showed up there.
Will I Use It Again?
Probably not. Perhaps it is good enough for Webforms development, but it is not for MVC development...even for just design. Despite the nice features, if you are not someone who is reliant on a GUI Designer to do Html and Css, the editor in Visual Studio is still better in important ways. I do hope, though, that it will improve. I enjoy the interface more, and look forward to Expression Web 4 to see how much it is improved.