Hacker News new | past | comments | ask | show | jobs | submit login

I can see how Twitters length-limit led to external link shorteners, but once they took it in-house, why expose it? Why not just say that a link (of any length) "costs" n characters, and handle the shortening/expansion on the backend? What is the benefit of exposing the mechanism?



Twitter wants to route links through their servers for at least two reasons:

  1. Analytics and monitoring. (Google's results page uses the same technique.)
  2. Disabling malicious and unwanted links.


On the google note, their URL redirects have dramatically slowed down my experience. They seems to have a very slow redirect.


Redirects of all types are especially bad on mobile devices since they require a pointless new round trip, which anecdotally seems to double the amount of time it takes for a webpage to start loading.

Since Facebook and many other services do this on their mobile apps by default, I am surprised I don't hear more complaints about it. Twice through the cell tower is too long.


I couldn't agree more. I looked a short while ago for a firefox extension which just looks for a url in the body of an anchor link, then alerts you if the htef attribute is different. Couldn't find one or be stuffed writting one, but was bemused about the relative lack of info on the topic.

My last straw using Google Chrome, was when I noticed that the browsers "could not load webpage" (e.g. When you don't have an Internet connection) redirects through Google when I click the "try reloading the page". I dunno if they still do it, but that was crossing the line for me.


Thanks to google's recent shenenigan's, I've switched to using StartPage. Which, at least for now, is google without big brother tracking. Although I'm sure if it gets popular, google will stop them.


Google search does not use the same technique.


What's the difference?

* User browses on Twitter, clicks link in tweet pointing to t.co, is redirected off to the page where they wanted to go.

* User searches on Google, clicks link in search result pointing to google.com, is redirected off to the page where they wanted to go.

Admittedly it only happens with half of the search results of the first page (I think; it seems to vary), but it's very much the same technique.


If he was not misled by the false "on hover" representation of the link in his address bar, then its possible he means:

1. That Twitter uses a "short link" where Google uses some kind of (I trust) token-secured "open redirect"

or

2. That Google uses a {Javascript, 301, ...} redirect where Twitter uses a {Javascript, 301, ...} redirect.

Depending on what User-agent I sent, I got Twitter to variously return a Javascript or 301 Moved Permanently response. I could only get Google to return a Javascript response to cURL, but I did not try hard, and I would not rule out Google employing different redirect methods, particularly on their search results page. Google is notorious for falling back to different methods depending on the particulars of the client. See:

http://www.stevesouders.com/blog/2010/07/12/velocity-forcing...

So they at least both use the Javascript method. In any event, if you mod out the content of the hyperlink after the domain, and mod out the content of the text based HTTP response (!), which is fair here, then the methods are all equivalent, and all generate the same server diagrams.

In this case, there is not much difference between the browser parsing plaintext in HTTP headers that tells it to go to a different site and the browser parsing plaintext in an HTTP body that tells it to go to a different site once executed in a Javascript engine.


How does the fake link hover work? With Javascript turned off the first time I hover over a link I see the google redirect url but the second time I hover I see the fake url.


<a href="http://www.fakehover.com onclick="window.location='http://www.goto.com/>; I presume.



Well that sucks, I stand corrected. I was looking at browser's link hover and hadn't noticed the redirect. I still don't understand why the browser isn't telling me what I'm clicking on, that's bothering me.


It's because Javascript is allowed to override what's in the status bar.


More precisely in this case, it's because Javascript is allowed to override where clicking on a link actually takes.


It does these days actually, but the urls are re-written by javascript only after you click on them. Try a right click.


"Right click - copy link" is what's most annoying about this URL redirection. You don't want to send an URL of 4 lines in an email or IM, so then you have to go visit the link and get the real address from there.

Can't they do something where the HREF is left intact, but an additional onClick is added to track clicks?


If you're a regular user it's not exposed. Links are shown with their full url on the site and the user is usually redirected before tthey have a chance to notice they're being sent through t.co


It is very much exposed: The regular user can't click on links on Twitter because it's down.


I am a regular user but mostly on mobile. Often I give up on links as it gets stuck loading t.co and I notice constantly.


Backwards compatibility.


It could be as simple as a flag on the API: Do you want shortened links and a guarantee that the message is less than 140 characters, or full link, with a risk that it will "spill over". As most (all?) clients expand links anyway, they'd be choosing the latter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: