Falcon Pro - Authentication Error

It’s no secret that most of the Ausdroid team don’t use the official Twitter client for Android. The reasons for doing so change from person to person – lack of Holo UI compliance, slow workflow, the difficulty with which you switch accounts, or the lack of feature parity with the official client as it exists on other platforms.

We’ve seen a number of new Twitter clients emerge on Android in the past year, including Tweet Lanes, Boid, Slices, an Android port of Echofon and even the much-delayed and recently-released Carbon. While we’re relatively spoiled for choice, it seems most of the clients lack some features, are missing that final coat of polish or have trouble getting some functions to work properly, and they never break through into the mainstream as we’ve seen happen with third-party clients on other platforms.

In November, beta versions of Falcon Pro began to circulate on XDA-Developers. Falcon Pro was written by Joaquim Vergès, evolving his popular Falcon Widget app – a homescreen widget with basic functions into a full Twitter client. The speed at which Joaquim has refined Falcon Pro and his responsive attitude to user requests (including my own) has impressed us all. Falcon Pro has been my Twitter client of choice since December, and many of the Ausdroid team have also invested our $0.99 in the app.

Rules of the Road

In August 2012, Twitter delivered what amounted to a death blow to the blossoming Android Twitter client market: third-party applications would have to conform to a set of “Display Requirements”, and all requests to use the Twitter API would be authenticated against known Application Keys. Twitter’s goal here is understandable – it wants users to have a consistent experience with a baseline set of features and iconography always present across any client. It’s as simple as saying they didn’t want clients going out on their own to design new retweet icons. The requirements carried another sting, though: third-party clients would be limited to 100,000 user tokens, and applications that hit that limit would have to discuss their future with Twitter.

User tokens are issued by Twitter when a user of an application connects it to their Twitter account. It’s essentially the linking of an Application ID and a Twitter User ID. Some Twitter clients allow you to use multiple Twitter accounts, and each instance of this will generate a new user token, deducting it from the 100,000 tokens available to the application. When this pool of tokens runs dry, new users will be unable to authenticate although current users will be unaffected.

Developers were granted a 6-month grace period (which expires this month) to update their clients to conform with Twitter’s requirements, and warned that developers “should not build client apps that mimic or reproduce the mainstream Twitter consumer client experience.”

The new rules – especially the user token limits – had a noticeable effect on the application landscape. Faced with a finite ceiling on the number of units they could sell, application developers released apps with significantly higher price tags than users were used to seeing. Tweetro, a Windows 8 app that hit its user token limit soon after Windows 8 was released, was “completely crippled”, and had to relaunch with a new $9.99 price tag. Tweetbot, a wildly popular iOS client first released in 2011, launched a Mac desktop version priced at $19.99. Developers of Android clients such as Boid and Tweet Lanes have ceased active development and open-sourced their applications. Still others, such as the browser-based Twimbo decided to shut down development entirely.

It also came out that third-party applications that had already exceeded their 100,000 user token limit would have a far more forgiving limit placed on their token count – double that of their current count. This gives a massive advantage to iOS clients – like Tweetbot – which have existed longer than their relatively new Android peers. Tapbots, the makers of Tweetbot, stated on their blog that their limit is “pretty huge” and that they don’t expect to run into that limit for “for a few years”. Given Tweetbot’s profile, popularity and potential market, it seems that their user token limit is orders of magnitude higher than any limit a younger Android app can hope for.

0 to 100 (thousand) in under three months

On Saturday night, Falcon Pro seemingly hit its 100,000 user token limit. New users are unable to use Falcon Pro to connect to their Twitter account, and existing users now have to jump through some extra hoops to authenticate the application. This means that a popular Android Twitter client has only taken 2.5 months to reach the limit.

FalconProInstalls

Interestingly, the Play Store page for Falcon Pro says that the application has between 10,000 and 50,000 installs, which puts it quite short of the 100,000 user limit, if we’re to assume that one install = one user (Falcon Pro is yet to gain features to deal with multiple accounts). In actual fact, users can purchase Falcon Pro once and install it on any device registered to their Google account, and could be using it for different accounts on different devices, causing one purchase to use multiple user tokens.

Even so, this doesn’t seem to account for the rather large gulf between 50,000 and 100,000. While it’s likely that a portion of those tokens went to multi-device users, it seems likely that the rest fell to piracy. Joaquim is skeptical of Google’s LVL anti-piracy library, and points to the existence of the “AntiLVL” tool which thwarts official efforts to curtail piracy on the platform. He says Falcon Pro’s $0.99 price point was “an attempt to fight piracy, and at the same time slow down the token limit”. When asked if he’d charge a higher price as developers have done on other platforms, he says no – “A higher price would have just ended up in much more piracy”.

As Falcon Pro crossed the 100,000 token line, Joaquim received no indication from Twitter that his app was near or over the limit – he simply woke up this morning to find that users were unable to authenticate their Twitter accounts with his app. He’s not alone.

