<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stopdesign &#187; microsoft</title>
	<atom:link href="http://stopdesign.com/archive/tag/microsoft/feed" rel="self" type="application/rss+xml" />
	<link>http://stopdesign.com</link>
	<description>Stopdesign is the creative outlet of Douglas Bowman.</description>
	<lastBuildDate>Sun, 11 Dec 2011 14:45:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Bring Down IE 6</title>
		<link>http://stopdesign.com/archive/2009/03/16/bring-down-ie-6.html</link>
		<comments>http://stopdesign.com/archive/2009/03/16/bring-down-ie-6.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 16:28:26 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[links]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://stopdesign.com/archive/2009/03/16/bring-down-ie-6.html</guid>
		<description><![CDATA[&#8220;&#8230;it&#8217;s finally time to take IE6 behind the shed and shoot it.&#8221; link]]></description>
			<content:encoded><![CDATA[<p>&#8220;&#8230;it&#8217;s finally time to take IE6 behind the shed and shoot it.&#8221; <a class="linkurl" href="http://www.bringdownie6.com/">link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2009/03/16/bring-down-ie-6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Still throwing tables</title>
		<link>http://stopdesign.com/archive/2005/07/27/still-throwing-tables.html</link>
		<comments>http://stopdesign.com/archive/2005/07/27/still-throwing-tables.html#comments</comments>
		<pubDate>Thu, 28 Jul 2005 00:00:34 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=265</guid>
		<description><![CDATA[<img src="http://stopdesign.com/examples/ms/ms_sm2.jpg" width="100" height="122" alt="" class="left" /> On the one year anniversary of the article: <a href="http://stopdesign.com/articles/throwing_tables/"><em>Throwing Tables Out the Window</em></a>, I thought it appropriate to reveal some behind-the-scenes info regarding the Microsoft example discussed in the article.]]></description>
			<content:encoded><![CDATA[<p><img class="left" src="http://stopdesign.com/examples/ms/ms_sm.jpg" alt="" width="145" height="177" /> On the one year anniversary of the article: <a href="http://stopdesign.com/articles/throwing_tables/"><em>Throwing Tables Out the Window</em></a>, I thought it appropriate to reveal some behind-the-scenes info regarding the Microsoft example discussed in the article.</p>
<p>When I published that article last year, the words and advice contained within were welcomed warmly by large numbers of people. The article was translated into at least eight different languages, and continues to be referenced in other writings and in academic curricula. On the flip side, the same article was also the cause of flaming, accusations of ignorance, and general vitriol thrown my way, claiming I was over-hyping CSS and deceiving the multitudes of its capabilities. Those claims were voiced more loudly when readers couldn&#8217;t find any proving example code whatsoever. Those who refused to let go of their old ways assumed that I fabricated the entire case study.<span id="more-265"></span></p>
<p>I still stand behind that article. And I promise the example code is real, and still resides in the same location where it has been for the past year. <em>You just had to know where to look for it.</em></p>
<p>I intentionally omitted any links or references to my working code examples in that article because the point was not to get hung up on details or to demonstrate the methods used. I wanted to step back and look at the overall picture. After experience with recoding <a href="http://stopdesign.com/examples/yahoosearch/">Yahoo Search</a>, I no longer believe in reworking (in CSS) some other organization&#8217;s site, then publicly rubbing anyone&#8217;s nose in it by posting the code for all to see. I wasn&#8217;t trying to target Microsoft for bad CSS support in IE, nor make a fool of its home page code. Rather, last year&#8217;s home page of Microsoft.com was chosen as an example because it was a high-profile representation of a <strong>very common design model</strong> used on thousands of sites: header across the top, three columns of content, and footer across the bottom. If a site doesn&#8217;t use a three-column content model, it may simplify the same model down to two columns:</p>
<p><img src="http://stopdesign.com/articles/throwing_tables/img/ms_layout_structure.gif" alt="Microsoft's home page, with three different overlay sets highlighting basic page structure, one showing header, 3 columns, footer, two others showing header, 2 columns, footer" width="465" height="177" /></p>
<p>I gave this presentation for the first time in Seattle, right around the corner from Redmond. So I thought the selection of reworking Microsoft would turn a few more heads. Those who attended my talk at Digital Design World had full access to the Microsoft example code during and after my presentation. It was never hidden from them, because it was used as a tool to aid in learning the methods and benefits of tableless design.</p>
<p>In an odd bundle of circumstances, Microsoft ended up redesigning its home page just one month after my Seattle presentation, significantly reducing the file size of its code. The design was simplified and the amount of text on the page was significantly reduced as well, so this wasn&#8217;t solely a reduction due to leaner code. However, all spacer gifs seem to be gone from the markup, and only eight tables remain in the current version, so that points to progress from last year&#8217;s 40-table version.</p>
<h4>Fast-forward to today</h4>
<p>Now that a full year has passed since the article was published, and because Microsoft no longer uses the design I made an example, I also moved on and now use another design for my tableless presentations. Because of these factors, it now seems appropriate to share more broadly the <strong>final example code</strong> I used, and the full set of slides I used during my Seattle presentation to cover the reworking of Microsoft.com.</p>
<ul>
<li><strong>Example code:</strong> <a href="http://stopdesign.com/examples/ms/">2004 Microsoft home page using CSS</a></li>
<li><strong>Seattle presentation:</strong> <a href="http://stopdesign.com/present/2004/ddw-seattle/tables/">No More Tables</a></li>
</ul>
<p>The portion covering the recoding of Microsoft.com doesn&#8217;t start until somewhere around <a href="http://stopdesign.com/present/2004/ddw-seattle/tables/?no=32">page 32</a> of the presentation. Once the presentation gets to Step #3, small links at the bottom of the page point to in-progress files representing the work done up to that step.</p>
<p>By sharing even more information surrounding this case study, I hope having everything in context to this case study helps enlighten others to the means and the power in using CSS to implement and control layout and all other details of design.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2005/07/27/still-throwing-tables.html/feed</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>MSN goes CSS</title>
		<link>http://stopdesign.com/archive/2005/01/31/msn-goes-css.html</link>
		<comments>http://stopdesign.com/archive/2005/01/31/msn-goes-css.html#comments</comments>
		<pubDate>Tue, 01 Feb 2005 07:00:01 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=245</guid>
		<description><![CDATA[<img src="http://www.stopdesign.com/log/img/200501/msn_logo.gif" alt="" width="101" height="47" class="left" /> In conjunction with the launch of Microsoft's <a href="http://search.msn.com/">new search</a> effort, <a href="http://www.msn.com/">MSN</a> gets a pretty significant makeover. Significant, not because of the new look, nor because of the <a href="http://news.com.com/2100-1032_3-5557994.html">multi-million-dollar ad campaign</a> which will attempt to oust Google out of the #1 search spot. But because the underpinnings of the home page represent a considerable move toward web standards.]]></description>
			<content:encoded><![CDATA[<p><img class="left" src="http://www.stopdesign.com/img/archive/2005/01/msn_logo.gif" alt="" width="101" height="47" /> In conjunction with the launch of Microsoft&#8217;s <a href="http://search.msn.com/">new search</a> effort, <a href="http://www.msn.com/">MSN</a> gets a pretty significant makeover. Significant, not because of the new look, nor because of the <a href="http://news.com.com/2100-1032_3-5557994.html">multi-million-dollar ad campaign</a> which will attempt to oust Google out of the #1 search spot. But because the underpinnings of the home page represent a considerable move toward web standards.<span id="more-245"></span></p>
<p>Now, bear in mind, (in my opinion) the new visual design of MSN is quite uninspired. It&#8217;s drab and boxy. (No offense to the designer, if there even was one.) Looks like it may have gone directly from a Product Manager&#8217;s sketch to the developer who coded it. The design certainly offers nothing new or innovative, and looks like it&#8217;s following Google and Yahoo, obviously trying to play catch-up. (Perhaps some would say the MSN design, particularly the very top portion of the page, is a little <em>too inspired</em>. Looking like a confused mix of Yahoo&#8217;s pointy tabs combined with a poor Google-simplicity imitation.) The <a href="http://search.msn.com/">search page&#8217;s simplicity</a> is so simple, it looks unfinished.</p>
<p>Despite a lack of interest in the visual design, I see several interesting things going on here worthy of mention, and to which we should pay attention:</p>
<h4>XHTML 1.0 Strict</h4>
<p>Not only do the new MSN pages unashamedly boast the XHTML 1.0 Strict doctype, the home page comes through with &#8212; at the time of this writing &#8212; only <a href="http://validator.w3.org/check?uri=http://www.msn.com/">28 validation errors</a>, and the search page comes through with only <a href="http://validator.w3.org/check?uri=http://search.msn.com/">1 error</a>. Not perfect, but so much closer than many other high-profile sites that have launched in the past couple years. Most of the validation errors are simple, easily fixable problems. The <code>iframe</code> for the ads will be a problem though: it&#8217;s not allowed in XHTML 1.0 Strict.</p>
<h4>CSS for layout; improved semantics</h4>
<p>The new site is also significant for its use of CSS for page layout and improved semantics. Lots of headings and unordered lists. A table used appropriately for the stock market summary; another probably part of a legacy ad system.</p>
<h4>Upgrade message</h4>
<p>A somewhat fair-minded (read: not entirely IE-centric) interestingly-worded upgrade message is displayed at the top of the home page when CSS is toggled off:</p>
<blockquote><p><em>Why does MSN look like this?</em><br />
Your browser cannot find our style and presentation information. You&#8217;re welcome to use the page as is, or upgrade your browser to its latest version. If you&#8217;re using Microsoft Internet Explorer, go to the Microsoft Internet Explorer website to install the latest version. If you are using another browser, see your browser&#8217;s website for more information.</p></blockquote>
<h4>Style switcher</h4>
<p>A fairly prominent use of a simple client-side style switcher on the home page, allowing the user to toggle between blue and white body backgrounds.</p>
<h4>Handheld media type</h4>
<p>Look through the <a href="http://hp.msn.com/css/home/hp.css?v=17">imported style sheet</a> on the home page, and you&#8217;ll see several uses of <code>@media handheld {}</code> to target certain rules for handheld devices. Rules like this:</p>
<pre class="codeblock"><code>@media handheld {
  #sitenav,#content1,#content2,... {float:none;}
}</code></pre>
<p>which turn off many of the floats. It&#8217;s encouraging to see a large site like this finally thinking about the handheld media type. Makes sense, with platforms like the PocketPC gaining popularity. Hope this is a sign that the PocketPC team is solidly behind the handheld media type.</p>
<p>However, I note lots of individual uses of <code>@media handheld {}</code>, containing only one rule each, rather than one use which groups and contains all handheld rules. Odd. See next point.<br />
<h4>Dynamic style sheets</h4>
<p> The use of query strings to point to their style sheets obviously indicates dynamic scripting is in play here. One of the byproducts of dynamically-assembled CSS is the ability to eliminate almost all whitespace in the style sheet. This makes it difficult for us to read, but easy for them to update (and possibly alter based on variable factors like browser). This potentially explains why the <code>@media</code> container wraps around single rules. Rules are probably flagged as being for a particular media type, and there&#8217;s currently no logic in the style sheet that groups rules together based on shared media types.</p>
<h4>Input button outlines</h4>
<p> Don&#8217;t assume all browsers allow full manipulation of input buttons. If you do, and I&#8217;ve been bitten by this one before, your buttons could end up looking like this (taken from Safari):</p>
<p><img src="/img/archive/2005/01/msn_button.gif" alt="Screenshot of the MSN search form in the Safari web browser, showing an out-of-place rectangular green outline around a rounded button." width="465" height="71" /></p>
<h4>IE5/Mac left in the dust</h4>
<p>I&#8217;m not sure what MSN.com looks like in the updated and much improved <a href="http://www.microsoft.com/mac/products/msnformacosx/msnformacosx.aspx?pid=msnformacosx">MSN for Mac</a> browser (only available to MSN subscribers) that <a href="http://www.tantek.com/log/">Tantek</a> helped complete while he was still at Microsoft. But take one look at the new MSN home page in IE5/Mac, and one thing is clear: Microsoft seemingly paid no attention at all to what the new MSN site looked like in IE5/Mac. Ouch.</p>
<p>Microsoft links to an <a href="http://specials.msn.com/homepagetour/default.html">explanation of benefits of the new MSN</a> where they list the top (first) feature as being &#8220;<em>Faster load time</em>&#8220;. Not sure what the old HTML file size was, but it would be interesting to have as a comparison.</p>
<p class="update"><strong>Update:</strong> Some of you may be interested to know that folks from the MSN team have definitely seen this page, and are aware of the feedback, compliments, and criticism. See <a href="#comment55">Venkat&#8217;s comment</a> below for more info, and a link to a new MSDN blog where Venkat provides a few thoughts and asks for feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2005/01/31/msn-goes-css.html/feed</wfw:commentRss>
		<slash:comments>127</slash:comments>
		</item>
		<item>
		<title>Microsoft advances</title>
		<link>http://stopdesign.com/archive/2004/08/25/microsoft-advances.html</link>
		<comments>http://stopdesign.com/archive/2004/08/25/microsoft-advances.html#comments</comments>
		<pubDate>Thu, 26 Aug 2004 05:00:22 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tables]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=217</guid>
		<description><![CDATA[Seen the <a href="http://www.microsoft.com/">Microsoft home page</a> recently? Some remnants of the previous design are still visible, but a large portion of the design changed significantly. The most pleasing thing to see is actually what's under the hood though.]]></description>
			<content:encoded><![CDATA[<p>Seen the <a href="http://www.microsoft.com/">Microsoft home page</a> recently? Some remnants of the previous design are still visible, but a large portion of the design changed significantly. The most pleasing thing to see is actually what&#8217;s under the hood though.</p>
<p>A huge drop in the number of tables used to lay out the page (my count is <strong>seven tables</strong> &#8212; that&#8217;s down from <em>40 tables</em> previously), not a spacer gif in sight, all the proprietary attributes and identifiers in the links are gone, most of the bulky JavaScript the previous home page used is stripped out, and the HTML now weighs in at a lean 11 KB.<span id="more-217"></span></p>
<p>I don&#8217;t see any browser sniffing going on, thus, we can assume Microsoft is now only serving one version of the home page, rather than the two separate versions maintained before. The team even used proper <code>alt</code> text for the large image map front and center.</p>
<p>Whoah! Can this really be Microsoft I&#8217;m writing about?</p>
<p>While this step represents a huge leap forward for Microsoft toward leaner, more efficient tableless layout that uses much more CSS for design details, it&#8217;s not all the way there yet. There are a few critical things Microsoft is still missing, even by HTML 4 standards. Small mistakes such as placing <code>&lt;p&gt;</code> tags inside link anchors, use of individual divs for bulleted list items rather than using unordered lists, overuse of classes and extraneous elements, and the obvious continued use of several remaining tables to lay out the page. There are a few rendering issues in various browsers that could be worked out, but at least only one version is served to everyone now.</p>
<p>The heartening thing for me about this whole design transformation is the potential of what Microsoft <strong>could</strong> achieve if they kept pushing forward. The current code isn&#8217;t that far off from a completely standards-compliant, accessible, semantically rich home page.</p>
<p>They still haven&#8217;t placed a doctype at the top of their HTML. But even forcing the page to validate as HTML 4.01 Strict, (at the time of this writing) the W3C validator only throws <a href="http://validator.w3.org/check?uri=http://www.microsoft.com/&amp;doctype=HTML+4.01+Strict">64 errors</a>! <strong>That&#8217;s nothing.</strong> Especially when you look through the errors and see most of them are redundant, like the paragraphs inside anchor tags, and repeated use of <code>&lt;nobr&gt;</code> and the non-standard <a href="http://www.cs.tut.fi/~jkorpela/html/nobr.html#wbr"><code>&lt;wbr&gt;</code></a> tag for allowing soft line-breaks. Fix all that stuff, and they&#8217;re looking at maybe 20-25 remaining errors. The CSS isn&#8217;t in that bad of shape either. A couple proprietary properties and a few syntax mistakes.</p>
<p>Whether someone at Microsoft <a href="/articles/throwing_tables/">was listening</a> or not, these changes are <strong>outstanding</strong> to see. Hopefully, this is just a start of what&#8217;s to come. The home page team should certainly get recognition for the progress they&#8217;ve made so far.</p>
<p><em>Nice work Microsoft.</em> Please&#8230; just don&#8217;t stop here.</p>
<p class="end">Thanks to <a href="http://www.betobeto.com/">Beto</a> for the tip!</p>
<div class="update">
<p><strong>Update:</strong> Several people have written in or commented on other sites that they think Microsoft is still serving different versions of its homepage to different browsers because of differences in header/footer styles, or hovers not working in the left-side navigation in non-IE browsers.</p>
<p>As far as I can tell, I still only see one version of both the HTML and CSS being served to all browsers. The header and footer use a proprietary gradient transformation to create the blue-to-white gradients that fails in non-IE browsers:</p>
<p><code>filter:progid:DXImageTransform.Microsoft.Gradient()</code></p>
<p>And each of the left-side navigation links are created by badly-nested HTML:</p>
<p><code>&lt;a href="http://g.micro..."&gt;&lt;p&gt;Windows&lt;/p&gt;&lt;/a&gt;</code></p>
<p>&#8230; which IE/Win doesn&#8217;t care about, so the hover properties work there. But all other browsers correctly recognize the illegal nesting, and seem to cancel out any hover or active link states.</p>
<p>So, still only one version being served. That&#8217;s good. It&#8217;s just that this one version is behaving differently in each browser. That&#8217;s not necessary. With some fixes, the page <em>could</em> render much more consistently in every modern browser (including IE5.0/Win).</div>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2004/08/25/microsoft-advances.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projected savings</title>
		<link>http://stopdesign.com/archive/2004/07/28/projected-savings.html</link>
		<comments>http://stopdesign.com/archive/2004/07/28/projected-savings.html#comments</comments>
		<pubDate>Wed, 28 Jul 2004 19:00:25 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tables]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=211</guid>
		<description><![CDATA[In the article published here yesterday, "<a href="http://www.stopdesign.com/articles/throwing_tables/">Throwing Tables out the Window</a>", I provided a few <em>what if</em> projections of bandwidth savings based on a shot-in-the-dark conservative estimate that Microsoft.com might average about 1 million page views per day. Turns out I underestimated. By just a little.]]></description>
			<content:encoded><![CDATA[<p>In the article published here yesterday, &#8220;<a href="http://www.stopdesign.com/articles/throwing_tables/">Throwing Tables out the Window</a>&#8220;, I provided a few <em>what if</em> projections of bandwidth savings based on a shot-in-the-dark conservative estimate that Microsoft.com might average about 1 million page views per day.</p>
<p>Turns out I underestimated. By just a little.<span id="more-211"></span></p>
<p>Olivier Vanbiervliet pointed me to a public Microsoft page titled &#8220;<a href="http://www.microsoft.com/backstage/inside.mspx">Inside Microsoft</a>&#8220;. The page provides a bit of &#8220;backstage&#8221; information about microsoft.com, including some detailed stats for the month of May 2004.</p>
<p>Their published traffic numbers actually state that microsoft.com got <strong>1.2 billion page views</strong> in May 2004. Divide that by 31, and we&#8217;re not just looking at 1 million page views per day, but more like 38.7 million page views per day.</p>
<p>Which, if you do the math, with a potential average savings of 25 KB per page, works out to numbers a little higher that what I originally projected. More accurate savings could actually be closer to:</p>
<p><strong>924 GB per day.</strong></p>
<p><strong>329 terabytes per year.</strong></p>
<p>I updated the article to reflect these more accurate projections.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2004/07/28/projected-savings.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Throwing tables out the window</title>
		<link>http://stopdesign.com/archive/2004/07/27/throwing-tables.html</link>
		<comments>http://stopdesign.com/archive/2004/07/27/throwing-tables.html#comments</comments>
		<pubDate>Tue, 27 Jul 2004 16:00:36 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tables]]></category>

		<guid isPermaLink="false">http://70.32.90.75/archive/2004/07/27/throwing-tables-out-the-window.html</guid>
		<description><![CDATA[With the CSS waters thoroughly tested by many sites that have taken the plunge, it's time for us to start cheering from the water below, coaxing and encouraging those who haven't yet jumped in, to make that jump. There's no longer any reason to use tables for layout, nor is there reason to maintain multiple versions of a site solely for different desktop browsers. Throw the tables out first. Trust us, they're not needed anymore.]]></description>
			<content:encoded><![CDATA[<p>Those who were at <a href="http://www.ftponline.com/conferences/digitaldesignworld/Seattle/">Digital Design World</a> in Seattle this year saw me present a session titled, &#8220;<strong>No More Tables, <em>CSS Layout Techniques</em></strong>&#8220;. In that session, we reviewed proper use of tables, and a few pointers for styling them with CSS. Then we turned to <dfn>tableless layout</dfn>, reviewing examples and an overview of the two basic approaches (positioning and floats).<span id="more-863"></span></p>
<p>Half way through the presentation, I switched gears and announced we&#8217;d be converting a real-world example from tables and spacer gifs to a pure CSS layout. I could have created a fictitious example to work with in the presentation. But that idea would have seemed too contrived. If I created my own example, it would have been nice and tidy. Everything would have rendered exactly as I wanted it to, staying free and clear of any &#8220;trouble spots&#8221; I already knew to avoid.</p>
<p>Fictitious wasn&#8217;t good enough. I wanted a real challenge. So I chose the site of a small, local-to-the-Seattle-area company I thought a few of the attendees in the audience might be familiar with: <strong>Microsoft</strong></p>
<p>Ok, maybe more than just a <em>few</em> attendees were familiar with this not-so-small company. Many users arrive at Microsoft&#8217;s <a href="http://www.microsoft.com/">home page</a> every day. Microsoft&#8217;s literal home page may or may not be as well-known and oft-used as search giants Google and Yahoo! But <em>microsoft.com</em> in general gets tons of traffic, and the people which pass through its domain every day quite likely number in the millions.</p>
<p>The shame is that Microsoft&#8217;s site isn&#8217;t as optimized as it could be. They haven&#8217;t taken the plunge yet. Users download unnecessarily larger pages, and servers waste extra bandwidth to keep up. At 40 KB, the HTML for Microsoft&#8217;s home page is not exactly a bloated beast. But it <em>is</em> burdened with inaccessible, kludgy, table-based markup filled with proprietary attributes and some awkward JavaScript. Notice I didn&#8217;t mention whether it was valid markup or not. Despite using the flavor of XHTML, Microsoft omits the doctype on their home page.</p>
<h4>Why Microsoft?</h4>
<p><em>Is this just another &#8220;pick on Microsoft&#8221; thing?</em></p>
<p>Bluntly and honestly&#8230; no.</p>
<p>I didn&#8217;t choose Microsoft to jump on the bashing bandwagon, or to toss a few more pot shots at a company some people in our industry love to hate. (I didn&#8217;t pass up any opportunities to question certain decisions they&#8217;ve made, but I avoided passing judgment.)</p>
<p>I admit that I purposely chose and targeted a high-profile company. It&#8217;s my nature to go after the top guns. But it&#8217;s also an example with which almost everyone is already familiar. <strong>Microsoft.com was (<em>and is</em>) a perfect candidate for a standards-compliant CSS makeover.</strong></p>
<p>Here&#8217;s why&#8230;</p>
<h5>Reason #1</h5>
<p>Because of the inefficient use of an abundance of tables and spacer gifs used to layout the page. Pages are more locked down when their content is laid out using tables, and can often be less accessible as a result. <em>Microsoft is <strong>not</strong> alone here.</em> An overwhelming majority of sites on the Web today still use lots of tables for page layout and other purely visual purposes. I chose Microsoft because it could serve as a well-known example (and eventually a model) that relates to the same issues many sites still need to address.</p>
<h5>Reason #2</h5>
<p>Because the basic structure of Microsoft&#8217;s current design is a model that <strong>thousands of websites</strong> use for their own site design: <strong>Header + 3 columns + Footer</strong>. Specifically: a <em>Header</em> that spans all the way across the top of the page, a <em>Left column</em> containing mostly navigation, a <em>Main column</em> for content, a <em>Right column</em> for extra &#8220;stuff&#8221;, and a <em>Footer</em> that sits below all three columns and also spans the entire width of the page. If it&#8217;s not a 3-column layout, many sites might use a 2-column variation of this same basic structure with a Sidebar to the left or right of the Main column:</p>
<p><img src="/img/articles/throwing-tables/ms_layout_structure.gif" alt="Microsoft's home page, with three different overlay sets highlighting basic page structure, one showing header, 3 columns, footer, two others showing header, 2 columns, footer" width="465" height="177" /></p>
<h5>Reason #3</h5>
<p>Because Microsoft&#8217;s home page uses CSS for little more than FAC (fonts and color). I&#8217;d love to see the company that basically invented the concept of style sheets in an application environment, lean more heavily on CSS, and less on old-school methods.</p>
<h5>Reason #4</h5>
<p>Because Microsoft is currently serving a different version of their home page depending on which browser is used to view it. One version for <strong>Internet Explorer for Windows</strong> (v5.5 and above). Another somewhat &#8220;dumbed-down&#8221; version for <em>all other browsers</em> (including IE/Mac) that omits some of the imagery and all product logos. The non-IE/Win version leaves out some of the functionality (e.g. fly-out menus) and renders page elements with different techniques. If you have IE/Win 5.5 or higher, plus another browser available, you can check for yourself. If not, here&#8217;s a screenshot of the two versions, with differences circled in red:</p>
<p><img src="/img/articles/throwing-tables/screen_ms_compare_sm.jpg" alt="Screen captures of the two different home pages Microsoft serves. The left screen shot (from IE 5.5 or higher) shows more images and generally richer styling than the version shown at right, served to all other browsers." width="465" height="276" /></p>
<p>The non-IE/Win version is noticeably more anemic than the full version served to IE/Win. We all know it doesn&#8217;t need to be this way. If you&#8217;re wondering, it&#8217;s not just sloppy coding that works in some browsers and not in others. Microsoft intentionally does a JavaScript browser detect, and redirects the browser to a different file if the browser is IE5.5 or higher. Instead, Microsoft could just maintain one version that works in <em>all</em> browsers.</p>
<p>At least Microsoft serves a version of its page to non-IE/Win browsers. Some developers may not even go that far. The frequent reason we hear cited for dropping support for other browsers is that MSIE/Win is THE browser used by a MAJORITY of people, and that it takes TOO LONG to develop for (and render properly in) any other browsers. Others complain that development for browsers other than IE/Win is TOO EXPENSIVE. Both the <em>too long</em> and <em>too expensive</em> claims are false.</p>
<p>Many developers believe these claims because they <em>start</em> by developing for &#8212; and checking in &#8212; IE. Then they view it in another browser and become frustrated when they see all kinds of supposed &#8220;bugs&#8221; they think they&#8217;ll have to fix.</p>
<p>IE interprets CSS more loosely than other browsers that have been iterating versions over the last couple years (Mozilla, Firefox, Safari, Opera&#8230;). Starting with IE means fewer problems with development work will be detected early on. Developing for IE initially, then trying to retrofit for other browsers <strong>will</strong> <em>increase time and cost</em> in the long run. But there&#8217;s a better way to approach development that&#8217;s faster <strong>and</strong> less costly.</p>
<p>Start with the stricter, more <em>compliant browsers</em> that (usually) render things how they&#8217;re supposed to render. Get everything working there. Then, double back and create a few &#8220;patches&#8221; for IE. Development is much faster this way. It may be counter-intuitive to initially avoid the browser that represents the majority of your traffic. But the process is much more fluid and efficient if you don&#8217;t become accustomed to &#8212; or depend on &#8212; IE&#8217;s relaxed rendering behavior. Start with IE, and you may start with bad code that takes much longer to fix for other stricter browsers.</p>
<p>Going this route, we still have the <a href="/log/2004/01/26/ie-factor.html"><dfn>IE Factor</dfn></a> to contend with. However, as we gain more experience with IE&#8217;s CSS <em>misbehavior</em>, the IE Factor eventually starts to minimize. There <strong>is</strong> hope.</p>
<h4>Just the Facts, Please</h4>
<p>For the second half of the presentation, we stepped through the entire process of converting Microsoft&#8217;s table-based spacer-gif-laden page to a more accessible, purely CSS-driven version that works in <strong>all</strong> browsers. <strong>This is not new.</strong> Others have re-coded microsoft.com before. Many regular readers of this site have been creating tableless designs for a year or more by now. But we don&#8217;t see everyone else jumping into the water yet, despite the water being fairly thoroughly tested by now. Thus, the presentation at Digital Design World, and this follow-up article.</p>
<p>Continuing the presentation, we broke down each stage of the process into manageable chunks. I highlighted each of the major steps of the process, including the dumping of tables, conversion to more semantic markup, and the CSS techniques used to faithfully reproduce each portion of Microsoft&#8217;s home page design.</p>
<p>Throughout the presentation, we examined lots of visuals (diagrams, screenshots, and pictograms) that aided in understanding the techniques used to render each section. I also had the code saved out as separate &#8220;pre-baked&#8221; files I could refer to for each stage of the process.</p>
<p>One of the reasons for writing this follow-up article is to publish the final results of the Microsoft.com makeover, which are kind of hard to ignore:</p>
<table class="data" border="0" cellspacing="0" cellpadding="5" width="100%">
<tbody>
<tr class="row-header">
<th> </th>
<th>Current Design<br />
<em>(IE/Win)</em></th>
<th class="minor">Current Design<br />
<em>(other)</em></th>
<th class="focus">Makeover</th>
</tr>
<tr class="alt">
<th>Tables used</th>
<td>40</td>
<td class="minor">36</td>
<td class="focus">0</td>
</tr>
<tr>
<th>Spacer gifs</th>
<td>35</td>
<td class="minor">76</td>
<td class="focus">0</td>
</tr>
<tr class="alt">
<th>Total &lt;img&gt; tags</th>
<td>43</td>
<td class="minor">122</td>
<td class="focus">6</td>
</tr>
<tr>
<th>CSS bg-images</th>
<td>1</td>
<td class="minor">1</td>
<td class="focus">11</td>
</tr>
<tr class="alt">
<th>Browsers supported</th>
<td>2</td>
<td class="minor">Most modern</td>
<td class="focus">Most modern</td>
</tr>
<tr>
<th>HTML file size</th>
<td>40 KB</td>
<td class="minor">39 KB</td>
<td class="focus">15 KB</td>
</tr>
<tr class="alt">
<th><strong>File size reduction</strong></th>
<td>-</td>
<td class="minor">3%</td>
<td class="focus"><strong>62%</strong></td>
</tr>
</tbody>
</table>
<h4>Going Further</h4>
<p>The numbers get even more interesting when we start doing <a href="http://devedge.netscape.com/viewsource/2003/espn-interview/01/">Meyer/Davidson ESPN-style</a> estimates and projections. According to a public Microsoft page titled &#8220;<a href="http://www.microsoft.com/backstage/inside.mspx">Inside Microsoft</a>&#8220;, Microsoft&#8217;s published traffic numbers state that microsoft.com got 1.2 billion page views during the month of May 2004. In this presentation, I showed how to decrease the markup from one page by 62%, or 25 KB. I also predicted that about 25 KB is a fair savings estimate per page if Microsoft was to get more aggressive about using CSS site-wide. If multiplied out by an average of 38.7 million page views per day, that 25 KB savings per page could add up to about <strong>924 GB</strong> in bandwidth savings per day, or <strong>329 terabytes</strong> per year.</p>
<p>These numbers alone <em>should</em> be enough to turn a few heads.</p>
<p>Now, toss in the fact that the makeover is just <em>one version</em>, and supports Microsoft&#8217;s more &#8220;advanced&#8221; design, (as currently seen in IE/Win) and does so in many more modern browsers.</p>
<p>Companies like Microsoft may or may not want to maintain just one version of their home page that works in more browsers, loads faster, and is more accessible to all kinds of users and devices. Regardless, I thought it was worth pointing out that it&#8217;s now very possible to demonstrate and walk through how they &#8212; <em>or any company</em> &#8212; <strong>could</strong> create one super-powered version that uses leaner markup, works in more browsers, and increases accessibility. All demonstrated within the time span of an hour or two&#8230;</p>
<h4>Additional Points and Caveats</h4>
<ul class="marked">
<li>If you&#8217;re curious, and like to be thorough, the CSS only increased from 3 KB and 5 KB (IE/Win and non-IE/Win versions, respectively) to <strong>8 KB</strong> for the makeover version.</li>
<li>The <strong>fly-out menus</strong> seen in IE/Win&#8217;s version for two options in the left-side navigation are possible to reproduce as well. All done  with pure CSS and simple, semantic, accessible markup. The makeover uses the <code>:hover</code> pseudo-class to toggle on/off a nested unordered list when mousing over the parent list item. One consideration: IE doesn&#8217;t support <code>:hover</code> on list items, so the JavaScript method Microsoft is already using would still be necessary to support fly-out menus in that browser. Or something like <a href="http://www.alistapart.com/articles/dropdowns/">Suckerfish Dropdowns</a> could be used to keep the same semantic nested-list markup the makeover version uses.</li>
<li>The <strong>hefty jump in number of image tags</strong> for Microsoft&#8217;s current non-IE/Win version is due to heavier spacer-gif usage. The non-IE/Win version also calls every bullet image individually, rather than via one CSS declaration, as the IE/Win and makeover versions do.</li>
<li><strong>All of the JavaScript</strong> found in Microsoft&#8217;s markup was removed. As were hundreds of proprietary attributes in anchor elements that were/are apparently used for click-tracking purposes. Microsoft would likely want to add some of this layer back in &#8212; though hopefully through a valid means of doing so.</li>
<li>As mentioned above, the point of this article is <strong>to publish the potential results and benefits</strong> of using CSS and simpler, more semantic markup to build pages. It merely uses Microsoft as a well-known example. <em>This article intentionally omits linking to the final makeover code.</em> I understand that many people could learn from the work done for this presentation, without seeing the presentation, by studying the changes made to the HTML and CSS. However, I do not want to downplay anyone&#8217;s role at Microsoft by publicly releasing modifications to their source code before having a chance to present them directly to Microsoft, and discuss the changes and techniques with appropriate team members, if they ever wish to do so.</li>
</ul>
<h4>Translations</h4>
<p>This article is translated into the following languages:</p>
<ul class="marked">
<li><strong>Brazilian Portuguese:</strong> <a href="http://www.holiveira.com/arquivo/jogando_as_tabelas_pela_janela.aspx">Jogando as Tabelas Pela Janela</a> <em>by Humberto Oliveira</em></li>
<li><strong>Simplified Chinese:</strong> <a href="http://blog.windia.net/2005/10/throwing-tables-out-window.html">Throwing Tables Out the Window</a> <em>by Gregory Song</em></li>
<li><strong>Dutch:</strong> <a href="http://www.nickverstappen.com/artikelen/tabellengooien/">Tabellen uit het raam gooien</a> <em>by Nick Verstappen</em></li>
<li><strong>French:</strong> <a href="http://www.nyxen.net/articles/css/passer_les_tableaux_par_la_fenetre/">Passer les tableaux par la fenêtre</a> <em>by Benjamin David</em></li>
<li><strong>German:</strong> <a href="http://www.yatil.de/artikel/100056/tabellen-aus-dem-fenster-werfen">Tabellen aus dem Fenster werfen</a> <em>by Eric Eggert</em></li>
<li><strong>Italian:</strong> <a href="http://www.gdesign.it/pages/howto/articoli/notable/notable.php">Gettare le tabelle fuori dalla finestra</a> <em>by Giuseppe Di Carlo</em></li>
<li><strong>Japanese:</strong> <a href="http://www.minutedesign.com/translations/stopdesign/throwing_tables/">Throwing Tables Out the Window</a> <em>by Kohei Yoshino</em></li>
<li><strong>Polish:</strong> <a href="http://www.pavio.net/articles/throwing_tables.html">Wyrzucanie tabel przez okno</a> <em>by Pawel Grzesiak</em></li>
<li><strong>Spanish:</strong> <a href="http://www.theragingche.com/blog/traducciones/throwing_tables/">Tirando las tablas por la ventana</a> <em>by Hermann Kaser</em></li>
<li><strong>Turkish:</strong> <a href="http://www.unbf.ca/altiustu/arsiv/2005/01/tablolari_pence.php">Tablolari Pencereden Disari Atmak</a> <em>by Mehmet Dogan</em></li>
</ul>
<p class="update"><strong>Update:</strong> As of 27 July 2005, the example code and corresponding presentation slides were released and made available to everyone. See <a href="/archive/2005/07/27/still-throwing-tables.html">Still throwing tables</a> for background information and links to the code and presentation referenced in this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2004/07/27/throwing-tables.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE Factor, exemplified</title>
		<link>http://stopdesign.com/archive/2004/01/30/ie_factor_example.html</link>
		<comments>http://stopdesign.com/archive/2004/01/30/ie_factor_example.html#comments</comments>
		<pubDate>Fri, 30 Jan 2004 18:11:20 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=168</guid>
		<description><![CDATA[After writing about the <em><elink id="163">IE Factor</elink></em> several days ago, I thought I'd detail a specific example which had me pulling out my hair last week. I'll also provide the solution I came up with.]]></description>
			<content:encoded><![CDATA[<p>After writing about the <em><a href="/archive/2004/01/26/ie-factor.html">IE Factor</a></em> several days ago, I thought I&#8217;d detail a specific example which had me pulling out my hair last week. I&#8217;ll also provide the solution I came up with. As I stated Monday:</p>
<blockquote><p>Tweaks that should have worked had no effect, prompting me to try things that made absolutely no sense to try.</p></blockquote>
<p><span id="more-168"></span><br />
This bug was no exception. It took a lot of isolating and trying remote possibilities to come up with the solution that fixed it. I also mentioned different combinations of IE&#8217;s can drive a CSS author mad. This bug shows up in IE5.5, but not in IE5.0 (Win). IE5.5 certainly renders CSS a little better than its predecessor, but with IE5.5&#8242;s release and improvements, new bugs &#8212; which did not previously exist in IE5.0 &#8212; suddenly appeared. Some of those same bugs were carried into IE6.0.</p>
<p><strong>The problem:</strong> A simple series of content boxes (I call them &#8220;modules&#8221;) appearing in succession within a 200-pixel wide sidebar. Nothing out of the ordinary, certainly nothing complex. Each module started with a title marked up with the <code>&lt;h2&gt;</code> tag. Each module&#8217;s title was followed by two generic paragraphs of text.</p>
<p>The example file I&#8217;ll provide is stripped down, with almost all design details removed. Titles were given a bit of style to reduce font size and top and bottom margins. For what I was creating, borders for each module only existed on the sides. I&#8217;ve exaggerated them to make this bug more obvious. To see it misbehaving, <a href="/temp/bugs/compound/">view this example of the bug</a> in IE5.5 or IE6.0, then view it in any other browser to see the correct behavior. For those not <em>fortunate</em> enough to have either of those two Windows browsers, here&#8217;s a screenshot of the <strong>first</strong> and <strong>last</strong> modules, as rendered by IE6.0:</p>
<p><img style="padding:4px; border:1px solid #ccc;" src="/img/archive/2004/01/compound1.gif" alt="Screenshot shows normal text position in the first module. The last module reveals the IE bug where text slips 24 pixels to the left, and gets clipped by the module's left edge." width="220" height="310" /></p>
<p>Notice how the text gradually slips further to the left for each module. The bug only begins to appear in the second module, then gets progressively worse for each module below. Until the last module&#8217;s text slips so far to the left, it gets clipped by the module&#8217;s container. The problem gets infinitely worse as more modules are added. No other browsers have problems rendering the text correctly.</p>
<p>Obviously, this problem wasn&#8217;t acceptable. I had no idea how many modules the client might need to stack together in the sidebar. I tried every trick in the book I knew to prevent the text from slowly slipping over. The problem was seemingly incomprehensible, as each module was completely independent of the next. The code was completely valid, and no containers overlapped each other. I tried it with the 200-pixel sidebar, and without. I removed padding, applied margins, removed the titles. No luck.</p>
<p>I walked away, went to lunch, then came back to find the root of the problem. I discovered the text was slipping to the left by four pixels from one module to the next. At the time, each of my side borders were only 2-pixels wide. So the text slippage between each module was equivalent to the width of left and right borders combined. I removed the side borders, <strong>the bug disappeared</strong>. (<a href="/temp/bugs/compound/index_noborder.html">See example</a>)</p>
<p>Ok, so it was the <em>border</em>. But the effect I was going for required the side borders. At one point I tried adding top and bottom borders to the module: <strong>Bam! problem solved.</strong> Turns out it&#8217;s actually the presence of a bottom border (any width) which fixes the bug. It makes no sense why a missing bottom border on one element would affect another element on the page. But in IE5.5/6.0, it does.</p>
<p>So the bug could ultimately be described as this: <em>If left and right borders are applied to one container element <strong>without a bottom border</strong>, the side borders on the first container will adversely affect the text position in the next successive container element.</em></p>
<p>To fix my instance of the problem, I added a 1-pixel bottom border for each module, making it the same color as the module background to keep it mostly invisible. (In the example, background and bottom border are white.) Since the border isn&#8217;t necessary in all other browsers, I really didn&#8217;t want it there when it wasn&#8217;t needed. So I added one more rule to turn off the bottom border for them:</p>
<pre class="codeblock"><code>
.module {
  margin:0 0 15px;
  border:4px solid #666;
  border-width:0 4px;
  <strong>border-bottom:1px solid #fff;</strong>
  padding:2px 10px;
  }
<strong>html&gt;body .module {
  border-bottom-width:0;
  }</strong>
</code></pre>
<p>By using a child selector, that final zero-width border rule is hidden from all versions of IE/Win. (<a href="/temp/bugs/compound/index_solution.html">View the final solution</a>) I also discovered that applying a width to each module also solves the text-slippage problem. But IE5/Win&#8217;s broken box model needs to be dealt with if the modules use left or right padding. And widths should not be necessary for individual modules, given that a width is already specified for the parent <code>#sidebar</code>. So I stuck with the add/remove bottom border trick to avoid the need to re-specify module widths.</p>
<p>This is just one example of the inexplicable bugs which caused delay for my latest project. If anyone else encounters the same bug, hopefully this example will save some of their hair, and prevent them from facing the same frustration.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2004/01/30/ie_factor_example.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The IE Factor</title>
		<link>http://stopdesign.com/archive/2004/01/26/ie-factor.html</link>
		<comments>http://stopdesign.com/archive/2004/01/26/ie-factor.html#comments</comments>
		<pubDate>Mon, 26 Jan 2004 17:26:19 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=166</guid>
		<description><![CDATA[I relate it to a <em>driving experience</em>. One in which I travel to a certain destination often enough, that I become more and more familiar with the route that takes me there. I learn the best streets getting to and off the freeway system, every exit along the way. I know the interesting segments, the boring stretches...]]></description>
			<content:encoded><![CDATA[<p>I relate it to a <em>driving experience</em>. One in which I drive to a certain destination often enough, that I become more and more familiar with the route that takes me there. I learn the best streets getting to and off the freeway system, every exit along the way. I know the interesting segments, the boring stretches. Most importantly, I start to recognize traffic patterns, and can predict the areas of congestion that will slow me down. No matter which route I take, there&#8217;s usually one portion of the trip where I know I&#8217;ll slow to a crawling pace. Some routes can&#8217;t be avoided, and the delays they bring <strong>must</strong> be factored into the total time I think the trip will take.<span id="more-166"></span></p>
<p>Such is often the case when designing with CSS. When working with semi-complex layouts, I frequently encounter challenges that end up slowing me down. I&#8217;m getting familiar with these road blocks, and can often predict where I&#8217;ll find them. Having patience, or knowing what to try to get around them prevents head from going through monitor.</p>
<p>Without a doubt, the biggest challenge I encounter each time is in wrangling Microsoft&#8217;s <em>Internet Explorer</em> browser. This devil does not play fair. It often follows no rules, and its behavior defies all common logic. It will double margins for no apparent reason. Borders disappear, 62 pixels magically turn into 143 pixels. It dodges left when other browsers go right. I&#8217;ve decided to call this phenomenon &#8220;<strong>the IE Factor</strong>&#8220;. (Those familiar with authoring DHTML four or five years ago already know where I&#8217;m headed with this.)</p>
<p>While working on the final stretch of a client project last week, I got stuck in a patch of quicksand. Design was finalized long ago. The bulk of CSS was authored over the holidays. Mozilla, Firebird, Safari, and Opera were all rendering the design beautifully, give or take a few small hiccups. But the design still had a few major quirks in IE (both Windows and Mac versions). &#8220;Ok, no problem &#8212; I need to spend an hour or so squashing bugs in IE.&#8221; That hour turned into two full days. Days filled with head-scratching and mind-numbing deconstruction and isolation of declaration blocks and properties. Progress came to a screeching halt while I tried every trick in my book. Solving one problem revealed another. Making a fix for IE would throw off the other browsers. Tweaks that should have worked had no effect, prompting me to try things that made absolutely no sense to try. And lucky me, IE/Win and IE/Mac have completely different bugs.</p>
<p>To be fair, IE/Mac has a predictable set of bugs which have known workarounds. But as I stated above, IE/Win will defy all common logic. Which makes it such a difficult browser to troubleshoot. I don&#8217;t dwell on the box model problems in version 5.x. Those can be dealt with. It&#8217;s the idiosyncrasies of IE5.0, IE5.5, and IE6.0 together (or in different combinations) that will drive a CSS author mad.</p>
<p>At times, I thought about writing every one of my style sheet rules using child selectors, filtering IE/Win out completely and serving it the same unstyled version as Netscape 4. But of course, IE possesses too much market share to turn off a design for every person using it. My client couldn&#8217;t &#8212; and wouldn&#8217;t &#8212; agree with that type of decision. So I had to compromise on each bug. If I couldn&#8217;t find an acceptable solution, or beat IE into submission, I&#8217;d decide to turn off that feature or design attribute just for IE/Win. Nice hover effects over those icons? Sorry IE, you won&#8217;t get them. A nice little bottom border on this box, like <strong>EVERY OTHER BROWSER renders correctly</strong> without going into convulsions? Sorry IE, you don&#8217;t get that either. You&#8217;re too fragile for a simple border. What kills me is the extra markup I&#8217;ll sometimes give in and add, just to get IE to render a critical part of the design correctly.</p>
<p>On numerous occasions, I&#8217;ve been bogged down by Internet Explorer&#8217;s incomplete support of CSS. I spent an extra 2 weeks trying to figure out why IE was bungling the Wired News layout. I should have known that I&#8217;d encounter difficulty with my project last week. But those two days of lost time hit me hard. I was over-confident that I could catch anything IE threw at me, thinking I could solve it quickly and easily. Silly rabbit. In reality, I&#8217;ve now calculated the <em>IE Factor</em> can add upwards of an additional 10% in time and cost for each project, distorting the estimating process if it&#8217;s not figured in.</p>
<p>So, you could say I&#8217;m becoming familiar with the route. I&#8217;m learning the best paths to tread when constructing designs with CSS. I know the interesting segments, the boring stretches. Most importantly, I&#8217;ve started to recognize patterns, and can predict the areas that will slow me down. Specifically, I know about the <em>IE Factor</em>. I don&#8217;t like it one bit, but at least I can prepare, and expect to encounter it for each project. And I&#8217;m building up an arsenal of weapons for use against IE when it misbehaves in the future.</p>
<p>The browser wars are supposedly over. We&#8217;re supposed to be at peace now. Everyone is supposedly cooperating. We&#8217;re supposed to be living in an era where we don&#8217;t need to alter code and make unique design decisions for each browser. We&#8217;re close, but I don&#8217;t think we&#8217;re there yet.</p>
<p><strong>Update:</strong> See one example of a bug which contributes to the <em>IE Factor</em>, described in detail in <a href="/archive/2004/01/30/ie_factor_example.html">this entry</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2004/01/26/ie-factor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firestarter</title>
		<link>http://stopdesign.com/archive/2003/10/09/firestarter.html</link>
		<comments>http://stopdesign.com/archive/2003/10/09/firestarter.html#comments</comments>
		<pubDate>Thu, 09 Oct 2003 18:54:11 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=143</guid>
		<description><![CDATA[News.com staff writer Paul Festa draws more public attention to Internet Explorer's lack of full CSS support in "Developers gripe about IE standards inaction".]]></description>
			<content:encoded><![CDATA[<p>News.com staff writer Paul Festa draws more public attention to Internet Explorer&#8217;s lack of full CSS support in <a title="News.com: Developers gripe about IE standards inaction, 9 October 2003" href="http://news.com.com/2100-1032_3-5088642.html">Developers gripe about IE standards inaction</a>. Paul uses Jeffrey Zeldman, Eric Meyer, and Jakob Nielsen as sources for quotes about Adobe&#8217;s move to partner with Opera to improve CSS support in GoLive. In doing so, he nails the issues, shedding a brighter light on the lingering problems with Microsoft&#8217;s overly-popular browsing application. IE is a decent browser, but its shortcomings make it a dead-weight which is holding back forward-thinking web design and development.<span id="more-143"></span></p>
<p>Adobe&#8217;s decision to partner with Opera is an important one. It&#8217;s one more step in proving that IE <strong>is not</strong> &#8212; and does not need to be &#8212; the browser to which everyone defaults. In addition to clamoring from the development community, it will take major tool and application vendors to help step up the call for Microsoft to pay attention to these demands. The article featured a disappointing quote from Windows product manager, Greg Sullivan:</p>
<blockquote><p>&#8220;While it is true that our implementation is not fully, 100 percent W3C-compliant, our development investments are driven by our customer requirements and not necessarily by standards, [...] We balance feedback from all our customers and make our development decisions based on meeting the requirements of all of our customers, not just a few of them.&#8221;</p></blockquote>
<p>By using this explanation, Microsoft could try to slant what they call &#8220;customer requirements&#8221;, or even project their own requirements based on features the company wants &#8212; or doesn&#8217;t want &#8212; to build into the browser. But growing pressure applied by larger organizations and demanding groups of customers may eventually become a voice Microsoft can no longer ignore. The more fires lit under Microsoft, the less likely they&#8217;ll be able to shield themselves from the firestorm developing around them.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2003/10/09/firestarter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE/Mac, rest in peace</title>
		<link>http://stopdesign.com/archive/2003/06/13/iemac-rest-in-peace.html</link>
		<comments>http://stopdesign.com/archive/2003/06/13/iemac-rest-in-peace.html#comments</comments>
		<pubDate>Fri, 13 Jun 2003 22:58:17 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[entries]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://70.32.90.75/?p=111</guid>
		<description><![CDATA[With the confirmed news that Microsoft is ceasing development of Internet Explorer for Macintosh, a wave of sadness sweeps through the web design and development community. Three years ago, I was only getting my feet wet by messing around with style sheets, constantly frustrated that Netscape 4 wouldn&#8217;t do what the CSS spec said it [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://www.jimmygrewal.com/2003/06/13.html#a86">confirmed</a> news that Microsoft is <a href="http://www.pcpro.co.uk/news/news_story.php?id=43191">ceasing development of Internet Explorer for Macintosh</a>, a wave of sadness sweeps through the web design and development community. Three years ago, I was only getting my feet wet by messing around with style sheets, constantly frustrated that Netscape 4 wouldn&#8217;t do what the CSS spec said it was supposed to do. IE5/Mac provided my first opportunity to dive head-first into CSS and begin to realize its potential for designing on the Web. To <a href="http://tantek.com/log/2003/06.html#endofmacie">friends</a> on the Microsoft Mac Biz Unit who poured years of their lives into this product, my condolences. <em>IE5/Mac, you raised the bar, and certainly served us well.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2003/06/13/iemac-rest-in-peace.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confessions of a designer</title>
		<link>http://stopdesign.com/archive/2002/11/22/confessions.html</link>
		<comments>http://stopdesign.com/archive/2002/11/22/confessions.html#comments</comments>
		<pubDate>Fri, 22 Nov 2002 21:24:28 +0000</pubDate>
		<dc:creator>Douglas Bowman</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://70.32.90.75/archive/2002/11/22/confessions-of-a-designer-2.html</guid>
		<description><![CDATA[Recounting the downward spiral and early recovery phase of a designer's switch to the Windows operating system.]]></description>
			<content:encoded><![CDATA[<p><em>My name is Doug, and I&#8217;m a recovering Windows user.</em> A couple of years ago, I made the made the switch in the opposite direction of Apple&#8217;s latest <a href="http://www.apple.com/switch/">campaign</a>. I can even recount how the downward spiral started.<span id="more-856"></span></p>
<p><img class="imgleft" src="/img/articles/confessions/apple.gif" alt="[image: Apple's apple]" width="50" height="55" /> I was a die-hard Mac fanatic. One of those arrogant designers who shrugged off Microsoft&#8217;s market share and expected <strong>76% of the computing world</strong> to revolve around my operating system of choice. If you weren&#8217;t on Mac, you didn&#8217;t matter.</p>
<p><img class="imgright" src="/img/articles/confessions/classic.gif" alt="[thumbnail image: Macintosh Classic]" width="85" height="73" /> The legacy goes back to a 1 Mhz <strong>Apple II+</strong> that my Dad bought while I was still in junior high. Apple introduced me to the digital world of green monochrome screens, <acronym title="Beginner's All-purpose Symbolic Instruction Code">BASIC</acronym>, and the creation of horrible continuous-paper banners created with PrintShop and a dot matrix printer. I began working with an 8Mhz/1MB RAM <strong>Mac Classic</strong> made publicly available in a student government office my freshman year of college. I plunked down my own chunk of change on a <strong>Mac Centris 610</strong> two years later, which quickly paid for itself with freelance design work.</p>
<p><img class="imgleft" src="/img/articles/confessions/powerbook_g3.gif" alt="[thumbnail image: Macintosh PowerBook G3]" width="85" height="88" /> Wired bought a small group of <strong>PowerBook G3s</strong> for us at the end of 1997, and I fell in love with the Mac design aesthetic. A sleek black notebook with subtle curves, and one of the first working portable DVD drives. It was a beautiful machine worthy of showing off everywhere I went. Six months later, I upgraded my outdated Centris for a beige <strong>PowerMac G3</strong> desktop, two months before the bondi-blue G3&#8242;s came out.</p>
<h4>Downfall</h4>
<p>My Mac idolatry began to wane the following year. My days were filled with system crashes, extension conflicts, frozen applications just before saving, and font manager nightmares. Wired MIS began to drop support for Macs, so designers were left to fix their own problems. Lycos had swallowed up Wired by that time, and <strong>everyone</strong> back in Boston was using Windows. It was too painful to share files or communicate cross-country with a company who knew nothing but 95 and NT.</p>
<p>In August of 1999, I stepped out into the streets and bought my first dose of the dark side. Well, sort of. The cool part of the dark side. If any designer ever owns a Windows machine, it&#8217;s at least partially understandable when the dealer is Sony and the vice is Vaio. Such was my case, but this purchase was a bad hit &#8212; this super-slim <strong>Vaio Z505</strong> ran Windows 98. A horrible introduction to a recreational use of Windows. I could suddenly share files and what not with my Boston colleagues, but I was greeted on a daily basis with the <acronym title="Blue Screen of Death">BSoD</acronym>, and could never successfully enter <em>standby</em> or <em>hibernation</em> modes. I&#8217;m sure both Sony <em>and</em> Microsoft share the blame for that one.</p>
<p><img class="imgright" src="/img/articles/confessions/r505.gif" alt="[thumbnail image: Sony Vaio R505]" width="85" height="67" /> The following year, I eBayed my original Vaio in exchange for higher grade stuff. A newly redesigned dockable <strong>Vaio R505</strong> in the same series, this time running Win2000. And this is where my addiction grew. I finally learned what Windows was all about. Why it was used. Why Microsoft had such high market share. Win2k was stable.</p>
<p><em>I never crashed when using it.</em></p>
<p>My fonts loaded correctly every time. I could reliably collaborate with teams in Boston via NetMeeting. I studied the OS inside and out, and learned how to make it mine. I could push pixels around in Photoshop and have the power of IIS under the hood on the same machine.</p>
<h4>Slippery Slope</h4>
<p><strong><acronym title="Active Server Pages">ASP</acronym></strong> was a welcome addition to the tired HTML and <acronym title="Server Side Includes">SSI</acronym> tricks of this designer. I could suddenly create dynamic pages and serve them directly from my laptop. Entire design prototypes could be built using one or two templates. I learned Windows server administration, and took over the job of managing a machine for our User Experience group back in Boston through terminal services. I built a custom <acronym title="Content Management System">CMS</acronym> to manage the Lycos Style Guide, and learned how to make connections with databases to power portions of the site.</p>
<p><em>I was hooked on a drug from Redmond.</em></p>
<p>My Wired G3 <em>PowerBrick</em> sat in a file cabinet drawer while I fell further down the rabbit hole. The G3 was a cinder block by today&#8217;s laptop standards. I didn&#8217;t want to lug around an 8-pound back-breaker. It couldn&#8217;t even handle the newfound tasks that my made life so much easier. My shiny bluish-silver Vaio was barely over 4 lbs., and it tagged along with me everywhere I went. When it came time to upgrade software, the Windows versions got the attention, while my collection of Mac-based software continued to grow sorely outdated, further taking away any remaining rationale to break my current habit.</p>
<h4>Loss of Hope</h4>
<p><img class="imgleft" src="/img/articles/confessions/powerbook_g4.gif" alt="[thumbnail image: Macintosh PowerBook G4]" width="85" height="63" /> Toward the end of 2001, I desperately wanted to replace my G3 desktop. The big box generated an unbearably loud hum, and it took up way too much real estate beneath my desk. I debated giving up Mac entirely in exchange for my new addiction. But I couldn&#8217;t bear the thought of completely abandoning my previous life. I purchased a gorgeous new <strong>PowerBook G4</strong> at wholesale cost from a counselor at CompUSA. I suppose it was an attempt at salvaging my sense of loyalty which was gasping for air. The G4 booted OS 9 by default. But it also had this new thing called <strong>OS X</strong> that I wasn&#8217;t so sure about.</p>
<p><img class="imgright" src="/img/articles/confessions/osx.gif" alt="[thumbnail image: original X logo for the OS X]" width="52" height="64" /> I had long fallen out of Mac circles, and knew nothing about OS X, other than what I had seen at MacWorld. The major OS rebuild seemed rather disappointing to me. All I could think was that it looked a little too sugar-coated for a professional designer. And the screen type was so big. Was Apple compensating for poor anti-aliasing? I didn&#8217;t understand all the changes in OS X, and hadn&#8217;t yet taken much time to learn my way around a Unix file system.</p>
<p><em>The darkness was closing in.</em></p>
<p>Sadly, the G4 saw very little light of day once it was purchased. It sat conveniently out of the way inside a hall closet. I pulled it out now and then to cross-check my stylesheet hacks on Wired News prototypes over the summer. Hardly the full potential of a 667 Mhz G4 processor. But what else did I need it for?</p>
<h4>Denial</h4>
<p><img class="imgleft" src="/img/articles/confessions/windows.gif" alt="[thumbnail image: flying Windows logo]" width="50" height="45" /> Around March of 2002, I upgraded to <strong>Windows XP Pro</strong>. The deal with the dark side was sealed. Finally a stable operating system from Microsoft that possessed plenty of eye appeal. Many of the new features of XP made so much logical sense. Grouping of taskbar buttons, hiding inactive system tray icons, built in support for wireless networking, and common tasks based on folder type. It proved to me that Microsoft had been conducting a lot of user testing and was paying attention to the resulting feedback.</p>
<p><em>The pusher got smarter.</em></p>
<p>XP was fast and slick. It made me feel good. It stole some of the <acronym title="User Interface">UI</acronym> philosophy from Apple, but didn&#8217;t go overboard with decoration. Put XP beside OS X, and purely based on the visuals, I&#8217;d pick the former any day, especially considering smaller screens. XP didn&#8217;t abuse the screen real estate that OS X carelessly occupied. I could customize the interface in XP by turning off any of the visual effects I found overly gratuitous. I missed that level of control in OS X.</p>
<p>Whenever I pulled the G4 out of the closet, it felt like the OS just got in my way. It didn&#8217;t allow me to accomplish a task without concentrating on the awkwardness of the OS itself. By this time, I knew Windows inside and out &#8212; how to manipulate it and make it work for me. In OS X, it seemed I was always scrolling to find something. Nothing ever fit on the screen, even though the PowerBook screen was 3 inches larger (and 128 pixels wider) than my Vaio. I had no reason to go back. I was completely comfortable with Windows.</p>
<h4>Admission</h4>
<p>At what point did I realize the problem? This required admitting a problem might actually exist. Was there one? After enough friends and colleagues expressed their surprise and dismay in the depth of my dependency on the Windows environment, I started to wonder.</p>
<p><em>The first step toward recovery is admitting the problem.</em></p>
<p>Could such a reliance be harmful? Had I gotten sucked too deep down the hole? It was time to step back and start evaluating. Time to consciously reconsider my dependency and take another look from the outside. I&#8217;ve always had intrigue with the new Mac OS, and a fascination that Apple chose to base its underpinnings on open source software. But I hadn&#8217;t taken the time to give up what I used to know so well about OS 9.</p>
<p><img class="imgleft" src="/img/articles/confessions/book_osx.gif" alt="[cover image: Mac OS X, The Missing Manual, by David Pogue]" width="60" height="75" /> Last weekend, I took my first two steps and reopened my mind to other possibilities. I bit the bullet and upgraded the G4&#8242;s OS to version 10.2. I also picked up a copy of David Pogue&#8217;s <a href="http://www.oreilly.com/catalog/macosxmm2/"><cite>Mac OS X, The Missing Manual</cite></a>. It&#8217;s taking me time to relearn something so entirely foreign. But I&#8217;m quickly discovering the reasons behind the changes, and the advantages and power of this new OS.</p>
<p>As I acknowledge the problem with one drug, I&#8217;m only attempting to replace it with another. I&#8217;m learning how Apple can help temper my dependency on Windows. But I won&#8217;t ever be able to escape Windows entirely. It&#8217;s ubiquitous. No matter when, or how much I turn back to Mac, I&#8217;ll always be a recovering Windows user.</p>
]]></content:encoded>
			<wfw:commentRss>http://stopdesign.com/archive/2002/11/22/confessions.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
