Something's amiss about Twitter...

Consider this a public announcement fellow Windows Phone users, you might notice some strange behaviour in several of your favourite Twitter-enabled apps, ours included.

We kept an eye on this story yesterday when we were alerted by Chris Field (the mind behind MehDoh) that he was spotting errors being returned by the Hammock library (a popular .NET library used for accessing RESTful web services). Specifically, it appears that Twitter have changed their API slightly, or introduced a small bug, which is causing errors when users try and log in to Twitter within third party apps.

The issue is not affecting everyone. In fact I can authorise all my Twitter apps and use all tweeting, replying and retweeting functionality, however I've also seen users of our v2.0 app beta sending me bug reports that are caused by this issue. If it happens to you, try again, it might authorise second time around.

Jump past the break if you want to know more...

If you hit the source link you'll see there is an ongoing discussion with the Twitter API staff regarding this issue, and a couple of the developers out there seem to have figured out a workaround to fix whatever broke in the Twitter API. I'll try to keep the technical details light but the issue seems to be that Twitter is sporadically encoding their API responses with GZIP compression, apparently almost at random.

This is a serious issue that appears to be getting worse (we're seeing more and more bug reports relating to it), Chris has even gone so far as to ask Brandon Watson to speak to the powers that be within Twitter.

So why will this problem be so widespread within the Windows Phone community? Simple, Hammock is a big library, and it's used by probably the most popular Twitter integration library for Windows Phone: Tweetsharp. I am a huge fan of Tweetsharp, it's one of the easiest libraries I've ever had the pleasure of utilising in any software I've written, in fact I put out a blog post expressing how easy it had been to use in the WPCentral app. In fact, the official Twitter app for Windows Phone uses the Tweetsharp Library, it's that highly rated - by extension, the official Twitter app may well be affected by this issue.

Our advice? Most of the problems seem to relate to the initial authorisation/log in process, so if you're logged into your favourite Twitter app, think twice before signing out and in again for whatever reason. You will still be able to tweet from the 'Me' tile so you can get your fix one way or the other. Lastly, bear with your favourite developers as we work out a way to fix this issue ourselves, unless Twitter (or the guys behind Hammock) decide to solve the problem on their end.

Source: @mrcfield,

Jay Bennett
  • I almost never use a twitter app since mango so I'm good :)
  • Maybe I've been lucky. I am using 3 different Twitter apps & haven't had a problem signing in so far. But will keep an eye out for this.
  • My app, #Hashtastic, is one of those affected. For some unknown and unannounced reason, Twitter started sending responses for auth tokens gzipped. If the app receiving the response was not coded to automatically unzip the response when it attempted to read it, they were unable to get the auth token from the content, thus the failure.
    Thanks to several devs, Chris included, a workaround can be implemented to address the issue. But, of course, that requires an app modification and a submission to the marketplace. If you are a dev that, like me had JUST submitted an app update before this issue cropped up, you have to wait for not one, but TWO app update subsmissions to make it through the app hub before the fix is available to users.
    This is VERY bad and aside from a single "We're looking into this" by Twitter around this time yesterday morning, SILENCE from them.
    Hopefully Brandon Watson can nudge them along to undoing the change Twitter made to give devs time to update their apps to handle it before reimplementing it.
  • Sounds more like a mis-configured router or load balancer than an API problem.
  • I doubt this could be caused by a hardware problem.
  • how would router/load balancer gzip a token...?
  • Maybe not a load balancer, but a misconfigured web server (I.e. Apache) could very easily cause this problem by gzipping up a response it's not supposed to
  • Before mango I used the browser. Now I just use the me tile. No issue for me!
  • I downloaded a trial of Mehdoh a few days ago on my dell venue pro and have not yet been able to link to Twitter. I wondered what was wrong so this is helpful. thanks.
  • Hey. If you get it to the Authorising page, then hit the back button, and try again. A lot of users have reported that seems to fix it. 
  • Tried doing with three different apps.....still :-(!!
  • Our load balancers gzip the response, removing the burden from the web server. But I agree, a rogue web server might also be the cause. I still doubt an API change as then the issue would be more pervasive.
  • Anybody seeing the issue in Rowi? We haven't seen any verified problems with it yet. Please let @rowiapp know if you're having issues.
  • I had Birdsong restart my phone this morning once out of four launches.  Wonder if it is the same issue.