Skip to content
This repository has been archived by the owner on Jun 4, 2022. It is now read-only.

Extensions Design

Adrian Cochrane edited this page May 30, 2017 · 8 revisions

Oddysseus does not and will not support browser extensions. They have a tendancy to clutter the chrome of any browsers that support them.

What Oddysseus is open to is allowing resources online to alter it's behaviour in certain ways without adding any additional chrome. For example these might include search engines, content blockers, and user scripts.

Users would enable these by clicking an icon on the right hand side of the addressbar which would change style to indicate whether it's enabled. RSS and page security info would similarly be placed here. They should later be able to manage these as bookmarks.

After an extension is installed a toast will show to say so, and possibly include a "Purchase" button.

Implementation

OpenSearch already specifies discovery for search engines, and it is trivial to list all user-script/style URIs on the current page.

As for WebKit content blockers, Apple has been relying on their existing distribution channels thus leaving me in the cold. So (taking cues from Better on desirable features) I'd define an RDFa ontology for pages to link to their content blocker offerings along with URI templates for their information on first- and third- party URIs.

Oddysseus will extract rel="payment" links once an extension is installed, and make it prominant. For RDF-based extensions Oddysseus will look for a foaf:tipjar or foaf:maker/foaf:tipjar property on the base resource.

Discovery

I am not interested in providing discovery for search content blockers or user- scripts/styles. However if someone will offer to make a site providing this, I will (within reason) nominate it as being official and recommend it from otherwise empty topsites pages. Anything more than that could overcomplicate Oddysseus's UI.

I am however willing to implement discovery for vocabularies, which will be based on which free-form tags the user has defined. I am also willing to implement discovery for search engines (in the form of a tagcloud), which will then be integrated into Oddysseus as it's sole preinstalled search engine.

That said it may well make sense for vocabularies and search engines to be listed alongside content blockers, userscripts, and userstyles. So please don't feel constrained if you want to create the extensions discovery site, just it'd probably be a good idea to harvest extensions both from existing sites and ones I might create.