5 Reasons to Reject the WebKit Monoculture

Share this article

Key Takeaways

  • WebKit’s dominance could lead to a lack of diversity and competition, stifling innovation and potentially creating compatibility issues. Developers may focus on optimizing their sites for WebKit, neglecting other engines and causing sites to function poorly on non-WebKit browsers.
  • While WebKit is an excellent rendering engine, it’s not the best in all areas. Each engine, including WebKit, Gecko, Presto and Trident, has its own strengths and weaknesses. A WebKit monoculture could limit the tools and techniques available to web developers, forcing them to use specific coding practices that work best with WebKit.
  • The demise of competition in the form of different rendering engines could bring short-term development ease but hinder long-term evolution and growth. Supporting and using a variety of browsers and browser engines can encourage competition and diversity in the market. Developers should also strive to write code that is standards-compliant and works well on all browsers, rather than optimizing for a single engine.
Opera’s WebKit announcement has divided developer opinion. Some are pleased there are fewer rendering engines to support (not that many developers actively tested Opera). Others state this is the beginning of the WebKit monoculture and IE6-like doom is upon us. The truth is somewhere in between but there are several reasons for concern.

1. WebKit != IE6, but…

WebKit is an open source rendering engine. It is not owned or controlled by a single organisation; anyone can use and modify the code. In comparison, IE (and its Trident engine) is owned by Microsoft and only available on Windows. Microsoft decision to abandon browser development could not occur in the WebKit world. However, it’s important to remember that Apple and Google — two of the most powerful global IT companies — are in control of the most popular WebKit browsers. Apple is also responsible for handling WebKit developer agreements and either company can accept, reject or modify WebKit features to their commercial advantage. While you may be able to update the core engine, it won’t matter unless those changes eventually reach Chrome and Safari.

2. WebKit is not one engine

Some developers believe cross-browser compatibility issues will disappear if all vendors use the same engine. It would certainly make development easier, but it’s naive to think all problems would be eradicated. Test a reasonably complex design in Chrome and Safari today and you will encounter differences. WebKit is forked and evolves along different paths. Vendors have different devices, deployment schedules and requirements. For example, Apple regularly add proprietary iOS-specific properties which may never reach the W3C or appear as recommendations.

3. WebKit is not the best engine

Those who support the monoculture argue that WebKit has won; it’s beaten Gecko and Trident. They are wrong. No engine is perfect, but you learn to forgive or avoid issues when you concentrate on a single browser. WebKit is excellent and it was certainly the first to hit the CSS3 animation headlines. But if you think it’s ahead of all others, try using SVGs. Attempt animating pseudo elements. Use an unprefixed transform, animation or calc() function. Code using newer HTML5 form elements. Try persuading Firebug fans to abandon their favorite development tool. Don’t take my word for it — Dave Methvin of the jQuery core team and president of the jQuery Foundation states:
Each release of Chrome or Safari generates excitement about new bleeding-edge features; nobody seems to worry about the stuff that’s already (still!) broken. jQuery Core has more lines of fixes and patches for WebKit than any other browser. In general these are not recent regressions, but long-standing problems that have yet to be addressed. When we started our jQuery 2.0 cleanup to remove IE 6/7/8 hacks, we were optimistic that we would also be able to remove some bloat from lingering patches needed for really old browsers like Safari 2. But several of those WebKit hacks still remain. It’s starting to feel like oldIE all over again, but with a different set of excuses for why nothing can be fixed.
WebKit, Gecko, Presto and Trident are all good rendering engines. They have strengths, they have weaknesses, but none is an outright winner in all areas.

4. A monoculture means and end to standards

One group of people was wholly responsible for the IE6 debacle… web developers IE6’s longevity was not the fault of system administrators, slow-moving organizations or an evil Microsoft. Ten years ago, developers targeted IE — not web standards. IE6 was the standard born from a monoculture; few considered a future where IE did not exist. While there may never be a single WebKit engine, developers will choose it over W3C standards. If something works in WebKit browsers, it won’t matter whether that feature is proprietary, implemented incorrectly or fails elsewhere: it becomes the standard. At that point, you have to hope WebKit is never superseded by a better alternative — a horrible thought.

