45 comments

[ 3.1 ms ] story [ 106 ms ] thread
What's the value of this?
t.co is incredibly annoying IMO.

It allows twitter to easily track which links you're clicking on, which some might consider to be a violation of privacy.

On mobile, t.co makes it so that you end up always launching a browser before launching the appropriate application (i.e. YouTube)

When you copy and paste and send a link to someone, they have no (easy) way of knowing what you're sending them without description or visiting, and it gives Twitter a mechanism for tracking who you send the link to. (One could posit a "malicious" tracking twitter where they serve up t.co links to people which are dependent on the logged in user to track that user's social network... fortunately I don't think this has happened yet.)

And as someone not in the U.S. with an unreliable ISP, t.co just flat-out times out half the time unless you modify your DNS settings to point to OpenDNS or Google or something.

I understand the value of being able to track click-throughs and quantify virality or whatever, but there really needs to be a better way to do this.

Why would your ability to resolve t.co be any different than your ability to resolve the actual host? If anything, it should be much easier to get a reliable DNS response for t.co.
No idea, but can confirm from New Zealand that the entire internet can be flying along and t.co can be completely unreachable. Happens all the time.
Even without those conditions, it's a problem. If I have too many tabs open in mobile Chrome, t.co will flat out not work. As soon as I "close all tabs", it starts working again. I have no explanation for this.
I've seen a similar thing with related services (mainly Google - although they appear to have removed it for a 'ping' now). I'm not exactly sure what causes it, but my browser gets stuck on "Waiting for t.co...". Refreshing the page just takes me back to the page I clicked the link on.

The fact that t.co don't have global servers probably doesn't help, in Asia and Australia ping times to t.co are 250ms+. Even in Europe it's over 100ms.

I can confirm this - I've stopped clicking links in the official Twitter client on Android when I'm outside in Australia, Australian mobile Internet is already slow, combined with t.co's huge latency all links just time out.
> On mobile, t.co makes it so that you end up always launching a browser before launching the appropriate application (i.e. YouTube)

That's what URL unshorteners and/or Link Bubble (which automatically redirects to apps for you) are for.

Some people have a problem with t.co but remember, Twitter builds 100% of their anti spam and virus protection into t.co, so bypassing it exposes you to security issues.
This is bullshit, If they wanted to actually do that they would just remove the links from the actual tweet.
Not entirely. They'd have to invalidate multiple levels of caching and then dynamically update all feeds that could have the link displayed.

Or, with t.co, they disable the link from a single source and the problem is solved.

Gosh, then it must be impossible to delete a tweet!
If it's for secruity concerns why can you not send a t.co link in DM?
And how hard would it be for an attacker to use this logic?

  if crawler == twitter
    normal website
  else
    insert virus/spam
  fi
I am strongly averse to redirector links because of the security risk. You can't trust the destination.
I don't think it is an automated process. Rather, when there's an outbreak, twitter uses their control over t.co to contain it.
One of the decisions we made very early on with reddit was to specifically not use a redirector. In exchange, we gave up a lot of potential revenue in the form of selling usage information to people.

I still think that was the right decision, but I can see why Twitter relies so heavily on t.co.

Of course you could just go the Facebook route and just listen to clicks. I used to just copy/paste urls on Facebook to get around the redirect but now they make it known they're listening on clicks by just showing a 'related' section even if I right click.
Twitter also had link shorteners to deal with, a quirk of their platform. Not only were they not collecting usage data, but they were giving a big chunk of it to bitly for nothing.
That's a fair assessment. We banned link shorteners from reddit pretty early on, so we didn't have to deal with that.
Were it the case in 2005 that the type of analytics bit.ly and t.co enable were nearly as big money as they are now do you think you would have implemented a redd.it or similar shortener of your own?
They actually had redirection in 2005. We turned it off sometime in 2007/8 when it started breaking, right when bit.ly and the other shorteners (and the business around them) were taking off.

