Categories


Archives


Recent Posts


Categories


The More Things Change

astorm

Frustrated by Magento? Then you’ll love Commerce Bug, the must have debugging extension for anyone using Magento. Whether you’re just starting out or you’re a seasoned pro, Commerce Bug will save you and your team hours everyday. Grab a copy and start working with Magento instead of against it.

No Frills Magento Layout is the only Magento front end book you'll ever need. Get your copy today!

Updated: I dug up the old iBook and see how Safari 1.3 handled things

Apple’s new Web Gallery feature of .Mac is a heavy duty “AJAX with a bit of flash for video” web application, based around a Javascript MVC framework called Sprout Core.

Being a old school middle tier wonk, it’s my job to start poking around the source to see what’s going on.

This is what I saw using the latest non-beta of Safari.

Safari 2, OS X 10.4.9

What the crap? Where’s the “runs best at 1024 x 768” notice?

I fired up some other modern browsers to see what kind of results I’d get.

Digging into the source of one of the bypass page, we can see Apple is doing some browser sniffing.

var useragent = navigator.userAgent.toLowerCase(); 
this.useragent = useragent;
this.isIE        = ( (useragent.indexOf("msie") != -1) 
this.isOpera     = (useragent.indexOf("opera") != -1);
this.isFirefox = (useragent.indexOf('firefox') != -1);
this.isWindows =  (useragent.indexOf('win') != -1);
this.versionMinor = parseInt(navigator.appVersion);
this.versionMajor = parseInt(this.versionMinor);
if (this.isIE && this.versionMinor >= 4) {
    this.versionMinor = parseFloat(
}

Without commenting on the robustness of the current code, this approach 1 almost always leads to some future failure down the line. This is particularly ironic, since it’s historically been Mac users who’ve had to suffer due to broken version sniffing.

The results are disappointing, but not surprising. I can see an argument for this kind of behavior if you’re building something that’s strictly a software application delivered via the web (ex. 37 Signals). However, as much as the .Mac Web Gallery is a software application, it’s also a website for people to share their photos with friends and family. Friends and family who really don’t care what browser version they’re running and might be annoyed/confused by the warnings, or completely stymied if they’re using a completely unsupported browser.

It’s clear a tremendous amount of hard work by lots smart people went into building this, but it just serves as proof that a group of smart people can make a series of smart individual decisions that, when combined, produce a crap product 2.

Footnotes

  1. For those people who’ve been living outside the standards/best practices/progressive enhancement bubble, you check for the existence of whatever javascript features you want to use, not for a specific version of a specific browser made by a specific vender.

  2. Which almost all of us, myself included, have been involved with at one point or another.

Originally published August 8, 2007

Copyright © Alan Storm 1975 – 2017 All Rights Reserved

Originally Posted: 8th August 2007