HTML5 app on a floppy disk

Today I filed a bug report because the PollEv Mobile Presenter HTML5 mobile application isn’t working properly from a floppy disk.

Ok, so the whole thing is a joke. Kind of. We sent the bug video above to each dev on the team in sequence like, “Hey, nobody else can seem to fix this, can you help?” There’s actually some pretty cool stuff going on here. The app’s CSS, JavaScript, image, and HTML files are completely self-contained on the floppy disk. When I open index.html to execute the app the browser reads these files from the floppy, evaluates the JavaScript, and communicates with the Rails API server via AJAX CORS requests.

The network inspector in Chrome shows that it takes a little under 40 seconds to load the app from the disk.

Network inspector

During that 40 seconds you can hear the “tsk tsk tsk tsk” noise of the floppy drive reading and see the browser screen is white. Suddenly the page loads. Reloading the page is almost instant since the assets are pulled from the browser cache.

Why did I bother putting an HTML5 app on a floppy disk? Believe it or not, there are practical benefits to building web apps that can work from a 1.44MB plastic-covered magnet:

  1. Building apps this way makes them highly cachable. It’s trivial to deploy this app on a CDN.

  2. A mobile HTML5 app should probably never be over 1.44MB. If it doesn’t fit on a floppy its probably too big. Bonus for fitting on an 8".

  3. Packaging an app for distribution on any file system makes it easier to embed in a native app wrapper, like Trigger, for distribution in app stores.

  4. Impresses hipsters.