In September last year, the Chromium project announced that it was to drop support for NPAPI plugins from their web browser by the end of this year. This wasn’t well publicised (as least as far as I know), so it may shock people when this takes effect.

Chromium Browser running on Ubuntu 13.10

Chromium Browser running on Ubuntu 13.10

The questions you may be asking though are:

  • Will this affect me?
  • What are the alternatives?
  • What about other browsers?
  • What the heck is an NPAPI plugin anyway?

Lets answer that last one first.

NPAPI actually stands for “Netscape Plugin Application Programming Interface” – yes, Netscape, remember that? NPAPI was developed by Netscape for use in version 2.0 of its Netscape Navigator browser way back in the mid 1990s. Its function is actually quite simple.

Netscape Navigator 2.02 Gold running on Windows NT 4 Server - The browser that introduced NPAPI

Netscape Navigator 2.02 Gold running on Windows NT 4 Server – The browser that introduced NPAPI

When a file stored on a web server is fetched, the server looks up the type of file (by its extension) and tells the web browser over HTTP what it’s MIME (Multipurpose Internet Mail Extensions – also known as Internet Media Types) type is. This is a short text string that tells the browser, and us, what the type of file is (image, video, text), and what format it’s in (mp3, swf, mp4, etc.). If the browser doesn’t know what to do with a particular type of file, it will look to see if any plugins report to knowing what to do with it and, if so, it will launch the plugin. (For example, data with the MIME type “application/x-shockwave-flash” will be a .swf file which most browsers will launch the Adobe Flash Player plugin.) If no plugin is found, the browser will display a message similar to “A plugin is required to view this content” or let the user download the file.

Playing a video on YouTube using Flash

Playing a video on YouTube using Flash

The problem is, NPAPI is a 20th Century solution to a 20th Century problem. The issue is, when a browser crashes, the majority of the time it’s due to a third party plugin rather than the browser itself. These days, most browsers are able to handle things like audio and video without the need for plugins. YouTube, for example, has an HTML5 player which uses the built in multimedia capabilities of your browser rather than using Adobe Flash Player (which is still currently the preferred option).

So, will this affect you? Possibly, but not as bad as you might think.

Currently, if you’ve been using Google Chrome (rather than Chromium), your Flash Player plugin is included by default. This has been written to use Chromium’s newer PPAPI (Pepper) system and is still fully supported. For those using Chromium, it’s possible to extract the Pepper plugin from Google Chrome and install it in Chromium. (useful for Linux users where distributions generally ship with the Open Source Chromium over the Proprietary Google Chrome browser).

Other NPAPI plugins such as Facebook Video, Microsoft Silverlight, and Java will be included in a Whitelist during the phaseout with the intention of developers to switch to another technology.

Of course, this announcement only affects Chromium based browsers, others such as Firefox, Safari, and Opera are unaffected, but that may change. Also, it’s worth remembering that Microsoft dropped NPAPI support in Internet Explorer 5.5 in favour of ActiveX.

Side note: Mozilla are working on an Adobe Flash replacement (Shumway) that they hope will pull users away from installing the popular NPAPI plugin.

Users will expect to see NPAPI plugin support being phased out during this year, with Linux users losing it in April – though the Chromium project says it can be patched back in until it’s phased out of its Windows and OS X counterparts. My best guess is that the larger distributions like Ubuntu and Fedora will do this, especially as Ubuntu uses NPAPI plugins for their Web Apps.

I personally don’t think the loss of NPAPI in Chromium will be a problem, a quick look in my plugins list shows the majority of plugins to be media player integration (VLC in my case), and I can’t remember the last time I visited a web site that didn’t use Flash or HTML5 compatible video solutions.

Playing a video on YouTube without plugins via the HTML5 Video player.

Playing a video on YouTube without plugins via the HTML5 Video player.

I’d be interested to know other people’s thoughts on this. As usual, leave a comment.