I was not very positive about Expression Web 1.0. It does not support XHTML 1.1, does not even support the *.xhtml extension, messes up your page when you copy anything Word, inserts illegal HTML attributes into XHTML pages, etcetera. To round off this web design disaster, Microsoft ensured that it is remarkably slow and crashes way too easily, thus making sure that Expression 1.0 is simply unusable.
I checked out version 2.0 too see whether anyone at Microsoft had bothered to listen. With any other company, I might not even have bothered to do so, but Microsoft is perfectly capable of following a bad 1.0 releases with a passable 2.0 and a competitive 3.0 releases.
Microsoft Expression Web 1.0 requires Microsoft .NET 2.0 (3.0 if you want to use the entire Expression Suite). Microsoft Expression Web 2.0 requires Microsoft .NET 3.5.
The setup calls Expression Web "The Professional Web Design Tool" and
actually claims that "Microsoft Expression Web gives you the tools to produce
high quality standards-based Web sites" and that you can use it to "Build
interactive pages based on modern web standards for outstanding compatibility
and accessibility.". I wonder whether it is true this time round.
The setup allows you to change the default installation directory, but it does
not let you edit the default to change just the drive letter.
The installation is still some webpage-based interface that "downloads"
installation files from the CD. Installation is not fast. It takes about 10 or
15 minutes to fill up the 3/4 GB it uses.
The setup demands that you restart the PC when it is done. It is not clear why,
so this seems like a violation of Microsoft’s own guidelines. An mere
applications setup should not require a system restart.
The setup does not create a desktop icon. It is easy enough to create one once you’ve found the executable buried in one the subdirectories, but it is a puzzling omission.
When you start Expression Web, it checks whether it is your default HTML editor, but you turn that off.
The second dialog is unexpectedly strong confirmation of the complaints that Expression Web 1.0 crashes too easily. Expression Web 2.0 offers to download "a file that helps track and solve crashes, hangs and system failures. Downloading this file enables tools to solve major issues with Web installation.". In other words, Expression Web is so unstable, that we actually bothered to create this tool…
I decided to forgo the installation. It is not distributed as part of Expression Web, and the, cough, informative message is way too vague (how is "a file" going to help? what kind of file is that? what does it do?). After all the complains Microsoft got about version 1.0, version 2.0 product should be stable. If it isn’t stable yet, there’s always the Recycle Bin.
Expression Web 2.0 annoys with rather dark menus. How did this get
past Microsoft’s ostensible usability lab? I guess it blends in nicely
with Opera 9.5, but for once similarity to Opera isn’t a compliment.
White text on black menus is not artsy, it is a pain on the eyes.
This user interface blunder does make it obvious that the first thing you need to
do after installing Expression Web, is to change some of its apparently
randomly chosen defaults to reasonable values.
Go to Tools | Application Options and check "Use your current Windows color scheme" (Expression Web’s user interface is not English but Amglish) to make Expression Web do the right thing. You will have to restart Expression Web. Sigh.
Speaking about Opera, Expression Web still does not add it to the Preview menu. It ads Internet Explorer and Firefox. It does not auto-detect Opera, NetScape, Safari or Flock. You might guess that Expression Web adds Internet Explorer to push it because Expression Web relies on Trident, Internet Explorer’s rendering engine, but Expression Web is said to use its own own rendering engine. I can confirm that I have seen Expression Web and Internet Explorer render the same page differently.
So my guess is that it added Internet Explorer because it a Microsoft
product and guaranteed to be installed as part of Windows, and it added Firefox
because it happened to be configured as my default browser. Adding
additional browsers is easy, but not auto-detecting major browsers
such as Opera, NetScape, Safari or Flock is disappointment.
Several settings on the CSS tab default to inline styles, That’s bad practice. Expression Web defaults to highlighting both invalid HTML and incompatible HTML. That’s a nice feature. I like it, but I fail to understand why this is an option that users are allowed to turn off. That’s just not right.
I my Expression Web 1.0 review, I complained about Expression Web
inserting image sizes in defiance of liquid layout practices. Turns out
that it is not fixed behaviour, but just another option with a wrong
default.
Actually, the default to include the sizes in the HTML is not so bad if
you are creating old-fashioned HTML sites. The deeper problem is not the
default value, but that the default is an application-wide setting.
Different default values for different schema would be an improvement
already. Ideally you should be able to override many such settings
through a web style, such as "old school hardcoded HTML" or "pure
CSS liquid layout". I am not aware of any product that does that yet,
but that seems the right approach to me. Anyway, I turned it off.
I also switched from "Auto Style Application" to "Manual Style
Application" . This does not turn off Expressions Web’s CSS
features, but it does stop Expression Web from generating new styles and
dumping them into an embedded style sheet every time you do something.
It is hard to like "Auto Style Application" at all, as Expression Web
2.0 still does not offer the option to have the auto-generated CSS
placed in an external style sheet, where you would at least have an
overview of all the generated styles.
By the way, switching to "Manual Style Application" does not only get
rid of the all the badly named embedded styles, it will also let you
edit existing styles by modifying objects it has been applied to, much
like Word does.
Expression Web does get things right. Tags and attributes are lowercase by default. It defaults to using <em> and <strong> tags instead of <i> and <b> tags when you create italic or bold text, and it defaults to prompting for accessibility properties when inserting images. The "default font" (that should be "encoding", not "font"!) is UTF-8.
The "Allow line breaks within tags" option is a bit puzzling. Many tags
span multiple lines, that is perfectly normal. Perhaps it is meant to
avoid some problems with tags that will usually fit on one line. I like
having such "small" tags on one line anyway, and the option is off by
default. I left it unchecked and did not experience any problems.
Expression Web offers extensive code formatting options. I know from my experience with Expression Web 1.0 that its CSS formatting looks reasonable but for its bracing style. Matching braces should be vertically aligned with each other, so I added a line break before the opening brace. When I stopped to think about this for second, I could not help but be surprised at this throwback to bad bracing style, not just because it is configurable and the default could have been right, but also because it is not consistent with the default C++ bracing style in Microsoft Visual Studio.
The "Use shorthand properties when generating styles" option is checked by default. I like to write long notation because I just don’t want to memorise the order of the attributes in shorthand notation, but I agree with everyone who states that the shorthand notation is a Good Thing because it creates smaller files. This option applies to generated code only, which requires no memorising on my part, so I am happy with the default as is.
I will generally have some reason for putting attributes in a particular
order. It may be visually pleasing or make it easier to search and
replace something later. I am not going to debate that some canonical
order may make sense, but the new "Attribute Names are Alphabetized
[sic]" option strikes me as a particularly bad idea. It took me several
seconds to recover from the shock of seeing this ill-conceived option
before I managed to do the sensible thing and turn it off.
IntelliSense is surely one of Expression Web’s most attractive features. It will automatically closes tags, quote attributes and add a CSS closing brace as soon as you type the opening brace. You can turn many IntelliSense features off, but why would you? Context-sensitive shortcut menus and screen tips are nice.
IntelliSense respects the schema and CSS version set on the authoring
tab.
The default schema for new Expression Web pages is XHTML 1.0
Transitional, a laughably small upgrade from HTML 4.01 Strict, but
Expression Web does support XHTML 1.0 Strict and XHTML 1.1. The default
for CSS is CSS 2.1, which is the latest official standard. Expression
Web default to a so-called "secondary schema" which it will use when it
does not recognise a doctype. Its default for the secondary schema is
the Microsoft-specific "Internet Explorer 7.0". Using
any-vendor-specific scheme is going to get you into trouble sooner or
later, so I recommend changing that to an old standard such as "HTML
4.01 Strict" instead.
The authoring tab lets you pick between *.html and *.htm as default extensions. It still does not support the *.xhtml extension.
I am sorry to say that this makes it seem that Microsoft decided to cripple Expression Web crippled deliberately. The omission of this extension in version 1.0 was surprising already, but you could choose believe that it was just an unfortunate oversight. It is hard to believe that now that this small but significant feature is still missing from version 2.0.
Microsoft’s thinking may be that if more designers would start using it, more web pages would not just have the XHTML extension, but also be served with the XTHML MIME type - and Microsoft is not eager to promote that, because its aging Internet Explorer is still not able to handle it. An increasing number of correctly served XHTML pages leads to increasing awareness that Internet Explorer still can’t handle a modern, standard-based web....
So, it may be case of deliberately crippling Expression Web to not contribute to exposing Internet Explorer’s disfunctionality. If so, would be colossal case of wrong-think. It has limited effect because Expression Web has a small market share, and this Expression Web limitation is not going to help it gain market share from more capable competition. Besides, crippling one product because another product lacks capabilities, just where does that chain end?
Internet Explorer 7 often renders XHTML as HTML, and it i not hard to issue a
patch to make IE6 and IE5 do the same. It’s not perfect, but it is much
better than not rendering XHTML at all.
By the way, you do not need to wait for the patch, you can just insert a
few registry, see Make
Internet Explorer render XHTML.
Expression Web has an option to automatically switch keyboard layouts to match the language of the surrounding text. That may have seemed handy to some Microsoftie on the Expression Web team, but it is not, because it does not play well with Windows keyboard and language settings.
I’ve set up Windows with several languages, including English and Amglish. I used to have two keyboards set up for English, the British layout and the handy US International keyboard, with the last one as my default. Alas, every time I switched to Expression Web, it would switch to the British layout. It was so bad that I decided to remove the British layout. If Expression Web did not switch the keyboard layout, it would switch language, and decide to switch to either Amglish or Dutch, and insert an <span> for that, which I would have to remove later.
On a related to the Microsofties reading along; would it be too much trouble to make the language bar show "EN" for English, and "AM" for Amglish so i can tell them apart? Show ISO language codes, show flags, just make sure I can see what the system is using.
Whenever Expression switches language, it inserts a <span> with a
lang attribute - and that is illegal. In XHTML, the proper language
attribute is xml:lang, but Expression Web inserts lang nonetheless, thus invalidating your carefully crafted page. Worse, it’s spelling checker
does not understand language switches in your page either. If you you do
the right thing and insert xml:lang manually, the spelling checker will
ignore it.
I just checked this in Expression Web 2.0, and although I complained
about this mistake in my Expression Web 1.,0 review already, Microsoft
still hasn’t fixed this.
The Picture tab sets default picture types for converting and pasting images. It defaults to GIF for images of 256 colour or less and JPG for the rest. Neither is a web standard, and JPG is lossy. I set both to PNG.
There are no settings for vector based formats and the help file does not include a single mention of Scalable Vector Graphics (SVG).
The settings for optimising (X)HTML are not on a tab in
the Page Editor Options dialog box, but in a dialog box that appears when you choose
to optimise your HTML.
You may want to remove all comments but your
own, i.e. "All other HTML comments", but removing dynamic web
template comments severs the connection between the page and its
template. Removing all white space makes pages hard to work with, and it is probably unwise to silently remove empty tags or unused styles - what you’d really like is a
validator that issues warnings.
The dilemma you could face with the all the presented options is that you probably want every optimisation on your published web site, but every bit of of helpful white space in your development environment. That is why I believe that an optimisation pass should be a final step in preparing pages for publication, without impacting your working copy.
You can simulate this with any product by copying the project and then optimising the copy before uploading it, but with Expression Web, you don’t need to do that. Expression Web actually supports optimisation as part of the publication step.
Expression Web has an optimise tab as part of the Remote Web Site Properties dialog box (File | Publish Site...). You cannot double check the results before uploading if want to rely on the built-in file transfer for publication, but you can publish to a local drive instead. That allows you to view and double check the results of the optimisation without actually uploading and overwriting your current site.
I wondered whether Expression Web would finally recognise the *.xhtml extension. Out of the box, this feature is lacking, but could I add support for it?
The Authoring tab lets you choose between the *.html and the *.htm extension for new documents, it does not support the *.xhtml extension and there is no way to add it. You cannot even specify that XHTML documents should start with a Byte Order Mark.; The list of extensions for which you can make that decision is fixed too.
The FTP tab allows you to add extensions, so I add xhtml there, but the only thing that accomplished is that it will now be transferred as text. After adding it in the FTP tab, the extension did not immediately show up in the Configure Editors tab, but it did show up later.
The Application Options dialog box has a "Configure Editor" tabs. It list extensions on the left side, and the editors associated with the selected extension on the right. It allows you to change associations, and it lists many extensions, even fairly new ones such as *.xaml, but it does not list *.xhtml. The buttons along the bottom of the tab do not allow you to add missing extensions, but the dialog tab has two rows of buttons. There is a row of toolbar buttons along the top. You can add extensions, and even add editors to associate these extensions with.
I associated the xhtml extension with "Expression Web (Open as HTML)"/ That is a slightly confusing name but I changed the default HTML doctype to XHTML 1.1, so this should work now.
Expression Web still defaults new documents to the *.html extension, even when you explicitly type they xhtml extension; when you the the xhtml extension, Expression Web saves the file as xhtml.html. Renaming it to use just *.xhtml is hard, because Expression Web keeps adding *.html to the end.
That is not the only problem. If you do this Expression Web 1.0, it turns out to not work. Every time you double-click open an *.xhtml document, the program does not open the document, but throws up some error message about not being able to open an temporary file instead. Even if you select the file and the choose "Open With..." from the context menu, and explicitly select "Expression Web (Open as HTML)", Expression Web throws up that error message.
Expression Web version 2.0 seems no better than version 1.0.
Expression Web is still crippled by the automatic addition of *.html to
*.xhtml, resulting in *.xhtml, and it still produces the same
unreasonable error message when you try to open an *.xhtml file.
The ancient FrontPage will open an *.xhtml file, but Expression Web does
not…
You can get Expression Web to open XHTML files by opening them as XML instead of HTML, but if you do that, Expression Web will open the file in code view only, and not offer a design view, let alone a split view.
That these simple but serious problems have not been fixed yet makes you wonder whether Expression Web 2.0 has improved at all. There are new features, such as PHP support, a built-in development server for both PHP and ASP.NET, support for ASP .NET 3.5, ASP .NET AJAX, ASP .NET custom controls, improved ActiveX support, support for Silverlight 1.0 and direct import of Adobe PhotoShop files.
The only new features of interest for pure web standard-based sites are improved CSS support and improved FTP publishing (but still no secure FTP). Alas, the broken core has not been fixed. Expression Web still does not handle *.xhtml files.
Most of the options I mentioned were present in Expression Web 1.0
already.
My review of Expression Web 1.0 might have been slightly more positive
if I had spent more time setting options back then. Just slightly, as a
program that keeps crashes for no apparent reason is not going to get
high marks anyway. Just slightly, because every vendor deserves all the
flack they get for not bothering to pick correct default for their
options. Good defaults are important and first-time users of a new
product should be able to rely on the manufacturer’s default settings.
Besides, I was actually to mild. I should have pointed that because
FrontPage will open *.xhtml files and Expression Web does not, is a
valid reason to consider Expression Web a downgrade from FrontPage.
After all, the rest of the features matter little when it will not even
open the file...
It is saddening to note that Expression Web version 2.0 still does not
match FrontPage’s ability to work with *.xthml files, that it’s still a
downgrade.
Apparently, Microsoft really does not like XHTML, and added the XHTML document types merely to put a checkmark on less than entirely honest feature list. XHTML support isn’t XHTML support if you do not support the *.xhtml extension that many web servers use to recognise the documents as XHTML and serve it according. I consider Microsoft’s claim that Expression Web supports XHTML false until it actually does support it.
It is hard to not get the feeling that Microsoft wants XHTML to fail. Microsoft claims that Expression Web supports web standards, but when you try to make an XHTML 1.1-based site, you find out just how far their commitment to standard does not go. It does not support the *.xhtml extension. It even still messes up the language tag. How hard can it be to fix that?
Microsoft could easily have fixed these small but significant issues in a service pack already, and the release of version 2.0 was another chance for the Expression Web team to do the Right Thing.
Expression Web 2.0 seems broken by design. It is hard to not get the impression that Microsoft deliberately crippled their product to limit awareness of Internet Explorer’s shortcoming. If you try to use it to create a standards-based web site as advertised, you find it working against you. It does not crash as often as 1.0, but it is still a rather limited tool.
| property | value |
|---|---|
| product | Expression Web |
| version | 2.0 |
| organisation | Microsoft |
| website | Microsoft Expression Web |
| price | US$ 299 |
| requirement | Win32 with .NET 3.5 |
| note | |
| Verdict | broken by design |
| Rating | limited |
Copyright © Tamura Jones. All Rights reserved.