5. Competition is good

I’m saddened to see the demise of Presto but Opera made a logical business decision. Their primary market is mobile devices and Apple control the only HTML engine permitted on the iPhone and iPad. However, those restrictions do not apply to Microsoft and Mozilla. They have nothing to gain from switching to WebKit:
  • If Microsoft scrapped Trident, it would affect every Windows application using web integration. It would cause chaos. I’m sure it would be technically possible to implement an API translation bridge, but how long would that take and what commercial benefit would it offer?
  • Mozilla is not a commercial operation; there are no stakeholders or profit targets. The organization exists because it has Gecko, XUL and a range of related technologies. While they could switch to WebKit, it would end major projects such as Firefox OS.
Competition has been good for the web industry. A WebKit monoculture brings short-term development ease at the expense of long-term evolution and growth. Be careful what you wish for.

Frequently Asked Questions (FAQs) about WebKit Monoculture

What is WebKit and why is it important in web development?

WebKit is an open-source web browser engine that powers browsers like Safari and Opera. It’s crucial in web development because it interprets the code that developers write, turning it into the websites and web applications that users interact with. WebKit’s rendering of HTML, CSS, and JavaScript can significantly impact the performance, appearance, and functionality of a website.

What is a WebKit monoculture and why is it a concern?

A WebKit monoculture refers to the dominance of the WebKit browser engine in the market. This dominance can lead to a lack of diversity and competition, which can stifle innovation and lead to a less robust web. It can also create compatibility issues, as developers may focus on optimizing their sites for WebKit, neglecting other engines and potentially causing their sites to function poorly on non-WebKit browsers.

How does a WebKit monoculture impact web developers?

A WebKit monoculture can limit the tools and techniques available to web developers. If all browsers use the same engine, developers may be forced to use specific coding practices that work best with that engine, rather than being able to choose the best tool for the job. This can limit creativity and innovation in web development.

What are the alternatives to WebKit?

There are several other browser engines available, including Gecko (used by Firefox), Blink (used by Chrome and Edge), and Trident (used by Internet Explorer). Each of these engines has its own strengths and weaknesses, and can offer different features and performance characteristics.

How can we prevent a WebKit monoculture?

One way to prevent a WebKit monoculture is to support and use a variety of browsers and browser engines. This can encourage competition and diversity in the market. Developers can also make an effort to write code that is standards-compliant and works well on all browsers, rather than optimizing for a single engine.

What is the role of Apple in the WebKit monoculture?

Apple plays a significant role in the WebKit monoculture because it requires all browsers on its iOS platform to use the WebKit engine. This policy contributes to the dominance of WebKit and limits the ability of other engines to compete.

How does a WebKit monoculture affect the user experience?

A WebKit monoculture can lead to a less diverse and innovative web, which can negatively impact the user experience. It can also cause compatibility issues, as sites optimized for WebKit may not function properly on non-WebKit browsers.

What is the relationship between CSS and WebKit?

CSS, or Cascading Style Sheets, is a language used to describe the look and formatting of a document written in HTML. WebKit interprets the CSS rules and applies them to the HTML elements to render the webpage. WebKit-specific CSS extensions can be used to take advantage of certain features of the WebKit engine, but these may not work on other engines.

How does WebKit impact mobile browsing?

WebKit has a significant impact on mobile browsing because it is the engine used by Safari, the default browser on iOS devices. Because Apple requires all browsers on iOS to use WebKit, it has a dominant position in the mobile browsing market.

What is the future of WebKit and web browsing?

The future of WebKit and web browsing will likely be influenced by a variety of factors, including changes in market dynamics, technological advancements, and regulatory decisions. It’s possible that we may see more diversity in browser engines in the future, which could lead to a more robust and innovative web.

Craig BucklerCraig Buckler
View Author

Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.

browsersfirefoxgoogle chromeGoogle Tutorials & Articlesieoperasafariwebkit
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week