Giter Club home page Giter Club logo

Comments (11)

rubenmv avatar rubenmv commented on July 4, 2024

Hi! sorry for taking me so long to answer but I was pretty busy last week. Your idea it's interesting, I understand the problem and I will consider it, but right now I'm working on other enhancements.

Anyway, an example implementation of what you propose would be something like:
Tab limit = 10
Loading tabs limit = 3

  1. The user starts opening tabs.
  2. Only 3 of them are opened at first, and loading. The rest are queued.
  3. Once one of those finish loading the next one in queue gets automatically opened and starts loading.
  4. Keep doing this while the maximum tabs opened are 10 or lower.

I'll take a look at it next week.

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Hi. Yes, that looks the correct algorithm.
In other words, none of the systems limits should be exceeded: bandwidth, CPU, memory.
While the number_of_tabs prevent exceeding CPU, memory, the number_of_loading_tabs prevents failed page loading due to bandwidth limits**.

Thus, the next URL in queue gets automatically opened, only if both conditions are simultaneously true:
a) -less or equal than L<=3 Loading tabs (traffic limit)
AND
b) -less or equal than O<=10 Opened tabs (CPU+memory limit)

In other words, no new URL in queue will be opened if, example:
Loading=4(!), Opened=10 => don't open new URL's
Loading=3, Opened=11(!) => don't open new URL's
Loading=4(!),Opened=11(!) => don't open new URL's
Loading=3, Opened=10 => yes, open new URL's
Loading=2, Opened=10 => yes, open new URL's
Loading=3, Opened=9 => yes, open new URL's
etc...

I further suggest another interesting feature, that is the ability to manually override the queue to a clicked link with a keyboard modifier, (ex: Alt+click on that link). This need occurs when you need to view that link urgently, before all those dozens of pages queued. For example, a email, of a confirmation message that should me clicked to advance a authentication process, or a check on the weather site, or a messaging site to send a message now, before the queue, etc. This "override queue" function, could as well appear in the right-click-context-menu.

Mean while, I find myself constantly manually changing the TABS LIMIT in the options page, because I work on many different places with my laptop, some have slower internet and other quicker WiFi servers with my laptop, as it is the work, at home, or at the slowest library or cybercafe. Ex: at home 10 or more can work well, but at the library only 2 tabs, otherwise the pages don't load completely.
Thus, I suggest that after the user decreases the TABS LIMIT (in the options page) the extension should automatically close (and send to end of the queue) the latest TABS (upon clicking SAVE button), and, as well, after the user increases TABS LIMIT (in the options page) the extension should automatically open the oldest queued TABS (upon clicking SAVE button).

Sorry if this looks as a abuse of suggestions, but have in account that this is also work, it takes work to think on good suggestions and efficient extensions.

Thanks for all!

** i.e., too many heavy pages loading simultaneously, will make each one load slower than if it was the solely page loading. Servers neglect requests after long periods, thus it leads to incomplete downloads

P.S: (I would like to learn how to create my own extensions, however I can't find where to learn it.)

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Hi, sorry to bother you again. It's just that I managed to create myself a Autohotkey script (.ahk) that is a workaround to solve that issue of preventing traffic overload and consequently failed pages, incomplete downloads. The trigger, however, isn't the number of downloading tabs (because the external script isn't able to count loading tabs) but it uses the ping time as a measure of the network overload.
In other words, each 5 seconds it pings a server and checks the response time. If the ping is less then 900 milliseconds it opens the oldest URL in the queue, otherwise does nothing and waits another 5 seconds.
The URLs are loaded to the clipboard the queue via the linkclump extension (drag right button over the links on a webpage). The event right-button-up trigger the add-to-queue subroutine. I also have the Force-background-tab extension to prevent losing a focused page each time the script launches a new URL from the queue. It works pretty well in deed.
Comparison of the a) "ping-time" VS b) "quantity-of-downloding-tabs".
-If you are opening many pages of the same server, that server may become overloaded/restricted therefore, you will be wasting spare bandwidth of your internet provider that could be freely used to pen pages of other servers. In that example, the b) criteria will be less efficient because it will be limited by a server, wasting your remaining network capacity.
Here the ping will be more efficient to measure the overload, because it would result in a fast ping because the constraint isn't the network but a particular server.
-However, the ping method has some problems, as well. For instance, you have to find the ideal ping time by testing, trial and failure. For instance, I came up with 900 miliseconds because I started with 700, and it failed to many times and didn't open any queued tabs. Then I tested 1500 miliseconds, and to many pages were loaded, and therefore too many tabs caused incomplete webpages, failed downloads.
I suppose you have to test to get a ping time optimum for each WiFi spot, or location here you have different network speeds and loads. Therefore, I'm not sure if the 900 miliseconts is a universal value. I have to test it more days on more different networks and WiFi spots.
Thanks

from chrome-extension-tabs-queue.

rubenmv avatar rubenmv commented on July 4, 2024

Recently I experimented with keyboard shortcuts but the Chrome API it's very limited in this regard, maybe I can add a context menu option. I'll check the shortcuts API again to be sure. Right now you can just open a new empty tab, which won't be queued, and then open the url you want from the queue or the clipboard.

About closing and opening tabs when the limit changes, that's also in my plans.

And I'm glad you found another solution in a pretty creative way, I'm lucky enough to never face such speed problems with the networks I usually work with.

P.S:
To start developing extensions you can go to the tutorial
https://developer.chrome.com/extensions/getstarted
the rest is just looking at the API and how other extensions do the stuff you want to include in yours.

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Dear Ruben,
Can you send me a link to the mentoned tutotial?
Thanks,
Vitor


