Why I don't expect ARM-based netbooks to be a success

April 5, 2009

I saw yet another story recently on how low-power netbooks are finally going to lead to ARM-based machines successfully challenging the x86 hegemony in general purpose computers. As the story goes, netbook makers don't need much CPU power or to run Windows, but they do need very low power consumption, and so they will turn to Linux-based ARM machines.

This is a fine theory and a fine story, but I don't think it's going to work out in practice. Why is really simple to explain, so let's start with Flash. Specifically, the fact that ARM-based netbooks aren't going to have Flash.

And Flash is just an example. The general problem for people trying to make non-x86-based general purpose computers is that so very many pieces of what people expect to be present (and fast) on such machines are currently x86-only binary blobs, or if they have alternative implementations the alternatives are significantly slower. Flash is the most obvious tip of the iceberg, because I don't think you're going to sell many netbooks that can't watch Youtube videos at full speed.

(I suspect that this is especially the case as many things are adding JIT systems for additional speed; my impression is that most of those JITs primarily or exclusively target x86 code generation.)

You can sell ARM-based machines, and lots of people do. But they aren't sold as general purpose machines, they're sold as PDAs or cellphones or the like, with significantly different software requirements.

This x86 focus can be overcome, but it is probably going to take a significant development effort, which means significant amounts of time and money. For at least some pieces, such as Flash, it's also going to require you to convince commercial software companies that there is a large enough ARM-based market to make it worth porting their software.

(And since netbooks are a low-cost, low-margin product, it's hard to see the makers of ARM-based netbooks coming up with the time and the money necessary.)


Comments on this page:

From 193.219.181.202 at 2009-04-05 03:50:08:

Nokia's internet tablets have flash (ARM powered devices)
Another option: Gnash :)

From 78.86.151.9 at 2009-04-05 04:17:54:

You're right about the significance of Flash, which is why this announcement from Abode last year got a lot of attention:

http://www.adobe.com/aboutadobe/pressroom/pressreleases/200811/111708ARMAdobeFlash.html

No Flash player for Linux/ARM on their site yet, though.

On the subject of people wanting to install other x86-specific blobs. It's a fair bet that these device won't be running Windows, and probably will be running Linux. That immediately eliminates most of the problem. And what binary-only software there is for Linux tends to be in a category that won't matter. The closed-source nvidia drivers aren't relevant. And the closed-source applications I encounter on Linux tend to be the descendents of Unix ports of engineering applications (e.g. Matlab, FPGA tools). I don't know about Linux ports of games, but they might not run too well on netbooks anyway.

By cks at 2009-04-05 12:37:40:

My impression is that there is more 'x86 blobs' than one might expect even in the open source world. Off the top of my head, there's Skype, Java (I don't know if there's already an ARM Linux version, especially with a JIT), and at least the x86 assembly code that I believe is found in the open-source decoders for some video codecs (sure, they probably have C code equivalents, but those may well not run fast enough on what is already a slow processor).

(And if you need to ship closed-source video codecs, perhaps for legal reasons, you are back to the Flash/closed source software problem.)

I also think that JITs are going to be an important issue. For example, browsers are starting to use JITs for fast Javascript, and I don't know if their implementations have ARM Linux support currently.

From 72.253.129.84 at 2009-04-05 13:19:35:

My Nokia N810, an ARM based "Internet Table" (MID?), runs flash, divx movies, skype, I believe some java, games etc. You can run Debian's ARM build of linux on it too, happily, and anything contained therein, and if you fancy it can port x86 code onto it. With the way open source development works, if there is enough of a geeky interest in it, people will build it. With the huge power savings ARM provides, if even one or two major Netbooks transfer to it there would be enough demand from non-geeks and interest from geeks to result in effort being made to port whatever across.

In regards to JIT, there is already Jazelle which provides dynamic and JIT compilation of Java: http://www.arm.com/products/multimedia/java/jazelle_architecture.html According to that website "It can also be used to support execution environments beyond Java, such as Microsoft .NET Compact Framework, Python and others." Sun also provides for the Java 2 Platform, Micro Edition Connected Limited Device Configuration (CLDC). I love Sun's idea of snappy names.

Jazelle vs Connected Limited Device Configuration.

One of those just rolls of the tongue, the other.. well.. yeah.

By cks at 2009-04-06 13:28:43:

I'm possibly overly pessimistic, but I think that there's a chicken and egg problem in that non-geeks aren't going to buy ARM netbooks until they support enough of these things (out of the box, with good user experiences). I don't think that vast battery life is good enough, especially when you are competing with netbooks that have not quite as much battery life but more features/compatibility.

Yes, geek interest may bring ports eventually, but this doesn't help the first generation of ARM netbooks, which I thus expect to sell only in modest quantities (to sufficiently interested geeks, mostly).

Written on 05 April 2009.
« The (or a) problem with Unix manpages
An interesting hardware mystery »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Apr 5 00:34:15 2009
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.