Just wanted to pick a few of your brains on how far back should you optimize for browsers? I'll go as far back as IE7 in windows but I'm not sure about FFX or chrome. Any thoughts?
How far back you go is simple cost/benefit. You use your analytics to see what your visitors are using. For browsers with very little traffic, you need to look at the conversion rate... what is the net profit produced for activities using a given browser. Then you look at the cost of maintaining support for that browser. If the cost of maintaining the browser for a year is more than the profit generated by supporting that browser, then you drop support. There is no single answer; it depends on the simple principle that you don't support anything that does not produce a profit.
My rule of thumb is that a page should at least be USABLE back to IE6 -- and possibly 5.5; given that it's only been 3 years since windows mobile got IE6 (no joke -- what, missed the 6 on 6 party? that's ok, so did everyone else). Now, before the peanut gallery kneejerks into "that's crazy", notice I said USABLE. It should NOT waste time trying to look 100% identical or have all the fancy new behaviors. I've drawn the line at IE9 for that. IE9 should function pretty much identical to all the other browsers... anything less than IE9 can gracefully degrade losing all the cool CSS3 stuff, but it should remain functional. I flat our refuse to waste time, bandwidth or even sacrifice stability on using any form of 'shiv' or 'polyfill' just for CSS3 stuff -- it's a waste of bandwidth and waste of time, and quite often causes more layout headaches than they solve. OH NOES, IE8/lower doesn't get the rounded corners and drop shadows... BIG **** DEAL!!! If people can't join us in this decade they should expect a degrade experience -- at the same time that is no excuse to exclude them from access to your content. Because -- and this is a bitter pill for the art ***'s pissing out PSD's and calling themselves "designers" to swallow -- people do NOT visit websites for all the goof assed graphics you hang around the content -- they visit FOR the content. Look at the big success stories of the internet: E-Bay, Google, Amazon, Facebook -- not exactly a visual tour-de-force. I have the same attitude towards HTML 5 -- some stupid bit of javascript to make a bunch of POINTLESS and REDUNDANT non-semantic tags that the WhatWG is under the delusion actually serve a purpose and/or are semantic, is... well... pointless and stupid. (obvious stupid is obvious). None of the new tags in HTML 5 for 'structural' purposes have any legitimate use apart from adding new redundancies to the specification (audio, video, REALLY? What happened to "get rid of all the extra tags and use Object instead?), backpedaling on all the progress of HTML 4 Strict to dial the clock back to HTML 3.2 practices, loosening the structural rules just for the re-re's who can't bother writing valid code, and legitimizing the practice of tossing extra wrappers around elements that don't actually need them. The same people who sleazed out endless nested tables for no reason just went to slapping endless pointless DIV around things for no reason, can now just use endless pointless SECTION, ARTICLE, NAV, HEADER and FOOTER for no reason? Net improvement zero... particularly when you should already have all that functionality and meaning by using numbered headings, horizontal rules indicating headerless topic changes, paragraphs for flow text, and all the other existing semantic tags providing your meanings. It's why I think HTML 5 is a steaming pile that serves no legitimate purpose apart from letting writers sell more books, lecturers fill more seats, and sleazeball scam artists prey on the ignorance of the average suit with a new sick buzzword much akin to "Web 2.0". IF you are using a CURRENT recommendation doctype, with valid markup, using separation of presentation from content -- IF you start with semantic markup of your content (or a reasonable facsimile) with zero concern for what your final appearance is instead concentrating on a logical document structure and order, then bend that markup to your will for your layouts (yes, that's plural) with CSS, and only at the end boot up the paint program to make the graphics to hang on the layout -- IF you follow a few simple rules when building that CSS like not declaring fixed heights in flow, not declaring padding/border the same time as width/height, trip haslayout on parents of positioned elements, IF you kick the PSD jockey and their "but I can do it in photoshop" right square in the nerts and avoid all the 'not viable for web deployment' concepts like multi-column equal height subsections, IF you design all your layouts to be semi-fluid with easy to manipulate column wrappers for responsive layout... Cross browser compatibility is suddenly a non-issue. On the other hand if you piss out presentational markup like it's 1998 while at the same time using bleeding edge not ready for prime-time markup specifications that are a bunch of pointless idiotic bloat, with long deprecated tags and attributes, with zero separation of presentation from content, and go the idiot design route of "lets draw a pretty picture of a website before we even have semantic markup" -- it is little wonder such pages are accessibility, maintainability, sustainability AND cross-browser train wrecks!