Going to give a guess as to more pragmatic reason this came about: they don't have a requirement or test for it.
Some engineer was asked to make a feature. That feature happened to break 3rd party seeking. It probably wasn't intentional, just incidental.
Because they have no internal requirement to support this, nor anyone/anything testing for it, it silently broke.
It was probably not malicious, even if it feels like a step backwards to this extension developer.
Whether it _should_ be fixed of course, is a different matter, but when I see statements like "DRM vendors REALLY want you to buy a smart TV"[1] I frown, as it is contains an assumption of intent that I suspect isn't there.
Edit: The title of the article (and original title here) is "Netflix's new player is an open web nightmare". My response is written in response to this sort of inflammatory language.
I agree. We ran into this issue all of the time at a past employer with a lot of tech enthusiasts in the customer base: We’d make harmless changes to our own code that broke someone’s community software that relied on undocumented APIs from time to time. Without fail, someone from the community would jump to conclusions and start stirring up controversy with claims that we were deliberately breaking 3rd-party applications.
The strange thing was that people from all over the internet wanted to get in on the controversy and anger, even when they didn’t use the software that broke. This created a weird incentive for software authors to complain loud and wide about any breaking changes because it became free advertising for their software. We tried quietly helping some of them fix their software with hints, but that quickly became an avenue for “<company> caves to pressure from angry customers” stories that only made our problem worse.
At a previous company we had someone angrily call in with a bug. We had moved a button several pixels and this broke some automation they had built which relied on the pixel coordinates of the button. It was exactly as dumb as it sounded.
So I don't see much reason for Netflix have a deprecation cycle for undocumented functionality that a third party extension relies on. If you want to rely on internals, don't be surprised when they change.
I'm specifically trying to avoid a bad integration though, the API for <video> is quite clear for how to interact with a <video> element hosted on a page, as defined by the HTML5 spec.
This is the issue I have with this change, I'm following all the rules here and those rules apply to every video provider on the web for rendering video.
While I don't think it was purposeful, it certainly needs to be called out that crashing the entire page is certainly nonstandard behavior for a <video> element.
Fwiw, you can’t even trust the browsers to handle HTML5 media spec behavior the same way.
I just dealt with cross-browser issues in how setting currentTime on <audio> is handled because I needed a player to resume from a preset time.
On WebKit browsers, including desktop safari and all iOS browsers, you must wait for the ‘dataloadded’ or ‘canplay’ events to fire before trying to set currentTime.
On desktop Firefox / Chrome, you must set currentTime immediately prior to .play() or it won’t pick it up.
> At a previous company we had someone angrily call in with a bug. We had moved a button several pixels and this broke some automation they had built which relied on the pixel coordinates of the button.
This is part of why Windows doesn't update the old Control Panel screens - the UI is the API for automation like this, and backwards compatibility matters more than consistency.
A slight tangent: I know I'm not the only one who considers the old control panels to be far superior to the new ones, even if Microsoft disagrees.
The new UIs won't allow you to keep open the Bluetooth config panel at the same time as the Windows Update config panel, for instance, as they share the One True Config Window. You can only view one at a time. A little ironic for an operating system named for its ability to run multiple UIs at once.
Fortunately many of the old config UIs are still there on Windows 10, especially for more advanced points of configuration.
I imagine the old UIs are also more resource-efficient, for what that's worth, following the usual trend with UI toolkits.
And the fact that the old control panels can display so much information and controls in such a compact form. While all the new UI stuff needs full screen and scroll bars on my 4k screen to display 5 toggle and few sentences.
True.. Though sadly the Windows settings screen is far from the only application doing this :'(
It's like everything has to be touch friendly. Understood that this is great in some cases. But on my desktop PC it's not. I didn't buy a big screen to have half of it filled with empty space.
At my company humans will complain if you move a button because most people operate on their own muscle memory, any time Microsoft, or some other software vendors moves a button, no matter how small, we get ends less complains, automation is not needed.
For automation, this is likely because you company did not provide proper official API do to proper automation. Many companies do not, nexflix does not. So people have to hack around internals to make the things do what they want.
I am still at a loose why companies, and devs are such control freaks they only want people to use their software / hardware in the exact way they want them do, offering no other control options, automation API;s or any other "power" features". It is their way or the highway... and screw you if you do not like it
The GSuite (or whatever they call it these days) google groups UI is hot garbage. However, I finally figured out how to open a group -- effectively a mailing list -- to the public internet. This was carefully documented in our internal wiki because, again, UI is hot garbage.
Google has too many PMs, so someone decided to go screw with the UI. It is now not much easier, but it is different, so I had to spend another hour figuring out how to do the same thing. For your "convenience" as a customer, the change has invalidated the vast majority of help text on the internet helping users work around the deficiencies in Google's UI.
And that is why users hate change: the previous UI might not have been good, but we'd already figured out how to use it. So a change creates work with zero benefit to us.
Yea, I love Microsoft Documentation [/s]. There has been more than a few times I have been trying to do something in azure, following the official Microsoft documentation which says something like "Click this button, then in the submenu choose X" except the button is not there, and the submenu has been moved....
The cause of the problem here is generally that you didn't provide (or adequately document) a reasonable API to do that thing.
If you did, and the third party was fishing through your internals to do it instead, they're the assholes. That's generally more work than reading API documentation so if the API exists people are likely to use it, which should make this rare.
But if fishing through your internals was the only way to do it, maybe change that if your goal is to not hear from so many angry people after you move things around.
Expect people to use the undocumented unstable interface if the documented stable interface doesn't exist or doesn't work.
But how do you do that with the web? If someone is digging into the actual source of the site, that's on them. But that doesn't mean our team has time to provide and support an API for 3rd parties.
Especially if the service is free, it's not reasonable for companies to bend over backwards to build, support, and maintain an API. One can expect users to build on undocumented and unstable interfaces, but they shouldn't expect the care one might receive if they had a contract to support that functionality.
If you make a service with popular third party extensions and then you make a change that breaks those popular third party extensions, the users are gonna be mad. At you.
The obvious way to reduce the likelihood of that is to publish an API for the third parties to use that won't break. You can say you have no obligation to provide that, and that's fine, but then it's going to break and the users are gonna be mad. At you.
You’re touching on a wider huge problem for society now: people make assumptions that ascribe malice when there is none (and/or vastly misunderstand something), and the internet lets this amplify and morph into bigger issues than should exist.
When social networking was nascent, there was this assumption that decentralized voices would help get truth out faster than could ever happen, and the principals of democracy would flourish. While that sometimes happens, it seems more often than not public opinion falls victim to conspiracy theories aided by cognitive biases (especially confirmation bias) and those who purposefully wish to distort.
What’s saddest to me is that I’ve come to the conclusion that the genie cannot be put back in the bottle. We cannot expect that technology will go backwards, and the only viable option is the China one of absolute information control, which itself is scary. Those who do not adopt this will be vulnerable to outside control and inside dark forces, and those who do will create a censorship authoritarian state.
> We cannot expect that technology will go backwards, and the only viable option is the China one of absolute information control, which itself is scary.
There is an obviously better alternative, which is non-centralized moderation.
This is HN. It's moderated. It's not moderated by a government or Mark Zuckerberg and it has no monopoly on the dissemination of information, so if you don't like the moderation here you can go somewhere else and there are in actual fact other places to go.
That works.
The real problem right now is that the biggest platforms are too big/centralized, which means you get chokepoints that attract hamfisted bureaucratic censorship instead of vigorous competition for high quality moderation.
Why do you suppose people will select sites with good moderation? Is there any more reason to expect this, than that they would join a non-conspiracy Facebook group today?
People do join non-conspiracy Facebook groups today. Most Facebook groups are actually non-conspiracy Facebook groups. People don't want to be spammed with balderdash all the time.
The problem with Facebook is that they do what amounts to inverse moderation, site-wide. They promote inflammatory nonsense because it builds engagement. Ordinarily this would cause people to leave, but the site is so large that the network effect locks people in and enables the company to survive abusing its users like that.
If there was a larger number of smaller sites, or a federated network in which individual subgroups handled their own moderation, people would abandon the ones that operated like Facebook because they're severely unpleasant and the network effect wouldn't be strong enough to lock them in.
Except it doesn’t. It falls victim to all the same things. I’ve seen things posted with all kinds of conspiracy theories that I happen to have intimate knowledge of from where I’ve worked, and those theories are dead wrong. They’re a combination of not knowing about public information, not being able to understand it (outside of skill set), not bothering to do research before stating opinions and amplifying (upvoting) things that sound right but are in fact not, incorrectly connecting dots that are unrelated, bringing in false “facts”, stating opinions as facts that others assume are then facts, and a host of other issues.
If all you’re depending on is others to upvote and downvote, then you information bubbles are easy to form. Facebook is notoriously bad for exactly this reason, as are forums that attract certain demographics / ideologies.
> They’re a combination of not knowing about public information, not being able to understand it (outside of skill set), not bothering to do research before stating opinions and amplifying (upvoting) things that sound right but are in fact not, incorrectly connecting dots that are unrelated, bringing in false “facts”, stating opinions as facts that others assume are then facts, and a host of other issues.
"The China one of absolute information control" doesn't fix any of that, because the censors have no better information than anyone else about what is actually true. And bad incentives to suppress things they know are true but don't want to get out.
The answer is, again, decentralized moderation. Subject matter specific discussion forums where the moderators are steeped in the subject matter and know better than the average man in the street or government bureaucrat what is and isn't malarkey.
This is emphatically not what Facebook does which is why Facebook is a dung fire.
This is the part of PR that I fail to grasp. At a certain point, couldn't you just post "fuck you" on twitter and disregard the noisy mess? Would 100% of everyones' customer base actually walk away from them if they don't play "the game" on social media just right?
Been there. Basically, ignoring twitter and press pretty much works. If you have a working customer service mechanism, you need to be ready to respond there with a brief note of something like 'this use is not supported by us, bye', and once you have that note, you might consider responding to press with that.
You might want to engage with 3rd party developers, but it's clear that it would quickly become much more work than supporting in-house clients. When the server team unintentionally breaks an in-house client, they don't start a big distracting PR war about it; and when an in-house client unintentionally breaks the server, there's leverage to fix the client (or the server) and insight into how the fixed client deployment is going.
It can also be difficult to fix sensitive or just complex issues in a coordinated way when there's unequal access as happens with in-house and 3rd party development. Being non-transparent is easier; although certainly less desirable to many.
If you have a compelling product, people often don't follow through on their plans to drop it.
Fascinating. I’m curious what were the landscape of MOs you/company evaluated. Eg: would it have been possible to encourage a slightly more organized relationship with the enthusiasts by communicating the challenges to them?
It’s tough. I engaged with the community a lot at first and we made efforts to give them what they wanted.
Over time this created a weird, unhealthy dynamic where parts of the community felt entitled to special treatment from the company. Some of them felt like they were stakeholders in the company and that we were obligated to incorporate them into the development process.
At worst, it reminded me of some of the “parasocial” relationships described in social media situations, where the followers start to feel like they were owed much more than regular customers due to their dedication as super customers. Even worse, some of them had their own YouTube channels, newsletters, or Discord communities for our products and would often threaten to turn them against us if we didn’t do what they wanted. That part was especially saddening.
Hmmm, that’s interesting in an unfortunate way that can only be learned from experience. I have wondered about why companies don’t better engage with enthusiasts / power users, and now I have a better appreciation for the challenges. Thanks for sharing.
That's the problem, the company didn't publicly engage with their users that needed it. A simple intent to ship with a list of changes related to API's is a great start. The employees should be using the most popular of the user made software. That's how organic communities function. The problems occur when company thinks theyre God and their software is controllable - it's not. People are going to use it as they see fit, and if you don't Shepard it that community will find their owns reasons for why the company ignores it.
>A simple intent to ship with a list of changes related to API's is a great start.
So the controversy can start sooner?
>The problems occur when company thinks theyre God and their software is controllable - it's not.
This isn't some github project. This is proprietary software owned by Netflix. This isn't "the community" getting upset, this is a small group of people using closed source software in a way that wasn't intended. Most people using Netflix just use it the way Netflix wants them to.
I am for open standards and accessible apis and support companies that provide those things. Netflix neither promised or delivered those things and it's extra work to maintain them. They don't owe anyone to maintain backwards compatibility on the undocumented public facing apis.
It's unreasonable to expect Netflix to deliver a feature that they have no interest in providing and never promised to.
I use a lot of software that relies on apis like that and it breaks constantly, that's just the way it goes.
Many times undocumented API's become a lot more permanent and 3rd party documented. If you don't do it, other people will, it's better to handle that problem from the company itself and put bit fat "can break any time" stickers on it.
> It probably wasn't intentional, just incidental.
The reason people assume intent is because such things often enough are intentional. Making your product harder to interoperate with outside of your control is a well-established practice for SaaS companies, particularly the big ones[0].
The reason this blog post has a story is not because this behavior is surprising, but because it's annoying, and because it can be construed as an accessibility issue - accessibility being the only excuse for having sane computing experience that won't be dismissed as "silly power users with their silly wishes".
--
[0] - See e.g. the lengths to which Facebook goes to make it hard to work with its DOM.
Facebook has no problem lying to advertisers about how much their money buys, I'd say it's much more likely that Facebook is concerned with preventing scraping.
I actually tend to agree with this take honestly. If I was an Architect over at netflix implementing QoE, and all my minions were making calls directly to the html element for seeking instead of using the API I created, I'd want to catch that regression quickly too.
That said, there is no public API for that functionality beyond the DOM element for anyone else, so I'm not sure what was expected for any sort of integration.
Automated and thorough testing of client-side JavaScript is a huge, huge burden because you cannot simply run a script in isolation in a headless V8 instance or something: you need the entire browser and clone environment running.
Secondarily: the major tools for performing automated testing of web-applications within modern browsers are all lacking in some critical way, for example while Cypress automates Chrome fine, for some reason it loads the entire SUT into an <iframe>!!!! That alone will introduce massive differences from production, top-level browsing (the project is full of hacks that do things like re-write `window.top` so that the SUT can almost believe it's not running in an iframe, but enough differences leak through).
For all the effort Google put into Angular's Protractor, Chrome does not make this easy.
The issue isn't that the testing is challenging. The ask here is Netflix covers all third-party Chrome plugins that manipulate the playback experience. Is it really Netflix's job to ensure all changes are compatible with third party tools like the one linked here, or others like Language Reactor?
If they wanted to, it wouldn't be much work for them to provide a stable API for such tools. Mostly it would involve making certain functions/properties that are internal to their modules/closures available on a global object. For Language Reactor, it would be helpful to have a handful of stable classes or ids on different HTML elements, and an email when major changes are incoming. Even just to have access to the new code early on in the rollout would be nice. There is a frantic two weeks every year where LR is breaking for users and we can't debug, because we don't have the new code yet.
At a certain point (size of org, number of incidents) you decide that mere stupidity is not an adequate explanation. It doesn't have to rise to the level of actual malice, but willful negligence is on the table.
Comment sections are no fun if we’re going to assume good intent of people we don’t know. I suggest we ignore this reasonable explanation and start a frenzied campaign against this obviously malicious change.
I think that's true for many things Netflix does, but wrapping the seeking event handler for HTMLMediaElement with private state specifically to catch unexpected seek events seems like it would be known to break 3rd parties. That's fine, of course, they aren't claiming to support a public api. But it doesn't seem accidental or some oversight.
Any change to frontend behavior will likely break someone at Netflix's scale. They are likely desensitized to breaking these things, otherwise they would never make any changes.
The thing is, organizations have their own sort of "intent" apart from the people involved in them, and the process you describe is exactly how that intent is expressed. Who decides what should be tested and how? Who can be affected without anyone noticing or fixing the problem? Which problems are deemed important to fix and which are more of a "nice to have"?
It's possible for most people in an organization to care about something -- in the sense that they'll tell you they care if you ask them, and if you point out a problem they'll spend some time trying to fix it -- while the organization itself doesn't actually care in the slightest. The people who care can't fix the problems if they don't see them in the first place or if other problems have already been prioritized above them.
Sorry, a little off topic gripe about the article itself. I have gigabit internet and still noticed the two images for this article loading line by line, top to bottom. Upon inspection I see they are using massive (5.67mb & 3.6mb) .png images with a resolution of 2832x1838. However, the maximum size they are ever displayed is 836x546.
It took me less than 1 minute to do a quick and dirty optimization bringing them down to less than 100kb each. Here you go author:
Not sure which ones you used but pillow handled it flawlessly, and as I said, i zoomed fully in with a comparison program and there was barely any difference even at 80 percent quality while using up to 80 percent less space
The boolean tracking appears to be something like an asset state machine / tracking running in the virtual player. Manually seeking the video tag is likely an unexpected change triggering an exceptional transition in the logic.
The thing to keep in mind here is that the seeking timeline of a video tag element does not need to represent the actual media timeline when you are using MSE. It can represent any time the virtual player running in JavaScript wants to maintain and is usually more related to the buffer timeline and ensuring pts continuity across segment appends. Netflix has historically had relatively simple streams which may have allowed this to be the actual seek time, but looks like some deeper streaming changes are landing. For a more complicated example take a look at how multi-asset vod and live streams in a single video tag surface times.
I don't work for Netflix, but do work in the field and since it's relatively small know some of the folks over at Netflix. They definitely aren't out to break things purposely, it's more likely not a case they exercise and broken by a change like someone else has said. If you want to patch the functionality it may be worth exploring the dispatch of mouse clicks on the seek bar. That probably does a translate to time and then calls the virtual player seek API which would be the new hook point you want.
Yeah, I have a feeling it was due to optimizations deeper in the stack, I'm just deeply unhappy that what essentially should be an interoperable API via the <video> element was locked down in such a spectacular fashion.
The edge cases of varying video providers has been really eye opening when i've been doing this project, it hard to imagine how screenreader software (or any meta-software that makes it easier for the disabled) works at all.
Sort of meta, but why does plopdown.video require JavaScript? Without JavaScript enabled it renders as a blank page. The actual post is just text and images. Why put that behind a JavaScript wall? Doing so excludes all non-JavaScript-supporting browsers from viewing the site. That's also a type of open web failure, another example of the type of problem the article does a good job of dissecting.
In my case, the actual plugin doesn't work without Javascript, and this was actually the cheapest option for hosting and staying within what I already had in my Nx monorepo. (it literally costs me $10 a year and I'm only paying for the domain)
I'm looking into some options for this with cloudflare, but it's been pretty low on my priorities for the above reasons. I'm also one of those people that turns off javascript by default, so I know your pain, but I'm also not a multi-billion dollar company.
Tangential, but does Netflix have a reliable keyboard shortcut to pause the video? On Chrome, it seems to break when you switch the keyboard focus to some parts of the UI. You're also prevented from seeking backwards at the credits without clicking a button first (one is "watch next episode").
I can see why the second one might be a deliberate design choice to push you to watch the next episode but I'm surprised the first isn't caught in user testing unless there's another shortcut. Youtube lets you press `k` to pause which seems to be reliable.
If you use Firefox, you can set a keyword for it, so you could hit F6 to focus the address bar and type it in.
It really shouldn't take all this to get even close, but I've never had much luck with space since it's focus dependent. Maybe you could use something like AutoHotKey to click the video area when you press a certain button/combo.
The rise of Trusted Computing where users are considered untrusted and perhaps even criminal by default. It will only get worse: playing any kind of media with a browser and OS you dislike.
As someone very unimpressed with RMS-the-human, he is just bang on the money when it comes to software freedom. He is as right on that as he is odd as a person, I think it's a real shame (an inevitable one, but still) that the GNU concept seems to be lost on many younger programmers e.g. the GNU/Linux meme (there would be no kernel and no "Linux" without GNU, GCC, and the GPL so I have no issues giving them credit when due)
We're continuously being told that we need different people to come up with different ideas. Then the same people are unimpressed that people with unconventional ideas are unconventional. SMH.
I'm positive we call them "autists" these days, not "creepy weirdos", just like we don't call low-IQ people "idiots" anymore, even though we did at some point.
Yes; objectively nobody is a creepy weirdo because it's a cheap, nebulous, meaningless term. Yet for some reason there seems to be no shortage of people using it to designate people who are just different in some way.
I don’t think “creepy weirdo” is meaningless. It may not be precisely defined, but that applies to lots of things that are still meaningful. At the very least “creepy weirdo” connotes something entirely different from “genuinely pleasant dude”.
It’s also not fair to say that I used it to designate someone who is “just different”. I suspect many folks would call me pretty different, but no one has ever to my knowledge called me a creepy weirdo-slash-asshole because I don’t do creepy assholish things.
Finally … “autist”, really? Being on the autism spectrum does not excuse any and all behavior. There’s a social uphill battle for some folks with autism, yes, but uphill battles are a fact of life.
> I don’t think “creepy weirdo” is meaningless. It may not be precisely defined, but that applies to lots of things that are still meaningful.
Compared to "legally blind" or "Type 1 diabetic", it's virtually meaningless, on the level on "a person I don't like" -- quite literally. No, seriously, I don't see how it means anything more than that.
I can't reproduce the problem under mpv or Kodi. We've already passed the peak user experience of software bondage. Here's to hoping the next big trend is popular adoption of user-representing software.
Netflix used to use Silverlight for their player. I wrote something a while back that needed to drive it and ended up writing code to click the scrubber to drive it.
Guess we are back there ;)
It's cool the OP could figure workarounds and debug this, but I fear web assembly will turn the web into a bunch of opaque binary blobs that makes this impossible/impractical.
You see this pattern in tons of web apps and sites. The browser is slowly turning into some sort of virtual machine. A sensible DOM structure with logical element naming seems to be a thing of the past. I think it makes development more complicated and also increases the barrier of entry for new devs.
I was still browsing the web with links2 and a tiny text mode browser (similar to w3m) of my own writing until around the time google said "let's kill IE6." Shortly after that, the web at large started becoming unusable with simple browsers. It was still reasonably usable with script blocking, but that ship sailed too, and the vast majority of sites now absolutely require some scripts before you can see the text and images or navigate at all.
> Instead of attempting to get one of [HTML/SVG/JS Canvas] to work, we implemented everything from scratch using WebGL. Our renderer is a highly-optimized tile-based engine with support for masking, blurring, dithered gradients, blend modes, nested layer opacity, and more. All rendering is done on the GPU and is fully anti-aliased. Internally our code looks a lot like a browser inside a browser; we have our own DOM, our own compositor, our own text layout engine, and we’re thinking about adding a render tree just like the one browsers use to render HTML.
For what it's worth, this isn't all that dissimilar from game development on proprietary engines, and that hasn't stopped indie game devs from experimenting. But it will be a huge problem for accessibility.
The browser is becoming a TV. In the future, computers with keyboards and actual user control will be specialty devices for experts, quite separated from the content you can access today.
It is really sad to see what humankind is about to lose in the name of copyright and content ownership. We really could have a share everything utopia, but no, our societies are built on adversarial competition and our politicians are unwilling or simply unable to stop the unending barrage of overreaches.
I don't want to believe the battle is lost, but I don't see a way to fight back aside from establishing a hacker counterculture, which is kind of happening with tor and internet alternatives.
People want to consume their content, nowhere does that dictate that they sign away their rights and actual ownership of their devices that they buy with their own money. The already existing DRM is user hostile, it is about control and nothing else.
Users do NOT want these things, if you took the time to explain what it means, and gave them another option.
The only reason the current set of DRM malware still exists today is by artificial scarcity, and mafia-like bullying through courts. Public opinion was largely in favor of peer to peer sharing content, but that wasn’t good enough for the big boys. They wanted to be able to bring ALL other parties to their knees: cable manufacturers, display makers, computer makers, storage device makers, and of course, users. EVERYONE is now under their control.
The general public is apathetic to the issue of DRM, they certainly don’t want it. But they are not given a choice. You must have a HDCP certified computer, cable and display - otherwise no content for you.
So DRM and the constant rent seeking bullshit content owners put us up to is okay because the Soviet union was an oppressive regime? Did you really think this was a good argument against stopping the copyright abuse happening today?
I'm not aware of any screen readers that reach into the dom and call media element APIs directly. They essentially interact with the controls on the page that sighted users interact with.
Netflix's user-side software has always been garbage. The android app forces you to keep a separate brightness slider from your phone, so if you watch Netflix a lot you're constantly having to adjust your screen brightness twice. It's also nearly 2022 and you still can't reorder the profiles on the login screen. How fucking hard can that possibly be?
Netflix won't even let you change which account "owns" the account - my daughter was very young when we first got Netflix, and there was multi user (or whatever tablet she used didn't support it) so my account was full of children's videos. Once Netflix added multi user, I renamed the first user to her name and made myself a new name same as the old name.
If I want to look at DVD queues (hah) I have to be on her user to do so.
I'm actually surprised how easily everyone forgave them for the bait and switch they pulled that essentially put brick and mortar video rental places out of business, though.
What is the benefit to netflix of preventing a user programatically seeking the video?
I can only imagine that perhaps netflix is trying to eliminate bugs caused by third party plugins that (for example) seek the htmlVideoElement, but don't trigger the network request to preload the necessary video that would normally happen as the user is dragging the scrubber.
I'm not sure ads work out financially for netflix. They currently get ~$120 per year per subscriber.
Even google only earns $130 per user, and their ads are worth considerably more because they target the most valuable ads on user purchase intent (for search at least, where they get most revenue).
They might do that as a much cheaper option, but whatever streaming service forces their users to watch ads will just see most of their users leave.
I haven't seen ads that can work around my hand covering them up (but I am sure I will eventually), but if I am forced to see ads, I won't consider paying for the service.
I want to thank the mods for changing the title of this article posted here, my original title was a bit hyperbolic to say the least but I am quite worried about where this path leads overall.
I have impression DRM vendors REALLY want you to buy a smart TV. Except F1 that is just stupid.
I used to watch all stuff I wanted on a MacMini attached to a dumb TV.
Suddenly, Netflix stopped working on all browsers except chrome.
Then F1TV did the same, not only that some people found out it COULD work on other browsers, but after an specific update, they added code where it detects what browser you are using, and if it is not the browser and OS they want, the whole website refuses to work.
I then decided to replace the aging MacMini with a Raspberri Pi to see if I could solve this problem, but as I researched I found out that it wouldn't solve it either, Google makes the Widevine DRM, and seemly lately it has been notorious for doing silent changes that break it on all platforms except official Chrome versions on Windows, Android and Chrome OS, people using Pi for media wrote a bunch of posts all over the internet with warnings like: "Oh, Netflix will work on the Pi some 3 months per year, it will start working after someone manages to make Widevine work with Chromium, and then after some weeks working Google will make a silent update and break it again for several months until someone figure out how to make it work with Chromium again"
Also I am still bitter that the DRM race led to the death of 3D sound cards and some cool stuff that was possible with analog video on Windows versions before Vista.
EDIT: about F1 being stupid: most DRM streaming apps have a SmartTV version. Formula 1 official doesn't. They want you to use Chrome on a PC. I just cannot understand what is wrong with them, why not allow people to watch Formula 1 on a TV like most normal people would want to?
> I used to watch all stuff I wanted on a MacMini attached to a dumb TV. Suddenly, Netflix stopped working on all browsers except chrome.
How is this possible? I was told that standardizing DRM interfaces in the browser would stop Netflix from forcing users to download native apps instead of using regular browsers and open streaming technology.
> Google makes the Widevine DRM, and seemly lately it has been notorious for doing silent changes that break it on all platforms except official Chrome versions on Windows, Android and Chrome OS
So wait, standardizing DRM interfaces didn't do anything to increase platform/browser availability for the actual DRM implementations that are only licensed to be used with certain browsers and on certain devices? No one could have predicted this.
Utterly shocking. It's almost like the standardization process for web DRM changed literally nothing about Netflix/Chrome's plans, and really only existed to provide a PR boost and the veneer of respectability to an outcome that they were always going to pursue anyway regardless of what the standard was.
Oh well, live and learn. And by "learn", I of course mean make the exact same arguments verbatim the next time we want to standardize DRM interfaces on image tags and then accuse critics of wanting the open web to die.
Netflix made a dent in piracy when they were the only game in town. With the fracturing of streaming services leading to the very thing Netflix solved piracy will be on the rise again.
You mean you don't sign up for all of Netflix, Hulu, Disney+, Paramount+, AppleTV+, HBO Max, Peacock, ESPN+, and Amazon Prime?? You really should, it's so convenient juggling subscriptions and apps for everything individually.
But don't stop there. You want some documentaries? Throw in Curiosity Stream, it's pretty cheap and you'll get Nebula for free! You'll want BBC Select too, though. Oh, you like Anime? Here's Crunchyroll. A horror fan? Don't forget to sign up for Shudder!
Or you could just log into your VPN and go to Pirate Bay. I mean, if you were a dirty awful criminal.
Ignoring the price issue for a moment. This is not a better situation. We have gone from one platform with all content with adverts (cable), to one platform with a lot of more relevant content and no adverts (Netflix), to N platforms with some content and some adverts (platform dependent).
Even if you were subscribed to every single streaming service it's now a nightmare to manage, not only do you have N payments you now have N different apps to search/browse.
Say you have 4 shows you like release on a Monday across 3 different apps. You now have to navigate your way through multiple different apps (with wildly different UIs) just to watch the things you want.
With some nice automated piracy they just download get indexed by your platform of choice (Plex, Jellyfin, Kodi, Raw filesystem etc..) and they are all available in one place with minimal fucking about.
Sure you could achieve the same with some kind of unified stream aggregator UI (kodi can do this already to an extent) but that'll never fly long term with all providers as the streaming companies would miss out on that sweet sweet userdata (only having what was watched/when/how long) and control.
The only real benefit streaming platform have right now is the lack of ads vs. cable. But remember when cable launched? It didn't have ads either and I wouldn't expect streaming providers to remain ad free either. I give it 5 years before at least 50% have ads somewhere whether in the UI or before/during/after streams.
So then we're back to piracy providing the best service to the consumer, ad free, unified UI, and most importantly all the content.
I'm honestly unsure why the music industry hasn't splintered into a million streaming services and Spotify reigns supreme. While Spotify is terrible for Artists it is a bargain for consumers. Imagine having to load up 2+ separate applications to listen to a single artists back catalogue simply because they changed labels at some point.
Did they, though? I never noticed a lack of availability of torrents and NZBs for movies and TV shows.
Oh, I get it. They're using the same zero-sum definition of "drop" that they used when calculating profits. With a convenient and well-priced legal streaming option, new consumers are less likely to seek out pirate copies. (This is true.) If you count every subscription as a "lost" pirate copy then you can describe pirating as having "fallen" from this hypothetical maximum level to the current real rate of piracy. You don't have to even bother looking at the actual rate of piracy, which may have grown over the same period. That's the kind of math they use to count how much money is "lost" to piracy; assume every downloaded movie would have been paid for if piracy didn't exist. So of course the same formula would apply to describing how valuable their platform is.
This is not only Netflix. French media do the same using exactly the same Widevine DRM, which simply doesn't work on Firefox.
My sister couldn't watch some replays of her shows on my laptop because she couldn't figure out why it wouldn't work
Wait... I first heard of widevine last week when I tried watching netflix on my work's laptop (debian), using firefox. It didn't work so I googled, found out about widevine and special settings. I tweaked some chrome/chromium parameters but it didn't work.
All this in a private window.
Once I used Netflix in a normal window (Firefox or chromium) it worked.
>Also I am still bitter that the DRM race led to the death of 3D sound cards and some cool stuff that was possible with analog video on Windows versions before Vista.
Honest question, as someone who's (probably) too young: What where these 3D sound cards and - just from the name - isn't that what Dolby Surround (etc) does?
Yeah, there were several manufacturers who produced soundcards that basically offered two channels of sound, but where elements creating sound on-screen could be positioned as in a 3-dimensional world. I had a Packard Bell with an A3D[1] card, and I remember being fascinated by the demos they supplied.
This points at a huge problem in software culture. A lot of us don't see ourselves as professionals, with our own ethical standards and responsibilities. We just do whatever a boss orders us to do, like minions or mercenaries.
It's also an organizational problem, though. If you're, say, a doctor or an actual engineer, there are professional organizations that stand up for the professional standards and that can have your back if you're being asked to violate them.
This is especially disappointing to me given the demand for software developers. It's much easier for us to find news jobs than most people, so the risk of taking an ethical stand is much lower for us than most people. And we also have a lot to gain! So many places are poorly run that businesses and developers would all gain if we used our power to fix process and organizational issues.
I've certainly done my best to use that power well. But I would love to see cultural and organizational changes so that more of us do that.
> A lot of us don't see ourselves as professionals, with our own ethical standards and responsibilities. We just do whatever a boss orders us to do, like minions or mercenaries.
In contrast, I think that's precisely how we all feel about ourselves. Some people just have different (i.e. lower) ethical standards than you do.
> If you're, say, a doctor or an actual engineer, there are professional organizations that stand up for the professional standards and that can have your back if you're being asked to violate them.
More importantly, they're the ones that set a minimum baseline for ethical behavior. We don't have that. That's what makes it so easy to threaten to replace developers with people who will do what their told. They can do it, and easily. It would be a much more hollow threat if they were going to have to find someone willing to risk their career.
> This is especially disappointing to me given the demand for software developers. It's much easier for us to find news jobs than most people, so the risk of taking an ethical stand is much lower for us than most people.
The risk still isn't low enough. The incentives are wildly mismatched. Either I put a shitty anti-user feature in a product I'm probably never going to use, or I risk my family being homeless. It's probably a small risk, but so is dying in a plane hijacking and yet a lot of people worry about that.
> And we also have a lot to gain! So many places are poorly run that businesses and developers would all gain if we used our power to fix process and organizational issues.
I would put an extremely heavy "citation needed" around that. I don't doubt that we can all identify things that need improving at work, but having 85 different developers asking for 307 different things all at once isn't going to help.
You need something structured. A union or professional organization might be helpful. A bunch of people threatening to quit for random causes probably won't.
You don't seem very consistent here. Either "all" developers have ethical standards, meaning that there are things they will stand up and fight for, or they're people who are much more concerned for their jobs and will do whatever managers say. But you can't really argue for both at once.
You also talk as if you aren't at risk of losing your job now. People lose their jobs all the time. It's something any responsible adult has to be prepared for.
And yes, of course when I say "we used our power to fix process and organizational issues" I definitely meant the "we" part of it, not some half-assed random individual behavior. A suggestion for happy dialog: try assuming the person you're talking to has thought of the obvious implications that just occurred to you.
If a software engineer writes software that hurts people, they believe in hurting people and believe people should be hurt.
If they didn’t, they wouldn’t write software that hurts people.
The impressive amount of freedom tech workers have to choose what they work on means the ethical and moral issues with their production should fall on each person’s shoulders, but it doesn’t.
This attitude implies an unambiguous, black and white world where such decisions are always clear. In other words, a fantasy world which does not exist.
I agree it's a bit hyperbolic. But it seems weird to suggest that developers, who are hired for their intellectual power and subtlety, are great at figuring out the implications of complex decisions except when ethics are involved.
I think it's more likely that their sudden inability in this one aspect is related to Upton Sinclair's observation: " It is difficult to get a man to understand something when his salary depends upon his not understanding it."
I have been that engineer on occasion, though not specifically with regard to DRM. The pushback has typically been something like, "There is too much money on the line," or even, "If we are not setting the standard on this, someone else will, and it will probably be even worse."
In the end, work is not voluntary for the majority of engineers involved in these things, and so you just have to accept that you are not going to win the argument unless you have a good argument that what you are being asked to build is not possible. Engineers often speak of how DRM is basically impossible, but that is only true in an ideal world; in practice DRM is good enough to satisfy business needs and concerns about web openness have yet to materialize (at least in a way that would undermine the business case for it). The relatively small number of hardware and software platforms one must deal with now further weakens the arguments against DRM.
That's circular reasoning. If you and your colleagues said, "No, sorry, we're not implementing that", then that would mean the decision hasn't in fact been made. Your decision to give up your power as to the decisions is what makes it true.
I get where you are coming from but to me this wouldn't make sense given that they work there in the first place. Same goes for the network team serving the content etc. You start working there, it would be unprofessional to refuse to do this. Quit (or never start working there) if it makes you feel uncomfy.
If the tens of millions of people employed by carbon-emitting industries don't risk their jobs to prevent the literal ruin of the planet, not sure why anyone would think employees would take that same risk to prevent some third-party plugins from breaking.
No, because employee shaming like this make people distance themselves from the criticism and isolate in their work bubbles where they can easily justify any wrongdoings.
Note that "Netflix then suspended Field along with two other employees for trying to attend a director-level meeting they weren’t invited to." is contested - they reinstated her and confirmed that she believed she was invited to the meeting because she received a link to join it. https://twitter.com/RainofTerra/status/1448097310026747908
Netflix's player has been awful for years now. It's soooo heavily modified web UX that it just takes me back to the days of websites being built entirely in flash.
I wish we just had a normal player and a normal website and not this disgustingly over-engineered ad-delivery experience. But I don't expect this to change every. Netflix will do everything they can to control their content.
Counter point: I really like the way Netflix is built. It's great for discovery and the series I'm watching are right at the top if I simply want to jump back in. Sure, they could really do away with the autoplay and add some minor tweaks, but overall I'm happy. In fact, I even went for a native app instead of Kodi for my TV, just to get the original UI.
Great for discovery? everyone I know use external sites to know what content was just added on Netflix, because having a `Recently added` that isn't a week behind is too hard
That's not something I really care about, to be honest. I don't have too much view time, to be fair, so it might be this, but I don't need to know about what was just released this moment; what I want is to find something I want to watch right now. And at least for me, Netflix works quite well in supplying that.
this is mostly not about what's just been released this moment, but what's been licensed at the moment. i think the catalogue is rotating frequently and you cannot count on the movie you want to watch being there in a week, but it might reappear anytime again after the license was dropped. i dont give streaming platforms my money, but my brother complains about it a lot.
Interesting chart it looks like Safari picked up some share around the same time Chrome dipped. Clicking through by platform it looks like most of that was on mobile. I’m guessing some iOS change did that more than anything else.
are these numbers correct by wide margin? Because I know many browsers like brave etc seems to use Google User Agent. And the funny thing is I am on firefox and I use Google Chrome UA so that skype etc works.
I disagree. I think there is enough vested interest in keeping the open web from turning into another google property. I strongly believe that regulatory forces will take effect before google owns the entire planet.
DRM-controlled media content covers just a tiny fraction of what the open web offers and represents the only hard barrier to entry in development of a new browser from scratch. Yes, the technical challenge is extreme too but not impossible. There are large organizations that are making serious headway in this space right now:
Some engineer was asked to make a feature. That feature happened to break 3rd party seeking. It probably wasn't intentional, just incidental.
Because they have no internal requirement to support this, nor anyone/anything testing for it, it silently broke.
It was probably not malicious, even if it feels like a step backwards to this extension developer.
Whether it _should_ be fixed of course, is a different matter, but when I see statements like "DRM vendors REALLY want you to buy a smart TV"[1] I frown, as it is contains an assumption of intent that I suspect isn't there.
[1] https://news.ycombinator.com/item?id=28896614
Edit: The title of the article (and original title here) is "Netflix's new player is an open web nightmare". My response is written in response to this sort of inflammatory language.