The Nuclear Squid Musings on stuff and other things.

Going Flash Free

Flash has been a constant in the web for quite some time. It allowed people to do things in a cross-platform manner that would not have been easy or even possible otherwise, like playing videos.

But ever since the iPhone was released and HTML 5 got wider support in the browsers I use, I started to slowly realize that Flash was no longer really necessary. At least in theory, most of the stuff done in Flash could now be done in native HTML and JavaScript, utilizing the new APIs browsers like Safari or Chrome offered.

The problem: Without support by the the web sites themselves it was hard to make that happen. You can hack some stuff using extensions, but that is always a crutch at best.

Enter the iPad

Then Apple released the iPad. It was big enough that you could conveniently browse the web without relying on mobile-optimized web pages.

But like the iPhone, it did not have Flash. Then something interesting happened: Content providers started to deliver HTML5 to iPad users, so they could watch their videos and listen to their audio.

Unfortunately, this (usually) is done by sniffing the browser’s User Agent string, not by detecting wether the browser has Flash installed. So while iPad users got all the nifty HTML5 content, desktop users would still get Flash content, even if they didn’t really need it any more.

No Flash

Inspired by Episode 14 of The Talk Show, as well as Going Flash Free on Mac OS X, and How to Cheat When You Need It by John Gruber of Daring Fireball, I decided to take the plunge and remove flash from my system.

First, I downloaded the Flash Player Uninstaller for my system. On a side note: Is it just me, or is Adobe simply incapable of creating usable (un)installers?

Second, I installed two Safari Extensions: HTML5 Audio by Shaun Inman and YouTube5. These two would seamlessly replace certain video and audio players with their HTML5 counterparts, even when embedded in other sites.

Third, I added a shortcut to change my browsers User Agent to the iPads as detailed in John Gruber’s Masquerading as Mobile Safari to Get Websites to Serve HTML5 Video to Safari on Mac OS X. This way, whenever I hit a site that would require Flash to play a video or some piece of audio, I could just pretend that I was surfing using the iPad, and get HTML5 content instead for most of the pages I visit.

And if there is a site that simply requires Flash, I can always switch to Google Chrome. Chrome doesn’t rely on the system flash plugin, but instead uses its own built-in one.

Update: As @globalo points out, you can do the same with Chrome’s Flash plugin by going to chrome://plugins/ and disabling it there.

Result

My browsing experience is noticably faster now, and my laptop’s fans kick in much less frequently. I’m also experiencing fewer browser crashes. Before, the Flash plugin would crash every once in a while, sometimes even dragging Safari with it. Without it, Safari seems much more stable.

I’m still surprised by how much impact this has had on page loading times. Apparently Flash ads where much more prevalent than I had previously thought.

Another hidden benefit is that web sites can no longer use Flash cookies to track me. You’re probably familiar with browser cookies. Flash cookies are basically the same thing, but can be shared across domains. For example, if Amazon sets a Flash cookie on your computer, any other web site can read this cookie, independent of their domain or browser you’re using. But no Flash means that this is no longer possible.

My friend Hannes Brandstätter also reported that going Flash-free from using a beta Flash version no longer makes his MacBook Pro use the power-hungry Nvidia graphics chip while running Mailplane.

There is one downside though: YouTube keeps telling me to upgrade my Flash player. But that’s only a minor nuisance so far, and could probably easily be solved using a small CSS fix through an extension.

So if you’re already using an HTML5-capable browser (that is not Google Chrome See above), I can only recommend you try going flash-free. If it doesn’t work out, you can still re-install the Flash plugin.