Slide 1
A school group was told to install a hundred-and-twenty-four-megabyte app, just to read their trip itinerary. One developer found that odd, and checked what it was doing.
What the ‘app’ is: a trip itinerary you install.
What the ‘app’ is: a trip itinerary you install.
Here's the app: a travel itinerary. The ferry crossing, the hotel, the coach, the welcome gala. A list of where to be, and when. Once, this was a printed sheet.
He didn't argue. He watched what it downloads.
He didn't argue. He watched what the app downloaded, with a proxy that reads its network traffic. Within minutes it was clear: everything loads from one web address. And what came back gave the whole thing away.
The ‘app’ was already sending HTML.
The ‘app’ was already sending HTML.
The app fetches one block of JSON. Inside, the text already contains HTML: line breaks, bold tags, links, written out in full. The app wasn't building those pages. It was handed web content, over the web, and drawing it.
Slide 5
He wrote a small script: pull the same JSON, render it as a plain web page. The app installs at forty-three megabytes, and swells to a hundred and twenty-four. His page is fifty kilobytes. Same trip.
Slide 6
The app added just two things a page wouldn't: tracking tied to your Google account, and ads for the agency's other trips. Drop those, and you get back copy, paste, print, save, search, and it works on any device.
The web app that was meant to make this unnecessary.
There's a fair objection. We were meant to be in the age of web apps, pages that do all this with no install. But as one engineer put it, apps persist for push notifications, tracking, and billing, not for the content.
Slide 8
Not every app should be a web page. Some genuinely need to be native. But an app that only hands you a document was a web page all along, wearing an install.



















