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.
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: Chrome, Linux, Native Client, Netflix, PPAPI
Filed in: Content Providers, Industry Buzz, Software