Want a new VS Code theme?

Problems developing for Instagram's in-app browser

February 27, 2019

When developing an application that primarily runs in Instagram’s in-app browser, I ran into a few problems. I’m not sure if these are intentional or just bugs, but I wanted to share them here.

Here’s my use case: my webapp Profilee lets you add multiple links to your Instagram bio – for your blog posts, videos, company, etc. We give you a link, profilee.co/you, to add to your bio. When people view your Instagram, they can click your bio link, and it opens the Instagram in-app browser and lets you choose the item you want. However, I learned that:

  1. Instagram’s in-app browser does not let you open items in new tabs. If your link uses target="_blank", your user can click it, but nothing will happen.
  2. Instagram’s in-app browser does not let you run certain JavaScript. For instance, making a PUT request with axios didn’t work in the Instagram browser, while making a GET request does. (I fixed the PUT issue by handling tracking on the server instead of the client.)

These might just be a problem of prioritization. Instagram isn’t in the business of making a web browser, so they’re not going to prioritize certain features over ones that directly influence their app. In addition, disabling certain JavaScript might create a faster and better experience for the user.

However, I’m guessing that they’re also tying your in-app browser history with your Instagram profile. Visiting a bio link is a signal that you find certain websites/topics meaningful (moreso than a simple “like”). They can use this data to display more relevant ads.

Who knows? I wouldn’t be surprised if they came out with their own browser soon.

Open this link with Instabrowse.

Or maybe it should be Eyebrow-se? Because Face-book? Okay, bye.