I have used FrontPage in the past. Never liked all the proprietary extension, and its penchant for modifying your carefully crafted HTML, but I did like the multiple windows editing and the colour-coding. I’ve often used just as an HTML editor, ignoring all its proprietary features.
FrontPage is dead. Microsoft has not one, but two replacements; Expression Web and SharePoint Designer. These are not two entirely different products, there is some overlap, but they have been created with different audiences in mind.
As the name suggests SharePoint Designer is really a tool aimed SharePoint specialists, something I am not. I gravitate to Expression Web not only because it supports XHTML and CSS standard-based web pages, but also because it is part of Expression Suite.
Now, there is plenty of proprietary stuff in that suite, and it is Microsoft
version 1 product, so there are likely to
be rough patches. However, Microsoft is positioning Expression Suite as a
serious suite of web authoring tools.
The introduction of a entire suite reflects Microsoft’s desire to become a major
player in the web authoring
market. and that in turn implies commitment to continual improvement of the
suite.
Two advertised features won me over to try Expression Web as a web authoring tool. First of all, it installs locally, no network required, and it does not require me to install anything that isn’t in Windows XP SP2 already. Secondly, it promises to produce standards-compliant XHTML and work with CSS, so if things don’t work out, switching to another web authoring tool shouldn’t be too hard.
Microsoft hands out 60-day trail CDs of Expression Web and DVDs for Expression Studio, but these CDs do not come with a registration key. You must visit the Microsoft web site to obtain a Free Trial Product Key. The download page for Microsoft Expression Web lists Microsoft .NET 2.0 as a requirement, but the CD wants you to install .NET 3.0.
You might guess that it is not really a requirement. and that Microsoft just included the latest version of .NET on the CD, and thus creates the misleading impression that version 3.0 is needed. Some quick research turned up that version 3.0 is not requirement for Expression Web itself, but it is a requirement for Expression Blend, and therefore for those about to install the entire Expression Suite. I already had .NET 3.0 installed, and was not about to try with .NET 2.0, so it did not matter to me, but the lack of clarity is not praiseworthy.
I do not like the product’s webpage-based install that wants you to start applications from a web page either. Not only is any serious browser sure to pop up dialogs when you try to run a program, but what the heck? This is a Windows applications, for Microsoft Windows, created by Microsoft, so just why isn’t Microsoft simply using its own Windows installer technology? Who let this product get away with this non-standard install?
I decided to customise the features before I installed, to make sure I
got the whole package instead of the just the default features, so that I should
not be asked to insert the CD again later. Once I had done that, the rest of
the install was uneventful. Perhaps a bit too uneventful, as my search for a
desktop shortcut proved in vain.
Tip: You can create one yourself, link to \Program Files\Microsoft
Expression\Web Designer\EXPRWD.EXE.
The first time you start Expression Web, you must activate the 60-day license
or enter a product key for the full
version. Every time you start it, it complains about not being your default HTML
editor, until you decide it is, or turn the check off (Tools | Application
Options..., General Tab, uncheck "Check if Expression Web is the default editor
for pages").
I did not bother reading any Getting Started guide, or anything like that,
but dove right in. A quick perusal of the
menus and layout confirmed the expectation that the user interface was not all
that different from FrontPage.
There is the odd item that jumps out you, like the "Preview in Browser" menu
item.
Someone had taken to trouble to make the "Preview in Browser" menu item work right, no user setup required. Expression Web had already discovered Internet Explorer 7, NetScape Navigator 8 and Firefox 2.0, and had submenu items to preview pages in these browsers at 640 x 480, 800 x 600 or 1024 x 768 resolution. Somehow, Opera 9 was missing from the list, but it was easily added.
The File | New menu offers several layouts to choose from. Expression Web
still supports frame-based layouts
and being a Microsoft product, it naturally supports ASP.NET-based pages, but
there is a small collection of CSS-based layouts too.
You can choose to make a new site instead of just a new page. You can go for an
empty web site, a template-based one or run the import wizard. Whatever you do, you need to pick a
directory on your local hard disk.
Expressions Web does not seem to know what it is doing. When I try to save a page with the *.xhtml extension, it creates an *.xhtml.htm extension. Sigh.
To make Expression web usable for standards-based work at all, two things
need to be done. I need to upgrade its templates to XHTML 1.1 and I need to get
it to recognise the *.xhtml extension.
In other words, I need to delve into the details of this program to fix basic
Microsoft mistakes already, before I’ve even begun to explore its features. So
much for the vaunted standards support.
There is an Application Options dialog box. It has several tabs. The last tab
not only shows all supported
extensions (a list from which *.xthml is missing), but also allows you add
extensions. Alas, that is a list of extensions for FTP only. There seems to be
no way to associate Expression Web editors with the *.xhtml extension from
within Expression Web itself.
So,I start up RegEdit. Sure enough, there is a whole list of extensions under
the
HKEY_CURRENT_USER\Software\Microsoft\Expression\Web Designer\12.0\Mappings key.
When I add xhtml, it does not immediately show in Expression Web, so I restart
it, but it still doesn’t show up.
I try editing "htm html dhtml dwt hta htc jhtml pht phtml shtm shtml stm ssi" to
"htm html dhtml dwt hta htc
jhtml pht phtml shtm shtml stm ssi xhtml" instead, but that does not work
either. Perhaps the actual list of supported extensions is hardcoded into the
application.
There is no need to pull out the hex editor though. After a little bit of
experimenting, I found a way to make
Expression Web support the xhtml extension.
If you rename a *.xhtml.htm file back to *.xhtml extension in Explorer and then
pull the context menu on it in Expression Web, it will not show Expression Web
as an option. But if you choose "Open with...", and then "Choose Program...",
you can choose Expression Web, and the next time you pull up the context menu,
it does offer to open in the file Expression Web. In fact, if you just choose
open, for example by double-clicking, it will open in Expression Web. Even
better, when you save it again, Expression Web does no longer change the
extension.
However, every time you restart Expression Web, it fails to load the file. It
complains about not being able to
create a temporary file. You can get it to work again, by renaming the file to
have a *.htm extension, opening it,
and rename it back to its proper extension. Perhaps there is an even better way,
but this is not a smooth experience. Not exactly a smooth experience.
That takes care of the proper extension. Now, let’s see if we can make
Expression Web support proper XHTML templates, not that wishy-washy XHTML
Transitional stuff.
It is important to understand the difference between templates and themes.
Templates define technology and
layout, themes define the actual look.
I started by exploring the templates directory, but perhaps that is not
necessary. Just bring up the page editor
options, go to the authoring tab, and select "XHTML 1.1" from the Document Type
Declaration drop down list.
That is the doctype Expression Web will insert in new pages. There is also an
option for secondary schema,
that is what Expression will use when no doctype is present. It is best to set
that to XHTML 1.1 as well. The CSS support already defaults to CSS 2.1, which is
still the latest official version.
These seem to be application-wide settings, not project-specific settings.
You can bring up the page editor
from the File | New dialog box that lets you select templates, but that hardly
seems good enough.
The worst of it is that even after changing the settings and restarting
Expression Web, and double-checking the
settings, Expression Web keeps generating the XHTML transitional doctype for new
pages. It turn out that the
XHTML setting is only applied when you choose to create a new HTML page, not if
you create a page based on CSS templates. Sadly, those templates are hardcoded
to use XHTML transitional.
Expression Web supports Dynamic Web Templates (DWTs) like FrontPage. These
provide consistency to all
pages on a web site. Sure, but when you use CSS to provide that consistency,
what benefit, if any, does DWT
get you? Doesn’t using CSS make it unnecessary to use DWT? Microsoft’s
documentation does not provide a
clear answer to that obvious question.
The short answer is this: CSS is for layout, DWT is for content. Sure, you
can add content through CSS, but generally more convenient to have content like
a header, the menu and a footer on some master page, and have any changes to
that template propagated to all pages on your web site.
When you google for Expression Web templates, you quickly discover that there
are pages offering ready-made templates, with varying prices and licenses
attached. That’s good to know I guess, but how to make your own?
You cannot directly create a new template. Instead, you create a new one-page website and then save as template. It seems to be important to do this with Expression Web in default layout. I do not know why, but at least it is easy to make it so: just choose Task Panes | Reset Workspace layout. Then you create a new web page based on an existing template, make some modifications, and then finally save the result as a Dynamic Web Template.
Expression Web does not come with an XHTML 1.1 template. I had to create my own by modifying an existing template.
My first modification was to change the doctype. Browsing Expression Web’s features, I had come across the code snippets. The doctype for XHTML 1.1 is pre-configured as code snippet "dtx11". Code Snippets are not like AutoText, just typing dtx11 does not automagically expand into the desired doctype. You must hit Ctrl+Enter and can then select the code snippet from a list.
So, I replaced the doctype, and added an xml:lang attribute to the html tag. I
also noticed that the Microsoft
templates lack the XML prolog. Microsoft may have omitted it on purpose, because
of Internet Explorer issues. I added an XML prolog for full compliance.
The Microsoft template contains the infamous text/html content type, which I
replaced with the correct application/xhtml+xml content type. I added a few more meta tags, such as
author and keyword, and defaulted the language to English.
When I tried using Expression Web, I soon noticed that you have to be very careful copying & pasting from Word. Expression Web tends to inserting proprietary Office HTML, and it is a real pain to have to remove that again. There seems to be no option to make Expression Web understand that you do not wan the Office HTML. There is no setting to restrict Expression Web to standards-based pages. You have to know what you are doing.
Microsoft’s claim that Expression Web supports web standards is nonsense. The
support for standards was just a feature list item, that the development team
did not take very seriously. The setup fails to recognise Opera, and Expression
Web does not even support the *.xhtml extension.
A quick look at the source code for included templates shows that the generated
page is not XHTML 1.1, and not even XHTML 1.0 strict, but merely XHTML 1.0
transitional. That’s hardly any step up from HTML 4.0.
Microsoft claims that Expression Web is standards complaints but it is not.
If you copy and paste anything from
Word, it immediately inserts proprietary Office-specific HTML without even a
warning. There seems to be no
way to turn this Office-pushing behaviour off.
Expression Web does not support XHTML 1.1 in any way. When you select a run of text and set
a language, Expression Web inserts the illegal HTML lang attribute for the
language instead of the proper xml:lang attribute.
Microsoft claims that Expression Web supports web standards. The truth is that Expression Web actively fights any user attempt to do so. Expression Web really gets in the way when you to try create a standards-based liquid layout.
Expression Web is unusable even if you are some corporate code monkey who does not know or care about web standards. Expression Web is so unreliable, it crashes so easily, that it cannot practically be used as a WYSIWIG editor. Expression Web is a huge disappointment.
| property | value |
|---|---|
| product | Expression Web |
| version | 1.0 |
| organisation | Microsoft |
| website | Microsoft Expression Web |
| price | US$ 299 |
| requirement | Win32 with .NET 2.0 |
| note | upgrade from FrontPage: US$ 99 |
| Verdict | slow, lacking, unreliable |
| Rating | unusable |
Copyright © Tamura Jones. All Rights reserved.