Last week Paul Irish coined a new term: TAFEE, which stands for Tiered, Adaptive, Front-end Experiences. The concept is nothing new.
It’s basically the prettier cousin of the concept of progressive enhancement, with a little bit of Andy Clarke thrown in for good measure. I won’t explain TAFEE here; you can read Paul’s post to understand the concept better, and to understand the reasons behind this approach.
The purpose of this post is to address a few of the comments on that article that were posted in response to the TV analogy that Paul used — which he borrowed from this slideshow by Nicholas Zakas.
Here’s a summary of the basic premise of this debate, and then my thoughts.
The TV/Browser Analogy
Old browsers are like black and white TVs. New browsers are like High-definition TVs. No one expects to see color on a black and white TV, so likewise no one expects to see modern effects on old browsers.
The Objection to the Analogy
A comment from Niels Matthijs started the criticism of the analogy. He said, in part:
[N]o matter what you do and how hard you try, there’s no way to get color on a b&w TV screen. People know this and will accept this.
Then Ole Oleson said:
TV content is optimized for one format. It doesn’t change based on the type of tv you use. Your TV (browser) does all of the changing to make it work on it.
And he further added:
If we used this analogy it would mean we could design one site, no tweaks or hacks or browser specific items and be done with it. It would then be each individual browsers responsibility to make it display correctly, not the other way around.
Unfortunately, he’s right.
Why Aren’t Browsers More Like TVs?
The truth is, web developers should be able to design and code a site according to a single set of standards, and the web browser should adapt our code and design to be virtually identical to all other browsers.
Think about it: Can you imagine watching an episode of The Office and noticing that Dwight Schrute has a missing arm, and then finding out the arm is missing because of a “bug” in the TV set?
But, due to browser inconsistencies, we see that on the web all the time. Because of the basically “open” nature of the web, we work in an industry where anyone can “view source” on a web page, where a 15-year old can contribute to the specification, where every developer and their dog is offering free code on code repositories like GitHub.
The TV industry is not like that. The TV industry is a commercially-driven, closed platform that does not encourage the type of collaboration that we see in our industry.
While the openness of our industry certainly has many benefits, it also has great drawbacks — one of which is the problem of cross-browser inconsistencies.
But We Don’t Care, Do We?
While I will still continue to promote some hacks and workarounds for older browsers like Internet Explorer 6-8, I am leaning more towards smart progressive enhancement techniques like that encapsulated in the concept of TAFEE.
Although it is a sobering reminder that browsers aren’t TVs, the truth is: I don’t care. Taking the TAFEE approach means we’re putting the future of web design in our own hands, and not at the mercy of endless bugs and inconsistencies.
So I say: So what if browsers aren’t TVs? We can still treat them that way and encourage more and more developers, clients, and users to understand that getting modern CSS and HTML techniques to work in IE6 and IE7 costs time and money, and creates a slower experience for browsers that are already slow to begin with.
So understand that browsers aren’t TVs, but embrace the TAFEE approach, because it’s the best option for our rapidly-changing and legacy-obsessed industry.
I love how blind people can read a website on a brail printer, I also love that if somebody wants to watch Lord of the Rings 2:35:1 aspect ratio movie on a 4:3 TV, then they can. The choice is there.
Fact is, whether you think content should adapt or not, CSS3 and HTML5 themselves are flawed. Flawed by the very same cost and time restrictions that browser content creators are faced with, as highlighted by this very article by Louis.
As such, it doesn’t actually matter. Like TV, old browser content is available to both new and old browser users. And likewise, new content is largely available to both … although there are clear signs that browser content creators don’t think browsers are like TVs, because no TV content is unavailable to Black & White TV in the way web developers block out users with older browsers with annoying upgrade messages or even blank screens.
At least provide content at all times. Some TVs are very old but they can access whatever new material you throw at it (adaptors and analogue to digital aside). There should be no need for browser content developers to purposefully block old browsers … that would be an insult to our profession and akin to offering an inferior product to black and white TVs. Personally, I would find it insulting to be such a lame-ass developer.
The analogy of this is not that wrong because old black & white tvs and modern HD TVs do not share the same resolution and measures.
You can watch a HD movie on an old TV, yes, but you will get annoying black bars on top and bottom or you will get a video that is cut on the left and right. To bring in your example of the missing arm: This is indeed a possibility of the commercial driven approach to bring in new technologies.
No one in the media industry ever said: “We must try do look all the movies the same on each TV.” It’s more like: “Here, new technology, new price, go along with it or accept the “errors”.
O.o Is a very good Analogy, Thanks
Web developers should definitely provide some reasonable support to cover the majority of the browsers. But to go after the widest coverage is, IMHO, a waste of time and resources. If you are still stuck using IE6, you have bigger problems than a single site not showing up correctly in your browser. Thanks for a very informative post!
As the one who made the analogy, I can understand your argument. I’m afraid, though, that people took the analogy way more literally than I intended and a bit out of context (which is why seeing the talk vs. just the slides is useful). My talk was about capabilities in devices, not about specific capabilities such as color. Black and white TVs have far fewer capabilities than today’s TVs, just like IE6 has far fewer capabilities than Chrome. Saying that a black and white TV can never display color is true, just like IE6 can never do CSS2 no matter how hard you try. We’re just talking about capabilities.
At the edges of every analogy are bits and pieces that don’t make sense, but that doesn’t mean the overall analogy is flawed. In fact, this is the only analogy that I was able to use successfully with engineers, designers, product managers, executives, and even my mom to get them to understand what a web browser is and how we should be developing for them. That’s why I use it and that’s why I encourage others to use when discussing with decision makers.
I agree that the analogy should still be used. And if it works, that’s great.
But I still think the analogy is somewhat flawed, and more so than just (as you say) “bits and pieces”. But I also haven’t heard your original talk, so I could change my view if I heard it.
But like I said, I don’t care; the important thing is that we promote a progressive approach and an approach that benefits both user and developer, regardless of whether or not the analogy actually fits.
Nicholas, I found your analogy fine, also relevant.
I am completely agree with you regarding:
– In some cases, analogy is the only way to get your message out, especially to those who are not very good on the subject matter.
And
– ‘At the edges of every analogy are bits and pieces that don’t make sense, ..’
Web developers should definitely provide some reasonable support to cover the majority of the browsers. But to go after the widest coverage is, IMHO, a waste of time and resources. If you are still stuck using IE6, you have bigger problems than a single site not showing up correctly in your browser. Thanks for a very informative post!
Actually We Don’t Care, Do We! some times but in case it is not possible then we have to stick to our basic concept of supporting modern browsers and throw out a upgrade message and continue.
Thanks for the post, nice post.
The point of the browser, is that it is up to the browser to render it in a way that it sees fit, not to render your content in a very specific format. If you want it to be not at all up to the renderer or the user, then just build your site using imagemaps, and be done with it.
Yes, it is reasonable to expect it to be similar across all graphical browsers, but it is against the whole point of the web to expect it to be exactly how you design it in Photoshop.
You’ve missed the entire point of the web.
Nope, that’s the old way of thinking. The new way of thinking is that browsers render pages interoperably, which is one of HTML5’s design principles.