Browser extension was a part of Moera since the very beginning. It has several goals, such as:
- Automatically loading Moera client when visiting a website that supports Moera. Since the network is decentralized, Moera can be installed on any website and the browser extension helps to detect it.
- It always loads the client that the user prefers.
- Showing a direct link to the website in the address bar of the browser, which can be simply copied from there instead of choosing "Copy link" from the menu of a post or comment.
- Allows to get rid of the single point of failure, which is the website that redirects the user to the Moera client they choose.
I still believe that this is the right way to do it. But, unfortunately, this architecture creates problems that are almost impossible to solve.
- Users do not want to install extensions. This is an additional obstacle that discourages users from registering in Moera.
- The vast majority of mobile browsers do not support extensions.
- Switching between different blogs causes the client to reload, and the client is quite heavy and loads quite slowly.
- The need to interact with the extension slows down the loading even more.
- It complicates the architecture of the client significantly.
- The browser tries to isolate each website, which causes the built-in caching not to work, preflight requests to be duplicated, it is not possible to use local storage, etc.
- Posts in the newsfeed are opened from the home node. This means that even with the browser extension installed, the address bar shows a link not to the post, but to its copy, which will not open if another user follows it.
Thus, goal #3 is not even achieved with the browser extension installed. And the rest of the goals are not relevant at the moment, because there is only one client, few users, and there is not a single third-party website that supports the Moera API. But even if they become relevant, they can be achieved with a simplified extension that simply redirects the user to the client they choose instead of injecting it directly into the page.
Therefore, I decided to temporarily stop supporting the browser extension for Moera.