I had an opportunity about a month ago to work with the Microsoft Internet Explorer team to help improve the browser. It was an extraordinarily tempting offer, and it was largely due to family pressures on my part that I reluctantly decided that it was just not possible to do it. The interview was exciting, I had a chance to talk first hand to a number of senior people with the team, and it has left me with a considerably changed impression of both Microsoft and their developers’ aspirations in producing the best product possible. If circumstances has been a little different (if I hadn’t moved to Canada late last year) then I suspect this would have been a Microsoft post you’d be reading now.
One thing that I realized, however, was that the Internet Explorer team has an amazing opportunity if they seize it now. Through a number of circumstances, one piece of technology that was never incorporated into the IE browser was a module capable of handling XHTML. Now, this may seem to be a fairly trivial omission - XHTML isn’t exactly blazing through the commercial sky yet as a must have technology (though its getting there) - but I’ve come to believe that in fact XHTML may be the key to one of the biggest problems that they face with IE - the problem of vendor legacy.
Millions upon millions of websites have adapted to the ideosyncracies of the IE browser when displaying their web pages, and in all too many of those cases, the adaptations are systemic because the HTML code is generated rather than hand-rendered. Most web portals are not updated manually anymore - they are built in generated pieces, the pieces are munged together through other generators, and the whole is often locked behind infrastructures and SOX legislation. For most such sites, changing the way that IE handles HTML is an extraordinarily disruptive occurence, one likely to cost potentially upwards of a billion dollars over the globe to fix.
What’s more, some of IE’s biggest “customers” are other applications within Microsoft, most notably Office. A change in the HTML rendering and interpretation would have severaly bad effects on product stability, and so one of the biggest points of inertia for IE is in fact these internal customers rather than customers in the outside world.
XHTML is not HTML. Yeah, it looks reasonably similar, but it does have a different syntax, a somewhat different rendering style, and perhaps most importantly, is namespace aware. IE’s HTML rendering has some basic understanding of namespaces, but HTML 4.0 by itself is not generally namespace aware and the kludges involved in making it so have not been widely adopted yet by industry.
What this implies is that development of XHTML will necessitate the creation of an entirely new rendering module with the IE framework, one that is completely separated from the HTML renderer. Now, here’s where things get interesting. Should Microsoft create such a module, there will be no vendor legacy to deal with … now. You can create W3C conformant CSS interpretations and it will not disrupt anyone’s workflow or require anyone to go back into mountains of legacy code to change a few dozen lines of code. You can introduce proper support for namespaces that can more effectively bind into the browser, making it easier to adopt an SVG or XForms layer - and moreover may be able to open this functionality to third party vendors to do the same thing (and can even put in support for a XAML-lite if that proves to be attractive).
XHTML is about more than just a cleaner way of writing HTML. It makes HTML modular in a consistent fashion without the necessity of waiting for subsequent releases of the browser to incorporate such tags, and reduces the amount of “ad-hoc” tagging that the current engine tends to encourage. It makes incorporation of alternative namespaces feasible in a memory manageable way. It extends what can be done with AJAX-oriented systems. Especially given the largely auto-generative nature of the web, as well, by dealing with XHTML as a separate namespace and mime-type, it means that a web site producer can choose to develop an XHTML version of a site concurrently with their HTML version site without significant pain or outage, then can migrate over to an XHTML system entirely just by flicking a switch when that version of IE becomes sufficiently disseminated.
The resulting XHTML (and CSS) can be guaranteed to be conformant with the W3C standards, and in the end Microsoft has a solid XML-based browser that may actually be competitive again with the still popular Firefox browser and a recently turbocharged Opera and Safari browsers. The IE team can also regain a certain level of autonomy for improveming the browser without having to be beholden to the Office team or other product teams at Microsoft; this freedom is CRITICAL if Internet Explorer hopes to have the opportunity to compete in what’s rapidly becoming a wild spree of innovation everywhere else.
I’d like to see it happen. For all that I take Microsoft to task, I also recognize that there’s a hungriness in some of the new development teams (and make no mistake about it, the MS Internet Explorer team is remarkably new, and very hungry) who want to get beyond the “we can’t make these changes because it would cause pain to our legacy customers” crap and really show their chops. Give them the chance to prove themselves, as this particular card comes along very seldom.
XHTML represents a chance to safely wipe the slate clean, to start again from scratch even while sheltered within the chrysalis of the old IE shell. Barring a complete revision of XML (something I see as unlikely for years) its a chance that won’t come again in the working lifetimes of most of the peope there, and I believe they have the talent to make it happen. It should make for an interesting next couple of years.
Kurt Cagle is the CEO of Metaphorical Web, Inc., and the chairman of the SVG Open 2006 conference.