On Sat, 9/12/15, Ruben Martinez [email protected] wrote:

Subject: Re: [chrome-extension-tabs-queue] loading tabs limiter (#1)
To: "rubenmv/chrome-extension-tabs-queue" [email protected]
Cc: "vmdsb" [email protected]
Date: Saturday, September 12, 2015, 11:31 PM

Recently I experimented with
keyboard shortcuts but the Chrome API it's very limited
in this regard, maybe I can add a context menu option.
I'll check the shortcuts API again to be sure. Right now
you can just open a new empty tab, which won't be
queued, and then open the url you want from the queue or the
clipboard.

About closing and opening tabs when the limit changes,
that's also in my plans.

And I'm glad you found another solution in a pretty
creative way, I'm lucky enough to never face such speed
problems with the networks I usually work with.

P.S:

To start developing extensions you can go to the tutorial

the rest is just looking at the API and how other extensions
do the stuff you want to include in yours.


Reply to this email directly or view
it on GitHub.

from chrome-extension-tabs-queue.

rubenmv avatar rubenmv commented on July 4, 2024

Oh sorry I didn't notice the link wasn't showing up, I updated my previous response.

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Dear Ruben,
Thanks. I'll be waiting for your improvements in your extension.
Regards,
Vitor


On Sun, 9/13/15, Ruben Martinez [email protected] wrote:

Subject: Re: [chrome-extension-tabs-queue] loading tabs limiter (#1)
To: "rubenmv/chrome-extension-tabs-queue" [email protected]
Cc: "vmdsb" [email protected]
Date: Sunday, September 13, 2015, 12:39 AM

Oh sorry I didn't notice the
link wasn't showing up, I updated my previous
response.


Reply to this email directly or view
it on GitHub.

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Hi Ruben,

I was able to create a working autohot-script for my purposes.

It checks 3 conditions sequentially in order to (finally) launch another URL (the oldest one) from the queue:

-1st: checks Internet connection speed, (a sort of ping test);
-2nd: checks for CPU overload
-3rd: checks for RAM overload.

As we discussed previously, simply limiting the "number opened tabs" prevents overloading computer resources such as CPU and RAM. (which corresponds to 2nd and 3rd conditions above).

On the other hand, limiting the number of "loading tabs" can prevent overloading the connection which often causes incomplete pages loading, due to server-side abandon. (which corresponds to 1st condition mentioned above).

It is working quite well, prevents exhausting the main system resources, therefore allows smooth browsing, completely downloads each page (1st condition), doesn't open excessive tabs at once (2nd and 3rd conditions), furthermore let's you multitask with other applications and programs, as it checks the overall computer and system condition (and is not limited to the scope of chromes resources but of all).

At the moment I have the following limits:

-1st: ping: 1400ms (automatically adjusted to 110% of the idle ping time)
-2nd: CPU: 20% (intel i7 64bit)
-3rd: RAM: 50% (8Gb)
(as I said above, exceeding any of these will prevent launching another URL from queue).
Thanks
Regards
Vítor


On Sun, 9/13/15, Ruben Martinez [email protected] wrote:

Subject: Re: [chrome-extension-tabs-queue] loading tabs limiter (#1)
To: "rubenmv/chrome-extension-tabs-queue" [email protected]
Cc: "vmdsb" [email protected]
Date: Sunday, September 13, 2015, 12:39 AM

Oh sorry I didn't notice the
link wasn't showing up, I updated my previous
response.


Reply to this email directly or view
it on GitHub.

from chrome-extension-tabs-queue.

rubenmv avatar rubenmv commented on July 4, 2024

I've been having some problems with my computer and I lost some of the work I did (and I forgot to sync with github) but I'm redoing it again. AutoHotkey is pretty awesome, I didn't know you could even access tabs in Chrome.

from chrome-extension-tabs-queue.

vmdsb avatar vmdsb commented on July 4, 2024

Ruben,

No, I can't access chrome tabs via Autohotkey (unfortunately).
The Autohotkey script doesn't know how many tabs are opened.

My script simply tests CPU load, RAM and Connection Speed to launch a new URL from queue (a txt-file). It's a windows request that is processed by the default browser. Sometimes fails because of OS interference. Often disturbs normal browsing, as, for instance it is annoying when mouse clicking or dragging is interrupted by those unexpected external url requests from the script.

Sorry to disappoint you. Therefore, I would prefer a Chrome Extension that could access CPU, RAM and NET would be more efficient because this way of working externally is not very reliable, as I tested.

Furthermore, the method of filling the queue is with the event "right button up" and gets urls from clipboard, what is also not as reliable as an internal chrome extension to catch all url requests, links, bookmarks, address bar, etc.

Vitor

On Mon, 10/5/15, Ruben Martinez [email protected] wrote:

Subject: Re: [chrome-extension-tabs-queue] loading tabs limiter (#1)
To: "rubenmv/chrome-extension-tabs-queue" [email protected]
Cc: "vmdsb" [email protected]
Date: Monday, October 5, 2015, 4:59 PM

I've been having some
problems with my computer and I lost some of the work I did
(and I forgot to sync with github) but I'm redoing it
again. AutoHotkey is pretty awesome, I didn't know you
could even access tabs in Chrome.


Reply to this email directly or view
it on GitHub.

from chrome-extension-tabs-queue.

rubenmv avatar rubenmv commented on July 4, 2024

Sorry it's been a long time but I was occupied with other projects, I'm releasing a new version pretty soon with new features, one of those is a "slow network" mode which implements the behavior we discussed in here. I'm closing this issue. For any problems or more enhancements just open a new issue.

from chrome-extension-tabs-queue.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.