Posts Tagged ‘Compatibility View’

Re: Compatibility View Stuff

It seems all I talk about on this blog these days is IE8; if you don’t have any interest in IE8, I apologise.

Upon checking my visit logs tonight, I discovered I was quoted on the ieblog referring to some things I mentioned in . Subsequently, Scott McIver from the IE team responded with some interesting comments.

In reponse to the ‘assumption’ I made where I described what telementary data the list will be made up from, Scott suggested that I had misenterpreted what will actually happen when in fact what will happen is, … a list of super-important sites is compiled (based on 3rd party survey data). We then look to see if users are having compatibility failures on those sites and, if they are, contact those sites and add them to the list. What I don’t understand is why they’re planning to break down into this ’super-important’ tier. Even with 3rd party survey data, it’s still a very subjective criteria; it’s an obvious fact that different usergroups will deem different types of sites to be most important – it’s a personal thing, at the end of the day. To me, it seems a no-brainer for them to base their list on sites (top 1000 or so) that the highest frequency of users perform a compatibility-switch on- this criteria seems far more relevant in this context.

Show me the list, show me the list

Perhaps a more effective means of finding out whether your site appears on this list, is to make it public (Update: if you want to find out the contents of the active list, you can navigate to res://iecompat.dll/iecompatdata.xml in your address bar), rather than waiting for Microsoft to email you about it? On top of this, Microsoft need to provide developers which a clear means of contacting them regarding removal of their site from the Compatibility View list – currently, I see no way of doing this.

Lack of CSS 2.1 support and it’s probable effect on Compatibility View

I’ve been pretty busy this weekend filing (I’ve found in just one day). Just recently I’ve become acutely aware that the final release of IE8 won’t fully hit CSS 2.1 support, whether it’s because a spec implementation is buggy, or they’re not going to bother implementing a spec full stop. This lack of support got me thinking about the impact this will have on the users interaction with Compatibility View; even though many of the bugs I’m coming across are fringe cases or features that aren’t currently being used on a large scale (can be blamed on browser support, I’m sure), there is lack of support for (or bugs relating to) features that are commony used. These issues will of course result in a substandard page layout, and my concern is that end-users will be tempted to perform a compatibility-switch in the hope that it fixes the layout, when all it’ll do is either look the same or worse – OK, compatibility-switching won’t fix the lack of support for the print media descriptor when used with the @import rule, but you catch my drift.

Incorrect use of Compatibility View

I saw this post, in which we get a better insight into what the IE team were talking about when they said high-volume sites weren’t working for end-users with IE’s new standards compliant default. Scott describes how styles that should be specific only to IE7 (to work around it’s layout bugs) are also getting applied to IE8, on the popular MySpace.com site. For example, they have chosen to use the gte IE7 (greater that or equal to IE7) operator which of course means that IE8 applies these styles too. The underlying issue here then, lies with authors making irresponsible decisions relating to which operator a conditional comment uses not that these sites aren’t coded to be standards compliant. So, perhaps in hinds sight, Microsoft shouldn’t have implemented the greater than operator in the first place.

I can in fact, see this being a problem across all future IE versions; for example, when we get around to IE9 (which will hopefully not include Compatibility View), sites like MySpace will continue to break in the same way they’re doing now if those site authors don’t update the Conditonal Comment operators they’re using.

On a side note, I had a little chuckle when reading this post from one angry developer; based on his use of uppercase text, asterisks for emphasis, and generaly formatting, I’d hate to meet him in person on a bad day!

Aside

This random made me laugh. I didn’t particularly want to create a whole new post just to showcase , so I’ve stuffed it in this one

Compatibility View stuff

It’s been a while since I’ve posted about the Emulate IE7 Compatibility View feature.

My first gripe…

Granted, the position of the ‘Emulate IE7′ button in Beta 1 was ugly as hell, I can only assume that this button re-posiiton (and re-size) goes to show the apparent lack of thought that has gone into how users will identify with what this button actually does. Instead of a fairly prominent ‘Emulate IE7′ button positioned near the top right of Beta 1, the IE team have placed the new UI button for Compatibility View in an inconspicuous area to the right of the address bar. Chris Wilson has said, however , that they may move the button position based on user feedback. The underlying issue though is that the target audience of IE8 won’t have the first clue what all this fuss is about.

Compatibility View based on user feedback?!

The main reason for me writing this post is down to an article the IE team released yesterday relating to a new extension of Compatibility View, that will make the experience of defaulting to standards mode better for the end user. Essentially they collect the data, relating to what high-volume sites other users clicked the Compatibility View button on (i.e which TLDs most commonly prompt a user to manually switch to Compatibility Mode). A list of the TLDs that prompt the highest number of switches is compiled, and then users who download the next update of IE8 (or install the Beta of Windows 7) have a choice as to whether they want to opt-in to the aforementioned list of sites that should be displayed in Compatibility View (check out the ).

What prompted the IE team to implement this ‘community-powered’ solution?

Apparently, according to the article, high-volume sites such as facebook.com, myspace.com, bbc.co.uk, and cnn.com have been specifically flagged (presumably as a result of this collated user data) as not working correctly in the standards compliant default mode. As this user data has come from Beta 2 (and perhaps more worrying Beta 1?), which still has an alarming amount of rendering bugs still active, it’s highy likely that what end-users are actually seeing are Beta 2 (or Beta 1’s) rendering bugs, not as a result of a badly-coded website which relies on IE7’s quirky layout rendering.

Arguably, the most worrying situation for authors of these sites would be if MS decided not to refresh the data that the TLD list is based on, once the release candidate is distributed. Not refreshing this data (i.e wiping the data collected from the two Betas), would mean that authors of sites that appear in the ‘blacklist’ would presumably have to use the version targeting <META>/HTTP Header together with the newly introduced IE=EmulateIE8 value to remove their site from this blacklist – I presume this since there was a similar mechanism proposed back in August. So we are back to a similar scenario to the one where it was proposed Compatibility Mode be enabled by default, where even though a site is standards-compliant, the <META>/HTTP Header reset will need to be added by default to prevent these standards-compliant sites being viewed in Compatibility Mode.

I am still intrigued as to why sites such as Facebook, BBC etc were flagged, so I did a quick browse in Beta 2 and couldn’t find one rendering issuze on any the sites mentioned- I’d suggest that the apparent issues that end-users have experienced are down to performance (Javascript/AJAX) issues as opposed to layout bugs.

How does this new feature tie-in with the user-specific blacklist

The latest post doesn’t actually mention whether this ‘community-powered’ blacklist will work alongside the user-specific blacklist mention in the initial article on Compatibility View. I imagine that if they were to run in paralell, then the user-specific blacklist would overwrite the community-driven one.

Overall, an interesting concept I’m sure you’ll agree. And this after Chris Wilson thinks Gerard was overplaying how many people will push that [Compatibility View] button ;)

