15 ms·
Safari 14 added WebExtensions support, so where are the extensions?
- no_wizard 6y agoI wonder if the bigger hurdle here is that you have to spend money to get into the developer program (unless this is waived for these kinds of apps, I couldn’t tell when trying to dig up an answer) I don’t know that effectively slapping an app shell around an extension is a big hurdle, but no other web extension store charges for entry, so that very well could be the real barrier here.
- jenwkejnwjkef 6y agoYeah. The $99/year is big enough to pretty much block out all hobby devs and open-source projects, so what's left are generally commercial and closed-source. Apple says that they do their own vetting of extensions, but I don't trust Apple to prevent extensions from reading my browsing history, especially considering spyware extensions like Honey are served on the App Store without warning.
- nojito 6y ago> especially considering spyware extensions like Honey are served on the App Store without warning. You have to explicitly grant permissions as a user for safari extensions.
- jenwkejnwjkef 6y agoYes but every extension that does anything remotely interesting needs access to "your entire browsing history," which is a comment much scarier than it usually is. The truth is that it is impossible for a computer to distinguish malicious javascript from useful javascript, meaning all trust and verification needs to come from the user.
- deleted 6y ago[deleted]
- Karupan 6y agoThat is definitely the reason I haven't tried to develop anything for the Apple ecosystem even though I've used it for more than a decade. $100 a year is wasted money for hobby projects which may not even be published in an app store.
- _qulr 6y ago> unless this is waived for these kinds of apps, I couldn’t tell when trying to dig up an answer Mostly, no. "You can request to have the annual Apple Developer Program membership fee waived if you’re a nonprofit organization, accredited educational institution, or government entity that will distribute only free apps on the App Store and is based in an eligible country." "Fee waivers are not available for: Individuals and sole proprietors/single person businesses" https://developer.apple.com/support/membership-fee-waiver/ https://developer.apple.com/support/membership-fee-waiver/
- theblindbat 6y agoI suspect that extensions on the App Store that are popular make more money compared to being, well, free on Chrome web store. Or, developers are pricing their extensions to recoup costs on dev program costs.
- filmgirlcw 6y agoI dunno, I think it’s both. I’ve paid the $100 a year fee for over a decade, even though I don’t have anything in the App Store right now. For me, it’s worth it for access to the betas and to be able to self-sign and notarize stuff on GitHub. So I already pay the $100 a year. But there is a browser extension I help maintain that has a very limited audience (it is essentially an internal tool, though it is in the Chrome and Edge stores). I would like to bring it to macOS/Safari and started the process of doing it. But there are so many hoops, it will vastly change the build pipeline (I’ll literally have to package every single update differently than the other platforms), and the process is so convoluted that honestly, I’ve given up for now. Bear in mind, I’d be the primary user of said extension and even for me, I can’t make the internal argument to waste time doing it over just using Chrome or Edge when I need that feature. Having said all that, I should go ahead and port it to Firefox. That at least is a lot more straightforward.
- superkuh 6y agoPeople who use Safari aren't the same kind of people that use browser extensions.
- heavymark 6y ago100% Untrue. I use many extensions in Safari just like I use to in Chrome, my needs for customization are the same regardless the browser I use, but like many choose Safari for his performance, privacy ui, among other benefits. Find it very frustrating that many of the big products don't have Safari extensions. Often when I email there tech support they give a reason why, and then I try to explain there are referring to how extensions worked before, rather than how Safari extensions work now. So imagine a lot of companies don't know about the changes, or think they don't need to because they don't have enough people asking for them, but people probably did ask for them but were told it was not possible before, so they stopped asking.
- superkuh 6y agoI get why it may seem that way when we're on HN and there's selection bias going on. But if you look at all major browser the Safari users are going to be the lowest % extension use. That's what Apple is. An ecosystem where users don't configure anything. You can go out of your way and do it but that type of user is not who they design for. Just look at, https://www.zdnet.com/article/apple-neutered-ad-blockers-in-safari-but-unlike-chrome-users-didnt-say-a-thing/ https://www.zdnet.com/article/apple-neutered-ad-blockers-in-... - The safari userbase either didn't notice or didn't care when it's extension functionality was gimped. And this is not a unique event.
- deleted 6y ago[deleted]
- dwighttk 6y agoI remember when people said ad blockers we’re going to be broken. And I didn’t notice because the ad blocker I was using before worked fine and continues to work fine after whatever they did. (1Blocker)
- Nextgrid 6y agoIn addition to the money argument raised in another comment, the Apple development experience is a major annoyance when all you need is a couple lines of JS. I have an extension idea; it's literally a single line of JS. However, to get it into Safari, I need to create a (useless, and empty) Mac app with a specific configuration in Xcode that'll allow it to appear in the "extensions" list in Safari. Then I need to deal with all the signing & App Store distribution stuff if I actually want to distribute it. The money isn't even an issue (I have a developer license for other reasons - creating actual apps), it's just the annoyance and insane barrier of entry when the majority of extensions don't need anything but JS. There's also the issue of how Safari discovers extensions and what actually causes your extension to appear in its list. Is it opening the associated "app"? Not always as I've had trouble with that before - the app is compiled, it's open, but the extension is nowhere to be seen in Safari's preferences. It mysteriously self-resolved after some more trial and error. Updating the extension's JS while developing is also unclear. Does it happen upon app recompile? App relaunch? Who knows - I gave up before even reaching this stage - this whole process is bullshit. The whole idea that browser extensions are "apps" is stupid and annoying. They should be separate, and while apps install on your OS, browser extensions install in your browser. They should have their own file format (openable directly by Safari, with optional code signature checks) and their own Store (a website within Safari). At least that would solve the problem above - you open an extension file in your browser and it installs in your browser - no ambiguity there. To update you open a new file (which overwrites the previous one based on a potentially signed Bundle ID or similar) and it updates. The worst is that they had all of the above already and then decided to shit all over it about 2 years ago (in addition to removing much-needed APIs that allowed uBlock Origin to work and replaced it with something way less powerful).
- bengale 6y agoThe 1Password extension is way better now. I assume that’s due to this new support?
- jrochkind1 6y agoJust here to say A Memory Called Empire is an amazing SF novel. At first I was like wait is this article picking up my amazon history from nefarious cookies? Nope, OP author just agrees.
- ElbertF 6y agoWe finally ported Wappalyzer across to Safari. The process was fairly straight-forward but Safari doesn't implement every API that Chrome, Firefox and even Edge support, so we had to do a bunch of work to get a single version of the extension to work consistently in all four browsers. I'm glad it's finally here though. https://apps.apple.com/app/wappalyzer/id1520333300 https://apps.apple.com/app/wappalyzer/id1520333300
- sys_64738 6y agoI use Safari on the laptop because it's most efficient but it doesn't block all ads like ublock origin does. Particularly for YouTube so I need to use Firefox with ublock for viewing videos. I tend to not trust extensions otherwise and would really prefer Safari to have built in total ad blocking - zero tolerance for any ads at all.
- mietek 6y agoTry Wipr.
- stephen_g 6y agoYeah, I use Wipr with Safari, it's the best one I've tried (for Safari's content blocking) and it does well blocking YouTube ads. Like a lot of these extensions, I find it still breaks a bunch of sites though so I still find myself jumping over to Firefox with uBlock Origin a lot...
- filmgirlcw 6y agoSeconding Wipr. It’s the one I use in Safari on Mac and in iOS. It isn’t as good as uBlock Origin, but it works fairly seamlessly.
- freediver 6y agoWe are working on a new native macOS browser based on Webkit with native web extension API support built in. We have uBlock origin and many others extensions working already. By doing this we get best of both worlds - performance and energy use of Webkit and extensions from chrome/firefox. Screenshot: https://ibb.co/7V8sfyX https://ibb.co/7V8sfyX We are open for beta testers. Please email me if interested with short background and area of your interest.
- kitsunesoba 6y agoInteresting, is this planned to be an open source project?
- freediver 6y agoYes eventually. We are currently laser focused on getting the hardest part of the work done. The webextensions API layer is pretty substantial and had to be rebuilt from scratch on top of Webkit core which is a giant project on its own. It has been two years in the making and we are at about 70% webextensions api coverage with a small but passionate team.
- thysultan 6y agoYes! uBlock origin is the biggest thing keeping me from going to Safari, that and the Stylus extension(or something like it).
- kitsunesoba 6y agoCascadea is a decent Stylus stand-in for Safari, though it isn't free (currently costs US$2.99).
- whywhywhywhy 6y agoBeen a Safari user for years and still consider Apple doing anything to lose uBlock support one of their worst moves in that space. My browsing honestly feels so less safe without uBlock Origin, almost never had a dodgy popup or banner do something weird that wasn't blocked but once you're in the much weaker Safari only blocker ecosystem it happens constantly.
- burtonator 6y agoSo this is is a MAJOR flaw with WebExtension design. Each uses a separate URI scheme. So Chrome uses chrome-extension: Firefox uses firefox-extension: ... etc. which means web extensions for Firefox won't work with Google Firebase because they only support chrome-extension. Why the heck isn't it web-extension: ???
- amelius 6y agoIt could be, if you submit an RFC for a common format.
- arusahni 6y agoWebExtension was started by Mozilla, and is based on Chrome's extension API. Google has no incentive to support the project.
- asiando 6y agoIt’s funny that they have their own corner of the web where they own the entire API and the rest have to follow. Just because Mozilla and Apple share most of the API it doesn’t mean that Google won’t change it, in fact Manifest v3 is coming soon. Mozilla has implemented additional APIs that are never going back into Chrome because Google doesn’t care and doesn’t have to.
- Glench 6y agoAlthough Google is actually moving toward the standard in Manifest v3: https://developer.chrome.com/docs/extensions/mv3/intro/mv3-overview/ https://developer.chrome.com/docs/extensions/mv3/intro/mv3-o... (mostly with a Promise-based API)
- floatingatoll 6y agoThe most popular web extensions are those that deprive sites of direct and indirect revenue, which necessarily means they can’t charge for the service or their userbase would revolt and steal their rule sets (which is easy to do for a web extension). Having to pay money for such things goes against the grain of those users, and the sort of breakage that people think is acceptable for content blockers isn’t quite as acceptable in the wider Safari userbase as it is for the pi-hole folks. Imagine pi-hole charging a monthly subscription or else it allows ads through, and you can see immediately why this category is dead on arrival in revenue terms. And, for the content blocker extensions market, there’s essentially no point in releasing it as a paid web extension for iOS/macOS users, because there’s already better paid app competitors that do this, like 1Blocker or Guardian VPN or etc, that are full native apps on the platform with the appropriate hooks to be performant and such. Therefore: What valuable browser extension ideas other than content blockers exist, that could have any significant user base and value, that isn’t already met by better and more capable native apps on macOS and iOS, and somehow could charge people money for the extension with their willing cooperation? They’d obviously have to use a subscription model, so factor that into consideration when assessing the market. I’m unable to come up with anything that would make this segment of the App Store market worth my time to invest code into, and I already have a developer account for other reasons, so I don’t even have the annual fee barrier to consider. I remain hopeful that I’m wrong, but no one’s made a convincing argument yet. Prove me wrong, HN. (I see most people taking the “wrap WebKit” route instead, which makes more sense since it provides the capabilities an extension can’t offer, and is dead simple by virtue of the platform’s capabilities. Makes more sense to me, anyways, and then too. So: now what?)
- LinguaBrowse 6y ago> What browser extensions other than content blockers exist, that have any significant user base and value, that isn’t already met by better and more capable native apps on macOS and iOS, and somehow could charge people money for the extension with their willing cooperation? Language-learning extensions are reasonably popular, though most aren’t making the big bucks. Grammarly is probably one winner of note.
- 6y ago
- damnyou 6y agoWhy would any developer who doesn't use a Mac even consider bringing their extensions to Safari? The vast majority of developers use Windows or Linux: https://insights.stackoverflow.com/survey/2020#technology-developers-primary-operating-systems https://insights.stackoverflow.com/survey/2020#technology-de...
- asiando 6y agoPeople downvoted you as if this wasn’t a sensible comment. It’s not just “why would” a developer do it; It’s how can they do it without a Mac? They can’t.
- rikkipitt 6y agoHere's mine: https://apps.apple.com/app/id1532523816 https://apps.apple.com/app/id1532523816 It runs the exact same underlying code as for Google Chrome/Firefox etc. I converted to Safari 14 using a one liner: `xcrun safari-web-extension-converter /app/path`
- mmastrac 6y agoIs Safari a privileged process on OSX? Could someone develop a ptrace-style solution to disable signing and allow installation of Firefox WebExtensions?
- kitsunesoba 6y agoUnlikely. As far as I can tell, Safari WebExtensions are built on top of the pre-existing Safari App Extension API. This was likely done so Safari could continue to rely on the macOS App Extension API instead of needing to duplicate all of that in Safari itself.
- saagarjha 6y agoSomewhat: it enables library validation and getting rid of that will break Apple’s signature on it and render it unable to access its data vault. Plus, such a thing would be a significant amount of effort, especially on an “API” that isn’t designed for this at all…see ‘freediver’s comments above for an idea of how much work needs to go into implementing Web Extensions even with full, source-level control of the browser.
- mfDjB 6y agoAs an extension developer, I am keen to put my extension on Safari however what is preventing me at this moment is dealing with Dun & Bradstreet to get a DUNS number. A DUNS number is required to sign up to the Apple Developer Program as a corporation. So far I have been pushed to 3 different departments by D&B who keep just hand-balling me to the next department without solving my issue, and this is taking on the order of months. I wish Apple would remove this requirement.
- DevKoala 6y agoThis is ridiculous.
- jerrysievert 6y agoa D&B # was required in the 90's to get most commercial SSL certs. if we wonder why SSL took so long, we can look at this long before we can look at what it took for let's encrypt to break into the market.
- deleted 6y ago[deleted]
- BayesStreet 6y agoIf you haven't reapplied lately, you may want to try again. My corp was just approved for the developer program without having to deal with D&B directly, just a phone call with someone from Apple. I think they simplified the enrolment process.
- mkr-hn 6y agoThis appears to be the link to make one: https://developer.apple.com/enroll/duns-lookup/#/request https://developer.apple.com/enroll/duns-lookup/#/request Found here: https://developer.apple.com/forums/thread/90090 https://developer.apple.com/forums/thread/90090
- jws 6y agoI got mine through Apple's page. It took a day or two to clear. No fuss.
- gnicholas 6y agoMy startup has two Chrome extensions, and we also have an Apple developer account. But even still, we haven't prioritized releasing an extension for Safari. We'll probably do it eventually, but over the last 6 years we just haven't received that many requests for Safari (desktop) support. It literally might be 3 requests per year. I think this is because people who use extensions just don't use Safari, and therefore anyone who is savvy enough to want a tool like ours is already on Chrome or Firefox. There are a few people who use Safari for the battery life and are willing to live with the very few extensions that it offers, but I don't know many people like this. We'll probably release a Safari extension eventually, but for now it is not a priority. We are actually going to be launching with a new iOS web browser that includes extension support, and given the trend toward mobile that's more of a focus for us right now.
- asiando 6y agoRegular web extension support downloaded from the Chrome web store? I’m interested
- gnicholas 6y agoNot exactly — it's a combination of regex on the URL and then JS injection and the like. They're in beta now and launching soon: http://insightbrowser.com http://insightbrowser.com
- viktorcode 6y agoOther possible explanation for low number of Safari support requests: there's already a competing product.
- gnicholas 6y agoGood thought, though in my case there definitely isn't one.
- diebeforei485 6y agoFrustratingly this is only for macOS Safari, and not for iPad ("laptop replacement") Safari. That said, there are other great extensions like RECAP and I wish they could come to Safari too.
- chmod775 6y agoAs someone who has (re-)implemented and shipped quite a few native applications across ecosystems (Apple, Android, Windows, Linux) all I can say about this is: Xcode development, the Apple Developer Program, and the whole experience of trying to ship your application on the Apple ecosystem is the fucking plague. I will do it if I'm paid for it - I generally charge twice my hourly rate for anything Apple - but I certainly won't go through the trouble of trying to get any of my hobbyist projects into Apple's walled garden. I like to do enjoyable things in my free time, and the timesink that is Apple's proprietary clusterfuck is anything but fun. Apple's desktop market share being what it is, I cannot comprehend how they're generally getting away with this.
- coldtea 6y ago>Xcode development, the Apple Developer Program, and the whole experience of trying to ship your application on the Apple ecosystem is the fucking plague. That's because you're a developer that works in different platforms ("Apple, Android, Windows, Linux"). So you probably spend most of the time working in some other platform, and doing macOS work for you is just an annoyance, having to context switch to another process, etc. Apple tho wants macOS developers (and users prefer apps from people dedicated to macOS). That's because such vendors (e.g. Panic, BareBones, Omni, and so on) won't do lowest common denominator apps, they keep up with the platform, they understand it, they hook in to new platform-only capabilities, etc.). >Apple's desktop market share being what it is, I cannot comprehend how they're generally getting away with this. Apple's market share is what it is, in part because they enforce things like this. This means they can add new OS/hardware features and devs will add support for them fast (instead on relying to 1000s of half-ported apps, with shared functionality on Windows and Mac, and horrible cross-platformy UIs). That's also why (forcing more people to use XCode, and thus the official APIs, BitCode, and so on), they can introduce a whole new architecture like AS, and have macOS apps support it from day one, or old x86 apps running smoothly translated.
- smoldesu 6y agoApple cannot justify their transgressions against the modern development workforce as "a matter of platforms". The future cannot be segregated by platforms - that's part of the goal of a private and secure web. We need to work together to create secure infrastructure that everyone can trust, not huddle away and say that "Apple isn't looking for people like you". I understand that you're probably pretty impartial on the topic, but even you can acknowledge that their treatment of developers is unhealthy.
- coldtea 6y agoWell, it's not like Extensions are that much useful. Most people (the huge majority) don't use any (or even know how to install them, in Chrome or elsewhere). Case in point: "Beyond20, an excellent extension that connects the D&D Beyond character sheet to virtual tabletop services like Roll20" Wonder how Safari users will make it without this usability booster!
- gumby 6y agoSeems like it ought to be scriptable to wrap a little boilerplate around the custom js and call xcodebuild on it. Unfortunately "ought to be" != "easy". But if someone could do this it would be a service to extension developers and Safari users alike.
- JimDabell 6y agoIt practically already exists. Xcode can import an existing WebExtension and generate an Xcode project for it. Assuming you are happy with the default behaviour of the companion app (which basically just gives you info on the extension, whether it is enabled in Safari, and how to enable it if not), you can just hit build and submit it to Apple.
- gumby 6y agoThat sounds pretty low friction (to me -- but I already develop with Xcode) in exchange for being signed and available in the App Store.
- fouc 6y agoUsersScripts extension looks useful https://apps.apple.com/app/userscripts/id1463298887 https://apps.apple.com/app/userscripts/id1463298887
- toyg 6y agoI used to maintain a small Safari extension, back in my “Apple honeymoon” years. Had very few users, but it scratched my own itch and tried to give Safari some basic feature parity with Firefox when dealing with Xml feeds. At the time the relevant Apple directory of extensions was so poor, I had to serve the update mechanism from elsewhere (which was a pretty bad security practice, in hindsight). Eventually Safari was just lagging in so many areas, I went back to Firefox, but kept maintaining the extension; the burden was small, basically just re-testing it once a year. Then they decided extensions should go “full Apple”, requiring the developer fee and so on. It was clear they didn’t want any developer who wasn’t already committed to iOS, they just didn’t care about Mac hobbyists. I dropped my extension and never looked back. Apple basically had two children: one of them became a superstar multibillionaire (iOS) and the other (MacOS), well, he kinda “gets by”. Now iOS keeps MacOS in a job, and tells him what to wear and who to talk to. The poor thing is humiliated and increasingly lonely, but what you gonna do? Meanwhile his old friends Linux and Windows, who used to be so envious, are doing pretty well for themselves and don’t look up to him anymore.