And actually, there is a redd.it link shortener. Every link has a corresponding redd.it link. :)

I remember also reading that it was a sort of control mechanism to deal with spam. If certain links are being spammed around they can easily cut them off (since they control the t.co.)
They can also just remove the link from the system like reddit does. :) t.co makes it a little easier, but not much.
Well, I for one thank you for that. Personally, it inspires my trust in conversations there by virtue of knowing where I'm going WRT links. And perhaps plays a role in making the conversation... "feeL" a bit more open. Important things, for me.
It was a extremely positive choice they made in the world of social media. Thank you very much. Now if they could just stop requesting javascript from ajax.googleapis.com, that would be great! It's absolutely disgusting how google have infected nearly every single useful website with their "services".

THAT and running HTTPS by default would be awesome. Having to use https://pay.reddit.com for some encryption is completely unnecessary.

There is an option in your prefs to turn off the calls to google.

HTTPS is coming soon, there were some technical issues getting a complete HTTPS experience without a huge cost due to the way the CDN was set up.

Thanks for that reply. Reddit as a project really is quite incredible.
Would love to have this for GChat, which also intercepts your links and which drives me crazy since it seems their service is often slower.
Google does the same thing, which annoys me to no end. I'm not sure when they started, within the past few years. They don't even return a Location header, so the links don't work with things like wget or curl.

A link to google.com from the google seearch results is really:

hxxp://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAA&url=http%3A%2F%2Fwww.google.com%2F&ei=LPrOU6a6NYS2yASDzIGADw&usg=AFQjCNG5-9Jej-ukVeakTgwonqt2narbYg&bvm=bv.71667212,d.aWw

Google has been doing this for more then 5 years (probably closer to 10). The real search result link only gets revealed once you right click on the search result (the destination is changed using Javascript's on-click).
This is why I started using DuckDuckGo and only hit up google as a very last resort by adding !g to the search term.

I'm not usually this militant, but that Google link dark pattern truly pissed me off.

Unfortunately, DuckDuckGo follows the same tactic. You can see a (I think) r.duckduckgo.com URL before it loads the desired site
It's configurable (you can disable it in settings), and its intention is supposedly to block sending a referrer header.
I don't mind redirectors while in a browser as it's essentially invisible, but I don't understand why so many of these services use them in their own apps. The client can very easily report clicks without having to detract from the UX with a redirected link.

Not only is it slow, but it kills the back-button functionality in Android, where I now have to hit the back button twice to get back to the originating app. Not life-or-death, obviously, but if people had to tap the "buy" button twice in your app to buy something, it would be considered a bug and be fixed immediately. Redirected links are just as much of an annoyance.

I just submitted a pull request that significantly increases the speed and efficiency of the script: https://github.com/timdorr/t.co-bypass/commit/f086870555da1d...

I would normally use Google's awesome Mutation Summary library (https://code.google.com/p/mutation-summary/), but including a 50KB file into a greasemonkey user script seemed like overkill. Interestingly, their demo of what it can do also uses Twitter as an example: https://www.youtube.com/watch?v=eRZ4pO0gVWw

You might also be interested in a browser extension I made to try and make Twitter more readable.

It hides promoted tweets, 'trending, and 'who to follow' boxes, and adds a 'temporarily hide all retweets' button. It attempts to counteract the myspace-ification of Twitter by toning down colors and removing custom background images, and swaps the timeline and dashboard so you can shrink the window and still see content. It also hides the beginning hashmarks so sentences with hashtags are easier to parse.

For Chrome: https://chrome.google.com/webstore/detail/readable-twitter/l...

For Firefox: https://github.com/rajbot/readable_twitter

Working with tweetdeck now
I have created my own set of userscripts which do this and a couple of other things. They aren't of terribly great quality, but I've put them up on GitHub in case anyone else wants to mess with them: https://github.com/plorg/unescape

Fair warning, though: these have only really been tested on my personal usage patterns, and might break either some website or website functionality that I have never used.