Adam Green
Twitter API Consultant

But how do apps get into tweets?

by Adam Green on July 16, 2012

in Apps in Tweets

One thing that puzzles me about apps in tweets is figuring out how to get them there. I understand how Twitter apps in websites or on mobile work. A developer builds a website or mobile app, and adds code that interacts with the Twitter API and probably a database on their server as well. That app then can display tweets and perform actions on the user’s Twitter account. It’s a traditional client server model, with the Twitter API as the server.

The idea of putting apps into tweets twists the topology around in such an odd, chicken and egg way. How do you get an external app from the developer (client) into a tweet running on Twitter (server)? I know this won’t happen with making 3rd party apps available somehow on their pages. There was a brief time when Twitter pretended to promote 3rd party apps on their sidebar, but even then they were hand-picked from fellow Valley VC funded companies. A toolbar of external apps on would be very sweet, but that will never happen.

The most logical scenario I can see for getting apps into tweets is for websites and mobile tools to send out tweets with their own apps embedded. Here’s an example. can put a button next to each book that says “Tweet this book”. When the user clicks this, Amazon would use the Twitter API to send a tweet to the user’s Twitter account with an Amazon order form app embedded. Other users on would see this tweet and be able to interact with the Amazon app inside. Just about every ecommerce site could adopt this model. Instead of tweets having links that send you to an external website, sites can have links that inject themselves into Twitter.

So we end up with an inverted model where the external site is the server, and it delivers content to be displayed on acting as the client. Of course, the Twitter API mediates the entire operation, so it is sort of the server for its own client.

OMG, it’s a perpetual motion machine!

Previous post:

Next post: