Ask HN: Will HTML5 ever be universally interoperable?

5 points by moldbug ↗ HN
Ie: is there any realistic end to browser compatibility hell?

The reason I ask: I'm an old fart from the '90s. Back in the '90s, the problem was Unix interoperability. There was a solution to Unix interoperability: Posix. In the future, all Unixen were supposed to converge on Posix, which would be the One True Unix. Yeah, I know, ha ha fscking ha.

Is HTML5 Posix? If not, why not? What I see when I look at HTML5 is a giant pile of Javascript APIs, all different, all being feverishly upgraded and extended, in three or four competing browsers. Has a situation like this ever resulted in a single universally compatible development environment, ever, in computing history? How is this effort different from that other effort to standardize a giant pile of APIs - Posix?

And if not, what do we do about it?

3 comments

[ 4.9 ms ] story [ 22.6 ms ] thread
I'd say that in the near future it will be possible to use some of the larger, more widely touted features of HTML5 and related tech. Definitely things like canvas and web sockets as most modern browsers support those now in some form and it looks as if even IE 10 will support web sockets.

The way I see some of the other things: They're coming along, slowly. It will probably be awhile before you're able to use many of the new browser APIs or things like WebGL without some (many?) hacks to ensure that things work properly in all browsers.

What scares me is that this is actually a much lower compatibility expectation than Posix ever achieved.

It is possible to use strict Posix APIs, whether "large and widely touted" or not, and always has been. It is not and never has been possible to treat Posix as a single interoperable platform, because every Unix vendor wound up developing their own APIs much faster than the Posix process could standardize this. Also, once vendor APIs diverge in semantics, whether because of implementation errors or spec ambiguities/inconsistencies, these differences become permanent, as no vendor wants to break the existing code of a developer who was loyal enough to target their platform in the first place. And everyone has a motivation to "extend and embrace," of course.

Can anyone name some factors that mitigate these effects in the HTML5 context?

Browsers will probably achieve API compatibility this decade. But there may still be performance problems and slow standardization of new features, which means there will be other OSs or runtimes.