Emulating IE7 in IE8 Beta 1

Forgive me for possibly coming across as ignorant – but when the IE team decided to implement this function, who did they think would use it? Is this a half-hearted attempt at a tool aimed at developers to allow them to test on both IE7 and IE8 on the same browser? Or is it a feature that they think their target market group are going to make use of?

Paul Cutsinger, IE’s Lead Program Manager explains over on the IE Blog that “it will help you with everyday browsing and with quickly checking your site as you work on it”; let me break his quote down:-

“it will help you with everyday browsing…”

How will it help someone with everyday browsing? If a site looks broken in IE8, the odds are that users aren’t going to wait around while the emulation process takes place (requires a complete browser restart); they’re just going to leave the site. I want to make my feelings quite clear – if a web developer doesn’t want to (or doesn’t know how to) create cross-browser compliant code then as a user, I shouldn’t expect to have to compromise my browsing experience due to their ignorance of standards-compliancy (or lack of knowledge) by having to take the regressive step of using the IE7 user agent string, version vector and layout modes.

Isn’t the ‘average joe’ going to be a bit bemused by the appearance of this shiny new button on their IE8? I have no doubt that they’ll disassociate themselves with it, as they’ll have no idea as to what it actually does.

“…and with quickly checking your site as you work on it”

Completing the backwards step of going from IE8 to IE7’s layout requires a complete restart of the browser. Even with the fastest PC, a user is still going to have to physically click buttons to complete the steps to switch layout modes. I hope this laborious process is simply down to the unpolished nature of a Beta; if we really have to go down the route of version emulation in the RC, the IE team needs to add an automatic close/open process- we shouldn’t expect end users to do this themselves.

So, who’s it actually for?

Well if I’m honest, I’m still not sure. Below I’ve highlighted the two possibilities:-

  • For developers- Why then is the emulation button in the position it is within the browser window? I recognise it’s a Beta, but if this feature does makes it through to the RC (which I fear it probably will do), this button needs to be removed from the main viewport and into the developer tools. The ‘average joe’ won’t understand what this feature does anyway, so leaving it on the main viewport is likely to lead to confusion as to what it actually is and does. Looking back over the history of emulation software, is MS unaware that just by simply emulating IE7 you shouldn’t expect to gain a true representation of an IE7 standalone. There’s no substitute to virtualisation and running a cloned base image alongside the original, with IE7 on one and IE8 on the other; failing that multiple versions of IE would be the second best solution; in the instance of IE6/7, it was down to a third party to provide developers with a solution for running two standalones side by side- it would be great if MS developed an official standalone version which doesn’t automatically overwrite IE7 and doesn’t muck with registry files.
  • For IE’s target market group- If in fact IE is marketing this feature directly to their target audience, then for a start they need to illustrate this feature (and the button) better. ‘Emulate IE7′ is likely to mean very little to the users that IE is targeting IE8 for.

