4 ms·
What does any of that have to do with supporting the WebExtension open specification? It sounds like, to me, I can't ship a WebExtension for Safari because I d
by AaronFriel 6y ago
What does any of that have to do with supporting the WebExtension open specification?
It sounds like, to me, I can't ship a WebExtension for Safari because I don't own a Mac. Is that right?
Does that sound right to you?
- simplecto 6y agoYes it does sound right. Do you ship untested software?
- franga2000 6y agoYou mean like web devs ship websites only tasted in latest Google Chrome? How Microsoft ships Windows tested only on a handful of hardware configs? How game devs ship games only tested on the latest graphics card? The whole point of having standards, conventions and stable interfaces is that developers do not have to test their code on every "platform" (in this case browser). If there are platform-specific differences from the standards, that is the platform developer's problem. And keep in mind we're mostly talking about individuals here - companies rarely develop extensions and those that do can probably afford an old mac to use as a complie box. Extensions are usually developed by individuals in their spare time and rely on beta testers anyways, as it is already impractical for one dev to test them on every possible config.
- coldtea 6y ago>The whole point of having standards, conventions and stable interfaces is that developers do not have to test their code on every "platform" (in this case browser). Well, we don't have standards for native apps, only partial standards for different APIs and protocols, so there's that. And the change Apple made, to allow for Chrome-like extensions, is already more "standard" than before (where it was Safari-only extension APIs). It just requires one more step.
- franga2000 6y agoThat is my whole point though: the WebExtensions API is a standard, so it's not like you can't test your extension without owning a Mac. If your extension works on both Firefox and Chrome, it really should work on Safari too. If it doesn't, that's Apple's fault for violating the standard, not yours for not testing on their broken platform. If you want to specifically test it you can, but if you don't see a reason to, you should be able to just port it over and let people use it and beta test it for you.
- coldtea 6y ago>If your extension works on both Firefox and Chrome, it really should work on Safari too. If it doesn't, that's Apple's fault for violating the standard, not yours for not testing on their broken platform. Chrome is notorious for building this that are not standards and forcing them into standards bodies later. That's part of "but it works on Chrome" web issue. So not working on Safari doensn't necessarily mean it's the fault of Safari for "violating the standard". Could very well be for upholding the standards over Chrome ad-hoc/de-facto "standard" additions...
- franga2000 6y agoWhich is why I mentioned both Chrome and Firefox, as while both implement some non-standard features, those tend to differ, so the intersection of their feature sets is pretty much the standard itself. I was actually referring to "your extensions following the standard", but since you can't exactly test against the standard directly, I used testing against both browsers as a good approximation.
- calpaterson 6y agoI think the point of standards is portability. You still have to do testing on different platforms, especially when porting the first time. I maintain a cross browser webextension (chrome and Firefox) and I would not release it on a new platform without testing. I have already found bugs in the API implementstions on Firefox and confident I'll find more. There are also differences in implemention between just those two browsers that I have to work around. YMMV, of course
- AaronFriel 6y agoI mean, I guess... since among the things I've shipped are, uhm, WEBSITES, yes? Because there are more browsers than any person could conceivably have time to rigorously, thoroughly test. Yes, things like Browserstack exist. But why do I have to test my Web Extension differently from my website. Should Safari start blocking websites whose TLS certificate lacks a "issued-to-a-mac" extension?
- coldtea 6y agoMore than right, sounds like the responsible thing to do. Sorry, I don't trust extensions or programs from people who won't even own a machine to test them on for that particular platform!
- saagarjha 6y agoDevelopers can and should test their code in a high-fidelity simulator for some configurations–limiting myself to just Apple platforms, I certainly don't have every Mac, iPhone, or Apple Watch in every combination of versions in front of me. I shipped support for iPhone X and Apple Watch Series 4 without having either of those devices on hand–for the latter, as you probably know, without even recompiling it. None of my personal Macs have a Touch Bar, but that hasn't stopped me from writing code for it. It's completely fair–actually, it should be expected–that extensions targeting standardized APIs should function correctly regardless of platform. If you're coming from a position of trying to incentivize people who largely don't care about a tiny, strange platform to begin with, locking them out entirely based on hardware requirements is frankly about the worst thing you could do to drive adoption.
- 6510 6y agoDocking a sailboat with a space station.
- simplecto 6y agoHah. I use “building a rocket ship just to cross the street”