soeren says

Expression Web vs. Web standards

March 22nd, 2008

Contrary to Mark Pilgrim, I agree with Joel Spolsky that Microsoft is facing a dilemma. They’re damned if they do make Internet Explorer 8 significantly more standards-compliant by default — because it will break thousands of websites, particularly on the often-overlooked niche of company intranets — ; they’re damned if they don’t, because that would further confirm everyone’s impression that Microsoft is deliberately slowing down progress on the Web at large.

Denis, then, makes the amusing suggestion of giving Internet Explorer a new name. In doing so, they would have plenty of justification for ThisNewBrowser to have a significantly changed (or wholly replaced) engine, with different behaviors; it would, effectively, give Microsoft some breathing room and a fresh start at establishing their browser as one that complies with standards and moves everyone forward.

Stop laughing.

This isn’t quite as absurd as it may come across at first. Not only is it not the first time for Microsoft to use a different engine: Tasman, back in 2000, was well ahead of its time, being the first to ship complete CSS 1.0 support. It also isn’t the first time they drop one Web-related app in its name, brand and face, replacing it with a superior substitute: Expression Web is a refreshing change from years of FrontPage, and Microsoft alleges its engine is “the most accurate rendering engine available today”. Denis’s suggestion may not seem quite so unthinkable now.

Of course, it still isn’t very likely. Microsoft has already made the first beta of IE 8 available, and luckily for us, they had previously rolled back on their initial decision to make IE 7-style rendering the default. Still, they don’t seem very confident about this: why develop multiple mutually competing engines in-house, other than one not fulfilling the requirements of the other? Had it been in any way feasible, I’m sure they would have preferred to ship Expression Web with Trident, their IE engine, and still call it “the most accurate”. But it wasn’t, and everyone knows that, so they had to impress us by creating a new engine, and creating it well.

How well do they stack up to that goal?

To me, the first part of giving a good impression on that would be to make the product page validate, or at least come close to that. getfirefox.com validates, as does opera.com; however, neither microsoft.com/ie (173 errors) nor apple.com/safari (7 errors) do. So, does Expression Web’s page? No, sir; 72 errors.

In fact, the errors start with the incorrect claim that the page is XHTML 1.1. It’s delivered as text/html, presumably to make it compatible with Internet Explorer, a compatibility mode that isn’t allowed in XHTML 1.1. Among the more glaring problems in the hard-to-read markup are a duplicate head element as well as the odd decision not to close li elements. I say ‘glaring’ exactly because they would seem so simple to fix.

To be fair, their claims focus largely on CSS, and the page fares a lot better in that regard; in fact, most of the errors from the CSS validator are due to pre-CSS 3 feature Microsoft makes use of.

Still, I question the value of their “support for XHTML” when their very own browser still fails to properly1 support it.

But perhaps the engine itself is better than the promotional website.

Well, I’d be happy to tell you the current Expression Web 2 beta comes close to passing Acid2, if only that were true.

This result is hardly any better than those of Internet Explorer 6 or 7, and doesn’t quite constitute “most accurate”. One can argue that some of the mistakes stem from the fact that Expression Web is an editor, not a browser, and thus deliberately positions things slightly differently (such as by providing rulers and visual guidelines), but that wouldn’t explain some of the crass rendering errors.

Expression Web is not a bad app. It’s quite a leap from Front Page, provides nice autocomplete functionality and, in 2.0, even integrates a lot of PHP functionality — despite Microsoft having its own, also-supported alternative in ASP.NET. But it falls very short of the marketing claims regarding its engine. I cannot find a single objective piece of information on the Web on how it is better at all, much less in any way, and it certainly does not deserve a superlative. A shipping version of Safari (with WebKit) passed Acid2 over two years ago; multiple browsers did in 2006. Given that IE 8 will pass Acid2, it seems as if the Expression Web team should simply move back to the Trident engine and work to improve that even faster, if they haven’t already.

Meanwhile, WebKit is at 95/100 for Acid3
. I’d feel a lot more sorry for the conundrum faced by Microsoft’s engine developers if only they could show that they’re trying as hard as they can to solve it.

  1. Where by properly, I mean served as application/xhtml+xml.

Tagged , , , , ,
Posted in Chuckellania

Share

Others' Thoughts

# Fafnir

Actually this was my first thought as I read Spolskys blog (btw: don’t know why Pilgrim flamed him):

These are not web pages with errors. But IE 6 and IE 7 didn’t really conform to the specs, so these sites have little hacks in them that say, “on Internet Explorer… move this thing 17 pixels to the right to compensate for IE’s bug.”

So, the new IE 8 engine has not this particular bugs/hacks in it, why not take a practical approach and change the user-agent string to something completely different?

# Steve Guttman

Soeren-

Thanks for your thoughts on Expression Web. The issue of design-time rendering is actually pretty important to the team–but, requires a lot of “plumbing” work to get right. The requirements of a design surface with editing capabilities are a lot more challenging than those of the render-only view that you see in browsers. We wish it were as simple as moving Trident over to our code base, but it’s way more complex to support design-time interactivity. We hope to leverage the work the IE team is doing in a future version of the program, but as they are in pretty early beta–that may be a while. But, rendering accuracy is an important longer-term goal.

Our claims of accuracy were really made with our direct competition (mainly Dreamweaver) in mind–not browsers. And, we’ve gotten good feedback from designers on our “relative” accuracy. That’s not Acid2–but, in working with the program on real-world designs.

The team’s focus with the first and second (coming) versions of the program have really been on Web standards–schema checking, validity reports, strong support for CSS (visual tools for tracking inheritance, etc), HTML. It’s not perfect, and we have a huge list of improvements we want to make. But, we think we’re on the right track. Moreover, as you note, we’re not just supporting “official” W3C web standards, but de facto standards like PHP in v2. You may not appreciate the controversy that generated in some quarters, as it seems like a pretty obvious thing to do. But, in a company with a history like Microsoft’s–you can imagine there are a lot of different opinions on how you address the web authoring market–especially because we modified the preview server that ships with Expression Web (which supported ASP.NET in v1) to also work with PHP.

Please feel free to contact me directly if you have any other thoughts, or if I can provide any additional insight.

Steve Guttman Product Unit Manager, Expression Web http://expression.microsoft.com

Your Own Thoughts

I'd love to hear your input. Just try to stick to a few rules:

Before you comment for the first time (or, after you have deleted cookies), you will have to answer a little challenge to prove that you are not a spammer.

Comments are written in Markdown.

Leave the country the same, but correct the continent, and end the sentence with a period instead.