I held off on Windows 10 for as long as I could until Adobe, and therefore my job, required it. Now this nonsense. I hope this isn’t the start of them joining on the web DRM bandwagon.
A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.
Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.
Subcommunities on Beehaw:
This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
Well, in this case it might even be a technological limitation, which can be solved with a workaround but leads to a poor user experience.
Firefox, for security reasons, doesn’t allow opening local files for writing. That means, it’s not possible to make a web application that can autosave to your machine after you open a file, meaning you have to download a new version of the file every time you save. You can get around this issue by importing the files in question to the browser’s local storage, or by using cloud storage via an API, but local saving is a feature that people have come to expect and missing it will lead to complaints from the users.
The missing API is called File System Access API and has been available on Chrome for years. I’ve personally had to write my web apps around this limitation multiple times, since I want to support Firefox. By no means is this a valid reason to exclude Firefox in my opinion, but I can also easily see why a company would want to not bother with user feedback on ctrl+s not working in their web application.
But they support Safari though, what’s the excuse for that? According to this page, safari supports level for file system access api is similar with Firefox.
My best guess is the dates on which the feature was added, which can also be seen on CanIUse. Firefox added OPFS support in March this year, and much of the userbase (AFAIK e.g. Firefox ESR) is still lacking the feature – in any case it’s a very recent change on Firefox. However, webkit/Safari has had OPFS for over two years by now. I was personally unaware of the support having been added to Firefox as well, last time I checked the discussion they told they weren’t going to implement the API.
By no means is this an acceptable excuse in my opinion, this kind of check should always be done by checking the existence of the feature, not the UA string. Though it might be that the check is still performed in the correct way as Safari users stuck on older version are also encountering the issue. But if they’re fine with using OPFS, where you need to export the files separately to access them outside the browser context (as the storage is private), there’s no reason to complain about recent Firefox versions that support this feature.
But, the same point still stands, kind of. The main underlying problem is Google forcing new standards through Chromium, without waiting for industry consensus and a proper standard. Then, as 80% of the userbase already has the feature everyone else is forced to get on board. I still don’t really see Adobe as the main culprit here, despite the apparent incompetence in writing compatibility checks, but Google with their monopolistic practices with the Chromium project. Adobe isn’t innocent and has done the industry a lot of harm in the form of being one of the original pushers of subscription software, but I don’t think this instance should be attributed to malice rather than incompetence.
Edit: So, a bit of additional advice for someone trying to get this to work: in case the UA spoofing doesn’t help, check the Firefox version in use – it has to be 111 or newer, as 111 was the release where File System API support was added. Firefox ESR probably doesn’t have it available. Also check that FS API / OPFS doesn’t need to be enabled through some flag or configuration parameter, and that it’s not blocked by some plugin.