Live data from Hacker News

I tried creating a web browser, and Google blocked me

blog.samuelmaddock.com

451–460 of 632 posts

Re: I tried creating a web browser, and Google blocked me

#451

Earlier quoted context omitted.

I would still claim two differences on the user agent side of things: First, any browser can report any user agent they want. There are a number of examples of browsers faking or changing user agents to get around sites that try to differentiate based on those strings. Second, while any individual web site can implement logic based on the user agent, that's the sole choice of the web operator. By restricting Widevine…

> By restricting Widevine access, Google is blocking rendering of content on other people's domains. This isn't good, but it's not arbitrary control. These companies chose to implement widevine, so they chose to allow Google to dictate who gets to legally use WV.

The point isn't that the control was granted arbitrarily - as you note, the granting was explicit. The point is that as a result of that, we have arrived at a situation where Google is now capable of arbitrarily exercising control over this subset. This wouldn't be a problem if that subset was small, but it's not - it's huge, and ever growing.

Re: I tried creating a web browser, and Google blocked me

#452
post #104

Out of curiosity, is there any reusable alternative for Google's Widevine module? It seems both Chromium and Firefox use this, and all other open source browsers are based on them. Safari and Internet Explorer DRM would be tied to specific platforms and also not reusable, I'm guessing? How (re)usable is Adobe's Primetime DRM for something like this? Primetime was removed from Firefox in version 52 (pre-Quantum) in ea…

There might be potential for Microsoft's PlayReady DRM with their move to a Chromium-based browser. I contacted them while waiting to hear back from Widevine and got this response.

> For Windows Electron/Chromium will not work with PlayReady at this time. I have provided your feedback to the engineering team for future planning. Currently PlayReady can be integrated in a PWA/(Windows Store HTML/JS app) and there would be no royalties on Windows.

Re: I tried creating a web browser, and Google blocked me

#453

Earlier quoted context omitted.

EME is part of web standards. So for some value of standards compliant web browser google can block you from implementing it. https://www.w3.org/TR/2017/REC-encrypted-media-20170918/

EME does not require Widevine; you can implement EME in its entirety yourself, in open code. Widevine is only one of several implementations of a Content Decryption Module; it just so happens to be by far the easiest to license (though that doesn't mean that's easy!).

So... I can technically implement my own EME standards compliant web browser, but that browser won't actually be able to interoperate with the existing set of websites that make use of EME. What's the point of the standard again?

Re: I tried creating a web browser, and Google blocked me

#455
post #151

I don't know if this will be helpful to you but an open source media player, Kodi, recently added support for Netflix in the latest version of the app (by implementing a DRM engine for people to use). This requires the use of the widevine library which then downloads things behind the scenes upon use (I believe). https://forum.kodi.tv/showthread.php?tid=329767 I can't imagine Google gave the OK to Kodi to use widevin…

On a related note here's an arch linux package that rips Widewvine out of chrome and adds it to chromium - download the source files by clicking the "Download snapshot" button on the right, or just view the main script by clicking "View PKGBUILD" also on the right. Edit: Forgot link https://aur.archlinux.org/packages/chromium-widevine/

There are a few solutions to this.

And... they are using chromium. Can I be sympathetic to Google because they have to pay people money to support this?

Re: I tried creating a web browser, and Google blocked me

#456
post #253

I also find the title to be rather sensational.. "I tried creating a web browser" ^ "Google blocked me" implies that Google blocked them from creating a web browser.. which is not the case.

It made the top of HN with 945 votes (2x the votes of anything else right now). As much as we hear criticism of it on this site and elsewhere, clickbait headlines work.

Is front page HN real?

Re: I tried creating a web browser, and Google blocked me

#457
post #374

Earlier quoted context omitted.

> I mean, yes, but why would they do that? So that they're not beholden to adversarial corporations. > You're assuming that content is fungible. If I want to watch Game of Thrones , I want to watch Game of Thrones , not "Winter Dragon," and "Winter Dragon" being DRM-free won't incentivize me to watch it. Except that it is fungible, it's just not universally fungible. The reason Winter Dragon isn't fungible with Game…

