Netflix’s Chrome OS Plugin May Be One of Google’s First Native Client Examples


native client pepper browser diagram

After the disappointment that the new Netflix Web App in the Chrome Web Store wasn’t compatible with other Linux distros other than Chrome OS, I did a little investigating of why that may be. It turns out the answer was right in front of me. I just didn’t know what I was looking at.

If you have a Chromebook (loaded with the latest release) and type about:plugins in the address bar, you’ll get a list of currently available plugins. At the top is one called Netflix - Version: 1.0.2 that has been conveniently pre-installed by Google. Now, if you click the expand button you’ll see the actual path of the plugin and its MIME type.

Location: /opt/google/chrome/pepper/netflixplugin.so
MIME type: application/x-ppapi-netflix Netflix 1.0.2

On the surface, Pepper just looks like some creatively named folder Google was using for testing the plugin. However, Pepper is actually a plugin API (PPAPI) similar to the Netscape Plugin API (NPAPI). According to Google:

Native Client apps use Pepper, a set of interfaces that provide C and C++ bindings to the capabilities of HTML5. As a result, developers can now leverage their native code libraries and expertise to deliver portable, high performance web apps.

In other words, Native Client can provide desktop software-like qualities to Web Apps by leveraging a locally installed module on the machine — complete with hardware access to graphics, audio, and more. The bad news is that these type of configurations aren’t fully cross-platform compatible or instantly accessible like standard HTML5-based Web Apps. Not all browsers support PPAPI — only Chrome does at the moment. And, on top of that, Native Client modules are binary executables (extension: .nexe) that are compiled to support x86_32 and x86_64 processor types — not unlike Flash, except Native Client is an open source technology.

Now the question is: how are these modules/plugins going to be distributed to end-users? The above Netflix plugin is delivered directly from Google to Chrome OS. The answer comes from Step 4 in this tutorial, which basically explains that modules will be embedded in a web page and that the browser will listen/check if a Native Client module has successfully loaded. Bottom line: future Web Apps will have desktop software-like quality and its underlying technology will be nearly transparent to the user (as long as you’re using the “right” browser).

But what about Netflix on Linux?

There’s still a possibility it will happen in the near future under the new scheme. Again, we’ll just have to be patient. Think of it this way: the Netflix plugin for Chrome OS is the testbed for a future Linux rollout.

* Tip: If you want to enable Native Client support (experimental) in Chrome now, type about:flags in the address bar and enable it.

UPDATE: Netflix’s Chief Product Officer tweeted that our post gets it right, which is encouraging.




Tags: , , , ,
Filed in: Content Providers, Industry Buzz, Software


  • Anonymous

    I was so excited… and now… what? I mean, ChromeOS is just Gentoo and Chromium, essentially. This makes me feel a little sick inside, what with Android getting all this vendor support. Now ChromeOS is getting support without the browser on other platforms? That just seems backwards- they’re going out of their way NOT TO support normal users.

    I understand, it’s a ‘testbed’ for future possible Linux support, and this can only be a good thing for Linux users in the long run, but I was waiting so patiently, just to discover this. There’s got to be some way to trick it into thinking I’m on ChromeOS.

  • Scott Powell

    In other words, ActiveX all over again.

  • http://twitter.com/Arthur_Tucker Arthur Tucker

    Like this? http://ubuntuforums.org/showthread.php?p=11162834 We can’t get it to work.

  • Anonymous

    “In other words, Native Client can provide desktop software-like qualities to Web Apps by leveraging a locally installed module on the machine ”

    This is flat out false.Native Client does not ‘install modules’ to the clients computer to provide ‘software-like qualities’ to web apps. Native Client downloads and runs native code in memory and as such does not require plugins be installed. It also ensures that code will work across OS environments with the same architecture and provides a simple way of including binaries for other architectures.The Netflix plugin is just that a plugin. It interfaces with Pepper, which is a secure plugin interface for accessing system resources. Pepper just happens to be available to native client as well. This likely means that the netflix plugin can’t run rampant on the Chrome OS system, but is sandboxed, just as NaCl apps are. Netflix could have compiled their application to NaCl to avoid having to maintain a plugin across many different operating systems, but they didn’t. The plugin development likely started when NaCl was still in development and its timeline uncertain — and notice NaCl still hasn’t hit the stable channel. Netflix probably made a prudent action to get to market faster: use a traditional plugin. In the future, they will probably just produce a NaCl web app.One thing is certain: NaCl isn’t a way of distributing locally installed modules.Not convinced? Try this out:It’s the Quake. No download, no plugin needed, just click and play:http//nacl-quake.appspot.comThis is the essence of a NaCl application.

  • Greg Lowe

    Chrome uses NaCl as an extra sandbox for their bundled PDF viewer:
    http://news.cnet.com/8301-30685_3-20072846-264/chromes-security-overhaul-begins-with-pdf-plug-in/You can use NaCl for web apps delivered using the chrome web store for example this app:https://chrome.google.com/webstore/detail/moehcjggbedbobepfihdamhnlneanioe

  • http://pulse.yahoo.com/_Y2QHASNDUCCAVAFHVLNDXG5ECE Dinesh K

    Netflix is dropping on NASDAQ like a dead bird. I call it bad karma. Ignoring linux users is finally “paying off”.

  • http://pulse.yahoo.com/_Y2QHASNDUCCAVAFHVLNDXG5ECE Dinesh K

    Netflix is dropping on NASDAQ like a dead bird. I call it bad karma. Ignoring linux users is finally “paying off”.

  • http://pulse.yahoo.com/_Y2QHASNDUCCAVAFHVLNDXG5ECE Dinesh K

    Netflix is dropping on NASDAQ like a dead bird. I call it bad karma. Ignoring linux users is finally “paying off”.

  • http://techmansworld.blogspot.com/ MHazell

    But not that many people want to have Netflix on Linux.

    I myself use Ubuntu. It is nice to have Netflix come to Linux, but I can easily reboot into Windows and to watch a clip.

  • http://techmansworld.blogspot.com/ MHazell

    But not that many people want to have Netflix on Linux.

    I myself use Ubuntu. It is nice to have Netflix come to Linux, but I can easily reboot into Windows and to watch a clip.

  • http://techmansworld.blogspot.com/ MHazell

    But not that many people want to have Netflix on Linux.

    I myself use Ubuntu. It is nice to have Netflix come to Linux, but I can easily reboot into Windows and to watch a clip.

  • http://techmansworld.blogspot.com/ MHazell

    But not that many people want to have Netflix on Linux.

    I myself use Ubuntu. It is nice to have Netflix come to Linux, but I can easily reboot into Windows and to watch a clip.