Another agenda?

It’s no secret that MS are engaged in talks with the EU over anti-competition laws. I share the same opinion as others in that the sudden reverse decision to remove the opt-in standards mode days before the public Beta release of IE8 could have partly been down to MS taking note of what the EU were ultimately looking for them to do. I’m not complaining though; I’ve already expressed my delight before that the initial decision was reversed. From MS’s point of view it’s killed two birds with one stone; from the EU’s point of view it could be seen as a step towards opening up the browser market more. For us developers ultimately more vendors means more healthy competition, which means faster adoption of standards (think if FF hadn’t have come along, where would we be now; forced into using defacto standards and proprietary properties devised by IE?), and of course, the IE team now suggests IE8 is standards compliant (like we haven’t heard that statement enough times already).

NOTE:-The ‘Emulate IE7′ feature was specific to Beta 1 and has since been replaced by ‘Compatibility View‘, which I discuss in my review of Compatibility View

IE8 Beta 1 released & it’s CSS support

A few hours ago, the guys at IE released the first beta of IE8. First off, it was a surprise to me that they decided to release it before SxSW; also because only a couple of days ago they released details on how they reversed their initial decision regarding the proposed opt-in standards compliancy mode.

After frantically copying over a Parallels base image to create a test bed soley for IE8, I installed it – the UI looks virtually exactly the same as IE7, with the notable addition of an ‘Emulate IE7′ button (more on IE7 emulation in IE8) and the address bar highlighting the domain name (I’m guessing to try and combat phishing attacks).

While I think it’s great that MS has bitten the bullet and , I wonder how much this new IE7 emulator feature will actually be used. Take this example for instance- the average joe uses IE8 to visit a site and notices that the site’s layout is broken, since it relies on IE7 quirks. Is the user really going to think, “Oh yeah, the site looks broken as the developer who built it has coded it with only IE7 in mind, so I’ll use the IE7 emulator – that’ll work.” Of course they won’t; they’ll simple get discontent and leave the site. My personal opinion is that this new emulator function is a half-hearted attempt by MS for them to be seen to be proactive about backwards compatibility, what with all those millions of sites that rely on IE7’s buggy CSS implementation (not to mention IE6). Similarly, developers who have coded a site with only IE7 in mind will probably not be ’savvy’ enough to even be aware of the new proprietary meta tag that switches IE8’s rendering to ‘IE7 mode’.

In terms of CSS, their really isn’t too much additional support which is disappointing to see, after all the buzz the IE guys created about passing Acid2; yes, it does for me (although a lot of people are noticing it doesn’t for them), however after carrying out some provisional tests using CSS3.Info’s Selector Test it’s frustrating to see that only 14 out of the 43 selectors passed (yes, you read that number correctly!). The press release on IE’s blog which accompanies the news does however mention quite clearly to expect “full CSS 2.1 support in the final IE8 product. After all, considering that this version is indeed a public beta, I would have liked to have seen more CSS support out of the box.

Something that has been bugging the web community up until now is that MS hadn’t released any details to date as to what support IE8 will include for CSS3. However, after trawling through MSDN I came across a whitepaper detailing CSS 2.1 Compliance. In this paper, it mentions that while one of IE8’s main goals is CSS 2.1 compliance, it is also forward looking to CSS3. It goes on to mention, that IE8 “hopes to implement some of the most requested CSS3 features by web developers and designers”.

Peter G beat me to it, by posting on the CSS3.Info site regarding CSS improvements in IE8. He did however, miss out some notable new properties- they include:-

  • Generated content (including ‘counters’)
  • Outline
  • New ‘display’ values (supports all ‘display’ values as per the CSS 2.1 spec)
  • Box-sizing (utilises new IE-specific ‘-ms-box-sizing’ until spec has been further clarified)
  • Writing-mode

One nice little feature they’ve added with developers in mind is the first installment of “… great, built-in developer tools” – again, they promise more is on the way.

Webslices are another new feature debuting in IE8; they’re basically portions of arbitrary websites to which a user can subscribe to. The HTML annotations for which Webslices relies on, are derived from the hAtom microformat.

Update: Since publishing this article, MS have released a new document outlining planned CSS3 support in the public release candidate of IE8; I also discuss this document in .