- cross-posted to:
- technology@beehaw.org
- cross-posted to:
- technology@beehaw.org
cross-posted from: https://lemm.ee/post/3376057
I held off on Windows 10 for as long as I could until my job required it. Now this nonsense. I hope this isn’t the start of them joining on the web DRM bandwagon.
Nah, honestly I get this. They likely don’t let you run it in Safari either.
The problem is that each browser use different rendering and JavaScript engines. They all follow the same spec, but implement things differently, and at a different pace. Firefox tends to be really speedy with adding features.
Rendering is one thing, but for web apps the main issue is how they each implement JavaScript differently. Chromium uses the V8 engine, Safari uses JavaScriptCore, and Firefox uses SpiderMonkey.
Each one of these implementations handle certain JS features differently.
Array.prototype.sort
is a good example.This means that when developing your application you need to keep track of what differences each browser has, and write/use polyfills or conditionals to ensure that your methods work as expected on all platforms.
This becomes cumbersome quickly, and easily leads to a messy code base and technical debt as the application grows.
It further complicates testing since you’ll need to test each release on each browser.
The easy cop-out solution is to just support a single platform, and direct people not on that platform to use the browser you’ve developed for.
The go-to choice there is obviously Chrome, since it has the most users. Photoshop Express is a free application developed with the hopes of hooking people onto buying a subscription. Thus they’d want as big a reach as possible. It would make no sense to develop for Firefox and push people to use that instead from a business perspective, most people wouldn’t just download a second browser just to use an app.
Edit: you can obviously spoof your user agent and bypass the check that way. Some features might be broken in Firefox though, and I wouldn’t expect a fix.
As a developer with 7+ years industry experience this is a very weak excuse to not support browsers.
Differences in features are usually down to bleeding edge stuff and I don’t think your example of sort would apply because the end result is the same.
I know Adobe are more prone to using newer browser features but there really shouldn’t be anything that’s not simple enough to assure support across all browsers. Especially for a company as big as Adobe. It’s inexcusable. We rarely have to use polyfills now, that was more a problem when I was starting out, mainly due to IE11 still holding out.
Sure, but it’s a common excuse.
The company I work for doesn’t test on anything other than Chrome because we have a relatively niche audience that uses corporate-provided computers, and Chrome is available on all machines. The app seems to work fine, but we don’t spend any QA resources on it.
The last company I worked for was the same way, but with a little more diverse userbase. Testing on Firefox would increase our QA time, and very few customers cared, so we only supported Chrome. I would occasionally fix things for Firefox, so the app mostly worked fine, but at didn’t spend any QA resources on it.
And so on. I’m guessing that’s the case here as well. They don’t want people complaining about things not working if it works fine on Chrome. Firefox may work fine, but they’re not willing to spend QA resources proving it, and they don’t want the support overhead from customers complaining if something doesn’t work properly with Firefox.
Yeah sure, fine for the SME sized business and I’ve done it in the past for features like offline web behaviours (wasn’t public facing). But tbh it’s a shitty excuse even at that size and outright inexcusable for Adobe. I wouldn’t get away with this at my current place which has significantly less resources than them. Don’t make excuses for Adobe and it’s a weak excuse at best.
I’m not making excuses, I’m describing what companies already do today. If they can get away with it, they just won’t support multiple browsers.
If we had even one customer that used Firefox, I would be adamant that we support it at my company. But we don’t. We know who our customers are because we’re in a B2B relationship and we lock out everyone else (we make a niche product for a niche market in a niche industry; total users are in the hundreds).
Adobe doesn’t have that excuse, but they have the brand recognition that people will go out of their way to use their products, so they can get away with not supporting Firefox. It’s still stupid, but it’s a viable strategy given their position in the market.
That’s all I’m saying. I’m not saying it’s good to target one browser, I’m saying it’s practical, so a lot of companies do it. My response is to not use services that block me out, and to recommend alternatives to friends.
This isn’t 2005.
deleted by creator
>Nah, honestly I get this. They likely don’t let you run it in Safari either
That’s literally the first supported browser they list in OP’s screenshot.
Hmm. Good point.
Could be because Safari is using WebKit and so people assume that Safari and Chrome works the same way because back in the day they were quite close.
WebKit is Apple’s fork of KHTML and KJS, both originally made by the KDE project (yes that KDE) for the Konqueror browser.
Google used WebKit (WebCore specifically) when building Chromium, but replaced KJS with a new JavaScript engine called V8. V8 is still used in Chromium today, but also went on to become Node.js
Apple forked KJS, their version is now called JavaScriptCore.
The support for Safari could be because of an assumption that since Chromium was built from Safari, they’d work more or less the same, but they don’t.
It seems more likely that Adobe supports Safari because Safari is the main browser on macOS. Adobe supports Windows and macOS (and I would guess a lot of their users are on macOS), so it doesn’t make sense not to support it, regardless of how cumbersome that makes the codebase.
Additionally, Photoshop Web (Beta), which is available to paying customers, has the same levels of browser support.
While we’re talking about history, Firefox was originally called Phoenix, then Firebird (trademark infringements), and was born from the ashes of Netscape Navigator (and the original architect behind the Mozilla project did not have much faith in the future of Mozilla and left the company/project).
Microsoft Edge was previously based on EdgeHTML, which was canned within 2 years, and is now based on Chromium. Opera used the Presto engine for a long time, but now uses Chromium, and a bunch of Opera developers used this as an excuse to split and create their own browser with their own—yeah, okay, Vivaldi uses Chromium too. There was a time when Google promoted Firefox on the front page of google.com instead of Internet Explorer. A time obviously before Google Chrome became a thing—after that, Firefox’s position as “second-most popular browser” was quickly retired. It’s kind of crazy Firefox ever managed to get that much market share considering it was competing with pre-installed browsers like Internet Explorer and Safari; Firefox was never pre-installed on any platform except GNU/Linux.
And Konqueror is still kind of around today. First comes the Navigator, then the Explorer, and then the Konqueror, anybody?
Safari is the only browser available on iPad, and I wonder if they formally support tablets with that web app.
But it could also be as you described.
Another good point. I forgot Adobe is targeting the mobile market as well. However, I doubt Adobe wants to ship a webapp as an official product for mobile devices. Steve Jobs might have wanted to only support webapps on iOS in the beginning, but we’re at a point where most users won’t accept anything but an app as a first-class experience. It could make sense as a beta product though.
And it’s not necessarily that Safari is the only browser available on iOS/iPadOS, but that Webkit is the only browser engine supported, so Google Chrome/Firefox/Brave and others are using Webkit while changing the appearance and some features of the browser. Minor nitpick.
Personally, I’m all for Adobe going to the web with their products. It means I don’t need to keep a Windows or macOS computer around to get some of my work done. I do wish Photoshop Web wasn’t a completely buggy mess which is impossible to do any real work with. I don’t mind if they don’t support Firefox, although I would prefer they did.
> not necessarily that Safari is the only browser available on iOS/iPadOS
We’re discussing browser engines, so whether the shell is from Google or Brave is irrelevant. You’re technically correct I guess, but it’s a weird thread to be pedantic in.
> I do wish Photoshop Web wasn’t a completely buggy mess
Yeah, the “write once run everywhere” nature of the web comes with some pretty big caveats. Despite JavaScript being pretty fast, it’s still way slower than native code, and web pages seem to be a lot harder to get right consistently than a desktop app where you’re in control of all of the GUI libraries.
I’m still excited about more things being available on the web as a Linux user, but the promise of Web 2.0 hasn’t really happened and native apps are still the way to go.
So I just don’t touch Adobe products. They don’t solve actual problems I have that FOSS apps don’t, so I ignore essentially their whole catalogue.
> We’re discussing browser engines, so whether the shell is from Google or Brave is irrelevant. You’re technically correct I guess, but it’s a weird thread to be pedantic in.
I initially thought you really did mean “only Safari is allowed on iPad”, and then I realized you were talking about the browser engine. As I said, it’s a nitpick, but not entirely a distinction without a difference. Technically the browsers can have other features like…the ability to choose a search engine not on the blessed Safari default list. Or a pin-unlock screen like Brave has. But for rendering, it matters exactly zero, so the difference is irrelevant in this thread.
> Yeah, the “write once run everywhere” nature of the web comes with some pretty big caveats. Despite JavaScript being pretty fast, it’s still way slower than native code, and web pages seem to be a lot harder to get right consistently than a desktop app where you’re in control of all of the GUI libraries.
I don’t know—I think the web has been pretty successful at getting things to run consistently on different operating systems (minus DRM, though that’s intentional), but yeah, different screens and different browser engines are definitely pain points. It’s why everyone standardizes on Chrome.
What about Electron? Is it any better? It bundles the browser after all, haha, so no worries about compatibility there.
> So I just don’t touch Adobe products. They don’t solve actual problems I have that FOSS apps don’t, so I ignore essentially their whole catalogue.
I wish I could! I use DaVinci Resolve where I can, and Affinity Photo/Inkscape for other things, but sometimes it’s necessary for collaboration. I personally despise Adobe software for several reasons, but I’m not getting away from it any time soon.
In particular, I’m never going to find a replacement for inDesign.
Electron is worse for different reasons, one major one being security (e.g. my company uses Electron and we haven’t updated it for a few years because reasons). But as far as delivery goes, it works pretty well, which is why it’s pretty popular (Slack, VSCode, Discord, etc).
But that’s the same idea as using some other GUI platform that you can lock down, like game engines, QT, or GTK. So I don’t consider Electron the same as a browser because you remove the constantly changing nature of it.
> it’s necessary for collaboration
Are you a graphical designer or something? If so, use the tools that help you deliver a professional product. That’s why I occasionally use VSCode as a software engineer, if my preferred editor makes things difficult (I use neovim), I’ll use VSCode because it’s easy to configure for certain use cases. I’m more productive with my preferred tools for day to day usage though.
However, if you’re a hobbyist, then you have a lot more leeway. I’m a hobbyist game dev, so I use Godot. It works well for me, and my results don’t need to be as professional as I’d get with something like Unreal Engine (i.e. higher performance, better lighting effects, etc).
> This means that when developing your application you need to keep track of what differences each browser has, and write/use polyfills or conditionals to ensure that your methods work as expected on all platforms.
core-js
has existed for nearly a decadeSafari is one of the listed supported browsers
“Firefox uses spidermonkey”
So THAT’S why the extension is called grease monkey.
this was a great explanation. I’m fully onboard with the “fuck Google and their web drm nonsense” but there has to be a disconnect from avoiding bad actors and recognizing the reality of the industry. ty for posting.
I feel like it’s necessary to mention that I’m just speculating, and don’t have any affiliation with Adobe, thus I can’t say for certain that I know why they choose to not support Firefox.
I’ve been in the position before though where I’ve chosen not to support non Blink/V8 browsers for the reasons listed above.
The fragmented nature of the web platform makes it a pain to develop for, in a way you don’t necessarily experience with “real” languages.
I have been, and honestly still am, of the opinion that Mozilla should just forego their engine and move to Chromium. Not because one is better than the other - if anything I think Mozilla’s implementations are, as they tend to be more “by the book” - but in unifying the web platform it’d be easier to develop for, and it would bring the added bonus of Google not having as big a monopoly on what goes on in Chromium.
Microsoft moving to Chromium was big in that sense, so I’d love to see an established FOSS vendor like Mozilla exert their influence on the project.
Yes, move all browsers to chromium and give google absolute and total dominion of the internet.
What a fucking brilliant idea.
Problem isnt browsers, anyway. Problem is adobe locking their bullshit behind subscriptions and DRM instead of just being able to buy it and own it like you used to.
Would Mozilla and Microsoft get control over Blink and Chromium? Surely someone has ultimate power over which pull requests are merged into main(or however they do it), and that’s Google. Mozilla could fork, but now they’re back to the problem of developing their own browser to compete with Chromium.