Safari is probably the most important app on your iPhone or iPad. Some folks rarely leave it, other than to post photos to Instagram or reply to a WhatsApp. And yet, it remains quite limited compared to a desktop browser. You can use little bookmarklets, and of course, Safari integrates with the system-wide sharing panel, but it has been almost impossible to extend Safari itself. In iOS 15, that’s about to change. So what’s happening? “Thankfully, Apple went for the de-facto extension industry-standard technology called WebExtensions,” app developer Alex Chernikov told Lifewire via email. “Initially, it was Chrome’s extension API, but over time, all major browsers have adopted it. Making extensions has become pretty easy these days. You make it once—and it runs in Edge, Firefox, Opera, and Brave.”
Privacy First
Browser extensions are a big security risk. Usually, they have access to all the data loaded into a web page. That’s fine if you’re using an extension from a trusted developer, but things can go wrong, fast. An extension doesn’t just get access to a page when you click to activate it. By default, an extension has access to all pages loaded into your browser. That means your email, your bank, everything. Extensions in iPadOS 15 Safari don’t work like that. “They took an interesting approach that’s different to what we can see in other browsers. They let you grant the extension access only to specific pages as well as for a limited amount of time,” says Chernikov. “For example, you can let the extension work only on lefigaro.fr and only for one day. Given the fact extensions may now have full access to website contents (that may also include your passwords, credit card details, etc.), it’s a good notion.” Chernikov’s software company, Gikken, is currently developing an iOS 15 extension for its translation app, Mate. I have been testing it out, and it’s quite neat to pick which sites load the extension. In the case of Mate, you can tie it only to the foreign-language sites you want to translate, and—unlike Safari’s built-in translator—it will load automatically every time you visit one of those sites.
How iOS Safari Extensions Work
Installing a Safari extension is done by installing a companion app, which ensures that it goes through Apple’s App-Store approval process. Then you visit Safari’s Extensions settings. These live in the Settings app, alongside the content blocker settings (which are effectively specialized browser extensions). Developing Safari extensions is easy, but with enough barriers that we probably won’t see a flood of existing Chrome extensions showing up on launch day. For example, when testing an extension, the developer has to recompile the entire wrapper app whenever they make a change instead of just saving a file and reloading the web page. “iOS Safari extensions are little websites, too, but packaged into the parent app. Every time you make changes to the extension code and want to re-run it, you have to re-build (re-compile) the entire Xcode project. How long it takes depends on the project’s size,” says Chernikov. Another barrier is the entire App Store approval process, which requires a paid subscription and all the usual pain points of submitting an app. And another consideration is look and feel. An extension built for Chrome probably won’t look right in an Apple browser.
Extensions—Worth It?
So far, the pain of making iOS Safari extensions is all with the developer. It’s as easy for the user to install an app and activate the extension in Safari’s preferences, although this is a little tricky. “You still need to enable the extension separately, and it’s pretty hidden away. A few beta users have contacted us saying they couldn’t figure out how to start using Mate’s Safari extension, for example,” says Chernikov. But the benefits are worth it. The Mate translator, for example, is seamless. It’s like the web is all in your own language, and you can even tap on a paragraph to check the original text. It’s better than the built-in version, and that’s been impossible in Safari until now.