Update, August 16, 2018 (03:39PM EST): As promised, today Twitter is removing access to several of its APIs which will prohibit third-party apps from having access to several features, specifically push notifications and an auto-refreshing timeline. Thankfully, most third party apps don’t use those things anyway so it shouldn’t affect most people.
On the official Twitter blog today, the senior director of data enterprise solutions — Rob Johnson — praised third-party app developers for inventing features that are now baked-in to the official Twitter apps. He also acknowledged that many third-party app users will be upset by the removal of API access that enabled certain features, but said that Twitter is “still strongly committed to ongoing investment in [its] developer ecosystem.”
You can read the full blog post here. Going forward, you will likely see some changes in third-party apps which you can read more about below.
Original Article, May 16, 2018 (11:19PM EST): Earlier this year, Twitter announced that it was shutting down its Streaming Services API. This caused quite a ruckus as many believed that it would be the end of third party Twitter apps. Even we thought so. However, it seems that this all may have been a bit of an overreaction. We reached out to Luke Klinker (developer of Talon for Twitter, Pulse SMS, etc), as per his request, to find out what’s really happening with Twitter’s API shut-down and how it will impact third party Twitter apps.
We won’t bury the lede here. Almost nothing is going to change in terms of third party Twitter apps on mobile. The keyword there is “almost”. The API controls an app’s ability to pull tweets from the site in real time. This sounds important, but it’s actually a niche feature. As Luke explains:
To start off, the changes will have little impact on Talon users (or other popular third party apps like Flamingo, even though it is unpublished, and Fenix). The only users that are affected are users that use Twitter’s streaming functionality. In Talon, this is called “Talon Pull” or “Live Streaming”. These basically just set up a connection to Twitter’s user stream API, through a persistent web socket, that is constantly listening for interactions and new tweets. This can be used to automatically load new tweets while the app is running, or provide real time notifications for mentions, likes, etc. This feature is turned off by default in most apps, and has not been widely used in Talon (only around 2-3% of users), since Lollipop, because it drains the battery much quicker.
The mobile apps that will be widely affected are ones that implemented push notifications, using Twitter’s site stream API. That API has been in beta and restricted for a very long time. Talon never got access to it. My app has never had true push notifications, which is very normal for any apps created after Twitter started to become more restrictive with their API usage. We simply were never able to get access to this site stream API. There are a few third party Android apps with push notifications, but very few. Many desktop apps also used the user streams in the same way that Talon did (real time updates). That will no longer be available either. Desktop apps were able to do this for many more users, since power consumption isn’t nearly as much of an issue on desktop as on mobile.
To summarize, this means that most third party Twitter apps won’t change much. Some may not change at all and the experience should be mostly the same. Those with live streaming features (like Talon’s Talon Pull feature) will obviously lose that functionality. Additionally, the few third party Twitter apps with true push notifications will lose those as well. However, considering that most third party apps never had true push notifications to begin with and, according to Luke, most people didn’t use the live streaming features on mobile anyway, it’s fair to say that it isn’t some great loss that will irreparably destroy the third party Twitter app market. Third party desktop apps, on the other hand, may actually suffer a little bit.
The other big announcement from Twitter was concerning their Account Activity APIs. In theory, these APIs allow developers to do what Streaming Services API used to do, but more effectively and efficiently. Luke can explain this one better:
I was actually very excited to see them coming out with their Account Activity APIs, when they were announced. This was going to be a shift from the persistent web socket, to a web hook. Basically, that means that Twitter would send a POST message to a backend that I, as the developer, would set up. This is much more efficient on my side, as well as Twitter’s. Whenever I received a message from Twitter that something happened to one of my users (like, mention, retweet, etc), I would be able to generate a push notification to send to their device.
Then they announced the pricing for this and I was much less excited. Clearly any third party Twitter app cannot pay $2,000+ for only 250 users of this account activity API. Twitter does have enterprise pricing as well, but they do not publish the prices. It is clear that the account activity API is not designed for push notifications in third party apps, and the pricing (as well as their documentation) is very actively discouraging that use-case.
To save you a click, the social network wants to charge up to $2899.99 per month for developers to use this new API on up to 250 users. Of course, that’s untenable. The developers don’t want to pay it and, frankly, neither do their users, us, you, or any other sane person. Additionally, a good third party Twitter app will clearly have more than 250 users. However, as Luke explains, this new API is never (and was never) for third party apps.
They are mostly for enterprise, customer service, chat bots, and other such things. Twitter has a list of preferred use cases for the new API here. Third party apps aren’t on that list. Thus, you’ll never see a Twitter app that charges you $10 or more per month to use it. The pricing on most of those apps should remain exactly the same as it is right now. We’ll source Luke one more time for his opinion on all of this:
The main concern – from my perspective – about this change, is the direction it is pointing and the shift in Twitter’s mindset about how third party clients are expected to use their APIs. I don’t foresee them cutting off access to what is currently available (the bulk of the platform) but it probably means that we won’t see any access to some future features, such as polls. Polls are a recent feature of Twitter that third party apps have never been able to access.
That shouldn’t surprise anybody as there are several features that the official app has that third party apps simply don’t. For instance, the Moments feature isn’t one that you see every day outside of the official app. There are plenty of other examples as well. Many newer features are only available in the official app.
Twitter’s move definitely isn’t a great one because limiting a platform never sounds like a good idea. However, we did want to set the record straight on what this meant for the third party apps, their developers, and their users. It’s not as bad as we might have thought, and for now, that’s a relief. We certainly hope that Twitter doesn’t limit the third party apps any further, but let’s face facts, they probably will eventually. Of course, we want to know what you think as well in the comments below! We also appreciate Luke Klinker for reaching out to help set the record straight!