IE9 Beta - quick test and review from an SVG developer's perspective
I tried the "IE9 Platform Preview" last month, and blogged my biggest complaint (lack of foreignObject support), but of course that was not even a beta, and had no real UI on it.
So the IE9 beta has now been released, and it's worth giving a try.. so I did.
DISCLAIMER: This is on a VM (admittedly with plenty of CPU and 8Gb of RAM), so some things like the sluggish responses below might be caused by that - I disabled the GPU rendering options in the advanced options and it made things run.. differently...
First impressions - the UI is much cleaner than previous facelifts they've done, of course it still pushes hotmail and bing and associated sites as defaults, but at least they keep them out of the way until you go looking for them. Looks quite chrome-like without being a pure and simple copy ("inspired by" perhaps), and hopefully they've ditched all that skinning nonsense (yeah Windows Media Player - that's you I'm looking at).
The search settings and home page(s) seem rather more complex than you'd think would be needed - what with "Search Providers" and "Search Accelerators" - I dare say the distinction is important but if it's too many terms for me to be bothered even to look into, I hate to think what the average home user or enterprise user will make of it. And as for the search provider, I don't mind giving Bing a try, but just as an exercise trying to change Bing for Google took several attempts (I found the settings box doesn't seem to update when you change settings, so you have to keep on closing it and re-opening it to see if anything has happened after you choose to add something).It just doesn't feel simple and transparent, to be honest it feels almost like they're trying to discourage you from changing such things.
Notifications (about default browsers, add-ons, extensions and the like) are nice and subtle, but putting them at the bottom of screen seems maybe overly subtle - I missed a few of them down there, but will have to keep a peripheral eye open.
What about my SVG complaints ? Well first off, I won't revisit the foreignObject issue (unless someone has a nice surprise for me) but gave my heavily SVG dependent app (lots of SVG content but not necessarily complex) a try.
It rendered all the outer HTML (ExtJS GUI) parts quite well, and where it doesn't (popup menus in the wrong place, element sizing wrong), I expect that'll be because the ExtJS framework is making "corrections" for previous versions of IE. I tried turning on IE8 Document Mode (inside the developer tools) to check this, but of course then my SVG breaks completely. I hope tweaking the framework (or a new version from sencha.com) will fix much of this once everyone gets their hands on (and head around) IE9.
And the SVG ? Well mixed results - it rendered them mostly fine for a first attempt. Some of the text flowing seems to have gone all over the place (the logic works fine under Opera, Chrome, FF 3 and 4, Safari etc), but I expect it'll be something silly like checking bounding box units or the like. And some text has just rendered as a solid filled black rectangle - again I expect it'll be reasonably trivial (of course I wanted all my text to actually be embedded XHTML with markup and CSS and proper flowing of text etc but that's the 'foreignObject' topic again).
The mouse interactions seem very sluggish, so using the debugger I started firing some calls straight into my code, and got some very strange results. Where I have a couple of transforms over an area (a scale and a translate), if I change the scaling then nothing seems to happen for about 3 or 4 seconds.. then it changes, but text items that ought to be scaled don't change. Similarly the translations don't show until a few seconds delay (at least the text moves here). Other browsers do this very snappily. Might be something I'm doing wrong (but again it works on the others) or caused by the VM (see disclaimer above) but looks like I'll need to draw up various testcases and maybe implement special handling for IE if I decide to support it at all - bother.
Until I can get the scaling, transformations and mouse interactions working fine I can't say much about speed, but I will say that the delay from start of page load to rendering the first screen (involving several AJAX calls and a lot of on-the-fly DOM construction) seems pretty snappy... comparable to Chrome, quicker than FF3.x
Other points of note ?
Well there's no bookmarks bar that I can find other than putting an entire favourites panel down the left - my bookmarks bar mostly holds bookmarklets these days (bit.ly and the like) and the bar seems a bit too bit to justify keeping open all the time. Chrome has the bookmarks bar disabled by default but lets you turn it on if you want, which seems a reasonable approach - I couldn't find a similar option in IE9.
Developer tools seem slick (again Chrome sets the bar for me here) - I don't know if everyone in Microsoft has double widescreen monitors but again it seems to prefer putting, for example, the javascript console alongside the script window rather than underneath it which seems a perverse use of screen space. I'll have to use them a while to see how well they stack up - Chrome does have a problem for me with losing breakpoints between reloads, and the developer tools sometimes seem to lock themselves to old versions of a page in the cache so I have to regularly close the tab and start a new one. And the 'find element by click' (Ctrl-B under IE developer tools) seems to work properly with SVG whereas this tends to fall down under Chrome a bit (the bounding box is rarely correct). The network profiler seems comprehensive, but I miss Chrome's filter (see all resources, or just CSS / Images / XHR etc) when I've got lots of AJAX calls and small bitmaps and the like to manage. But overall the devleloper tools look impressively comprehensive.
So will I exclude IE9 ? Probably not.. I won't bend over backwards to support it before at least the first service pack or two, but I'd like to make it work before then if I can (does it sound too patronising to say something like 'if only to recognise what they've achieved in a very short time' ??). It's a good start, and my guess is that it'll force the pace of browser development forward again (actually I'd say FF3 and Chrome have done that and stung IE into responding), but the measure will be how well they react to 'real world' cases rather than potted compliance tests, automated unit tests, and performance benchmarking suites - it would help if we could post feedback and access the bugtracking system without more "you need a microsoft LiveID account etc" stuff, but I can't expect the dog to lose all its fleas overnight.
Roll on SP1 and IE10...