> So that they're not beholden to adversarial corporations. What is so adversarial about these corporations to the browser makers ? What benefit, concretely, do Microsoft or Google or Apple get from being free of the shackles of Disney or CBS? One concrete benefit I see is less risk of the third-party code destabilizing your code because it has bugs and is running within your address space, but there's an easy soluti…

> What is so adversarial about these corporations to the browser makers? What benefit, concretely, do Microsoft or Google or Apple get from being free of the shackles of Disney or CBS?

These companies make Xbox, Chromecast/Stadia, Apple TV, etc. Things that could plausibly be a media center, given some latitude and open standards. You could upload your movie collection onto it, give it your streaming account credentials and it gives you a single interface to all your media.

DRM kills that. You can't make an interface that allows the user to watch a Disney movie they've paid for and then have it show the YouTube commentary on it. You can't have something that recommends Orange Is The New Black after you watch The Wire because one is Netflix and the other is HBO.

Because DRM allows the studios to assert rights that copyright doesn't give them. That's all it does -- that's why they want it. It clearly doesn't prevent piracy.

> One concrete benefit I see is less risk of the third-party code destabilizing your code because it has bugs and is running within your address space, but there's an easy solution there: sandbox the EME blob like Firefox (and other browsers too, I assume) does. Then its crashes and buffer overflows don't become your crashes and memory corruptions.

The problem with this is that it can't simultaneously have such low privileges that it can't do anything harmful even if totally compromised by malicious actors, while also having such high privileges that it's immune to interference by even the owner of the system with physical access to it. They're diametrically opposed objectives. And the second one systematically fails regardless, but having to pretend that that isn't the case compromises the ability to do the first.

Re: I tried creating a web browser, and Google blocked me

#458
post #151

Earlier quoted context omitted.

On a related note here's an arch linux package that rips Widewvine out of chrome and adds it to chromium - download the source files by clicking the "Download snapshot" button on the right, or just view the main script by clicking "View PKGBUILD" also on the right. Edit: Forgot link https://aur.archlinux.org/packages/chromium-widevine/

There are a few solutions to this. And... they are using chromium. Can I be sympathetic to Google because they have to pay people money to support this?

Sure, but bear in mind that they are paying that price so that they can control the internet.

Re: I tried creating a web browser, and Google blocked me

#459
A very misleading title. But the content is nothing to get upset about. Reasonable people can easily disagree:

* Google didn't can can't block a new web browser from working. * OP is making an _opensource_ browser * OP's browser is specifically made for showing videos in some kind of P2P architecture. * OP is upset because he can't play some other peoples' videos in his new browser.

The R in DRM, standing for Rights is relevant: this isn't your content, OP. Thousands of creatives, artists, and investors put time, sweat and blood into these. They've chosen DRM as the way to get paid. You have no right to their content. If you don't like DRM then vote with your feet - watch others' content, and find another way to compensate them.

Re: I tried creating a web browser, and Google blocked me

#460
post #89

Google is being blatantly anticompetitive here and it's definitely not fair to OP. But as an aside, I actually would prefer this functionality to be provided by a browser extension rather than a separate app, like the OP describes at the end of the article. Please pursue this option! I think it would be much more convenient than having to launch a separate app, even if the functionality is reduced.

There are some features which make a desktop application more appealing to me. One feature required changing browser behavior [1] which wouldn't otherwise be possible. A WebExtension could work, but has potential to run into the same gatekeeping issue of being removed by Google from their Web Store. With Google having ~70% market share, this wouldn't be a good outcome. [1] https://github.com/electron/electron/pull/17…

This definitely looks like a convenient feature although it's something I would ideally have added right into Chrome. It is not really related to the streaming/syncing responsibilities of the app. Any site which plays video could benefit from this non-window-resize-fullscreen feature.

Another option could be creating two extensions: one for the video syncing, and one for the non-window-resize-fullscreen. That way if the latter gets rejected it wouldn't affect the former.

Note I'm sure some people definitely prefer the desktop app approach and I wish you all the best getting the approvals you need for that. This is just how I would prefer to use it.

Post reply on HN