Here’s how the HTML5 horror story began. Facebook was looking for a way to reduce strain on its mobile teams. So it changed its native iOS and Android apps to partly become webviews wrapped around its HTML5 mobile site. This let it push code once to update m.facebook.com, and both apps simultaneously. It also let Facebook rapidly deploy small tests to segments of its mobile users without forcing them to download new versions.
That wasn’t a bad idea when the company was a bit smaller and mobile wasn’t as popular. But as smartphone penetration and Facebook’s user count increased, being nimble didn’t matter as much. It needed stability and a top-notch user experience. What it had was devastatingly slow apps with long load times between screens and unresponsive controls. CEO Mark Zuckerberg would later call relying on HTML5 was one of Facebook’s biggest mistakes to date.