Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Safari extension #396

Open
carmacleod opened this issue Jan 5, 2021 · 2 comments
Open

Feature: Safari extension #396

carmacleod opened this issue Jan 5, 2021 · 2 comments

Comments

@carmacleod
Copy link

This might be interesting. Apparently Apple will let you port Google Chrome extensions to Safari in macOS 11 Big Sur.

This WWDC 2020 video explains and goes through an example.

I think (?) all you need is a Mac with Big Sur and XCode... :)

@matatk
Copy link
Owner

matatk commented Jan 15, 2021

This is great news and a big step in the right direction. I did clock this news around WWDC time, though through the links you gave, I have found that it looks like the conversion process is a lot easier to automate than I thought, which is nice.

Currently there are some blockers due to API support and compatibility:

  • Safari requires that in order to use the tabs API, the extension has host permissions. I think its permissions may be too restrictive for the Landmarks extension in its current form.

    I am generally in favour of limiting what extensions can do until consent is given, in order to protect users. However, with the current UX for how permissions are handled, I'm concerned that people facing particular access barriers could find it much harder to set up accessibility extensions. I did raise these concerns and propose some alternative approaches to Google when they unveiled their new permissions model, and the people staffing that forum are receptive and supportive, but I don't expect things to change as a result.

    In anticipation of the coming changes, I have been experimenting with how to do reduced permissions as accessibly and easily-to-use as possible for some time (over a year, it turns out, from checking the logs). There is a branch I've been working on that I keep up-to-date after each change to the mainline. I've held off on actually deploying it because it makes Landmarks more complex to use, and I'm hoping to use the time between now and when it's required to make the UX as simple as possible.

  • Safari does not support webNavigation.onHistoryStateUpdated and Landmarks relies on this. (There may be others too.)

  • It doesn't support DevTools modifications either. Though that's not a showstopper, I hope they support it at some point as I think Landmarks' DevTools integration can be helpful.

There is also the fact that in order to distribute the extension, one is required to have a developer account, which is 99 currency units per year. This compares to a one-off nominal admin fee, or no fee at all, for the other browsers' stores. I would like to see Apple take a similarly welcoming approach on the pricing front to encourage extension devs to come to their platform :-).

I'll certainly be monitoring how this goes. I really hope Apple continues to work on making Safari as accessible an ecosystem as possible, as more choice for users is a good thing. I switched back to Firefox (which I'm really enjoying) from Safari only comparatively recently, partly because I wanted to be able to use the Landmarks extension :-).

@carmacleod
Copy link
Author

carmacleod commented Jan 15, 2021

Currently there are some blockers

Rats. Glad you'll be monitoring progress. Maybe someday, then!

There is also the fact that in order to distribute the extension, one is required to have a developer account, which is 99 currency units per year. This compares to a one-off nominal admin fee, or no fee at all, for the other browsers' stores. I would like to see Apple take a similarly welcoming approach on the pricing front to encourage extension devs to come to their platform :-).

I did not know about this at all. Yikes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants