As a web-developer I know the pains of trying to work around kinks to support all variations of all major browser to have a unified look, feel and performance. Even though today the top browsers do a better job at supporting and implementing new web-standards its far from a perfect situation. So when I heard Opera was switching its rendering engine to WebKit, a first major browser to do so among many other Opera firsts, I was excited because it means I will have one less browser to test for mundanely simply things that all browser should have by default, and do a good job at it.
Why do all browser have such varied level of performance in implementing web standards?
- Because they are lazy, think IE-6 team.
- Because they don’t agree with web-standards and pick and choose which standard they want to support.
- Because depending on how their rendering engine works, it can be harder or take longer to implement on some browsers.
- Because every browser team has their own definition of how a web standard should be implemented. So even if all browsers support a web-standard they might not work the same way.
If you want a single example on pitfalls of having too many options, web rendering engines would be the perfect candidate.
Yes there are valid reasons to worry about having a single choice for rendering engine. That it might make web-standards less important. That the power might shift to rendering engine as opposed web standards. But, WebKit is opensource and there already exists many forks of it. Think of WebKit as a Linux kernel and Browsers, using WebKit, as Linux Distributions. You can use the same Kernel/WebKit but your performance and feature will and can wildly vary depending on your implementation. There is a reason why people stick with certain distribution, even though the underlying infrastructure is the same/similar the end result and experience can be wildly different. Centos and Ubuntu may use the same kernel and still provide wildly different level of user experience.
I rather deal with several forks of WebKit, than deal with different rendering engines. At the end only the browser with the best user-experience will win the race. As we have seen with Firefox and now with Chrome.