“Danger, danger, Will Robinson!”
Cue the synthesized theme music and wave your arms. It’s another episode of Android Development Hour!
This week we follow the exciting exploits of Captain Power and his legion of silicon-based life forms. Behind the scenes, Captain Power has formed an alliance with the Android, the all-powerful operating system launched from planet Googleplex. The Android is barely two years old, but already it’s dominating vast segments of the galaxy. Mobile handsets are especially vulnerable, a sector expanding so fast it’s turning blue.
Handsets inhabit the ARM arm of the galaxy, with a few outliers sucked into the MIPS orbit. Captain Power, on the other hand, holds no sway here. His tractor beam has no traction with handsets.
Looking for other worlds to conquer, Captain Power has aligned his forces with those of the Android, hoping to explore strange, new worlds outside of mobile gadgetry. Communications, mass storage, printing, automotive, and industrial applications all provide hospitable environments where Captain Power and the Android can flourish.
Meanwhile, Back on Earth
Getting Android to work on PowerPC (now just called Power) processor chips wasn’t an easy process. Even though Android is by nature an open-sourced operating system, that doesn’t mean you can simply download the code, press the ‘compile’ button, and go. The results may lurch along and belch out the odd “hello, world,” but it’s not something you’d call product-ready. Getting Android to work tolerably well on any new hardware requires a lot of porting, tweaking, and fine-tuning.
If you’re using one of Android’s de facto preferred processors (think ARM), that work has already been done for you. MIPS, too, has good Android support, thanks to the efforts of MIPS Technologies and other companies. But Android didn’t support Power at all—until now.
The first Android port to Power was a one-off effort done by Mentor Graphics for an unnamed customer. That job was finished more than a year ago, and the customer’s product is now presumably zooming its way to production. That was a swell proof of concept—nobody really doubted that Android could run on Power; they’d just never seen it done—but it didn’t help the average developer.
Now, one year later, some interested parties have put their heads together to develop and release an open-source port of Android on Power that anyone can use. IBM, AppliedMicro, Mentor Graphics, and graphics maker XGI (now part of SIS) all collaborated on the work, and they’ve jointly released it to the public domain under the usual Android/gnu terms.
That means you, Dear Developer, can now contemplate building Power-based Android applications for your little neck of the galaxy.
The Android port currently targets three specific Power chips: Freescale’s QorIQ P1022 and PowerQUICC MPC 8536, and AppliedMicro’s 460S. All three are midrange processors, neither at the low end of the product range nor at the apogee of the Power arc. None of these chips is really suitable for a handheld device like a cell phone or even a tablet, but that’s not really the point. Power proponents have pretty much given up on elbowing ARM out of that market, and instead focus their efforts on devices that plug into the wall. Big printers, industrial devices, mass-storage boxes, network routers, and various telecommunications appliances are Power’s strongholds, and that’s where they hope Android will strengthen their position.
Android, of course, is useful for all sorts of applications beyond just handsets and tablets. It’s fundamentally Linux underneath, so it’s good for medium-scale multitasking systems that don’t need hard real-time performance. (Or if they do, Android can coexist alongside an RTOS.) Perhaps best of all, Android has no “standard” user interface. You can make it look like anything you like, which is good news if you’re competing with other Android users. In fact, Mentor Graphics makes something of a specialty of helping people customize Android with different user interfaces. So your Power-with-Android box doesn’t have to look or act like someone else’s Power-with-Android box.
Operating System Launch Pad
I did some surveys awhile ago that showed that most developers choose their operating system before they choose their processor. They’re also more loyal to their OS than to their CPU. That struck me as odd at the time—I figured CPU architecture was more important, for sure—but now it makes sense. The operating system has a lot more effect on your end product’s look and feel than the CPU does. It also affects your programming style a lot more. Unless you’re hand-coding assembly language, you’re probably more concerned with the APIs than the individual registers inside some chip.
Thus, operating systems have started to define new “tribes” of programmers. There are Linux programmers, Android programmers, various RTOS programmers, and (heaven forfend) Windows programmers. Changing the underlying silicon beneath that OS may not make a huge difference to you, but changing the OS itself probably does.
That’s bad news for microprocessor companies but good news for OS companies, a category that now includes Google. Processor vendors no longer have quite the lock on developers’ minds that they used to have. Programmers are quick to change horses if a different chip offers better performance, lower prices, or more efficient power consumption. But they’re loath to change operating systems because that means relearning all the APIs, procedure calls, tasking models, and bugs.
In that sort of world, it’s important for processor companies to offer support for the most popular operating systems, and to be quick about it, too. If Processor X doesn’t support Operating System Z, they ain’t getting the business, no matter how good their silicon might be. On the other hand, there are a lot of embedded operating systems out there (at least three dozen), and porting and supporting them all just isn’t possible. The marketing guys have their hands full picking and choosing the right ones to back.
Power comes a bit late to this party, but at least they’re here. Like MIPS and ARM, Power chips are made by a loose confederation of competing chip companies that all share the same CPU architecture. But unlike MIPS and ARM, that architecture isn’t controlled by one company. It’s revised by committee, with each company having a say in Power’s future development. (IBM has the biggest vote, however.) That probably makes it a bit tough to get consensus on joint development projects like, oh, say, Android development.
For now, Android is available for only a few of the many different Power processors. Notably, it hasn’t been ported to any multicore Power chips yet. That’s a (big) project for another day. But it’s a good start, and it puts Power in the game. For developers who’ve selected Android as their chosen OS but haven’t yet picked a processor, this provides one more option—and a good one, too. Gentlemen, start your Androids.