Why Microsoft's IE 9 will frustrate standards fans
Return to render
PDC Performance and standards look like dominating work on Microsoft's next version of Internet Explorer.
As ever with Microsoft, though, it's likely to be the former that not just trips up the latter but that also continues to sour Microsoft's relationship with the rest of the industry.
President of Microsoft's Windows and Windows Live division Steven Sinofsky used the company's Professional Developer Conference (PDC) in Los Angeles, California, Wednesday to provide a look early look at the work on IE 9.
IE 9's score already beats IE 8 on Acid3 and Sinofsky said: "We continue to invest in that and make sure that we can deliver what you believe is important for us to deliver there in terms of interoperability."
According to Sinofsky things are getting so close in rendering the attention will shift on improvements in other subsystems. "We're getting very close to basically being a wash because by the time you get down to this amount of performance, the other subsystems are really going to dominate in terms of where the best places to improve are," Sinofsky told PDC.
It also seems that it's the rendering engine where Microsoft feels it really needs to make an effort on standards compliance, leaving it free to build its own technologies and come up with its own answers to improving the web-surfing experience.
As such, Sinofsky next landed on an area where Microsoft has in the past danced around - standards - and will appear to continue doing so into the future: graphics and text.
IE 9 will use advances in your PCs' local hardware to improve performance working through Microsoft APIs.
Sinofsky told PDC: "One of the things that we're going to do in Internet Explorer is make sure that when you build your site, that you pick up the performance gains and quality gains that come from rendering on modern hardware, without changing anything in your site."
He demonstrated HTML and CSS in IE 9's rendering engine, rendering text using Microsoft's DirextX API DirectWrite and the V2Z file extension used by Texas Instruments for graphics instead of the standard Microsoft Graphics Device Interface (GDI). Also, he rendered an animation using Microsoft's Direct2D hardware-accelerated 2D graphics API and Bing Maps using the DirectX APIs instead of - again - GDI.
In all cases, Sinofsky claimed smooth animations, changes and curves.
Sinofsky talked in terms of all these Microsoft APIs and the hardware acceleration taking place on IE's "standards-based" rendering engine. In other words, Microsoft will optimize and tune using its own APIs in IE 9 while holding up the rendering engine as its commitment to standards. "We think that the hardware that you run on should shine through in the browser, even when just using standards-based rendering," Sinofsky said.
Sinofsky drew a clear line on where Microsoft stands in terms of support for standards and leaving the company free to add its own features to improve web browsing where it sees fit.
Clearly, then, Microsoft believes that as the rendering engine becomes increasingly compliant, through support for CSS 2.1 - added in IE 8 - and the emerging HTML 5 from the World Wide Web Consortium (W3C), and that support for these standards is "proved" through an improved Acid3 score, the company is free to "innovate" at a higher level.
That strategy would appear to rule out support for graphics technologies not invented by Microsoft yet part of the W3C's HTML 5: Scalable Vector Graphics (SVG) - supported in Firefox, Chrome, and Opera - and Canvas that's already used in Firefox, Opera, WebKit and Safari.
Complexity is hard
Microsoft uses the defense of complexity - it's too hard to know what standards and non-Microsoft technologies to pick and support in the browswer, let alone which versions.
IE general manager Dean Hachamovitch told The Reg earlier this year Microsoft understands graphics are important, but: "You can go down W3C site and count different standards out there," he said. "A lot of folks are asking about SVG. There are a lot of folks asking about Canvas and Smile [graphics code beloved of social networks]. There are about 80 plus standards out there. Even inside of SVG there's SVG 1.2, SVG Tiny - there are a lot of sub factions."
According to Sinofsky, the plan for IE 9 is simple: "Having a good balance between the things that we know we have to do and moving the whole notion of browsing forward."
In other words, doing what Microsoft knows it has to on standards and while offering optimizations and tweaks that are uniquely Microsoft elsewhere.
It's classic Microsoft. It's the attitude that led to COM and DCOM instead of using Corba and that saw Microsoft "tune" Java and distribute a version not compatible with Sun Microsystems' implementation and that landed the company in a $1bn legal fight.
Now it seems for all the talk of having learned its lessons on standards in IE 8, IE 9 will be a case of moving slowly and selectively where it suits the company and using its own approaches elsewhere.
It's an approach that will continue to leave developers struggling to support multiple browser architectures and invariably defaulting to Microsoft first and everyone else second based on market share, while leaving standards advocates and browser rivals as frustrated and angry as ever. ®
Re: Pragmatism before standards
"Only purists would complain MS isn't doing enough. Ask any non-geek what improvements they would like to see in IE and they'll say "make it faster"."
That's because the non-geek doesn't realise that the bottleneck (by at least an order of magnitude) when they surf the web is pulling the bits down their ADSL line (whether it is capped or not). Maybe if some of the graphics were fragments of SVG, inlined in the body text rather than requiring a separate HTTP request for a (larger) JPEG or PNG file, *that* would do more for performance.
But then, only a purist would care about that, and "everyone knows" that the best strategic decisions in any field of engineering are made by people who know jack shit about the subject.
"not invented by Microsoft yet part of the W3C's HTML 5: Scalable Vector Graphics (SVG)"
Correct me if I'm wrong, but when did SVG become part of HTML5?
SVG = XML image format
HTML != XML
They killed the idea of images and the markup being integrated when they stupidly decided to kill XHTML
On another note, SVG competes with Silverlight too much for them to implement it. Bastards.
MS can't win with HTML 5
HTML5 is not a standard yet. If MS implement something as part of HTML 5 and it doesn't become a standard, they'll get slated heavily.