Vivaldi opens up an exciting new front in the browser wars, seeks to get around blocking with cunning code
All Chromium browsers are equal, but some smell more equal than others
Browser maker Vivaldi celebrated its last release of 2019 with a handbags-at-dawn move that will see it don a Google Chrome disguise.
The move comes as the Oslo-based outfit reached the end of its tether with web sites rejecting its Chromium-based browser, while waving the similarly Chromium-based Google Chrome through with a cheery smile.
The issue, according to a recent rant blog post by QA lead, Ruarí Ødegaard, comes down to the User Agent string, passed from the browser to the web site upon connection.
It's a handy string, and lets sites sniff all kinds of interesting things, such as the operating system on the client as well as the browser and version (among other nuggets of data.)
A peep at an average User Agent string might, however, seem a bit alarming. This is because more than one browser is often listed to handle the scenario where a web site is looking for a specific browser, Vivaldi provides its own example:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.99 Safari/537.36 Vivaldi/2.9.1705.41
Ødegaard, a Linux user, explains the above by pointing out that Vivaldi inherited much of that "from the Chromium project, who in turn inherited it from Safari and so on." It all works pretty well.
Where it goes very wrong is when a web site is looking for a specific browser type (for example "Vivaldi") and blocking it. Microsoft has a similar problem with its new Chromium Edge browser. Behold the User Agent string for old Edge on our PC at Vulture Central:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041
The new one enjoys the deliberately misspelled of 'Edg' to ensure sites that might hold their nose when encountering the Windows maker's last attempt at a browser allow the new shiny one through:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.3992.0 Safari/537.36 Edg/81.0.367.0
Vivaldi is, however, crying foul over what it sees as deliberate attempts to filter its wares by blocking its name. And rather than opt for a simple variation on its moniker, it is going to go the whole Mission Impossible and make itself indistinguishable from Google Chrome as default for all bar a handful of "responsible" sites, where it reckons it is safe to reveal its true identity (such as duckduckgo.com)
Thus an arms race in misspellings of Vivaldi will be avoided because, hey, it and Chrome are both Chromium-based, right?
Ødegaard claims that the likes of Google Docs, WhatsApp web and Microsoft Teams Online are examples of sites that block Vivaldi. We're less sure – with a fresh version 2.9, and the User Agent string below:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.99 Safari/537.36 Vivaldi/2.9.1705.41
Both Google Docs and WhatsApp web were fine in our testing. Microsoft Teams Online did indeed balk at Vivaldi, but in Microsoft's defence it is very clear on what browsers are supported.
A spokesperson for Vivaldi told The Register that the company had subsequently implemented a "workaround" for WhatsApp and Google Docs, but that "the problem is that there are so many sites that are incompatible that it is hard to keep a track of it."
While Netflix did not request the Silverlight component suggested by Ødegaard, it did complain that the WidevineCdm component was missing, something with which Linux users of Vivaldi will be all too familiar.
Changing the User Agent string to make the browser appear as Chrome did indeed allow things to work as Vivaldi suggests.
The Register put it to Ødegaard that donning the Google Chrome hat might cause problems of its own because not all Chromium browsers are equal (Google has its own proprietary tweaks.) For Vivaldi, he replied that "for the most part it does contain all the relevant features since it is Chromium based."
He added that "In the very small minority of cases where we have to do things differently, e.g. handling of proprietary media codecs, if a bug is introduced, that is again for the browser developer to fix."
Blocking because of supposed problems, he reckoned, caused even more problems and browser developers "still have to fix the bug anyway". And once a block has been placed, web sites "almost never remove them."
When we put it to him that perhaps some sites, such as Teams, validate against specific browsers in order to create customer-friendly compatibility lists, he shot back "They should not even warn the user. It is not their place."
"If the browser fails to load or loads incorrectly," he went on, "that is an issue for the browser vendor to fix and it will get reported to the browser vendor. By putting a block or warning you have now created an issue that the vendor will work around anyway, as soon as they become aware. Thus you have still not benefited the user."
Ask, Allow or Block is like Vivaldi browser's version of Snog Marry Avoid for popups in 2.9READ MORE
Those tasked with keeping the helldesk lights on will be delighted to hear that.
He added, ominously, that blocking in this way "also encourages a status quo in the browser market as it provides an additional barrier for new entrants."
It's a brave move (pun not intended.) Vivaldi commands a very small slice of the browser market. By effectively removing itself from detection, its share will be nearasdammit undetectable.
Ødegaard admitted that "not appearing in third party stats is a shame," but pointed out that the company had its own means of counting users and its partners "have used and accepted these figures when considering doing a deal with us."
Vivaldi 2.10 arrives today.
We put the browser maker's complaints to Microsoft and Google, and will update if either behemoth responds. ®