To make future mobile computers behave more like PCs, does the hardware have to get more powerful? Or does the software have to get smarter?
The iPhone isn't a true mobile computer yet, but it's on the right track, according to a Mozilla executive.
"Getting a no-compromise web experience on devices requires significant memory (>=64MB) as well as significant CPU horsepower. High end devices today are just approaching these requirements and will be commonplace soon," wrote Mike Schroepfer, vice president of engineering at Mozilla, in a blog post Tuesday, implying that while the iPhone and its current competitors don't quite have what it takes under the hood to be full-fledged mobile computers, we're not all that far away.
It seems to me like there's a bit of a chicken-and-egg thing going on here. Are smartphones slower than people would like because the hardware is too rudimentary, or because truly useful software is too bloated for the limited memory and power requirements of smartphones? I don't think too many people bought an iPhone expecting it would be just as zippy as their PC, but just how much slower is it than a PC?
Schroepfer thinks, based on third-party tests, that the iPhone is about 10 to 100 times slower than a MacBook Pro on scripting benchmarks and about 3 to 5 times slower than a ThinkPad T40 laptop when operating on the same Wi-Fi network. "But rapid improvements in mobile processors will close this gap within a few years," he wrote.
He estimates that the iPhone is using about 128MB of system RAM, and a processor (known to be an ARM-based chip from Samsung) running at between 400MHz and 600MHz. Apple's iPhone application development policy means we're not going to see Firefox on the iPhone anytime soon, but that's information that Mozilla is using to work on future mobile browsers for devices like the iPhone that won't be able to run unmodified PC software for several years.
As Schroepfer notes, the nice thing about the chip industry is that we can be reasonably sure that there will be more performance to work with every couple of years. Both ARM and Intel have set aggressive performance and power consumption goals for chips due out over the next several years.
But Schoepfer seems to be operating under the assumption that it's the hardware that is holding back a true Internet experience on a smartphone. "Up until very recently, device limitations required writing new mobile browsers from the ground up," he wrote. I wonder if that was such a bad thing; I'm sure to save time and effort developers would rather port as much of their PC code as is feasible over to smartphones, but is it better to develop mobile software that's designed specifically for mobile devices or to investigate ways to move the multitude of software that's already out there for PCs to a new category of mobile devices?
Mozilla wants to work both sides of the fence, not wanting to throw away all the work they've done on PC development when mobile processors are bound to get more capable, but recognizing that mobile-computing requirements are different. "There is far from a dominant player in this marketplace and even the best mobile browsers today have compromises in user experience, performance, and compatibility. There is still *plenty* of room for innovation," Schroepfer wrote.
I'm no software developer, and I'd welcome feedback about this from those who are examining this problem. It seems pretty clear to me that true mobile computing is going to require new thinking about software development in addition to faster hardware, the same way multicore processors have shaken up the PC software development industry. And those concepts are even going to merge at some point: by 2010 ARM's partners will have multicore mobile processors on the market.
Does that mean personal-computing software development is headed down two different development paths or that smartphone developers and PC developers are converging at some point down the road? Let me know what you think.