In this world, however, software developers have lots of choices they need to make. A large community of some of the biggest software, hardware and chip companies on the planet control the smart phone industry, and they don't all toe the same line every time. A great deal of work needs to be done between ARM (the core designer), the chip manufacturers (Texas Instruments and Marvell, for example) and the operating system developers to create an environment in which application developers can operate, and in some ways, it's pretty messy.
Most mobile phone owners have likely never heard of ARM, but they've almost certainly used a product based on one of its designs. ARM doesn't make chips, but it designs processor cores that other companies build into more than 90 percent of the world's mobile phones.
So far, this is playing out somewhat differently than the development of the PC. One of the primary drivers that allowed the PC industry to flourish--the rapid consolidation of most of the industry around a single operating system--isn't what is going to happen as this market evolves, according to several executives interviewed this week at the ARM Developers Conference. In fact, that's exactly what many of them hope to avoid.
"There's an extraordinary awareness of not handing Microsoft the keys to another kingdom," said Jim Ready, founder and CTO of MontaVista, which on Wednesday
CEO of MontaVista
There were some advantages, of course, from the PC industry's decision to settle on a single operating system so early in its lifetime. It gave application developers confidence that they could build an application once and know that it would work on all the PCs running Microsoft's Windows and on Intel and AMD's processors.
While ARM is the, there is a wide variety of software and chips that are used in those devices. Not every chip company implements ARM's cores in the same way, and so Texas Instruments, Marvell, and Samsung, among others, have to do a lot of work with operating system vendors to make sure applications will run across a variety of phones that use the same operating system.
The process of making sure software works across different smart phones has multiple steps and involves a lot of collaboration, said Eric Schorn, vice president of marketing for ARM's processor division. ARM provides its customers with low-level code that works with the ARM core design that will wind up in an applications processor. But those companies often choose different types of chips to run the other parts of a mobile phone's motherboard, and each of those chips can require slightly different code to make sure the operating system understands what it's working with.
That's where the operating system vendors come in, companies like Microsoft, Symbian, Palm, MontaVista, Access and, of course, Apple. Leave aside Apple for a moment, since third-party applications aren't authorized for the iPhone and Apple has only one iPhone design out there.
But take the Symbian operating system, the most widely used smart phone operating system in the world. Not all Symbian phones use the exact same implementation of an applications processor to run the software, a digital signal processor to handle other tasks, and the countless other chips in a mobile phone. Each separate implementation can require different drivers to make sure applications written for the Symbian operating system can run across multiple phones, and that can be quite the balancing act between Symbian, the phone builders, and the chipmakers.
"That's the complexity of software in developing these devices," Schnor said. "It's not in the ARM processor, it's in the rest of the chip, exposing the graphics and the video channel to the operating system."
think that could be a selling point for their products. Intel's vision for ultramobile computing is still evolving, but one of the tenets of the pitch is that phone makers and software developers won't have to deal with that complexity if they use like Silverthorne, Intel's 2008 ultramobile processor, which would be part of a standard platform of chips.
The idea is that would free up software developers to focus on making great software. But do PC developers properly appreciate the working conditions imposed by mobile computers?
John Lilly, the chief operating officer of Mozilla, the open-source developer of the Firefox browser, thinks developing software for PCs and developing software for mobile devices requires different techniques. The company's Mozilla2 project is heading in that direction with goals of making the Mozilla code at the heart of Firefox smaller and faster.
"Right now, it has to be a fat phone to get Firefox on it," Lilly said. He meant it has to have a powerful processor and lots of memory to handle the requirements of Firefox, but he might as well have been referring to the physical size of a phone that would have to accommodate all those high-powered components.
Solving these issues will be key to the development of future mobile computers. Many in attendance this week gave Apple credit for galvanizing the industry with the release of the iPhone. "It doesn't have my browser, and it's the first device that I think of that has a legitimate operating system on it," Lilly said in a panel session, without drawing a rebuke from Jorgen Behrens of Symbian seated one chair over.
ARM's partners have lots of work to do improving the sophistication of software for mobile phones, starting with the need to follow their PC counterparts
"This is not going to be the PC market," said Mike Muller, CTO of ARM. "There is going to be diversity and I don't think there's going to be one product or one winner."