Alex joined Branch as a Developer Advocate in 2016, and helped build the company's early developer relations and long-tail adoption strategies. He works closely with teams across the organization to help shape Branch's place in the mobile ecosystem, writes the Mobile Growth Newsletter, and tweets regularly about mobile-related topics at @alexdbauer.
Jun 15, 2017
Twitter has just released their largest app update in years. Aside from the redesigned UI and live activity update functionality, the iOS version of Twitter’s new app includes some under-the-hood changes to how links are handled. Anyone familiar with the mobile landscape knows about the long-standing difficulties with deep linking out of the Twitter app. Since we live for links here at Branch, of course we wanted to know if this update has changed anything.
In the official release announcement, Twitter touts the move away from their own browser as one of the main benefits of this update. Most press coverage is reporting this as “links now open in Safari instead of Twitter’s own browser.” However, this isn’t quite true.
Twitter is actually using SFSafariViewController, which is a pre-packaged version of Safari that Apple designed with exactly this situation in mind. Twitter is promoting this change as an easy way to “access accounts on websites you’re already signed into,” which is an improvement (though not as positive as true app-to-app deep linking would be). However, it relies on a technique of passing web cookies between the main Safari app and the SFSafariViewController inside Twitter. Unfortunately, this technique is already scheduled for deprecation in iOS 11, so Twitter will need to start actually using the main Safari app if they want to preserve their new functionality.
Universal Links have never worked from the main feed in Twitter. This is partly due to limitations in the Universal Links standard: link wrapping doesn’t work with Universal Links, and Twitter wraps all external links in their custom t.co link shortener.
When we first learned about the new update, we had high hopes that Twitter had found a solution for the link wrapping issue, meaning Universal Links might finally be available from the main Twitter feed. This is not the case. As before, to deep link out of Twitter into your own app, you need to continue linking to a web content preview with a secondary call-to-action button (the Branch Journeys and Deepviews features are both great ways to accomplish this).
There is one final new feature worth mentioning: Twitter has introduced an option to always open “supported links” in Safari’s “Reader view.”
While this may be welcome for users, Reader view is a quiet death for marketing campaigns. It completely eliminates all possibility of managing the user experience, or converting Twitter users into app users via a smart banner or other call-to-action (notice how the app smart banner has been eliminated in the screenshots above).
Fortunately, the criteria for what makes a page “supported” for Reader view are fairly straightforward. Savvy brands will need to carefully design landing pages to NOT qualify, if they want to convert Twitter users into their app.
For app developers interested in deep linking from Twitter, this update has changed very little. Here are two examples of a Branch link being clicked, first in the old and then in the new Twitter app:
The flow in the old version of the Twitter app has a few extra alert messages, but even the new version is far less seamless than true Universal Links.
The reality is even in the new version of the Twitter app, you still need a web content preview with a call-to-action button if you want functional deep linking. A hosted deep link provider like Branch is the best way to ensure you are always current on all the latest edge cases.