Live data from Hacker News

Safari 14 added WebExtensions support, so where are the extensions?

sixcolors.com

141–150 of 224 posts

Re: Safari 14 added WebExtensions support, so where are the extensions?

#141
post #127

Earlier quoted context omitted.

Xcode with Swift is a bit odd in that its performance varies greatly depending on project structure and as nonintuitive as it may be, the way the developer writes code. For instance a sprawling project with an even split of Objective-C and Swift that constantly call into each other can bring SourceKit to its knees, as can some CocoaPods setups. Going Swift-only or even just reducing the surface between Objective-C an…

To summarize, this is the most Apple of arguments, that you're making: "You're holding it wrong."

Not quite - the origin of "You're holding it wrong" was a response to someone who was quite literally trying to illustrate the cellular signal attenuation issue by pressing down with their fingers on the gap between the two antennas.

I believe the parent was saying that the performance of xcode varies based on the project. This is true - breaking projects up into more modular setups has long optimized project build speeds. The quality you get out of your tools is in many cases based on how you use them.

"You're holding it wrong" would apply if you were deliberately using the tools in a sub-optimal way to try to prove a point.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#142

My 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…

Other possible explanation for low number of Safari support requests: there's already a competing product.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#143

Earlier quoted context omitted.

Its pretty bad. XCode (with swift) seems to crash on me regularly just with normal usage. The last time I used it occasionally it would lag so badly that it sometimes lost characters I was typing, and my code would come out completely garbled (what!?). A few weeks ago I tried to do a local build of Signal's iOS app and the swift compiler errored out on some random function. Apparently it spent so long doing type infe…

Xcode with Swift is a bit odd in that its performance varies greatly depending on project structure and as nonintuitive as it may be, the way the developer writes code. For instance a sprawling project with an even split of Objective-C and Swift that constantly call into each other can bring SourceKit to its knees, as can some CocoaPods setups. Going Swift-only or even just reducing the surface between Objective-C an…

I’ve noticed similar issues, it’s especially a problem with SwiftUI as nesting closures often feels natural there, my brand new M1 mini will still give me the “expression too complex” error on larger SwiftUI components.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#144
post #45

As 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 or…

I came here to say this exact thing. It took me literally a month just to sign up for the Apple developer program, mostly due to the DUNS nonsense. It makes no sense, and is a huge pain.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#145
post #133

As 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 cert…

To top it off, if you put a donation link in your about box when you release your totally free software in their App Store, they will reject it in review. Free apps are not allowed to include a donation link to their own website. It's to the point where they won't even let people enrich their ecosystem for free unless you dance to their tune. It's very, very hard to take anything other than a dim view of such despica…

Donations is just another model of making money from software. So you're going to use App Store for free and make money without Apple getting their cut. It's understandable why Apple does not accept it.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#146
I 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.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#147

My 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…

Other possible explanation for low number of Safari support requests: there's already a competing product.

Good thought, though in my case there definitely isn't one.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#148
post #96

Earlier quoted context omitted.

> 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.). What about thousands of small devs/companies who are not Panic or others having contacts inside Apple and a privileged position? Here on HN there's at least one horror story a month about issues someon…

> Here on HN there's at least one horror story a month about issues someone had with Apple With 2 million programmers, a marketplace of 100billion, and millions of apps, "one horror story a month" (i.e. "somebody was annoyed on the internet and posted about it") sounds like a huge success story. And many of these are non-stories, or stories of the kind "Me, one of 1.5000.000 programmers on iOS/macOS stores, had an ap…

+ There's plenty of commercial software available for Linux

+ Desktop environments aren't the issue, they're just graphical shells. It's the rendering toolkits like Qt or GTK which matter more. And even then, you basically just pick one and move on.

+ Yeah the multiple package managers situation can be annoying for non-free software. But then that's still better than a monopoly like on iOS.

I've seen you've posted multiple comments attempting to defend Apple's ecosystem (ironically some of them contradicting other posts of yours in the same thread) but you're still missing the point that developing software for Apple platforms is a massive headache and a massive drain on the wallet in ways that isn't true for any other platform. I honestly don't think Apple care much for developers outside of their own in house teams because the process is so mindbogglingly shitty for everyone else.

Re: Safari 14 added WebExtensions support, so where are the extensions?

#149

Earlier quoted context omitted.

Yup, it's mentioned here: https://developer.apple.com/documentation/safariservices/saf... .

I'm fairly confident I did that. Either way, the process is very unclear - what actually notifies Safari that an extension is available and whether it's updated? With most browsers it's clear, you open a specific file with the browser, the browser loads it and that's it. To update, you open the updated version of the file. With these apps it doesn't even seem like the app itself is doing any work - there's no code in…

> what actually notifies Safari that an extension is available and whether it's updated?

Since extensions are made available via app extensions, it is:

- installation of an app from the app store

- first run of an app which is not from the app store

This is actually the big reason why they require you to use apps - all system customizations (device drivers, web extensions, photo plugins, fonts, etc) are supported with an application life cycle, and support appstore-style review and updates.

I haven't done enough development of safari app extensions in particular to fully understand how _live_ updates work. I typically just enabled the extension with Safari Tech Preview as the only extension, loaded on a test page, and would restart. There may well be logic now to do a page refresh when an enabled extension is updated, however.

> With these apps it doesn't even seem like the app itself is doing any work - there's no code in there to for example connect to an internal socket or do some IPC to notify the browser and supply it with extension files

The app extension has a global JS file loaded, and the safari.extension object allows one to send IPC to the corresponding native Mac app. This is (for example) how 1Password and other password managers integrate with the native password store.

The native app is a pretty good place to put all the configuration options for your extension, which may eliminate the need to surface browser-bar buttons and the like.

(FWIW: my Safari extension was a prototype that was abandoned because Safari didn't surface enough HTTP request/response access in their old API. I haven't checked yet if their Web Extension API surface includes what I needed.)

Re: Safari 14 added WebExtensions support, so where are the extensions?

#150

As 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 cert…

I think capitalism works. That's how apple does it.

That said, I was attracted to computers since an early age because it's fun to make them do things.

But I think apple's ecosystem takes the MOST EFFORT of any of them to actually do anything.

For example, on linux there are probably 100 scripting languages that can do fine-grained automation of just about anything you want to do.

With apple.. ugh. It's either applescript, or you're into xcode and a compiler and a license agreement and high complexity and lots of only-apple-does-it-this-way.

Here's a simple one: how do you have two icons in the dock - one to open an 80x25 terminal window, one to open a 140x50 terminal window. This takes way too much energy to automate.

You can do it in applescript, but it's such a horrible language.

   tell process "Terminal" to click menu bar 1's menu bar item "Window" menu 1's menu item "Open Window Group"'s menu 1's menu item "group1"
I know there are shell scripts and python, but apple treats them like the jackling mansion - no gui, cmdline is non-essential, everything is rotting.
Post reply on HN