My team members and I were busy with exams for the past 1 month. Of course, the studying schedule was hectic and every document and notes where online. We observed during several instances, that the number of tabs opened was really hard to manage and were easily lost. One subject had no relation to the other so we manually opened and closed all tabs according to the subjects. Then we started using bookmarks but they were quite messy to organize as well (accessibility was also an issue). On top of all of these, our friends with low-end laptops experienced several crashes of the chrome browser due to heavy memory consumption.
This made us wonder, what if there is a way to handle our tabs and workspaces so easily that it becomes super convenient to work on multiple things without getting messy.
That led to the creation of Sessions. Sessions is a super simple chrome extension in which you can store all the currently open tabs as a single session (workspace). It automatically stores the tabs into local storage, so that you don't have to worry about losing them at any time, even after you close chrome or shutdown your system. In just one click you can close all opened tabs and create a session. With another click, you can either restore or delete the tabs, all at once. You can also name each session (if you learning react, the react workspace will have all the necessary tabs required). We have tested this on several systems and noticed an incredible fall in memory consumption while sessions are created. Our primary focus was on accessibility, so we designed a simple popup that displays all required information so that you don't have to leave your current tab.
Now you don't have to worry about losing your focus, taking a break, or even attending meetings with the thought that all work will be lost. Using sessions, you can easily supercharge your tabs to work for you instead of you working for them.
One of the major issues was implementing the basic working logic. We took inspiration from various tab managers available on the chrome web store (workona for example). We noticed that most of them lacked accessibility. Once the logic was implemented another issue was to think about where to actually store the tabs. Our initial idea was to use a database but we didn't have the time to implement that. So we used local storage, in which we stored the links and favicons of each open tab.
We were already familiar with manifest 2.0 but manifest 3.0 had some minor changes, we were able to get around it using their well-built documentation. Another issue was implementing the naming of sessions, which we were able to solve using the button logic(saving names in the button and disabling the button). One set back of this is that the names cannot be edited.
These are some of the features we planned to implement but due to time constraints, we weren't able to implement them. We will surely work on them after the hackathon:
Discussion