Why Are Smartphones Stuck in the Dark Ages?

Last week, I pondered Adobe's big push to position Flash as a platform for mobile devices. It's facing an uphill battle, particularly when it's forced to compile Flash apps down to native binaries to get them to run on the iPhone. Open Web standards seem like a much better development target for today's smartphones -- but not even the mobile Web is a sure bet. The problem, in a nutshell, is scalability.

When developers talk about scalability, they're usually talking about scaling up. That is, when confronted with an ever-increasing load, can the application make efficient use of all the available resources to meet the demand? Web applications have always been pretty good at this (when they're coded properly), and modern advances are making them better.

[ Is unified mobile app dev a fantasy? InfoWorld's Paul Krill explores the debate. | Get the InfoWorld editors' 20-page "Mobile 2.0" Deep Dive PDF report, a hands-on look at the new generation of mobile devices ]

Throw mobile into the mix, however, and developers face a whole new challenge. Now their applications need to be able to scale down, too -- to deliver the nearest-possible equivalent to the desktop experience on devices that lack processor power, screen resolution, network bandwidth, and storage capacity -- all at the same time. That's a tough nut to crack -- not just for runtimes like Flash and Java, but for Web standards-based applications, too -- and it's getting harder all the time.

Google's Brand-New Web

The problem isn't limited to small screen sizes and oddball input devices. Those were issues when the Web was mostly brochureware, but Web 2.0 presents a whole other challenge. While handheld browsers are still figuring out how to do HTML right, desktop browsers are busy scaling the Web up in brand new ways -- and none more aggressively than Google.

Take the Chrome browser, for starters. Google wasn't content with the pace of browser development from the current big players, so it came up with its own HTML engine, one that observes Web standards while discarding some of the legacy ideas from the early days of the Web. It's even gone as far as to implement Chrome as a plug-in for the less-than-standards-compliant IE6, a move that's sparked no end of debate among the competition.

As important as a standards-compliant rendering engine is, however, Chrome's V8 JavaScript engine is equally crucial. Google recognizes that scaling today's Web up means scaling it out -- by taking advantage of the client's processor resources to offload some of the application logic from the server. Chrome's blistering JavaScript performance has spurred the other players to follow suit with accelerated JavaScript engines of their own.

But Google hasn't stopped there. It has also brought us Google Gears, which further accelerates JavaScript and provides a means to store Web application data locally on the client. Taking the idea of "scaling out" to its ultimate, Google offers Native Client, a technology that allows the browser to execute native x86 binaries delivered over the Web.

1 2 Page 1
Shop Tech Products at Amazon