16 Comments

Summary:

If a web app works on Google’s old Chromebooks, it works on the new one just announced, right? Not exactly: Netflix doesn’t, nor does Bastion, a fun browser-based game. Native code in the browser may require web apps to be recompiled for the new chips.

nacl+chromebook

UpdatedMoving to smartphone chips for its new Chromebook is a good move for Google, reducing the cost to manufacture the devices and therefore making them less expensive for consumers. But there is a slight expense in terms of compatibility. How can that be when Chromebooks only run apps in a browser and that browser is Chrome? It turns out that moving to ARM-based chips adds a wee bit of fragmentation to the Chromebook platform; at least for now.

Computerworld blogger JR Raphael and I realized this at roughly the same time. As I was testing a web-based game for a performance test, Raphael was checking Netflix. Neither of one of us was able to run our respective web apps: Netflix for him and Bastion for me. I wondered what the commonality was and came to the conclusion that both web apps rely on Google’s Native Client (NaCL) technology. This lets native apps run inside a browser with very little performance hit.

I figured NaCL was related as Netflix was originally one of the first NaCL apps for Chrome OS. And the error message when trying to run Bastion? “Native Client not allowed” is all I could get. Both of these apps run fine on the older Chromebooks powered by Intel chips. I did try going into the Chrome OS settings — type “about:flags” in Chrome to see these — and enabled all of the NaCL options, which are off by default. After a restart, Netflix still didn’t work, although I was able to get past the error message on Bastion. Unfortunately, it hangs at the splash screen.

I’ve reached out to Google with my observations to see if they will confirm my thoughts; if I’m right, I’d like to know when this issue will be resolved but it’s would probably be up to each individual web app maker. I’ll update this post with any response.

It appears that ChromeOS on ARM processors does support NaCL, but it’s possible — very likely, even — that the native code for Netflix, Bastion, and perhaps other web apps needs to be recompiled from x86 to ARM before they can run on Google’s newest Chromebook. Is this a major issue? For Netflix users, maybe, but I expect that very few web apps actually rely on NaCL just yet. Still, I’ll be a happier Chromebook owner once this situation is resolved.

Update: I heard back from a Google spokesperson who provided the following statement: “We are working to enable Native Client on the new Samsung Chromebook, and we will be working closely with app vendors to bring their NaCl-based apps over. The apps will automatically update as soon as they’re available.” With a new chip architecture for Google’s Chrome OS platform, there’s bound to be some transitional pain, but it looks like Google is well aware and working on it.

  1. They need to be redone in Portable Native Client: https://developers.google.com/native-client/faq

    Share
  2. I hear PNacl will be done in 6 weeks, but this is still baffling, that Google didn’t wait for this to be finished before releasing the new Chromebook. It’s like the hardware and software teams have no connection to each other, and everyone finishes their work on their own time.

    Also, Google should’ve made NaCl work on ARM from day one, not do it for x86 first, and then do it again for ARM 2 years later, and not even in time for the ARM Chromebook launch. I don’t think developers need to change that much to make their apps work on PNacl, though. Probably just an extra line of code. The hard part is for Google to finish the implementation of PNacle.

    Share
    1. “…baffling, that Google didn’t wait for this to be finished before releasing the new Chromebook.”

      A curious decision perhaps, but far from ‘baffling’.

      They have a new, less expensive device on offer and were looking to get a jump on the competition’s upcoming announcements, namely this…

      http://mashable.com/2012/10/04/windows-8-event/

      …and, of course, this…

      http://community.nasdaq.com/News/2012-10/new-imacs-could-be-shown-during-apples-october-23-event.aspx

      Share
  3. I hear PNacl will be done in 6 weeks, but this is still baffling, that Google didn’t wait for this to be finished before releasing the new Chromebook. It’s like the hardware and software teams have no connection to each other, and everyone finishes their work on their own time.

    Also, Google should’ve made NaCl work on ARM from day one, not do it for x86 first, and then do it again for ARM 2 years later, and not even in time for the ARM Chromebook launch. I don’t think developers need to change that much to make their apps work on PNacl, though. Probably just an extra line of code. The hard part is for Google to finish the implementation of PNacl.

    Share
    1. NaCl works on ARM, the problem is that there was no hardware until this latest chromebook. It may be turned off by default, but in wake of a quickly ensuing PNaCl this is a very smart move.

      And porting is not always as easy as a recompile. Consider that many apps that use NaCl (or presumably will use PNaCl) are games. Even if you have very portable code that stays the same, you have different GPUs with different extensions and texture formats.

      Eventually (er.. hopefully) PNaCl will become the primary target in the future, so that architectures become less relevant in software design. But the challenge of developing the infrastructure is far larger than picking a date and releasing it then.

      Share
  4. Netflix doesn’t use Native Client it just uses the Pepper Plugin API. So Netflix has to actually port their plugin to ARM (Like they did with phones). It would be great if it did use Native Client because that would mean Ubuntu Chrome users could use also the plugin.

    Share
  5. Google is supposed to be introducing PNaCl (Portable Native Client) before the end of the year. Presumably it isn’t quite ready yet, and will be available on a future update.

    Share
  6. I was thinking about buying one today for my daughter , I should hold of a few weeks , wise?

    Share
    1. It all depends on what she plans to do with the device, IMO. I’ve been using it full time since it arrived and these are the only two app issues I’ve seen yet. For email, browsing, FB, YouTube, Google+ hangout video chats, etc…. it’s been perfectly fine.

      Share
      1. Hi Kevin, what is the current chrome version for the ARM Exynos Chromebook? This would provide a very valuable insight into the actual capabilities of the CPU and give us a good idea of what to expect from things like Native Client applications.

        Share
  7. x86 netbook 1 – Chromebook 0

    You would have to pry my HP 210 Mini from my cold dead hands. As compelling as the price of the chromebook is, the device is more of a gimmick than proper content creation or even consumption tool. I know the reasons why you’re liking yours Kevin, but they just don’t work for what I do.

    Share
    1. That’s fine; I’ve always said use the right tool for your tasks. If that’s a netbook for you, great!

      Share
  8. Kevin, I’m thinking about getting this as a Christmas present for someone. Any word on whether Netflix works on the samsung chromebook yet and if not, when can we expect it to work? Thanks,

    Share
  9. So Netflix is working on the @199 Acer version.

    Share
    1. Yes, because it uses an x86 chip similar to nearly all other personal computers; no need for Netflix to make any changes.

      Share
  10. Farmville 2 doesnt work either, along with Netflix, that is two strikes!

    Share

Comments have been disabled for this post