It seems Twitter doesn’t readily let developers know what their current user token count is, nor are developers receiving warnings when their clients get near the limit. M.Saleh Esmaelli, producer of Carbon, told me that he has “no idea” how many user tokens are currently assigned to Carbon.

CarbonInstalls

Given that Carbon recently passed the 100,000 download milestone in the Play Store, it seems this problem will likely to rear its head there soon, too – and Carbon hasn’t even been available for a month. Tweet Lanes is already over the 100,000 install mark, although its decline in popularity likely accounts for the fact that it hasn’t hit the limit yet.

Certification?

Once an app becomes a member of the now-infamous “100,000 Club”, its future lies in Twitter’s hands.

In order to raise the user token limit, a developer needs to speak with Twitter’s API Platform Team. The answer seems to be the same in each case — they need to apply to become a “Twitter Certified Product”, a certification that Twitter alone can decide to bestow. In August, Twitter advised developers that they’re not looking for apps that replicate the main Twitter client experience – they’re really looking for innovation in apps that provide value-added services like Analytics, increasing User Engagement and Data Resellers. Third-party clients are unlikely to ever become certified.

Chris Lacy proactively approached Twitter last year to ask what would happen when Tweet Lanes reached its 100,000 token limit. Twitter’s response – that his app would not be granted more tokens – caused Chris to cease active development of the app, which he recently open-sourced. Without some kind of change on Twitter’s part, it seems unlikely that Falcon Pro will be able to continue in its current form.

Joaquim has updated Falcon Pro’s description in the Play store to reflect this problem, although he can’t unpublish the app because paid users might need to reinstall it. He’s also started a petition to extend Falcon Pro’s user token limit. It’s unclear whether this will have any bearing on Twitter’s decision, though.

For what it’s worth, this is the comment I added along with my signature:

Twitter’s 100,00 user token limit is hostile to developers, and hinders uptake of Twitter on younger platforms such as Android.
I’d like Twitter to reconsider this limit and embrace developers who are looking to enhance users’ Twitter experience, instead of turning them away.

I’d strongly encourage everyone to sign – even if you don’t use Falcon Pro, you might at some point be impacted by this problem.
» Sign the petition

This Problem Will Get Worse

With Google activating over 1 million Android devices each day, what hope does a third-party Twitter client actually have?

While writing this article, it’s been suggested to me that I should just use the official Twitter app and be done with it. This is an unacceptable outcome for me – the official app has enough quirks, bugs and lacks features found in other clients like username/hashtag completion and “muting” (which hides tweets from your timeline based on the user or a hashtag criteria).

Some have questioned the ethics of selling Falcon Pro in the Play store while knowing full well that some day the 100,000 user token limit would be reached. It seems that Joaquim was preparing for this eventuality (he opened his dialogue with Twitter’s API Platform Team in January) and this has taken him by surprise.

There is obviously a large market for third-party Twitter clients on Android. Twitter would do well to take a step back, assess their own app and try to work out why this is.

Thanks: Joaquim Vergès.
  • Nick Bryant

    Twitter doesn’t care. It wants to kill off the third party app market, it just wants to do it with a minimum of bad press so it is using the “boil the frog” change method. As Aryan pointed out, their only focus is to monetize the platform to justify their insane $9B market valuation. Don’t like it? I think app.net is looking for users.

  • Chris

    Twitting is for twits

  • http://profiles.google.com/aryonoco Aryan Ameri

    Can’t believe so much ink is wasted over such a trivial issue.

    It’s twitter’s platform, and they have realised that third party “clone” apps jeopardize their monetization drive; or let me put it simply: they need to make money and making money is easiest if everyone just uses their apps to interact with the system.

    It’s their playground and they can do as they please. Twitter is not a public service, nor is it a non-for-profit. It’s there to make money for its shareholders, that’s it.

    If you don’t like their rules, you’re welcome to leave their playground. If you want to stay in, then stop whinging.

  • http://ausdroid.net/ Daniel Tyson

    Brilliant, thanks for this great write up so late on a Saturday night.

  • Daniel Carr

    You could uh, just stop using twitter. You’d come to see that it’s not actually a great loss.

    • http://www.pixelcustard.com/ cjschris

      It is a great loss for me. But maybe Google+ will replace it for me. At least their apps are good.

    • http://ausdroid.net/ Chris (Deputy Editor)

      I think the problem with that Daniel is that there’s not a social networking platform that works as well.. yet. Facebook sucks, and Google+, while cool, just isn’t there yet. It has lots of bells and whistles but it has developed into quite a niche product, and the first-party mobile apps for Google+ are pretty ordinary. Unless you’re using the web interface, Google+ is a bit too complex.

      Twitter, unfortunately or not, is here to stay for now.

    • http://twitter.com/bedrnk benjamin

      Twitter can be a pretty useful tool. I don’t even ‘tweet’ and I can see that. As said, for better or worse, it doesn’t appear to be going away any time soon. Twitter, whether or not within their right, is stifling growth in a related field. It’s unfortunate and people shouldn’t be expected to just “stop using Twitter.”