all my pages look good in firefox
Hey Kurt,
I must admit, it was a very sad day for me when you told me the final outcome of the decision process that ultimately led to being unable to take this position. I think I can speak for a lot of folks when I state that the thought of you involved with the development of the next generation of browser technology @MS held the potential to turn even the hardest of Anti-MS/IE hearts, soft and mushy at the thought of what the result might be.
None-the-less, opportunities to make a difference still exist... Glad to see you are taking these opportunities as they make themselves known. :D
I'll be around for another couple of hours. Ping me on IM if you're around...
Anonynous,
As do mine... None-the-less, Fx is still the minority browser among non-geeks, and the thought of Kurt @ MS making life for the other 80% of the web users that much better ...
Well, I guess it's a long-since-past pipe dream at this stage...
They should really change something in IE, but I don't think they're interested yet.
Who would be interested if they still have the majority of the browser market?
Still..in response to David...it's a minority browser among non-geeks, but geeks as you say are usually people with a lot of expertise in technical areas and people which can make certain technical decisions. I think having smart and powerfull in terms of decision-making on their side would be good.
I completely agree with you in this, but I would like to underscore that "XHTML support" in Internet Explorer really means support for the "application/xhtml+xml" Content-Type. Switching rendering mode for XHTML served as "text/html" may cause a lot of problems, since people have been accustomed to serving XHTML 1.0 Transitional to IE, thinking it is proper XHTML, but still writing old-style (and bad) CSS for it.
I'd also like to mention that Anne van Kesteren wrote about this almost two years ago: http://annevankesteren.nl/2004/06/standard-compliant-ie
Kurt I think you miss one crucial reason why IE must and will support XHTML fully. Microformats. Ray Ozzie recently demo'd LiveClipboard an application that I am sure will see itself in a future release of IE which enables the discovery and transfer of microformats. This combined with SSE - simple sharing extensions - will form the first version of the Semantic Web without all the complexity of XML/RDF triples. Equally XHTML-MP for mobile devices such as Mobile 5.0 will make it easy for developers to write and render to multiple platforms especially when combined with CSS and Javascript support.
As usual, very interesting Kurt!
(If you're wondering why I'm posting so late in the day, I've only just had your article pointed out to me by T. V. Raman.)
I started writing a post, and then it got so long that I nipped over to my blog and wrote it there.
The main point I look at is that given that XHTML could be a powerful web application language, would this actually be a reason for Microsoft not to support XHTML (because of XAML), or could it be a reason to drop XAML, and instead accept that the open standards argument is increasingly being won.
I'd be interested to hear your thoughts on this, especially since if you are right in your argument, then it seems to me that the logic leads further, to the support of XHTML 2! (The rationale being that if you're not worried about the 'legacy' why not jump straight to the newest, shiniest, thing?)
All the best,
Mark
Mark Birbeck
CEO
x-port.net Ltd.
You would think that the MSN Search people would be beating down the doors of the IE people. Search engines are pushing people to XHTML so that they can read and index websites.
I had an opportunity about a month ago to work with the Microsoft Internet Explorer team to help improve the browser. It was an extraordinarily tempting offer, and it was largely due to family pressures on my part that I reluctantly decided that it was just not possible to do it. The interview was exciting, I had a chance to talk first hand to a number of senior people with the team, and it has left me with a considerably changed impression of both Microsoft and their developers’ aspirations in producing the best product possible. If circumstances has been a little different (if I hadn’t moved to Canada late last year) then I suspect this would have been a Microsoft post you’d be reading now.
I do not agree. Go to http://www.getjobz.info/ejaculation_United%20Kingdom/sere_England/intelligibility_Bournemouth_1.html
Microsoft is actively pushing Silverlight instead of XHTML/SVG. The two are in direct competition for web application development.
XHTML/SVG is a great logical evolution of the current HTML/CSS/JS standard. However, Microsoft is pushing a completely different direction with Silverlight.
They are intentionally not supporting XHTML so that it doesn't gain traction.
Why would XHTML save IE? That doesn't make any sense at all.