Explode - 0.6

by
Extension meant for Developer Builds of Google Chrome 4.0+

Expand shortened URLs (e.g. TinyURL) with LongURL

  • 0.6
  • Decklin Foster
  • Developer Builds (Linux)
  • 1 Star2 Stars3 Stars4 Stars5 Stars (10 votes, average: 4.30 out of 5)

More about this extension

I am no longer maintaining this extension here. Please go to its official extension gallery page for further updates.

Expands links to shortened URLs, like TinyURL, bit.ly, etc. using the LongURL service (longurl.org). Operates in the background without altering the text or style of anchors — you won’t see it working, but it’s there! The cache of expanded URLs may be viewed or cleared in the options page.

License is ISC (simplified MIT-style).

Change Log:

- Display feedback (via title attribute) when loading a URL or on error

- Reduce memory usage (the message passing interface still leaks, but we avoid using it gratuitously)
- Remove hardcoded list of extra services and make it a setting on the options page
- Filter out non-shortened URLs more aggressively

Older Versions

  1. Version 0.1
    Compatible With
    Developer Builds (Linux)

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    None

  2. Version 0.2
    Compatible With

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    Replace "undefined" titles with filename and "null" regexes with blanks in the options page

  3. Version 0.2
    Compatible With
    Developer Builds (Linux)

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

  4. Version 0.3
    Compatible With

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    Now works correctly for unselected tabs. Checks for empty responses or titles.

  5. Version 0.3
    Compatible With

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    Now works correctly for unselected tabs. Checks for empty responses or titles.

  6. Version 0.3
    Compatible With
    Developer Builds
    Developer Builds (Linux)

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    Now works correctly for unselected tabs. Checks for empty responses or titles.

  7. Version 0.4
    Compatible With
    Developer Builds (Linux)
    Developer Builds

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    - Option to change link text if it was the short URL
    - Allow clearing of URL/service cache independently
    - Correctly update multiple links to the same URL

  8. Version 0.5
    Compatible With
    Developer Builds
    Developer Builds (Linux)

    Expand shortened URLs (e.g. TinyURL) with LongURL

    Change Log:

    - Expand links inserted after page load (e.g. Twitter AJAX updates)

    - Collapse whitespace in titles

Reviews

  1. Jonas says:

    Great extension!!

    Would be nice to get an indication that the extension is working on getting URL:s (instead of nothing as it is now)

    replace “null”-value in options-page.

  2. Decklin Foster says:

    Thanks for the feedback!

    I tried showing what was being loaded in the early revisions but I was very unhappy with it (distracting). If Chrome had a status bar…

  3. Decklin Foster says:

    The “nulls” are changed to blank table cells in 0.2.

  4. The Truth says:

    Finally… probably the most useful extension. TYVM

  5. Decklin Foster says:

    The extension file was missing for a few minutes… now re-uploaded.

    This screenshot is just what the options page looks like.

  6. Bruno Oz says:

    Can’t the floating status bar be used to show the expanded URL?
    Anyway, great extension.

  7. roy_hu says:

    How does it work? It caches the expanded URLs, but doesn’t replace them in place? I really like the shortened URLs on my twitter page to be replaced automatically. Is this technically impossible, or you just don’t like it? How is the extension useful if it doesn’t replace links? Thanks!

  8. Decklin Foster says:

    Roy: It updates the link’s href and adds a title (tooltip) if LongURL has one. The text inside the link (indeed, anything related to the page’s appearance) is not changed. This is intentional.

    I did write this mainly because of the prevalence of shortened URLs on Twitter (which I read via the web site). I didn’t want to alter anyone’s words, so to speak, especially if they’re carefully trying to fit things into 140 characters.

    This is to some degree a matter of taste, though, so I would certainly consider adding an option to alter the link text if it exactly matches the href. I think this is what you want, but I’m not sure. Best way to explain or suggest any other changes is my fork queue on Github 🙂

  9. roy_hu says:

    I’m sorry. I didn’t hover the mouse on the link to see that the href has indeed changed.

  10. roy_hu says:

    @Decklin,

    Thanks for your tips. I’ve made the changes I wanted. I also made some tiny bug fixes. My forked code is available at http://github.com/wh5a/explode

  11. Decklin Foster says:

    Roy: Thanks! Good catch on the identical URLs thing. If you’re wondering, in version 0.2 and earlier there was a somewhat more complicated design that sent just the URL info (not a ref to the anchor) back over a port, after which the content script would update every link on the page that matched.

  12. Neil Musgrove says:

    Hi Decklin, great extension but there seems to be a memory leak in it. When I open chrome with a few tabs the extension takes about 6 meg of memory which is on par with a lot of other extensions. I opened up lots of tabs (20?) and then noticed that the extension was taking over 30 meg of memory which seemed a lot. The key thing though is that when I closed most of the tabs down the extension was still using over 30 meg of memory. I have done a little more testing and the memory usage seems to keep going up and never go down.

    Cant fault it otherwise though it’s a very useful extension!

    Cheers

  13. roy_hu says:

    When a page is updated through AJAX, your script doesn’t work on updated contents. To test this issue, go to your twitter page, and click more so that the page expands to include older tweets. The older tweets don’t get expanded URLs. I’m not familiar enough with Javascript to handle this issue. It would be great if you could fix it!

  14. Decklin Foster says:

    (BTW, if anyone else has a technical bug report, that one’s been entered here: http://github.com/decklin/explode/issues Thanks!) (Also, it’s fixed in 0.5.)

  15. Decklin Foster says:

    Neil — Egads, you’re right. Looking into it. Any advice from experienced JS hackers would be appreciated!

    (Edit: preliminary testing indicates that the extension interface itself leaks memory. calling sendRequest without a closure or reference to the <a> element in the DOM (and returning immediately from the handler) causes the extension to bloat from ~8 to ~20mb after opening and closing a bunch of link-heavy tabs.)

  16. Decklin Foster says:

    I’ve reduced the memory usage in 0.6 by sending as little data as possible (and no closures) to the background page — this is where Chromium seems to have a leak. It’s still not as light as I’d like, but it is using less.

  17. Decklin Foster says:

    Bruno, the loading status is now shown in the title attribute (tooltip). Once it’s loaded the href is set to the long URL so you can see it like any other link.

  18. Decklin Foster says:

    I am no longer maintaining this extension here. Please go to its official extension gallery page for further updates.

Write a Review

*