Yesterday’s experience layers post—cross-published to Viget’s Inspire blog—was overwhelmingly well-received by friends and colleagues (Mom said I sounded real smart!). It wasn’t without its detractors, though.
Over on Inspire, my supervisor Doug took issue with several of my key points. Doug’s a brilliant Web designer and a friend, but on the matter of progressive enhancement, he and I couldn’t be farther apart. I’m grateful he took the time to comment, giving me an opportunity to revisit my original post’s thesis.
Doug’s lengthy comment covers quite a bit of ground and I’d like to address several of his remarks. His main gripe is my use of Vine’s broken video page as a foundation for a conversation about progressive enhancement.
Doug’s right that my Vine example is cheeky:
Credit card numbers weren’t lost, data wasn’t destroyed, users weren’t endangered.
But what if the example used were a bank? Or an online store? Or a service providing health care information to the disadvantaged?
I bet Vine’s engineers would consider a little JS-related downtime a reasonable tradeoff for the advantages of building JS-first.
I feel very strongly that the needs of the end user should trump the needs of the developer in almost all instances.
[Vine’s] failure was preventable — even a single integration test should catch a catastrophic bug like this.
(Also: check out Christian’s The “Web Application” Myth for more on this topic.)
Users have it turned on.
It runs fast.
Regarding the Vine example, I took a look at the page’s source and was
heartened dismayed to find that the content is in the markup:
<div style="display: none">