The Web and all the technologies that come with it is a special kind of hell: a Rube Goldberg machine whose level of complexity and crazyness is hard to match.
The associated mediocrity is kinda jaw-dropping too: it's 2013 and the main "engine" used to run all these client-side apps in the browser is still... Single-threaded. Seriously. I'm not saying "language" because JavaScript in itself has so many warts that there are several technologies out there who try to dodge the language altogether and directly generate JavaScript source code... Even Douglas Crockford himself is criticizing JavaScript a lot.
But it's not just JS... The madness simply never stops: HTML, (X)HTML, CSS (oh, that one...), JS. And all the incomplete and overly complicated "standards" and, of course, all the competing implementation.
I'm always amazed that we're in 2013 and a lot of the demo page posted on HN still cannot serve videos correctly to people who don't have Flash in their browsers. That's the current state of affair: most web devs still aren't able to serve various video formats to please everyone. Why isn't this something that comes for free with the webapp server? Is it rocket-science to encode in different formats and serve the correct one? Apparently it is. So imagine for more complicated things...
To me the most fascinating is that hardly anyone steps back and wonders "Why do we have such an incredible mess?".
But that's what we have and a big part of software development is now for the Web and the trend ain't stopping anytime soon: be it server-side or client-side, it's a browsers world nowadays.
So let's stop bitching, let's learn the warts and ins and outs of these uber-shitty technologies and let's get back to work ; )
Video is not a technical problem, but a legal/political/economic one (technically good codecs covered by patents & corporations unwilling to adopt to other codecs).
Because this wasn't (and couldn't be) centrally planned. It has very much evolved in a fashion analogous to the theory of biological evolution. Lots of experiments of different sizes and with different levels of success.
We have yet to identify a more powerful problem solving paradigm. Given enough time evolution by natural selection can produce systems of incredible complexity that actually work pretty well. Not without warts, and, yes, you have to be patient, but it works.
The associated mediocrity is kinda jaw-dropping too: it's 2013 and the main "engine" used to run all these client-side apps in the browser is still... Single-threaded. Seriously. I'm not saying "language" because JavaScript in itself has so many warts that there are several technologies out there who try to dodge the language altogether and directly generate JavaScript source code... Even Douglas Crockford himself is criticizing JavaScript a lot.
But it's not just JS... The madness simply never stops: HTML, (X)HTML, CSS (oh, that one...), JS. And all the incomplete and overly complicated "standards" and, of course, all the competing implementation.
I'm always amazed that we're in 2013 and a lot of the demo page posted on HN still cannot serve videos correctly to people who don't have Flash in their browsers. That's the current state of affair: most web devs still aren't able to serve various video formats to please everyone. Why isn't this something that comes for free with the webapp server? Is it rocket-science to encode in different formats and serve the correct one? Apparently it is. So imagine for more complicated things...
To me the most fascinating is that hardly anyone steps back and wonders "Why do we have such an incredible mess?".
But that's what we have and a big part of software development is now for the Web and the trend ain't stopping anytime soon: be it server-side or client-side, it's a browsers world nowadays.
So let's stop bitching, let's learn the warts and ins and outs of these uber-shitty technologies and let's get back to work ; )