Back on my 32nd birthday I went for a helicopter ride in over Sydney harbour. On that trip I took a ton of photos.

I thought that one of them would be a great candidate to “tilt shift” and here is the result.

TiltShiftSydney

I have a few more up in this flickr photo set.

One of the most common technical challenges when developing websites is how do you handle thecross browser rendering issues ?

The answer is some magical javascript called the CSS browser selector. This code allows you to write browser specific styles in a single style sheet: for example:

.ie6 .example {
  background-color: blue
}
.ie7 .example {
  background-color: orange
}

With little fanfare Google has “released” the first version of Google Chrome. What does that really mean ?

Not a lot, unless you previously had developers who wouldn’t fix Chrome specific rendering errors in their pages because it was “beta”.

You have to hand it to the folks at Apple. I only noticed today that their Mac OS X icon for a Windows based server comes complete with old CRT monitor and a blue screen.

generic-pc.jpg

Nice to see some people have a sense of humour.

What is website browser compatibility testing?

The goal of browser compatibility testing is to ensure that the site renders without error on the target web browsers. Some minor rendering differences are expected from browser to browser, or within different versions of the same browser.

The image below shows the rendering differences between Internet explorer 5.5 (which is ghosted) and Internet Explorer 6 for Microsoft’s homepage.

MicrosoftDotCom.jpg

What you can clearly see is that the main page elements in IE5.5 are clearly moved to the left. You can also see that the navigation bar is not working at all, and that silverlight is not supported on IE 5.5.

These types of rendering differences will occur typically across major versions of browsers, but as the same rendering engine is typically used on all platforms for multi-platform browsers, the same version of the same browser will typically render the same result on all platforms that it supports. This reduces the need for testing the same version of a browser on multiple platforms, however simple sanity checking of browsers cross platform is recommended if the configuration is already available.

So which browsers should I test?

To determine where you should focus your testing effort, let’s look at the browser market share at the time of writing (December 2008)

BrowserShareDec08.png

Source: http://marketshare.hitslink.com/

Generally a browser should be tested if it meets one of the following criteria:
• It is used by a significant portion of a sites users, and is in common, widespread usage.
• It is the default browser on the latest version of Windows or Mac OS X.
• It is a newly released browser which is expected to quickly gain a significant portion of browser market share, e.g. IE 8 or Google Chrome

After reviewing the data against those criteria, the following browsers are suggested for inclusion for testing most sites:

Browser

Reason for inclusion in test matrix

Internet Explorer 7.xMost common browser in use today.
Internet Explorer 6.xSecond most common browser in use today.
Firefox 3.0Latest version of Firefox, and has > 10% market share.
Safari 3.xDefault browser on Mac OS X.
Internet Explorer 8.xLatest version of Internet Explorer that is expected to be the most common browser in the future.
Google ChromeExpected to be a common browser in the future.

What bugs am I likely to find?

To decide what we need to test we need to understand what is likely to break. The current batch of web browsers have a set of commonly known bugs and differences. If you understand these differences, you can go a long way to understanding why pages render differently in different browsers. Internet explorer has a large number of CSD layout issues and rendering bugs. A full list is available here.

You can see visually how these bugs manifest themselves with the Acid 2 test. This is a test that is designed to see if a browser can render CSS correctly.

With its market dominant position, most sited will be built for IE first, and as a result, browsers that don’t have these issues, will now have layout issues. This is clearly shown below in this comparison of different browsers running the browser Acid 2 test.

BrowserAcidTest.png

If your sites are developed on Macs, you can almost guarantee there will be issues in internet explorer. If your site is developed on Windows, the opposite applies and Safari, Chrome, Firefox and IE8 will probably be broken.

One more thing

Your site will never look the same in EVERY browser. It is simply not possible. Here is how microsoft.com looks in lynx.

MicrosoftInLynx.png

Ironically, this is exactly how search engines see the world.