Skip to content

The Tyranny of In‑App Browsers

24 Jan 20264 min read

A lot of things grind my gears, and usually I can keep them in the background as part of the general noise of working with technology. But recently, one particular annoyance has muscled its way to the front, waving its arms and demanding attention. And of course, it had to be the perennial troublemaker… in‑app browsers.


I recently launched faidslounge, a clean, modern site with a smooth booking flow. It works perfectly everywhere… until you open it inside Instagram’s in‑app “browser.” Suddenly the booking API refuses to fire, calls fail, and the whole experience collapses. Not because the site is broken. Not because the code is wrong. But because Instagram insists on forcing users into a crippled WebView masquerading as a browser.


Here’s the kicker: Users don’t know the issue is Instagram. They think it’s me.


So now I’m stuck explaining a problem I didn’t create, caused by a “browser” I didn’t choose, inside an app that refuses to let people simply open links in the browser they actually use.
The Real Cost

If you think my faidslounge problem was an edge case, consider this: my personal website also breaks inside Instagram's WebView. The exact same Next.js app that renders perfectly in every real browser — Chrome, Firefox, Safari, Edge — shows nothing but 404 errors when opened from an Instagram link. Same URL. Same code. Different result.

Testing confirmed it's not caching, not CDN routing, not server misconfiguration. It's Instagram's WebView quietly failing to handle what the rest of the web handles without thinking. Users click a link from my bio, get a 404, and think my site is broken. Meanwhile, if they manually paste the exact same URL into Chrome, it works flawlessly.


That's the real game here. Instagram breaks the link, I take the reputation hit, and they keep the user trapped. Everyone loses except them. To make it worse Instagram had the audacity to push you to its app when using the browser on mobile to "get the full experience", like it doesn't understand the concept of irony.


Sweet, Sweet, Data

Why does every app need its own browser? Why does every platform hijack links like they’re doing us a favour? Are companies like Instagram and LinkedIn so terrified of users leaving their app for five seconds that they have to trap them inside a half‑functional sandbox? They’ll tell you it’s for “security reasons.” Who really believes that?

Let’s call it what it is:

  • Control
  • Retention
  • Tracking
  • Data extraction

And honestly, I’d almost respect it if they just admitted that — _while also building something that isn’t inferior in every possible way to a real browser._


Because in‑app browsers are not browsers. They’re imposters. They break APIs, break payments, break authentication, break user expectations, and break the open web. They strip away extensions, privacy controls, and the basic reliability we take for granted. And then they leave developers doing unpaid tech support for problems we didn’t cause.
The Worst Erosion of User Choice You Haven't Heard Of

This isn’t a niche developer complaint. This is an erosion of user choice.

The Open Web Advocacy group has been sounding the alarm for years, and they’re absolutely right. External links should open in the browser the user chose, not whatever Frankenstein WebView the app forces on them. Regulators should mandate it. Platforms should be banned from intercepting links entirely. If that sounds “too extreme,” maybe the behaviour we’re trying to regulate is the real problem.


Because right now, this practice is nothing short of digital tyranny. And it needs to stop.


If you want to understand just how deep this problem goes and why it’s not just developers shouting into the void, the Open Web Advocacy group has an excellent breakdown of how in‑app browsers erode user choice, distort the web, and quietly trap users inside walled gardens: https://open-web-advocacy.org/blog/in-app-browsers-the-worst-erosion-of-user-choice-you-havent-heard-of


...
Share

Related Mo'ments