<--- Read the sidebar :1 Many useful links and they are relevant 2: Use the labels on the left to find the sort of thing you want to read. Posts range from creatively entertaining to logically helpful bullet points 3: Turn adblock off if you want to see useful items on the left side and at the bottom

29 May 2011

Speeding up slow internet browsing

I sometimes use very slow connections.

I'm sure I'm not alone. There are plenty of users who use:

- satelite
- GPRS
- poor signal 3G users
- people in poorly connected countries
- people behind shared connections with no bandwidth management
- very poor wifi signals
- a few packetradio people out there

Of course, the web has been getting more and more high bandwidth.

How do we handle this?

Here's a few ideas that I have been known to use and can recommend:

- adblock plus
- flashblock
- noscript
- img like opera
- a caching proxy
- a filtering proxy like privoxy
- a caching dns proxy
- compressed ssh connections and opera turbo

But is the connection up at all?
To this end I open up a shell/cmd.exe and use:

- ping example-website.com /t /l 2
if I'm on Windows. This only shows if the connection is up or not. The /l 1 specifies a small packet size of only 2 bytes to save bandwidth. Although this is very small I've rarely seen it confused by packet loss

For live bandwidth monitoring I use:

- htop
- there's a Windows program out there designed for bandwidth control, this is pretty handy for monitoring too but I forget the name of it
- I don't generally use Ethereal for live monitoring... perhaps I should investigate

Then there's the problem of ssh compressed connections dropping out. For this I recommend:

- autossh (linux)
- bitwise tunnelier (win32)

Anything else?

- check out the lazarus firefox extention and similar but simpler addons for firefox. Is you type a load of stuff into a text box you don't want to loose it all when the connection drops
- if you're on satelite, have the status of the link such as gain visible if possible
- similar with GPRS/3G; have the bar signal visible if possible as well as a ping test running.
- if you're behind a proxy you could ping the proxy and then compare that to pinging a site you've pinged on a normal connection, that can tell you where your lag is coming in. Sometimes it's the proxy not your own connection.
- sometimes you can turn off sounds and things but these are rarely used by websites and yes, people not labelling thier images is annoying but remember they're losing google pagerank for not doing so, so it shouldn't ever get too bad. Flash is a worry too but html5 is good news.
- I don't generally mess with timeout settings... should I?
- greasemonkey could be a useful thing... any comments on that?
- lasspass has an auto login feature. With this you can que up say 10 tabs to all login, get a cup of tea and hopefully by the time you're back they're all logged in
- if you're on a good connection you can use the throttle firefox extension to simulate a slow connection
- if on windows also check out the PaleMoon fork of Firefox. It only makes a few simple tweaks but boy is it faster. Just make sure you get the official version and not some spyware riddled scam

Non web, lag friendly things:

- IRC is very low bandwidth
- instant messengers are suprisingly high bandwidth. If you leave them running on a 3G dongle they can soak up your entire allowance! Certainly with Google chat/gtalk anyway. Anyone got any stats for the others? Which is the best? This can be investigated with ethereal packet sniffing.
- obvious to say it but email. It's even more packet switched than the web. In this sense true pop3 is better than webmail because you can schedule it to connet when the connection comes back up or keep trying, so it's worth the effort to setup. You can do this with gmail and other webmail providers
- that previous tip with pop3 email is more useful than you might think because you can use it to twitter, status update and blog. Probably more things too, do you know of any for me to include here?
- you can even try text mode browsers like lynx and links2, possibly even over ssh but I wouldn't recommend it
- ...having said this, commandline apps are generally very useful so access to a shell is still very handy even over a laggy connection. You can combine this with byobou to leave programs running
- if you're using ssh check out kitty. It's a fork of putty for Windows and it allows you to pre-prepare your command and paste that in with F12. This is easier than trying to copy and paste manually and certainly easier than trying to go back and forth correcting typos on a laggy connection

Future developments:

Now I'm investigating seeing if it's possible to have more control over what is loading. Wouldn't it be nice to select and cancel items as they load?
It would also be good to get more verbose info on what is happening behind the scenes. Is this page loading or has the connection dropped out completely and we're wasting our time? The Firefox status bar was removed, that can be reinstated. It would be nice to see this info on the location bar or even a whole 2nd monitor dedicated to showing what is happing to our bandwidth.
The same thing with javascript. Are there live monitoring plugins for this? That's the next stage.
It would be nice to part load images, then click to fully load. Some images will load detail in stages whereas others will load top to bottom, depending on the image type more than which browser you're using.
Also, what about queing up youtube pages to load whilst you're sleeping? There are 3rd party downloader apps, both as plugins. Perhaps this could be scripted. Search your favorite linux distro for programs, you might find something good.


What do you use to get by with? Have you been using any of the above? Can you think of anything I've missed? Like the tips?