Hacker News new | ask | show | jobs
by pjmlp 4245 days ago
> Now, IE9+, Firefox, Chrome, and Safari are all basically guaranteed to look at the same page in the same way, and the "toolsmith" parsers like Gumbo or html5lib are all rapidly converging on the standard. So it's finally possible to see a page the way a browser sees it.

The web projects I have to take part on, are a distant reality from that description.

2 comments

Are you talking about inconsistent HTML parsing or inconsistent CSS rendering? The latter is much more of a pita than the former.
Right, this. There's still a lot of experimental features that are implemented differently or not at all in one or more of the big three. But I can't remember the last time that I've had different browsers produce fundamentally different DOM trees from the same document, even when I'm using invalid attributes or made-up tags (coughangularcough).
If you stick to the basics of CSS that have been around for a decade or so, both of them are basically solved problems. Browsers are remarkably uniform in how they handle the stuff that was a PITA in 2008.

The problem is that expectations adjust too, and now we want all these new HTML5 features that were just pioneered in a single browser a couple years ago. Those have a lot of cross-browser issues.

In many environments, expectations don't have to adjust. With corporate clients, expectations were never reasonable in the first place, and many common requirements that have been around for decades still aren't reasonable.

Clients often demand idiocy like "pixel perfection," specific fonts, custom scaling behavior for size (including application-controlled zooming), and other things that simply aren't part of the paradigm for accessing websites through web browsers.

Between that and the fact that going "beyond the basics of CSS" is a pretty common thing, browser interfailure is still a real problem. It's not as bad as it used to be, but the problem is still there, and many of us are still dealing with it regularly.

Is there any particular reason? Requiring support for older or legacy browsers?

I just recently wrapped up a project utilizing customized Twitter Bootstrap / CSS3 / HTML5 and I was pleasantly surprised at how smooth everything went between IE/Chrome/Safari/FF. This is the first time, in a long time, that everything just "worked."

All projects tend to require IE 8+, specific versions of FF, Safari and Chrome.

Oh and the fun that is working with native iOS, Android and WP browsers.

Then put on top, whatever web framework might be required by the customer.

The fun starts when the UI isn't working pixel perfect to those Photoshop mockups or the cool HTML 5 effect that can only be partially implemented in all browser versions mentioned in a "Request For Proposal".

I always try to explain that pixel perfect just isn't feasible when we're going across platforms browsers and devices sizes / types.

If they would like to create 20+ different mockups and supply them to me I'll gladly do it for an exorbitant sum money, but otherwise they need to realize that the relative fluid nature of the web and it's many form factors is going to preclude them from getting that pixel perfect design.

Then all of that flies out the window because we have that one asshole manager who promises the world and ensures it will be delivered yesterday :)

Bootstrap deals with a lot of cross browser issues.
Yes and no, it depends, If you use the entire suite of bootstrap, yes. We did not, we used it for the grid system (getting those nice big perfectly sized columns). Everything else was hand written CSS and HTML.