Monday, November 29, 2010

Youtube ETA - Chrome extension

If you have ever tried to watch a youtube video on a slow network connection, you will know the frustration I often face. Wondering when that red progress bar will reach its end. Thanks to a chrome extension like Stop Autoplay, I can let the youtube video open in background tab and let it buffer as I browse other webpages. But still I have to go back to the youtube video's tab to find out if the video is downloaded, can I start watching it?

So I always wished someone had written an extension which will do something about this problem. After going through 3-4 pages of search results on chrome extension website with the query 'Youtube', I figured no such extension exists. This weekend, the itch became unbearable. So I peeked into the Stop Autoplay's short code and with some searching found out there exists a Javascript API to control the youtube player's behavior. It provided the API calls that were sufficient for me to calculate the speed (in bytes-per-sec) at which youtube video is downloading. Combine that with total size and total duration of the video and I had the solution I was looking for.

So I decided to write an extension out of it. You can get it from here

It does following things:
  1. Pauses the video at the start, i.e. disables the autoplay
  2. It calculates an estimated time it would take to download the video completely. Shows it in a red box in the top left corner.
  3. It also prepends a short version of this estimated time to the title of page. So even if you are browsing in other tabs or windows, you can tell how much longer it is going to take, without visiting the youtube page.
  4. There is an instant of time, when the video is not yet downloaded completely, but if you start watching the video after that point, you can be assured that the entire video will be downloaded by the time you reach the end. That way it is guaranteed that you won't have any interruption while watching the video. The extension smartly calculates that instant and informs you by turning the red box into orange. It also adds '*' to the timestamp in title after this point.
Give it a shot. The extension won't yet work with HTML5 player, I will fix that soon though.

6 comments:

(``-_-´´) -- BUGabundo said...

nice work.
nothing like scratching your own itches, right?
installing

tania said...

thats good but I am already wasting lot of time on youtube, now it waste time in effective way.

- Tanya
Web Design Firm

Jhon said...

@ Tania, you may be wasting but I think youtube is best learning resource on the Internet ever.

- John Devis
Magento Themes

Magento Templates said...

Surely would be a great extension of Youtube to go for and install with on the browser of Google Chrome... Well done a great post...

Magento Themes

--> Licanueto <-- said...

hey, what happened with one of my favourites extensions? is there any other source to download the app?

Jayesh said...

I had remove the extension after Google took it down because of violations of their branding policies ("Youtube" in the name). I was planning to rebrand it, but didn't get time. The source is available here:

https://github.com/jyro2080/youtube-eta

I have added support for HTML5 versions of TED and Vimeo too. Also there is support for desktop notifications.