Genii Weblog

Wall of sound: Outlook and Gmail crash together

Mon 13 Jul 2009, 01:49 PM



by Ben Langhinrichs
In the 1960's, Phil Spector developed a sound production technique which became known as the "wall of sound" in which a whole bunch of different guitarists played the same parts, and the whole thing was recorded in an echo chamber.  (Sounds a bit like the blogosphere, now that I think of it.)  When looking at how Microsoft Outlook and Gmail interact, it is hard not to think of that dense, echoing quality, as each takes the approach that its way is right, and no amount of HTML thrown at a problem is too much.

To see a bit of this in action, I'll take my recent post, Collaboration: From Notes to Outlook to Gmail to Notes, in which I focused only on the beginning and end of the cycle, and instead show a tiny bit of the middle, where Microsoft Outlook and Gmail crash together, bestowing honor on neither.

The snippet I'll concentrate on is one created in Notes using iFidelity, but it is pretty standard HTML, if perhaps a bit wordy.

<span style="font-size: 14pt; font-family: sans-serif; "><strong>Spam</strong></span>
<span style="font-size: 14pt; color: rgb(0,0,255); font-family: sans-serif; "><strong>Geek</strong></span>
<span style="font-size: 14pt; font-family: sans-serif; "><strong> for Domino - SMTP Log</strong></span>

While these could have been simplified, standards and guidelines are followed.

Now, what happens when Microsoft Outlook receives this message and forwards it?

<strong><b><font size=4 face=Arial><span style='font-size: 14.0pt;font-family:Arial'>Spam</span></font></b></strong>
<strong><b><font size=4 color=blue face=Arial><span style='font-size:14.0pt;font-family:Arial; color:blue'>Geek</span></font></b></strong>
<strong><b><font size=4 face=Arial><span style='font-size:14.0pt;font-family:Arial'>for Domino - SMTP Log</span></font></b></strong>

Outlook doesn't approve of the styles or the <strong> tag, even though both are recommended practice, but rather than replacing them, it simply adds a <b> tag and a font tag which duplicate the information (after arbitrarily changing the "sans-serif" font to "Arial" and using a size of 4, which is a deprecated way of referring to the font size).  Queue the duplicate guitars, please.

Now, how does Gmail process this message and forward it again?

<b><b><font size="4" face="Arial"><span style="font-size: 14pt; font-family: Arial;">Spam</span></font></b></b>
<b><b><font color="blue" size="4" face="Arial"><span style="font-size: 14pt; font-family: Arial; color: blue;">Geek</span></font></b></b>
<b><b><font size="4" face="Arial"><span style="font-size: 14pt; font-family: Arial;">for Domino - SMTP Log</span></font></b></b>

You might think that Gmail would be wary of email from Outlook, which is, whether we like it or not, the leading business email system of our time.  Since Gmail doesn't seem to like the <strong> tag either, and since this dense layered approach is extremely common and well known with Outlook mail, you might think it would notice that there was already a <b> tag, but it doesn't.  Instead, Gmail creates a nested <b> tag, which is flat out wrong.

Of course, in this instance, Outlook is more to blame since it doubled the attributes in the first place, but at least it created "correct" HTML, albeit with an overdeveloped sense of backward compatibility, since the code would work even in browsers that didn't use CSS.  Gmail is less to blame in this instance, but did create "incorrect" HTML.

For those still interested, going the other way around is a bit better, but only because iFidelity happens to more closely mirror what Gmail expects.  The original HTML:

<span style="font-size: 14pt; font-family: sans-serif; "><strong>Spam</strong></span>
<span style="font-size: 14pt; color: rgb(0,0,255); font-family: sans-serif; "><strong>Geek</strong></span>
<span style="font-size: 14pt; font-family: sans-serif; "><strong> for Domino - SMTP Log</strong></span>

is modified when forwarded by Gmail to:

<span style="font-size: 14pt; font-family: sans-serif;"><b>Spam</b></span>
<span style="font-size: 14pt; color: rgb(0, 0, 255); font-family: sans-serif;"><b>Geek</b></span>
<span style="font-size: 14pt; font-family: sans-serif;"><b> for Domino - SMTP Log</b></span>

with the only real change being a switch from <strong> to <b>.

Now, this is modified by Outlook to be:

<b><font size=4 face=Arial><span style='font-size:14.0pt;font-family:Arial;font-weight:bold'>Spam</span></font></b>
<b><font size=4 color=blue face=Arial><span style='font-size:14.0pt;font-family:Arial;color:blue;font-weight:bold'>Geek</span></font></b>
<b><font size=4 face=Arial><span style='font-size:14.0pt;font-family:Arial;font-weight:bold'>for Domino - SMTP Log</span></font></b>

which duplicates everything and has an extra space added before the "Geek" part, but is otherwise correct.  It is a tiny bit more justifiable putting the font-weight:bold in than it was putting the <b> in when there was already a <strong>, but the decision to weigh down every email with all the duplicate stuff, along with the absolutely massive header stuff Outlook adds, is certainly not helping the congestion in the world's email systems, and all of it leads to more processing work for each subsequent email processor.  

Not to mention, the echoes and noise are giving me a headache.

Copyright © 2009 Genii Software Ltd.

What has been said:

No documents found