Last week Instagram stopped posting direct image information to Twitter when you shared an image. It means that instead of seeing a picture inline with your tweets you need to click the Instagram link to load the image in a browser window. Most other image services use Twitter’s “media” tag to allow the image to be shown inline.
Instagram, now owned by Facebook, have clearly got a reason for doing this: whether it’s to do with tracking user activity more closely, a future addition of advertising on the Instagram pages, or to more closely integrate the Instagram web pages with Facebook.
Using Facebook’s own preferred technologies however, Twitter could easily circumvent this, improving their own user’s experience. The OpenGraph protocol is what makes sharing pages on Facebook tick. Instagram has implemented OpenGraph, and so all Instagram pages contain this “graph” data in their (surprisingly untidy) source code:
<meta property="og:site_name" content="Instagram" /> <meta property="og:title" content="" /> <meta property="og:image" content="http://distilleryimage6.s3.amazonaws.com/865c70c4b09a11e180d51231380fcd7e_7.jpg" /> <meta property="og:description" content="djlowry's photo on Instagram"> <meta property="og:determiner" content="a" /> <meta property="fb:app_id" content="124024574287414" /> <meta property="og:url" content="http://instagram.com/p/LkoJrdFF-e/" /> <meta property="og:type" content="instapp:photo" />
Twitter could, if they wanted to, scrape that page and permanently insert the og:image values back into the tweet database. That way, the now missing “media” section of the data packet would be repopulated.
That is, after all, what Facebook invented/popularised OpenGraph for.