Potential WebKit Monoculture Issues
A few days ago it became known that Opera is switching to the WebKit browser engine , which already has dozens of other browsers : Chrome, Safari, browsers of almost all mobile systems: iOS, Android, Amazon Kindle, BlackBerry 10, Tizen, Symbian, PlayStation 3 and other
On desktops, the share of WebKit is not so large (about 40%), but in the most promising market for mobile systems, WebKit has an almost exclusive position.
This is a completely familiar situation for many who remember the state of affairs on the web in 2001-2005, when more than 90% of browsers worked on the same engine (Trident, MSIE). Fortunately, now the situation is not so dangerous: the new applicant for the monopoly is free technology, which is developed under the Open Source license, but there are still specific risks.
“The WebKit project today has such standards support that we could only dream of when we started working on our browser. And instead of spending all our energy repeating what is already implemented in WebKit, we can focus on inventing something new to make a better browser. By sending patches directly to the WebKit project, we can improve support for standards not only in Opera, but also in many other browsers, ”Opera wrote in an official message.
In other words, Opera recognized WebKit as a kind of standard engine, which runs "many other browsers." Here we are talking no more, no less, about the birth of browser monoculture. It has short-term advantages: this is a general saving of resources, because everyone is working on one project. It’s easier to develop websites for one platform, and not for several; it’s easier to create interactive web applications. But there is a flip side to the coin, because the web is a platform. The disadvantages of monoculture here are long-term , says one of the developers of Mozilla, Steve Fink (Steve Fink).
Steve Fink suggests presenting for a second that all mobile systems have switched to the WebKit engine. Where it leads?
1. Backward compatibility of bugs. Bugs are everywhere. Imagine a bug in SVG rendering, because of which background images as wide as a simple number of pixels, for example, turn off image transparency. For the year of the existence of such a bug, a whole bunch of sites will depend on it, that is, they create a design with this bug in mind. At some point, a bug was fixed. A new developer beta browser has been released. It collapses all these sites. The patch is removed from the release, the processing of the bug is simply fixed in the browser logs. If the whole world is sitting on WebKit, then this situation suits everyone. The bug has now become part of the web platform.
2. Prevention of innovation.Imagine that in five years, a group of hackers will release an innovative browser that evenly consumes the resources of all 100 cores of the standard processor of 2018, and does not completely eat one core per tab. The guys did a heroic job to support features on 99% of all websites. Suddenly this share drops to 98%, why? Because a new beta of Webkit has just been released with a new feature, which many immediately implemented in production. Soon, the share drops to 90%: a fatal bug appeared in WebKit that accidentally breaks the distributed load model. 80%, the job is done, the hackers went to write a social network for the birds.
3. Excessive control. Large companies have an excessive influence on browser development and can contribute. For example, they can embed DRM in browser HTML processingor block the creation of certain innovative APIs that threaten their core business or the business of partners.
4. Complexity and unpredictability. Standardization committees are dying as unnecessary, and the development of new standards is dictated by market necessity. Website developers can only guess which standards will be supported and which new ones will appear, based on market conditions.
5. Confusion.Steve Fink gives an example from the current situation with some CSS features that don't understand how they work. Developers do not care about them, they are working on the next version of the CSS5 standard. The documentation has not been updated for several years. There are hundreds of instructions and videos on the web explaining how to use these CSS features. As a result, the documentation remains for those who cannot watch videos on Youtube.
As a result, writes Steve Fink, the web is becoming much more functional than it was in 2013. Are new standards being developed faster? instantly injected into the browser and everywhere on all sites. All browsers immediately begin to support the feature, which only yesterday Apple introduced in the new device. But in a monoculture without agreed standards, support for any feature may disappear as quickly as it appeared. What is fast and convenient to implement today may stop working tomorrow. In any case, the documentation does not describe the functions completely and completely with the depth with which they can actually be used, and the implementation does not guarantee compliance with the specifications. This is the world we are striving for, isn't it?
Steve Fink writes that monoculture is not necessarily a bad thing, like choosing TCP or silicon for microchips. This may be a good thing, but only on condition that it is stable and unchanging. Although, even in the same TCP they find flaws. But in a system such as the web, which is rapidly evolving, where new technologies and new unclosed niches are constantly appearing, it is necessary to have several agents that are not connected to each other and coordinate their actions. It is enough to study what competition is and why it is needed in the economy.
On desktops, the share of WebKit is not so large (about 40%), but in the most promising market for mobile systems, WebKit has an almost exclusive position.
This is a completely familiar situation for many who remember the state of affairs on the web in 2001-2005, when more than 90% of browsers worked on the same engine (Trident, MSIE). Fortunately, now the situation is not so dangerous: the new applicant for the monopoly is free technology, which is developed under the Open Source license, but there are still specific risks.
“The WebKit project today has such standards support that we could only dream of when we started working on our browser. And instead of spending all our energy repeating what is already implemented in WebKit, we can focus on inventing something new to make a better browser. By sending patches directly to the WebKit project, we can improve support for standards not only in Opera, but also in many other browsers, ”Opera wrote in an official message.
In other words, Opera recognized WebKit as a kind of standard engine, which runs "many other browsers." Here we are talking no more, no less, about the birth of browser monoculture. It has short-term advantages: this is a general saving of resources, because everyone is working on one project. It’s easier to develop websites for one platform, and not for several; it’s easier to create interactive web applications. But there is a flip side to the coin, because the web is a platform. The disadvantages of monoculture here are long-term , says one of the developers of Mozilla, Steve Fink (Steve Fink).
Steve Fink suggests presenting for a second that all mobile systems have switched to the WebKit engine. Where it leads?
1. Backward compatibility of bugs. Bugs are everywhere. Imagine a bug in SVG rendering, because of which background images as wide as a simple number of pixels, for example, turn off image transparency. For the year of the existence of such a bug, a whole bunch of sites will depend on it, that is, they create a design with this bug in mind. At some point, a bug was fixed. A new developer beta browser has been released. It collapses all these sites. The patch is removed from the release, the processing of the bug is simply fixed in the browser logs. If the whole world is sitting on WebKit, then this situation suits everyone. The bug has now become part of the web platform.
2. Prevention of innovation.Imagine that in five years, a group of hackers will release an innovative browser that evenly consumes the resources of all 100 cores of the standard processor of 2018, and does not completely eat one core per tab. The guys did a heroic job to support features on 99% of all websites. Suddenly this share drops to 98%, why? Because a new beta of Webkit has just been released with a new feature, which many immediately implemented in production. Soon, the share drops to 90%: a fatal bug appeared in WebKit that accidentally breaks the distributed load model. 80%, the job is done, the hackers went to write a social network for the birds.
3. Excessive control. Large companies have an excessive influence on browser development and can contribute. For example, they can embed DRM in browser HTML processingor block the creation of certain innovative APIs that threaten their core business or the business of partners.
4. Complexity and unpredictability. Standardization committees are dying as unnecessary, and the development of new standards is dictated by market necessity. Website developers can only guess which standards will be supported and which new ones will appear, based on market conditions.
5. Confusion.Steve Fink gives an example from the current situation with some CSS features that don't understand how they work. Developers do not care about them, they are working on the next version of the CSS5 standard. The documentation has not been updated for several years. There are hundreds of instructions and videos on the web explaining how to use these CSS features. As a result, the documentation remains for those who cannot watch videos on Youtube.
As a result, writes Steve Fink, the web is becoming much more functional than it was in 2013. Are new standards being developed faster? instantly injected into the browser and everywhere on all sites. All browsers immediately begin to support the feature, which only yesterday Apple introduced in the new device. But in a monoculture without agreed standards, support for any feature may disappear as quickly as it appeared. What is fast and convenient to implement today may stop working tomorrow. In any case, the documentation does not describe the functions completely and completely with the depth with which they can actually be used, and the implementation does not guarantee compliance with the specifications. This is the world we are striving for, isn't it?
Steve Fink writes that monoculture is not necessarily a bad thing, like choosing TCP or silicon for microchips. This may be a good thing, but only on condition that it is stable and unchanging. Although, even in the same TCP they find flaws. But in a system such as the web, which is rapidly evolving, where new technologies and new unclosed niches are constantly appearing, it is necessary to have several agents that are not connected to each other and coordinate their actions. It is enough to study what competition is and why it is needed in the economy.