Do you have many open tabs?

In my browser, usually - from 50 to 120. Sometimes - 200, at other times - 15.



It is clear that it is difficult to cope with a large number of tabs with bare hands. So I wrote a browser extension that automatically organizes tabs based on content similarity.



This radically simplified the search and reading of articles. And even my hair became silky. Well that is became more productive.



Where do so many tabs come from?



They mostly come from Inoreader, sometimes from social networks and other resources.

I look at new publications once a week or two or less. Something remains open, something is sent for later, but more often it remains open.



You can view a lot at a time. But one of the benefits of this approach is the ability to get a more complete picture from different perspectives.



In addition, reading several articles on the same topic at once is much easier than reading each article separately.



What does the extension do?



Demo video instead of a thousand words.





Tabs are grouped by main content using a limited bag of words. The words for the bag are determined by the frequency of occurrence plus various heuristics.



To find the content of the page at all, the Readability.js adaptation is used . This is the version of the library that Mozilla uses in Firefox to display pages in reader mode.



Unfortunately, Readability.js does not always find the content of the pages. Therefore, a separate preprocessing has been made for especially popular resources.



Now here: Reddit, HackerNews and YouTube.



The list is definitely not exhaustive. If someone needs to add a new resource, then this can be done through GitHub... You can also leave other feedback there, because the extension does not collect any analytics.



There are also separate resources, pages of which are sorted only by URL, if there are more than one of them. These are the GitHub and GitLab pages. So you will get grouped according to the project file structure.



Made specifically for umputun... Almost.



The algorithm is not overly complicated, therefore it works completely locally without much work. Sometimes he pleasantly surprises even me - a developer who constantly scrolls the algorithm in my head.



In one case, it was two articles that jointly suggested a new idea. They had different topics, but they had common keywords, so Smart TabS placed them side by side.



In another case, it was a browser for work questions. After some hints, Smart TabS arranged the tabs much better than I expected, so it became much easier to work with.



Yes, there are situations when the tabs are not placed exactly as they could. Then you can place them yourself where you need them. They will retain the specified location until you change it in one way or another.



Also, in the extension settings, you can specify domains whose pages will not be checked for similarity. These may be domains for which it is difficult to determine the main content or their content is too sensitive.



For example, web applications, mail, social networks. By default, this now includes: Facebook, Netflix, Trello, Todoist, Inoreader, Feedly, Gmail, and other Google services.



If there is absolutely no desire to show something to the extension, then in incognito mode its operation is prohibited at the browser API level.



Browser support



The extension can now be installed for Firefox and Chrome .



It is not yet available for Safari, despite the appearance of the WebExtension API in version 14. For some reason, they didn't add support for tabs.move (...) so that tabs can be automatically moved.



Other browsers have not been specifically tested, although, in theory, for Chromium-based browsers it might be possible to install a package for Chrome.



PS



In this post, I wanted to focus on the problem and its solution using Smart TabS, so to speak, on the public side of the issue.



In the next part, I plan to talk about what remains behind the scenes: the development of an idea, project management and development details.



All Articles