A software engineer in the Google Chrome team has spoken about inconsistency in feature support across different web browsers, promising a "more compatible 2021".
In a recent post, Google’s Stephen McGruer referred to a couple of Mozilla developer surveys, including the Developer Needs Assessment, out late last year, which stated that: “In the full list of needs, browser compatibility was the dominant theme.”
While having to support IE11 was listed as the biggest developer frustration, the problem will not be solved as usage of Microsoft’s pre-Edge browser gradually reduces. Developers still find themselves “avoiding or removing a feature that doesn’t work across browsers”, and struggle with “making a design look/work across browsers.”
A March 2020 follow-up survey of 3,000 web developers uncovered some specifics about the compatibility issues, such as scrolling. Fixing a page so that it does not scroll on mobile as well as desktop browsers is a hassle. There is also, notes McGruer, “a lack of consistency in input-related events.”
Another issue is Flexbox which is intended to be ideal for responsive layouts, but has inconsistent cross-browser support; and form controls which, said McGruer, are hard to style consistently and “a compatibility pain for developers” despite recent work on updating them.
CSS Grid is also an issue, with Chromium (the browser engine used by Chrome and many others including Microsoft Edge) still not supporting subgrid elements. The result is that it is all too easy to demonstrate a div that looks different in every browser.
And the lion lays with the... artist previously known as lion
Google dominates the browser space, thanks to the wide availability of Chrome, its promotion seemingly whenever you visit a Google site using a different browser, and because it is the default in Android. Latest global stats from Statcounter give Chrome 63.91 per cent of the worldwide market, followed by Apple Safari at 18.2 per cent and Mozilla Firefox at 4.39 per cent. Does that mean Google has less incentive to be compatible with other browsers?
Chrome’s high market share stokes fears of browser monoculture, heightened when Microsoft abandoned its home-grown Edge browser in favour of building on Chromium. McGruer countered that he believes multiple implementations provide a “guarding factor against architectural mistakes that can occur when one blurs a platform (the web) and an implementation (a single browser).”
There is an argument that Microsoft’s shift to Chromium was good for web standards. The most notable thing about McGruer’s post, perhaps, is not that he talks about Flexbox and CSS grids, but the number of times Microsoft gets a mention.
Check out what Microsoft is doing with the Virtual Keyboard API, he said. Look at what the Microsoft Edge and Google Chrome teams have done to refresh form styles. And then, “I'm excited to share that a team at Microsoft Edge are working on rearchitecting Chromium's Grid support to use the new LayoutNG engine.” This is the real news: that Microsoft and Google are collaborating.
McGruer also stated that compatibility is moving up Google’s agenda, though he worded it in such a way that little is promised. “In Chrome we strongly believe in moving the web forward, and in shipping new features that bring benefits to users and developers,” he said. “But it is clear from the MDN Browser Compatibility Survey that some developers have concerns about how this may impact compatibility. We aren't going to stop moving the web forward, but we are planning to be more rigorous in how we approach it and in how we communicate about compatibility. Look out for more on this soon.”
A difficulty for the industry in sustaining different independent browser implementations is not only the challenge of competing with Google, but also the cost of development, especially as no one will pay for a browser. Today in browser engines there is Chromium, there is WebKit, sustained by Apple for use in Safari, and there is Gecko and its likely successor Servo, from Mozilla, which has “an issue of survival.”.
Developers will welcome Google’s move towards compatibility but the diversity of browser implementations remains under threat. This threat is merely mitigated, not removed, by the company's willingness to collaborate in the Chromium project. ®