Safari 4 preview

I just grabbed the new update to the Safari 4 preview, and I have to say it’s very zippy indeed. I ran SunSpider benchmarks on it and FireFox 3.0.1 on my Mac Pro. Safari 4 is on average 75% faster, but has many results that are in the 200 – 500% range.

This is only measuring javascript performance of course, but that, plus whatever other changes are in S4, translates to incredible speed in daily use. I use the SafariStand extension to remember my open tabs, and I can reopen about 40 tabs in 8 windows in about 3 seconds, including all their content! FF 3 was a huge improvement over 2, but Safari 4 is a different league. This is only a preview, so it will probably get faster still by release.

The integration of the JS debugger is very elegant (Drosera has been rolled in), but I’m still looking forward to the appearance of FireBug for Safari, which someone is doing as a Google SoC project (S4 adds some FireBug hooks too).

All the new CSS funkiness from recent webkit nightlies is there too, and I suspect many an iPhone and widget developer is drooling over them…

The Email Standards Project

The Email Standards Project is a worthy effort to try to get email clients to handle HTML email in a consistent way. Many already do pretty well, but there are some big exceptions: Outlook 2007 (with its ancient Word rendering engine), GMail, .Mac, Hotmail and others. Many are opposed to the whole idea of HTML email, but often their resentment is based on the fact that historically email client support has been so bad that they’ve had very poor experiences. Worse is that some senders (not us!) send HTML-only messages, which is certainly something that will drive a Mutt user potty. Smartmessages supports sending in plain, html and mixed formats (settable by each individual subscriber), and we ensure that our users get a clean, reliable platform for delivering their creations, so we try to work around the deficiencies of things like MS Exchange.

Generally the poor support in big-name clients has led to a need to develop HTML for email for very much the lowest common denominator, which for the most part means no CSS (unless you’re prepared to tiptoe through the minefields of using it), no images, no scripts, no forms, no attachments. Too many designers think of email as being just like the web, but it’s not – the vast majority of web pages will simply not work as email. These days the only effective way of designing for email is to start out with classic HTML 4.0 with no CSS or images and make your message look good using only type, white space and colour, because this is probably all that 90% (yes, really that much) of your recipients are going to see. You can then sprinkle a few images in for enhancement, but you should have no text in images that is not shown as text. With the advent of Outlook 2007’s big step backwards, it’s no longer possible to use background images, so you can’t have text over images at all. You also can’t rely on alt attributes as image fallbacks, as some big clients don’t display the alt text if images are being suppressed as an anti-spam measure.

Many designers get very uppity about this kind of thing as it means that their palette of options is severely constrained, however, it should really be regarded as a challenge. It’s not too hard to make stuff look good with heavy use of images (see CSS Zen Garden for gorgeous examples), but producing stuff that looks good with no images or CSS (or more to the point to still look good when those parts have been ripped out) takes a great deal of skill, experience and appreciation of the medium.

Any effort to try and raise the bar gets our support, so props to the Email Standards Project and to Freshview for starting it.

Safari & CSS User Interface colours

I’ve recently encountered a stylesheet that uses the CSS user Interface colours defined here:

My attention was drawn to it because it was a problem. a:hover was defined as color:HighlightText, and body had background-color:Background, the result of which was that I got white text on a white background when rolling over links. This makes it sound like these values are not set properly by Safari, or that it doesn’t match Safari’s own internal style sheet. For example if I select text on a page with neither of these styles set (i.e. black text on white), I get my system selected background colour, but the text remains black. This would indicate that Safari considers HighlightText to be black by default. But when I ask for that colour by name, I get white instead. Is this a bug?